use utf8;
use warnings; no warnings "redefine";
use strict;
use Loader qw(line_in log_update update_arechnung check_perm);
use Dbase::Help qw(Do DoFn);
use Dbase::Globals qw(find_descr rund);
use Fehler qw(problem);

sub set_buchung_ebetrag($$;$) {
	my($rech,$seq,$kn) = @_;

	return undef unless check_perm("verwaltung");
	my($obetr,$rabt,$anz)=DoFn("select betrag,mrabatt,manzahl from buchung where rnr=$rech and seq=$seq");
	$rabt=1000 unless $rabt;
	$anz=1000 unless $anz;

	my $betr = line_in "Einzel-Betrag (Cent ohne MäSt): ";
	return undef unless $betr;
	return problem "'$betr' ist keine Zahl.\n" if $betr !~ /^-?\d+$/;
	$betr = rund($betr*$rabt*$anz/1000000);
	
	log_update("buchung","rnr",$rech,"seq",$seq,undef,"betrag",undef,DoFn("select betrag from buchung where rnr=$rech and seq=$seq"));
	Do("update buchung set betrag=$betr where rnr=$rech and seq=$seq");
	update_arechnung($rech);
}
1;
