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

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

	return undef unless check_perm("rechnung");

    my $rflags = DoFn("select flags from rechnungen where rnr=$rech");

	fehler "Diese Rechnung ist bereits gebucht!",$rech
		if $rflags&(bignum(1)<<find_descr("rstatus","gebucht"));

	log_update("buchung","rnr",$rech,undef,"seq","-",undef,$seq);
	Do("delete from buchung where rnr = $rech and seq = $seq");
	update_arechnung($rech);
}
1;
