use utf8;
use warnings; no warnings "redefine";
use strict;
use Fehler qw(problem);
use Dbase::Help qw(DoFn Do quote);
use Dbase::Globals qw(find_descr bignum);
use Loader qw(log_update acct_text);

sub copy_arechnung_text ($;$) {
	my($rech,$kn) = @_;
	my($data,$rflags) = DoFn("select rtext,flags from rechnungen where rnr=$rech");

	return problem "Rechnung ist nicht (mehr) manuell",$rech
		unless $rflags&(bignum(1) << find_descr("rstatus","manuell"));
	$rflags &= ~(bignum(1) << find_descr("rstatus","manuell"));
	$rflags |= (bignum(1) << find_descr("rstatus","buchen"));

	$data = acct_text($rech) if not defined $data or $data eq "";

	return problem "Text von Rechnung $rech nicht vorhanden.\n"
		unless defined $data;

	log_update("rechnungen","rnr",$rech,undef,"flags","rtext",undef,"-manuell+buchen");
	Do("update rechnungen set flags=$rflags, rtext='${\quote $data}' where rnr=$rech");
	$rech;
}
1;
