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_storno($;$$) {
	my($rech,$kn,$flag) = @_;
	$flag=0 unless defined $flag;

	return undef unless check_perm("rechnung");

	my @info = qw(= jetzt);
	my $fflag = 256;
	my $def = undef;
	if($flag&1) {
		$def=DoTime;
		$fflag |= 4096;
	}

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

	$datum = "NULL" if not defined $datum;

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