use utf8;
use warnings; no warnings "redefine";
use strict;
use Loader qw(log_update check_perm select_date);
use Dbase::Help qw(Do isotime DoFn DoTime);
use Fehler qw(problem);

sub set_arechnung_datum($$;$$) {
	my($rech,$id,$kn,$flag) = @_;
	$flag=0 unless defined $flag;

	return undef unless check_perm("rechnung");

	my @info = qw(- jetzt);
	my $fflag = 256;
	my $def = undef;
	if($id ne "") {
		push(@info,qw(0 nie));
		$fflag |= 1024;
	}
	if($flag&1) {
		$def=DoTime;
		$fflag |= 4096;
	}

	my $datum = select_date($fflag,"Datum",$def,@info);
	return undef unless defined $datum;
	$datum = time if $datum eq "-";
	return $datum unless $rech;

	$datum = "NULL" if $datum eq "0";

	log_update("rechnungen","rnr",$rech,undef,"datum$id",undef,
		scalar isotime DoFn("select datum$id from rechnungen where rnr=$rech"));
	Do("update rechnungen set datum$id=$datum where rnr=$rech");
	1;
}
1;
