details: https://code.openbravo.com/erp/devel/pi/rev/60243532caef
changeset: 19845:60243532caef
user: Eduardo Argal Guibert <eduardo.argal <at> openbravo.com>
date: Mon Mar 04 10:49:27 2013 +0100
summary: Fixed bug 22888 Distributed amount properly in AddOrderOrInvoice
diffstat:
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddOrderOrInvoice.html
| 30 +++++++++-
1 files changed, 28 insertions(+), 2 deletions(-)
diffs (53 lines):
diff -r 9159b893ca71 -r 60243532caef
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddOrderOrInvoice.html
---
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddOrderOrInvoice.html
Mon Mar 04 10:36:17 2013 +0100
+++
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/ad_actionbutton/AddOrderOrInvoice.html
Mon Mar 04 10:49:27 2013 +0100
@@ -71,7 +71,6 @@
if (isGLItemEnabled) {
amount = subtract(amount, frm.inpGLSumAmount.value);
}
-
if (!chk) {
updateTotal();
return;
@@ -90,13 +89,40 @@
var total = chk.length;
for ( i = 0; i < total; i++) {
if (chk[i].checked) {
- distributedAmount = add(distributedAmount,
frm.elements["inpPaymentAmount" + chk[i].value].value);
+ if(frm.elements["inpPaymentAmount" + chk[i].value].value > 0){
+ distributedAmount = add(distributedAmount,
frm.elements["inpPaymentAmount" + chk[i].value].value);
+ } else{
+ amount = subtract(amount, frm.elements["inpPaymentAmount" +
chk[i].value].value);
+ }
}
}
if (compare(amount, '>', distributedAmount) || compare(amount, '==',
distributedAmount)) {
amount = subtract(amount, distributedAmount);
keepSelection = true;
}
+ if (compare(amount, '>', 0)){
+ for (i = 0; i < total; i++) {
+ scheduledPaymentDetailId = frm.elements["inpRecordId" + i].value;
+ outstandingAmount = frm.elements["inpRecordAmt" +
scheduledPaymentDetailId].value;
+ if(compare(outstandingAmount, '>', 0)){
+ continue;
+ }
+ if (chk[i].checked && keepSelection) {
+ if(compare(outstandingAmount, '<', amount) &&
compare(distributedAmount, '==', outstandingAmount))
+ continue;
+ else
+ amount = add(amount, frm.elements["inpPaymentAmount" +
chk[i].value].value);
+ }
+ frm.elements["inpPaymentAmount" + scheduledPaymentDetailId].value =
outstandingAmount;
+ for ( j = 0; j < total; j++) {
+ if (!chk[j].checked && chk[j].value === scheduledPaymentDetailId) {
+ chk[j].checked = true;
+ updateData(chk[j].value, chk[j].checked,null ,true );
+ }
+ }
+ amount = subtract(amount, outstandingAmount);
+ }
+ }
for (i = 0; i < total; i++) {
scheduledPaymentDetailId = frm.elements["inpRecordId" + i].value;
outstandingAmount = frm.elements["inpRecordAmt" +
scheduledPaymentDetailId].value;
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits