Revision 19c89dfd
Von Jan Büren vor mehr als 6 Jahren hinzugefügt
SL/Controller/BankTransaction.pm | ||
---|---|---|
959 | 959 |
C<invoice_ids>, an array ref of database IDs to purchase or sales |
960 | 960 |
invoice objects). |
961 | 961 |
|
962 |
This method cannot handle already partly assigned bank transactions, i.e. |
|
963 |
a bank transaction that has a invoice_amount <> 0 but not the fully |
|
964 |
transaction amount (invoice_amount == amount). |
|
965 |
Currently this state is impossible from the point of the user interface, |
|
966 |
but for double safety and further reliance posting an bank_transaction |
|
967 |
where some invoice_amount is already assigned or a RecordLink from |
|
968 |
bank to document exists will not be accepted. |
|
969 |
|
|
970 |
If the amount of the bank transaction is higher than the sum of |
|
971 |
the assigned invoices (1 .. n) the last invoice will be overpayed. |
|
972 |
|
|
973 |
Therefore this function implements not all valid uses cases. |
|
974 |
|
|
962 | 975 |
The whole function is wrapped in a database transaction. If an |
963 | 976 |
exception occurs the bank transaction is not posted at all. The same |
964 | 977 |
is true if the code detects an error during the execution, e.g. a bank |
SL/DB/BankTransaction.pm | ||
---|---|---|
329 | 329 |
my $invoice = SL::DB::Manager::Invoice->find_by(invnumber => '198'); |
330 | 330 |
my ($agreement,rule_matches) = $bt->get_agreement_with_invoice($invoice); |
331 | 331 |
|
332 |
=item C<linked_invoices> |
|
333 |
|
|
334 |
Returns an array of record names (invoice number or gl reference) |
|
335 |
which are linked for this bank transaction. |
|
336 |
|
|
337 |
Returns an empty array ref if no links are found. |
|
338 |
Usage: |
|
339 |
croak("No linked records at all") unless @{ $bt->linked_invoices() }; |
|
340 |
|
|
341 |
|
|
332 | 342 |
=back |
333 | 343 |
|
334 | 344 |
=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.