X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/19c89dfd42c7766b14de78718066270ad09e20de..e83fcf3aa3394efdf2293ea60d5510fcfbf41b52:/SL/DB/BankTransaction.pm diff --git a/SL/DB/BankTransaction.pm b/SL/DB/BankTransaction.pm index 06302bb01..9c5b56056 100644 --- a/SL/DB/BankTransaction.pm +++ b/SL/DB/BankTransaction.pm @@ -40,9 +40,9 @@ sub linked_invoices { my $record_links = SL::DB::Manager::RecordLink->get_all(where => [ from_table => 'bank_transactions', from_id => $self->id ]); foreach my $record_link (@{ $record_links }) { - push @linked_invoices, SL::DB::Manager::Invoice->find_by(id => $record_link->to_id)->invnumber if $record_link->to_table eq 'ar'; - push @linked_invoices, SL::DB::Manager::PurchaseInvoice->find_by(id => $record_link->to_id)->invnumber if $record_link->to_table eq 'ap'; - push @linked_invoices, SL::DB::Manager::GLTransaction->find_by(id => $record_link->to_id)->reference if $record_link->to_table eq 'gl'; + push @linked_invoices, SL::DB::Manager::Invoice->find_by(id => $record_link->to_id) if $record_link->to_table eq 'ar'; + push @linked_invoices, SL::DB::Manager::PurchaseInvoice->find_by(id => $record_link->to_id) if $record_link->to_table eq 'ap'; + push @linked_invoices, SL::DB::Manager::GLTransaction->find_by(id => $record_link->to_id) if $record_link->to_table eq 'gl'; } return [ @linked_invoices ]; @@ -287,6 +287,16 @@ sub _check_string { return $match; }; + +sub not_assigned_amount { + my ($self) = @_; + + my $not_assigned_amount = $self->amount - $self->invoice_amount; + die ("undefined state") if (abs($not_assigned_amount) > abs($self->amount)); + + return $not_assigned_amount; + +} 1; __END__ @@ -331,7 +341,7 @@ Example: =item C -Returns an array of record names (invoice number or gl reference) +Returns an array of record objects (invoices, debit, credit or gl objects) which are linked for this bank transaction. Returns an empty array ref if no links are found. @@ -339,6 +349,11 @@ Usage: croak("No linked records at all") unless @{ $bt->linked_invoices() }; +=item C + +Returns the not open amount of this bank transaction. +Dies if the return amount is higher than the original amount. + =back =head1 AUTHOR