]> wagnertech.de Git - mfinanz.git/blobdiff - SL/DB/BankTransaction.pm
Dialogbuchungen aus Bankbewegungen teilweise Verbuchungen erlauben
[mfinanz.git] / SL / DB / BankTransaction.pm
index 06302bb01a622c2f52587cbb9020e493fd025dd9..9c5b56056585ee0195d482eae657fdbd89316577 100644 (file)
@@ -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 }) {
   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 ];
   }
 
   return [ @linked_invoices ];
@@ -287,6 +287,16 @@ sub _check_string {
     return $match;
 };
 
     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__
 1;
 
 __END__
@@ -331,7 +341,7 @@ Example:
 
 =item C<linked_invoices>
 
 
 =item C<linked_invoices>
 
-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.
 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() };
 
 
  croak("No linked records at all") unless @{ $bt->linked_invoices() };
 
 
+=item C<not_assigned_amount>
+
+Returns the not open amount of this bank transaction.
+Dies if the return amount is higher than the original amount.
+
 =back
 
 =head1 AUTHOR
 =back
 
 =head1 AUTHOR