Revision 96670fe8
Von Moritz Bunkus vor fast 9 Jahren hinzugefügt
t/ar/ar.t | ||
---|---|---|
|
||
my $db = $invoice->db;
|
||
|
||
$db->do_transaction( sub {
|
||
$db->with_transaction( sub {
|
||
|
||
my $tax = SL::DB::Manager::Tax->find_by(taxkey => 0, rate => 0);
|
||
|
||
... | ... | |
|
||
_save_and_pay_and_check(invoice => $invoice, bank => $bank, pay => 1, check => 1);
|
||
|
||
1;
|
||
|
||
}) || die "something went wrong: " . $db->error;
|
||
return $invoice->invnumber;
|
||
};
|
||
... | ... | |
|
||
my $db = $invoice->db;
|
||
|
||
$db->do_transaction( sub {
|
||
$db->with_transaction( sub {
|
||
|
||
# TODO: check for currency and exchange rate
|
||
|
||
... | ... | |
$invoice->create_ar_row( chart => $ar_chart );
|
||
_save_and_pay_and_check(invoice => $invoice, bank => $bank, pay => 1, check => 1);
|
||
|
||
1;
|
||
}) || die "something went wrong: " . $db->error;
|
||
return $invoice->invnumber;
|
||
};
|
Auch abrufbar als: Unified diff
»with_transaction« anstelle von »do_transaction« verwenden
Es sollte so selten wie möglich »do_transaction« verwndet werden, damit
man sich immer angewöhnt, »with_transaction« zu nutzen.
Hintergründe und Unterschiede zwischen den beiden Funktionen sind in der
Dokumentation von SL/DB.pm beschrieben.