Eine Buchung der folgenden Art:
Soll Haben
10
15
10
-5
ist bisher durch die Maske gekommen, wurde aber intern zu einer Splitbuchung. Das wird jetzt erkannt und abgelehnt.
my $debitcount = 0;
my $creditcount = 0;
my $debitcredit;
+ my %split_safety = ();
my @flds = qw(accno debit credit projectnumber fx_transaction source memo tax taxchart);
push @a, {};
$debitcredit = ($form->{"debit_$i"} == 0) ? "0" : "1";
+ $split_safety{ $form->{"debit_$i"} <=> 0 }++;
+ $split_safety{ - $form->{"credit_$i"} <=> 0 }++;
+
if ($debitcredit) {
$debitcount++;
} else {
$count++;
}
+ if ($split_safety{-1} > 1 && $split_safety{1} > 1) {
+ $::form->error($::locale->text("Split entry detected. The values you have entered will result in an entry with more than one position on both debit and credit. Due to known problems involving accounting software Lx-Office does not allow these."));
+ }
+
for my $i (1 .. $count) {
my $j = $i - 1;
for (@flds) { $form->{"${_}_$i"} = $a[$j]->{$_} }
'Source bank account' => 'Quellkonto',
'Source bin' => 'Quelllagerplatz',
'Space' => 'Leerzeichen',
+ 'Split entry detected. The values you have entered will result in an entry with more than one position on both debit and credit. Due to known problems involving accounting software Lx-Office does not allow these.' => 'Splitbuchung! Die eingebenen Werte würden eine Buchung auslösen, die jeweils mehr als eine Position auf Soll und Haben hätte. Um Kompatibilität mit DATEV zu gewährleisten erlaubt Lx-Office keine Splitbuchungen.',
'Spoolfile' => 'Druckdatei',
'Start Dunning Process' => 'Mahnprozess starten',
'Start analysis' => 'Analyse beginnen',