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

sub set_arechnung_betrag($$;$) {
	my($rech,$id,$kn) = @_;

	return undef unless check_perm("rechnung");

	my($obetr,$osteu) = DoFn("select betrag,steuer from rechnungen where rnr=$rech");
	my $betr = line_in "Betrag(Pf ohne USt): ";
	return undef unless $betr;
	return problem "'$betr' ist keine Zahl.\n" if $betr !~ /^-?\d+$/;

	log_update("rechnungen","rnr",$rech,undef,"betrag","steuer",undef,$obetr,$osteu);
	Do("update rechnungen set betrag=$betr where rnr=$rech");
	if(not $osteu) {
		my $st = rund($MWST*$betr);
		Do("update rechnungen set steuer=$st where rnr=$rech");
	} else {
		warnung "Steuerbetrag nicht geupdatet!";
	}
}
1;
