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

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

	return undef unless check_perm("verwaltung");

	my $kto = select_descr("rkonto",64|16384,<<END,"Konto","!hide");
### Direkte Eingabe eines dieser nervigen Kostenstellen-Verteilerschlüssel

    Standard-Werte:
END
	return undef unless defined $kto;

	# Der Verteilerschlüssel ist am Anfang des Kommentars
	my $res = info_descr(rkonto => $kto);
	return problem "Konto '$kto' unbekannt"
		unless defined $res;
	return problem "Konto '$kto' beschreibt keinen Verteiler"
		unless $res =~ /^(\d+)/;
	$kto=$1;
	
	log_update("buchung","rnr",$rech,"seq",$seq,undef,"konto",undef,DoFn("select konto from buchung where rnr=$rech and seq=$seq"));
	Do("update buchung set konto=$kto where rnr=$rech and seq=$seq");
}
1;
