details:   https://code.openbravo.com/erp/devel/pi/rev/f5c1f04bb7ac
changeset: 13323:f5c1f04bb7ac
user:      Salvador Zapata <salvador.zapata <at> openbravo.com>
date:      Wed Jun 22 22:08:26 2011 +0200
summary:   Exchange rate at document level

details:   https://code.openbravo.com/erp/devel/pi/rev/4c67babc7810
changeset: 13324:4c67babc7810
user:      Salvador Zapata <salvador.zapata <at> openbravo.com>
date:      Wed Jun 22 22:09:10 2011 +0200
summary:   added Exchange rate table

details:   https://code.openbravo.com/erp/devel/pi/rev/c2d21db7bb30
changeset: 13325:c2d21db7bb30
user:      Salvador Zapata <salvador.zapata <at> openbravo.com>
date:      Fri Jun 24 16:31:50 2011 +0200
summary:   Validation rule and tab restrictions

details:   https://code.openbravo.com/erp/devel/pi/rev/ecd741920f59
changeset: 13326:ecd741920f59
user:      Salvador Zapata <salvador.zapata <at> openbravo.com>
date:      Fri Jun 24 16:33:21 2011 +0200
summary:   Exchange rate callout

details:   https://code.openbravo.com/erp/devel/pi/rev/354aa0b865ad
changeset: 13327:354aa0b865ad
user:      Salvador Zapata <salvador.zapata <at> openbravo.com>
date:      Mon Jul 04 16:01:18 2011 +0200
summary:   Fixed bug 17823, Fixed bug 17825, Fixed bug 17828, Fixed bug 17841, 
Fixed bug 17842, Fixed bug 17843, Fixed bug 17844, Fixed bug 17848, Fixed bug 
17852

details:   https://code.openbravo.com/erp/devel/pi/rev/887a041f92a6
changeset: 13328:887a041f92a6
user:      Salvador Zapata <salvador.zapata <at> openbravo.com>
date:      Mon Jul 04 17:44:29 2011 +0200
summary:   Fixed bug 17826 Fixed bug 17827

details:   https://code.openbravo.com/erp/devel/pi/rev/0ab8d290c95a
changeset: 13329:0ab8d290c95a
user:      Salvador Zapata <salvador.zapata <at> openbravo.com>
date:      Wed Jul 13 16:49:45 2011 +0200
summary:   Fixed bug 17842

details:   https://code.openbravo.com/erp/devel/pi/rev/fb50d884949b
changeset: 13330:fb50d884949b
user:      Salvador Zapata <salvador.zapata <at> openbravo.com>
date:      Wed Jul 27 15:34:23 2011 +0200
summary:   fixed bug 18084

details:   https://code.openbravo.com/erp/devel/pi/rev/6b145146b223
changeset: 13331:6b145146b223
user:      szapata <sza <at> openbravo.com>
date:      Thu Jul 28 14:45:19 2011 +0200
summary:   Transaction ID column as search instead of tabledir

diffstat:

 .settings/org.eclipse.jdt.core.prefs                                           
                       |     2 +-
 eclipse.compile.complete.launch                                                
                       |    24 +-
 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_PaymentProcess.java
 |     4 +
 src-db/database/model/tables/C_CONVERSION_RATE_DOCUMENT.xml                    
                       |    94 +
 src-db/database/model/triggers/C_CONVERSION_RATE_DOCUMENT_TRG.xml              
                       |   125 +
 src-db/database/model/triggers/C_INVOICE_REVERSE_TRG.xml                       
                       |    33 +-
 src-db/database/sourcedata/AD_AUXILIARINPUT.xml                                
                       |    22 +
 src-db/database/sourcedata/AD_CALLOUT.xml                                      
                       |     9 +
 src-db/database/sourcedata/AD_COLUMN.xml                                       
                       |   513 +++
 src-db/database/sourcedata/AD_ELEMENT.xml                                      
                       |    11 +
 src-db/database/sourcedata/AD_FIELD.xml                                        
                       |  1405 ++++++++++
 src-db/database/sourcedata/AD_MESSAGE.xml                                      
                       |    11 +
 src-db/database/sourcedata/AD_MODEL_OBJECT.xml                                 
                       |    12 +
 src-db/database/sourcedata/AD_MODEL_OBJECT_MAPPING.xml                         
                       |    10 +
 src-db/database/sourcedata/AD_TAB.xml                                          
                       |   125 +
 src-db/database/sourcedata/AD_TABLE.xml                                        
                       |    22 +
 src-db/database/sourcedata/AD_VAL_RULE.xml                                     
                       |    22 +
 src/org/openbravo/erpCommon/ad_callouts/SE_CalculateExchangeRate.java          
                       |    78 +
 src/org/openbravo/erpCommon/ad_forms/AcctServer.java                           
                       |   131 +-
 src/org/openbravo/erpCommon/ad_forms/DocFINFinAccTransaction.java              
                       |    44 +-
 src/org/openbravo/erpCommon/ad_forms/DocFINPayment.java                        
                       |    27 +-
 src/org/openbravo/erpCommon/ad_forms/DocFINReconciliation.java                 
                       |    99 +-
 src/org/openbravo/erpCommon/ad_forms/DocInvoice.java                           
                       |   162 +-
 src/org/openbravo/erpCommon/ad_forms/DocLine_FINFinAccTransaction.java         
                       |    16 +
 src/org/openbravo/erpCommon/ad_forms/DocLine_FINReconciliation.java            
                       |    15 +-
 src/org/openbravo/erpCommon/ad_forms/Fact.java                                 
                       |   130 +-
 src/org/openbravo/erpCommon/ad_forms/FactLine.java                             
                       |    77 +-
 27 files changed, 3052 insertions(+), 171 deletions(-)

diffs (truncated from 4185 to 300 lines):

diff -r 1dca0763b990 -r 6b145146b223 .settings/org.eclipse.jdt.core.prefs
--- a/.settings/org.eclipse.jdt.core.prefs      Thu Jul 28 13:55:10 2011 +0200
+++ b/.settings/org.eclipse.jdt.core.prefs      Thu Jul 28 14:45:19 2011 +0200
@@ -1,4 +1,4 @@
-#Wed Jan 14 12:27:06 CET 2009
+#Wed Jun 22 21:40:12 CEST 2011
 eclipse.preferences.version=1
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
diff -r 1dca0763b990 -r 6b145146b223 eclipse.compile.complete.launch
--- a/eclipse.compile.complete.launch   Thu Jul 28 13:55:10 2011 +0200
+++ b/eclipse.compile.complete.launch   Thu Jul 28 14:45:19 2011 +0200
@@ -1,22 +1,22 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <launchConfiguration type="org.eclipse.ant.AntLaunchConfigurationType">
-<stringAttribute key="process_factory_id" 
value="org.eclipse.ant.ui.remoteAntProcessFactory"/>
+<stringAttribute key="org.eclipse.ant.ui.ATTR_BUILD_SCOPE" value="${none}"/>
 <booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/openbravo/build.xml"/>
+</listAttribute>
 <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
 <listEntry value="1"/>
 </listAttribute>
+<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" 
value="true"/>
 <listAttribute key="org.eclipse.debug.ui.favoriteGroups">
 <listEntry value="org.eclipse.ui.externaltools.launchGroup"/>
 </listAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" 
value="org.eclipse.ant.ui.AntClasspathProvider"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" 
value="openbravo"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" 
value="org.eclipse.ant.ui.AntClasspathProvider"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_ANT_TARGETS" 
value="eclipse.compile.complete,"/>
+<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" 
value="${workspace_loc:/openbravo/build.xml}"/>
 <stringAttribute key="org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY" 
value="${workspace_loc:/openbravo}"/>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" 
value="true"/>
-<stringAttribute key="org.eclipse.ant.ui.ATTR_BUILD_SCOPE" value="${none}"/>
-<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" 
value="org.eclipse.ant.ui.AntClasspathProvider"/>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_ANT_TARGETS" 
value="eclipse.compile.complete,"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" 
value="org.eclipse.ant.ui.AntClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" 
value="openbravo"/>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/openbravo/build.xml"/>
-</listAttribute>
-<stringAttribute key="org.eclipse.ui.externaltools.ATTR_LOCATION" 
value="${workspace_loc:/openbravo/build.xml}"/>
+<stringAttribute key="process_factory_id" 
value="org.eclipse.ant.ui.remoteAntProcessFactory"/>
 </launchConfiguration>
diff -r 1dca0763b990 -r 6b145146b223 
modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_PaymentProcess.java
--- 
a/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_PaymentProcess.java
     Thu Jul 28 13:55:10 2011 +0200
+++ 
b/modules/org.openbravo.advpaymentmngt/src/org/openbravo/advpaymentmngt/process/FIN_PaymentProcess.java
     Thu Jul 28 14:45:19 2011 +0200
@@ -39,6 +39,7 @@
 import org.openbravo.erpCommon.utility.Utility;
 import org.openbravo.model.common.businesspartner.BusinessPartner;
 import org.openbravo.model.common.invoice.Invoice;
+import org.openbravo.model.common.currency.ConversionRateDoc;
 import org.openbravo.model.financialmgmt.payment.FIN_FinaccTransaction;
 import org.openbravo.model.financialmgmt.payment.FIN_Payment;
 import org.openbravo.model.financialmgmt.payment.FIN_PaymentDetail;
@@ -371,6 +372,7 @@
             }
           }
           List<FIN_PaymentDetail> paymentDetails = 
payment.getFINPaymentDetailList();
+          List<ConversionRateDoc> conversionRates = 
payment.getCurrencyConversionRateDocList();
           for (FIN_PaymentDetail paymentDetail : paymentDetails) {
             removedPDS = new ArrayList<FIN_PaymentScheduleDetail>();
             for (FIN_PaymentScheduleDetail paymentScheduleDetail : 
paymentDetail
@@ -421,6 +423,8 @@
             
OBDal.getInstance().remove(OBDal.getInstance().get(FIN_PaymentDetail.class, 
pdToRm));
           }
           payment.getFINPaymentDetailList().removeAll(removedPD);
+          
payment.getCurrencyConversionRateDocList().removeAll(conversionRates);
+          payment.setFinancialTransactionConvertRate(BigDecimal.ZERO);
           OBDal.getInstance().save(payment);
 
           if (payment.getGeneratedCredit().compareTo(BigDecimal.ZERO) == 0
diff -r 1dca0763b990 -r 6b145146b223 
src-db/database/model/tables/C_CONVERSION_RATE_DOCUMENT.xml
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/src-db/database/model/tables/C_CONVERSION_RATE_DOCUMENT.xml       Thu Jul 
28 14:45:19 2011 +0200
@@ -0,0 +1,94 @@
+<?xml version="1.0"?>
+  <database name="TABLE C_CONVERSION_RATE_DOCUMENT">
+    <table name="C_CONVERSION_RATE_DOCUMENT" 
primaryKey="C_CURRENCYRATEDOC_KEY">
+      <column name="C_CONVERSION_RATE_DOCUMENT_ID" primaryKey="true" 
required="true" type="VARCHAR" size="32" autoIncrement="false">
+        <default/>
+        <onCreateDefault/>
+      </column>
+      <column name="AD_CLIENT_ID" primaryKey="false" required="true" 
type="VARCHAR" size="32" autoIncrement="false">
+        <default/>
+        <onCreateDefault/>
+      </column>
+      <column name="AD_ORG_ID" primaryKey="false" required="true" 
type="VARCHAR" size="32" autoIncrement="false">
+        <default/>
+        <onCreateDefault/>
+      </column>
+      <column name="ISACTIVE" primaryKey="false" required="true" type="CHAR" 
size="1" autoIncrement="false">
+        <default><![CDATA[Y]]></default>
+        <onCreateDefault/>
+      </column>
+      <column name="CREATED" primaryKey="false" required="true" 
type="TIMESTAMP" size="7" autoIncrement="false">
+        <default><![CDATA[SYSDATE]]></default>
+        <onCreateDefault/>
+      </column>
+      <column name="CREATEDBY" primaryKey="false" required="true" 
type="VARCHAR" size="32" autoIncrement="false">
+        <default/>
+        <onCreateDefault/>
+      </column>
+      <column name="UPDATED" primaryKey="false" required="true" 
type="TIMESTAMP" size="7" autoIncrement="false">
+        <default><![CDATA[SYSDATE]]></default>
+        <onCreateDefault/>
+      </column>
+      <column name="UPDATEDBY" primaryKey="false" required="true" 
type="VARCHAR" size="32" autoIncrement="false">
+        <default/>
+        <onCreateDefault/>
+      </column>
+      <column name="C_CURRENCY_ID" primaryKey="false" required="true" 
type="VARCHAR" size="32" autoIncrement="false">
+        <default/>
+        <onCreateDefault/>
+      </column>
+      <column name="C_CURRENCY_ID_TO" primaryKey="false" required="true" 
type="VARCHAR" size="32" autoIncrement="false">
+        <default/>
+        <onCreateDefault/>
+      </column>
+      <column name="C_INVOICE_ID" primaryKey="false" required="false" 
type="VARCHAR" size="32" autoIncrement="false">
+        <default/>
+        <onCreateDefault/>
+      </column>
+      <column name="FIN_PAYMENT_ID" primaryKey="false" required="false" 
type="VARCHAR" size="32" autoIncrement="false">
+        <default/>
+        <onCreateDefault/>
+      </column>
+      <column name="APRM_FINACC_TRANSACTION_V_ID" primaryKey="false" 
required="false" type="VARCHAR" size="32" autoIncrement="false">
+        <default/>
+        <onCreateDefault/>
+      </column>
+      <column name="RATE" primaryKey="false" required="true" type="DECIMAL" 
autoIncrement="false">
+        <default/>
+        <onCreateDefault/>
+      </column>
+      <column name="FOREIGN_AMOUNT" primaryKey="false" required="false" 
type="DECIMAL" autoIncrement="false">
+        <default/>
+        <onCreateDefault/>
+      </column>
+      <foreign-key foreignTable="FIN_FINACC_TRANSACTION" 
name="C_CONVERSIONRATEDOC_TXN">
+        <reference local="APRM_FINACC_TRANSACTION_V_ID" 
foreign="FIN_FINACC_TRANSACTION_ID"/>
+      </foreign-key>
+      <foreign-key foreignTable="C_CURRENCY" 
name="C_CURRENCYRATEDOC_C_CURRENCY">
+        <reference local="C_CURRENCY_ID" foreign="C_CURRENCY_ID"/>
+      </foreign-key>
+      <foreign-key foreignTable="AD_CLIENT" name="C_CURRENCYRATEDOC_CLIENT">
+        <reference local="AD_CLIENT_ID" foreign="AD_CLIENT_ID"/>
+      </foreign-key>
+      <foreign-key foreignTable="AD_ORG" name="C_CURRENCYRATEDOC_ORG">
+        <reference local="AD_ORG_ID" foreign="AD_ORG_ID"/>
+      </foreign-key>
+      <foreign-key foreignTable="C_INVOICE" name="C_CURRENCYRATEDOCINV">
+        <reference local="C_INVOICE_ID" foreign="C_INVOICE_ID"/>
+      </foreign-key>
+      <foreign-key foreignTable="FIN_PAYMENT" name="C_CURRENCYRATEDOCPAY">
+        <reference local="FIN_PAYMENT_ID" foreign="FIN_PAYMENT_ID"/>
+      </foreign-key>
+      <foreign-key foreignTable="C_CURRENCY" name="C_CURRENCYRATEDOCRATETO">
+        <reference local="C_CURRENCY_ID_TO" foreign="C_CURRENCY_ID"/>
+      </foreign-key>
+      <unique name="C_CONVERSIONRATEDOC_ONCE">
+        <unique-column name="C_CURRENCY_ID"/>
+        <unique-column name="C_CURRENCY_ID_TO"/>
+        <unique-column name="C_INVOICE_ID"/>
+        <unique-column name="FIN_PAYMENT_ID"/>
+        <unique-column name="APRM_FINACC_TRANSACTION_V_ID"/>
+      </unique>
+      <check name="C_CONVERSIONRATEDOC_ACTIVE"><![CDATA[ISACTIVE IN ('Y', 
'N')]]></check>
+    </table>
+  </database>
diff -r 1dca0763b990 -r 6b145146b223 
src-db/database/model/triggers/C_CONVERSION_RATE_DOCUMENT_TRG.xml
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/src-db/database/model/triggers/C_CONVERSION_RATE_DOCUMENT_TRG.xml Thu Jul 
28 14:45:19 2011 +0200
@@ -0,0 +1,125 @@
+<?xml version="1.0"?>
+  <database name="TRIGGER C_CONVERSION_RATE_DOCUMENT_TRG">
+    <trigger name="C_CONVERSION_RATE_DOCUMENT_TRG" 
table="C_CONVERSION_RATE_DOCUMENT" fires="before" insert="true" update="true" 
delete="true" foreach="row">
+      <body><![CDATA[
+
+
+
+
+
+    /*************************************************************************
+    * The contents of this file are subject to the Openbravo  Public  License
+    * Version  1.1  (the  "License"),  being   the  Mozilla   Public  License
+    * Version 1.1  with a permitted attribution clause; you may not  use this
+    * file except in compliance with the License. You  may  obtain  a copy of
+    * the License at http://www.openbravo.com/legal/license.html
+    * Software distributed under the License  is  distributed  on  an "AS IS"
+    * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+    * License for the specific  language  governing  rights  and  limitations
+    * under the License.
+    * The Original Code is Openbravo ERP.
+    * The Initial Developer of the Original Code is Openbravo SLU
+    * All portions are Copyright (C) 2001-2008 Openbravo SLU
+    * All Rights Reserved.
+    * Contributor(s):  ______________________________________.
+    ************************************************************************/
+    /*************************************************************************
+    * Title: Check in deleting, invoice not processed
+    ************************************************************************/
+   v_Posted VARCHAR2(32) ;
+   v_HasReversal CHAR(1);
+        
+BEGIN
+    
+    IF AD_isTriggerEnabled()='N' THEN RETURN;
+    END IF;
+
+
+    -- If invoice is posted, CRUD is not allowed
+    IF INSERTING
+    THEN
+       IF :NEW.C_INVOICE_ID IS NOT NULL THEN
+               SELECT POSTED INTO v_Posted 
+               FROM C_INVOICE
+               WHERE C_INVOICE_ID = :NEW.C_INVOICE_ID;
+       END IF;
+
+       IF :NEW.FIN_PAYMENT_ID IS NOT NULL THEN
+               SELECT POSTED INTO v_Posted 
+               FROM FIN_PAYMENT
+               WHERE FIN_PAYMENT_ID = :NEW.FIN_PAYMENT_ID;
+       END IF;
+
+       IF :NEW.aprm_finacc_transaction_v_id IS NOT NULL THEN
+               SELECT POSTED INTO v_Posted 
+               FROM aprm_finacc_transaction_v
+               WHERE aprm_finacc_transaction_v_id = 
:NEW.aprm_finacc_transaction_v_id;
+       END IF;
+
+       IF(v_Posted='Y')
+               THEN  RAISE_APPLICATION_ERROR(-20501, 'Document 
processed/posted');
+       END IF;
+    END IF;
+    IF UPDATING THEN
+       IF :OLD.C_INVOICE_ID IS NOT NULL THEN
+               SELECT POSTED INTO v_Posted 
+               FROM C_INVOICE
+               WHERE C_INVOICE_ID = :OLD.C_INVOICE_ID;
+       END IF;
+
+       IF :OLD.FIN_PAYMENT_ID IS NOT NULL THEN
+               SELECT POSTED INTO v_Posted 
+               FROM FIN_PAYMENT
+               WHERE FIN_PAYMENT_ID = :OLD.FIN_PAYMENT_ID;
+       END IF;
+
+       IF :OLD.aprm_finacc_transaction_v_id IS NOT NULL THEN
+               SELECT POSTED INTO v_Posted 
+               FROM aprm_finacc_transaction_v
+               WHERE aprm_finacc_transaction_v_id = 
:OLD.aprm_finacc_transaction_v_id;
+       END IF;
+       IF(v_Posted='Y')
+               THEN  RAISE_APPLICATION_ERROR(-20501, 'Document 
processed/posted');
+       END IF;
+    END IF;
+    IF DELETING THEN
+       IF :OLD.C_INVOICE_ID IS NOT NULL THEN
+               SELECT POSTED INTO v_Posted 
+               FROM C_INVOICE
+               WHERE C_INVOICE_ID = :OLD.C_INVOICE_ID;
+
+               -- Looking if the invoice has reversal invoices
+               SELECT 'Y' as hasreversal
+               INTO v_HasReversal
+               FROM DUAL 
+               WHERE EXISTS (SELECT 1 FROM C_INVOICE_REVERSE WHERE 
C_INVOICE_ID = :OLD.C_INVOICE_ID);
+       END IF;
+
+       IF :OLD.FIN_PAYMENT_ID IS NOT NULL THEN
+               SELECT POSTED INTO v_Posted 
+               FROM FIN_PAYMENT
+               WHERE FIN_PAYMENT_ID = :OLD.FIN_PAYMENT_ID;
+       END IF;
+
+       IF :OLD.aprm_finacc_transaction_v_id IS NOT NULL THEN
+               SELECT POSTED INTO v_Posted 
+               FROM aprm_finacc_transaction_v
+               WHERE aprm_finacc_transaction_v_id = 
:OLD.aprm_finacc_transaction_v_id;
+       END IF;
+
+       IF(v_Posted='Y')
+               THEN  RAISE_APPLICATION_ERROR(-20501, 'Document 
processed/posted');
+       END IF;
+       IF (v_HasReversal='Y') THEN
+                 RAISE_APPLICATION_ERROR(-20000, '@InvoiceHasReversal@');
+       END IF;
+
+       
+       
+    END IF;
+    
+    
+END C_CONVERSION_RATE_DOCUMENT_TRG
+]]></body>

------------------------------------------------------------------------------
Got Input?   Slashdot Needs You.
Take our quick survey online.  Come on, we don't ask for help often.
Plus, you'll get a chance to win $100 to spend on ThinkGeek.
http://p.sf.net/sfu/slashdot-survey
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits

Reply via email to