Revision 19c89dfd
Von Jan Büren vor fast 7 Jahren hinzugefügt
SL/Controller/BankTransaction.pm | ||
---|---|---|
C<invoice_ids>, an array ref of database IDs to purchase or sales
|
||
invoice objects).
|
||
|
||
This method cannot handle already partly assigned bank transactions, i.e.
|
||
a bank transaction that has a invoice_amount <> 0 but not the fully
|
||
transaction amount (invoice_amount == amount).
|
||
Currently this state is impossible from the point of the user interface,
|
||
but for double safety and further reliance posting an bank_transaction
|
||
where some invoice_amount is already assigned or a RecordLink from
|
||
bank to document exists will not be accepted.
|
||
|
||
If the amount of the bank transaction is higher than the sum of
|
||
the assigned invoices (1 .. n) the last invoice will be overpayed.
|
||
|
||
Therefore this function implements not all valid uses cases.
|
||
|
||
The whole function is wrapped in a database transaction. If an
|
||
exception occurs the bank transaction is not posted at all. The same
|
||
is true if the code detects an error during the execution, e.g. a bank
|
SL/DB/BankTransaction.pm | ||
---|---|---|
my $invoice = SL::DB::Manager::Invoice->find_by(invnumber => '198');
|
||
my ($agreement,rule_matches) = $bt->get_agreement_with_invoice($invoice);
|
||
|
||
=item C<linked_invoices>
|
||
|
||
Returns an array of record names (invoice number or gl reference)
|
||
which are linked for this bank transaction.
|
||
|
||
Returns an empty array ref if no links are found.
|
||
Usage:
|
||
croak("No linked records at all") unless @{ $bt->linked_invoices() };
|
||
|
||
|
||
=back
|
||
|
||
=head1 AUTHOR
|
Auch abrufbar als: Unified diff
POD Ergänzungen
BankTransaction::save_single_bank_transaction kann nur
1 noch niemals vorher verbuchte Bankbewegung mit n Belegen verbuchen.
Sollte etwas klarer im POD und später in der Methode deutlich gemacht werden.