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
