[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
SF.net SVN: ledger-smb: [1428] trunk/LedgerSMB/IS.pm
- Subject: SF.net SVN: ledger-smb: [1428] trunk/LedgerSMB/IS.pm
- From: ..hidden..
- Date: Thu, 19 Jul 2007 11:04:21 -0700
Revision: 1428
http://svn.sourceforge.net/ledger-smb/?rev=1428&view=rev
Author: einhverfr
Date: 2007-07-19 11:04:20 -0700 (Thu, 19 Jul 2007)
Log Message:
-----------
Applying Victor's patch 1766387
Modified Paths:
--------------
trunk/LedgerSMB/IS.pm
Modified: trunk/LedgerSMB/IS.pm
===================================================================
--- trunk/LedgerSMB/IS.pm 2007-07-19 18:03:33 UTC (rev 1427)
+++ trunk/LedgerSMB/IS.pm 2007-07-19 18:04:20 UTC (rev 1428)
@@ -1127,6 +1127,28 @@
$linetotal, $form->{transdate},
$form->{"project_id_$i"}, $ref->{id}
) || $form->dberror($query);
+ # start patch bug 1755928 ################################################################################
+ my $allocated1 = 0;
+ my $totalqty1 = $qty;
+ my $query_ap = qq|SELECT i.id, i.qty, i.allocated, a.transdate
+ FROM invoice i
+ JOIN parts p ON (p.id = i.parts_id)
+ JOIN ap a ON (a.id = i.trans_id)
+ WHERE i.parts_id = ? AND (i.qty + i.allocated) > 0 AND i.sellprice = ?
+ ORDER BY transdate|;
+ my $sth1 = $dbh->prepare($query_ap);
+ $sth1->execute( $form->{"id_$i"}, $ref->{"sellprice"}) || $form->dberror($query_ap);
+ while ( my $ref1 = $sth1->fetchrow_hashref(NAME_lc) ) {
+ $form->db_parse_numeric(sth=>$sth1, hashref => $ref1);
+ my $qty = $ref1->{qty} + $ref1->{allocated};
+ if ( ( $qty - $totalqty ) > 0 ) { $qty = $totalqty; }
+ $form->update_balance( $dbh, "invoice", "allocated", qq|id = $ref1->{id}|, $qty );
+ $allocated1 += $qty;
+ last if ( ( $totalqty1 -= $qty ) <= 0 );
+ }
+ $form->update_balance( $dbh, "invoice", "allocated", qq|id = $ref->{id}|, $allocated1 * -1 );
+ # stop patch bug 1755928 ################################################################################
+
last if ( ( $totalqty += $qty ) >= 0 );
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.