details: /erp/devel/pi/rev/dc1eb4edffa6
changeset: 6719:dc1eb4edffa6
user: Eduardo Argal Guibert <eduardo.argal <at> openbravo.com>
date: Mon Mar 15 18:29:51 2010 +0100
summary: Fixes bug 0012667: Tax record is deleted when other tax is entered,
after processing
diffstat:
src-db/database/model/triggers/C_INVOICELINETAX_TRG.xml | 13 ++++++++-----
1 files changed, 8 insertions(+), 5 deletions(-)
diffs (41 lines):
diff -r bfd3a0e51157 -r dc1eb4edffa6
src-db/database/model/triggers/C_INVOICELINETAX_TRG.xml
--- a/src-db/database/model/triggers/C_INVOICELINETAX_TRG.xml Mon Mar 15
16:54:59 2010 +0100
+++ b/src-db/database/model/triggers/C_INVOICELINETAX_TRG.xml Mon Mar 15
18:29:51 2010 +0100
@@ -59,11 +59,13 @@
SELECT COUNT(C_TAX_ID) INTO v_Count
FROM C_INVOICETAX
WHERE C_INVOICE_ID = :NEW.C_Invoice_ID
- AND C_TAX_ID = :NEW.C_TAX_ID;
+ AND C_TAX_ID = :NEW.C_TAX_ID
+ AND Recalculate = 'Y';
IF(v_Count>0) THEN
UPDATE C_INVOICETAX SET TAXAMT = (CASE WHEN v_DocTaxAmount='D' THEN
ROUND((TAXBASEAMT + :NEW.TAXBASEAMT) * v_Rate/100, v_Prec) ELSE (TAXAMT +
:NEW.TAXAMT) END), TAXBASEAMT=TAXBASEAMT + :NEW.TAXBASEAMT
WHERE C_INVOICE_ID = :NEW.C_Invoice_ID
- AND C_TAX_ID = :NEW.C_TAX_ID;
+ AND C_TAX_ID = :NEW.C_TAX_ID
+ AND Recalculate = 'Y';
ELSE
SELECT COALESCE(MAX(LINE),0) + 10
INTO v_LineNo
@@ -73,17 +75,18 @@
INTO C_INVOICETAX (
C_InvoiceTax_ID, C_Invoice_ID, C_Tax_ID, AD_Client_ID, AD_Org_ID,
IsActive, Created, CreatedBy, Updated,
- UpdatedBy, TaxBaseAmt, TaxAmt, Line)
+ UpdatedBy, TaxBaseAmt, TaxAmt, Line, Recalculate)
VALUES (
GET_UUID(), :NEW.C_Invoice_ID, :NEW.C_TAX_ID, :NEW.AD_CLIENT_ID,
:NEW.AD_ORG_ID,
'Y', now(), :NEW.UPDATEDBY, now(),
- :NEW.UPDATEDBY, :NEW.TAXBASEAMT, :NEW.TAXAMT, v_LineNo);
+ :NEW.UPDATEDBY, :NEW.TAXBASEAMT, :NEW.TAXAMT, v_LineNo, 'Y');
END IF;
ELSE
UPDATE C_INVOICETAX SET TAXAMT = (CASE WHEN v_DocTaxAmount='D' THEN
ROUND((TAXBASEAMT - :OLD.TAXBASEAMT) * v_Rate/100, v_Prec) ELSE (TAXAMT -
:OLD.TAXAMT) END), TAXBASEAMT=TAXBASEAMT - :OLD.TAXBASEAMT
WHERE C_INVOICE_ID = :OLD.C_Invoice_ID
- AND C_TAX_ID = :OLD.C_TAX_ID;
+ AND C_TAX_ID = :OLD.C_TAX_ID
+ AND Recalculate = 'Y';
DELETE FROM C_INVOICETAX
WHERE C_INVOICE_ID = :OLD.C_Invoice_ID
------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits