From 7904d39d4a98809ac90bba37922dc6b4dae0a9b4 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Fri, 23 Dec 2016 01:22:36 +0100 Subject: [PATCH 01/26] IDEMPIERE-3273 java.lang.ClassNotFoundException: org.adempiere.webui.process.CacheReset ... --- org.adempiere.ui.zk/OSGI-INF/processfactory.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/org.adempiere.ui.zk/OSGI-INF/processfactory.xml b/org.adempiere.ui.zk/OSGI-INF/processfactory.xml index 6d9924ebe1..cd8d28037a 100644 --- a/org.adempiere.ui.zk/OSGI-INF/processfactory.xml +++ b/org.adempiere.ui.zk/OSGI-INF/processfactory.xml @@ -1,6 +1,7 @@ + From 9a9a8aa15b070a478680798da88c312b6c6ab56d Mon Sep 17 00:00:00 2001 From: hieplq Date: Sun, 1 Jan 2017 18:40:32 +0700 Subject: [PATCH 02/26] IDEMPIERE-3277:metadata of joda-time at maven is break use same jar but re-create metadata at modifyBundle --- org.adempiere.sdk-feature/adempiere.rmap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.adempiere.sdk-feature/adempiere.rmap b/org.adempiere.sdk-feature/adempiere.rmap index bd2bd46c0d..9375c4361f 100644 --- a/org.adempiere.sdk-feature/adempiere.rmap +++ b/org.adempiere.sdk-feature/adempiere.rmap @@ -28,7 +28,7 @@ - + From 8cd9ca821bc8fc14a129209fa6d8bf62bc7b08b9 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Wed, 4 Jan 2017 20:11:26 +0100 Subject: [PATCH 03/26] IDEMPIERE-3277 fix link --- org.adempiere.sdk-feature/materialize.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.adempiere.sdk-feature/materialize.properties b/org.adempiere.sdk-feature/materialize.properties index 23ec2a4da9..fc1b50ceb4 100644 --- a/org.adempiere.sdk-feature/materialize.properties +++ b/org.adempiere.sdk-feature/materialize.properties @@ -27,7 +27,7 @@ url.file.srv=http://downloads.sourceforge.net/project/idempiere/binary.file url.restlet.p2=http://p2.restlet.com/2.3 -url.modify.bundle=https://sourceforge.net/projects/hsv/files/p2/modifyBundle-1.0.0 +url.modify.bundle=https://sourceforge.net/projects/idempiere/files/binary.file/jarfile/modifyBundle-1.0.0 url.file.jp.lib=http://downloads.sourceforge.net/project/idempiere/binary.file/jarfile/jp-6.3.0 From bd32f642e9f1683cb4b7bfdfc30ce5bfe984bae9 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Wed, 4 Jan 2017 20:40:26 +0100 Subject: [PATCH 04/26] IDEMPIERE-3277 fix more links --- org.adempiere.sdk-feature/materialize.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/org.adempiere.sdk-feature/materialize.properties b/org.adempiere.sdk-feature/materialize.properties index fc1b50ceb4..185b99c3e4 100644 --- a/org.adempiere.sdk-feature/materialize.properties +++ b/org.adempiere.sdk-feature/materialize.properties @@ -14,7 +14,7 @@ url.maven2.lib=http://central.maven.org url.maven.zkoss=http://mavensync.zkoss.org url.maven.zkoss.lib=http://mavensync.zkoss.org -url.zkoss.osgi=https://sourceforge.net/projects/idempiere/files/binary.file/jarfile/zk-p2/zk-8.0.1.1/ +url.zkoss.osgi=http://downloads.sourceforge.net/project/idempiere/binary.file/jarfile/zk-p2/zk-8.0.1.1/ url.maven.restlet=http://maven.restlet.org @@ -27,7 +27,7 @@ url.file.srv=http://downloads.sourceforge.net/project/idempiere/binary.file url.restlet.p2=http://p2.restlet.com/2.3 -url.modify.bundle=https://sourceforge.net/projects/idempiere/files/binary.file/jarfile/modifyBundle-1.0.0 +url.modify.bundle=http://downloads.sourceforge.net/project/idempiere/binary.file/jarfile/modifyBundle-1.0.0 url.file.jp.lib=http://downloads.sourceforge.net/project/idempiere/binary.file/jarfile/jp-6.3.0 From e86a6d6e535f5b85785b2eeebd5106eb02d16213 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Mon, 9 Jan 2017 12:45:29 +0100 Subject: [PATCH 05/26] IDEMPIERE-3220 read-only field can edit by development tool / case for toolbar buttons on slow connection, changed approach to not show the message, but save in log and stop operation on the read-only component --- .../webui/session/ValidateReadonlyComponent.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/session/ValidateReadonlyComponent.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/session/ValidateReadonlyComponent.java index 51d811d633..c204dba7e3 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/session/ValidateReadonlyComponent.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/session/ValidateReadonlyComponent.java @@ -17,10 +17,10 @@ package org.adempiere.webui.session; import java.util.logging.Level; import org.compiere.util.CLogger; +import org.compiere.util.Env; import org.zkoss.zk.au.AuRequest; import org.zkoss.zk.au.AuService; import org.zkoss.zk.ui.Component; -import org.zkoss.zk.ui.WrongValueException; import org.zkoss.zk.ui.event.Events; import org.zkoss.zk.ui.ext.Disable; import org.zkoss.zk.ui.ext.Readonly; @@ -102,11 +102,13 @@ public class ValidateReadonlyComponent implements AuService { (comb != null && (Events.ON_CHANGE.equals(cmd) || Events.ON_SELECT.equals(cmd))) || (button != null && (Events.ON_CLICK.equals(cmd) || Events.ON_OK.equals(cmd) || Events.ON_UPLOAD.equals(cmd)));; - // for combobox each change have both event onchange and onselect, so will have duplicate message - // duplicate is acceptable for hack guy + // for combobox each change have both event onchange and onselect if (editing){ comp.invalidate(); - throw new WrongValueException ("Field is read only"); + String user = Env.getContext(Env.getCtx(), "#AD_User_Name") + "[" + Env.getContext(Env.getCtx(), "#AD_User_ID") + "]"; + log.log(Level.WARNING, String.format("Detected UI interaction with a read-only element: %1$s on event %2$s from user %3$s", + comp.getClass(), cmd, user)); + return true; } } From afaedf1bf6e5087b7569872cf3f2820e665b1ebb Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Fri, 13 Jan 2017 17:50:38 +0100 Subject: [PATCH 06/26] IDEMPIERE-3279 Implement configurable Write-Off in Payment Selection --- .../oracle/functions/C_Invoice_WriteOff.sql | 23 ++ .../functions/C_Invoice_WriteOff.sql | 24 +++ .../oracle/201701131446_IDEMPIERE-3279.sql | 203 ++++++++++++++++++ .../201701131446_IDEMPIERE-3279.sql | 200 +++++++++++++++++ .../compiere/model/CalloutPaySelection.java | 5 +- .../org/compiere/process/AllocationAuto.java | 4 +- .../process/PaySelectionCreateFrom.java | 14 +- .../compiere/model/I_C_PaySelectionCheck.java | 13 ++ .../compiere/model/I_C_PaySelectionLine.java | 13 ++ .../compiere/model/MPaySelectionCheck.java | 18 +- .../org/compiere/model/MPaySelectionLine.java | 39 +++- .../src/org/compiere/model/MPayment.java | 4 +- .../compiere/model/X_C_PaySelectionCheck.java | 24 ++- .../compiere/model/X_C_PaySelectionLine.java | 24 ++- .../adempiere/webui/apps/form/WPayPrint.java | 2 + .../src/org/compiere/apps/form/PaySelect.java | 13 +- 16 files changed, 589 insertions(+), 34 deletions(-) create mode 100644 db/ddlutils/oracle/functions/C_Invoice_WriteOff.sql create mode 100644 db/ddlutils/postgresql/functions/C_Invoice_WriteOff.sql create mode 100644 migration/i4.1/oracle/201701131446_IDEMPIERE-3279.sql create mode 100644 migration/i4.1/postgresql/201701131446_IDEMPIERE-3279.sql diff --git a/db/ddlutils/oracle/functions/C_Invoice_WriteOff.sql b/db/ddlutils/oracle/functions/C_Invoice_WriteOff.sql new file mode 100644 index 0000000000..2d586d851e --- /dev/null +++ b/db/ddlutils/oracle/functions/C_Invoice_WriteOff.sql @@ -0,0 +1,23 @@ +CREATE OR REPLACE FUNCTION invoiceWriteOff +( + p_C_Invoice_ID IN NUMBER +) +RETURN NUMBER +AS + v_Amount NUMBER; + v_ClientId C_Invoice.AD_Client_ID%TYPE; + custom_function AD_SysConfig.Value%TYPE; + command VARCHAR2(1000); +BEGIN + SELECT AD_Client_ID INTO v_ClientId FROM C_Invoice WHERE C_Invoice_ID=p_C_Invoice_ID; + custom_function := get_Sysconfig('PAYSELECTION_CUSTOM_INVOICEWRITEOFF_FUNCTION', '', v_ClientId, 0); + IF LENGTH(custom_function) > 0 + THEN + command := 'SELECT '||custom_function||'('||p_C_Invoice_ID||') FROM DUAL'; + EXECUTE IMMEDIATE command INTO v_Amount; + ELSE + v_Amount := 0; + END IF; + RETURN v_Amount; +END invoiceWriteOff; +/ diff --git a/db/ddlutils/postgresql/functions/C_Invoice_WriteOff.sql b/db/ddlutils/postgresql/functions/C_Invoice_WriteOff.sql new file mode 100644 index 0000000000..71d01bc75b --- /dev/null +++ b/db/ddlutils/postgresql/functions/C_Invoice_WriteOff.sql @@ -0,0 +1,24 @@ +CREATE OR REPLACE FUNCTION invoiceWriteOff +( + p_C_Invoice_ID NUMERIC +) +RETURNS numeric AS $body$ +DECLARE + v_Amount NUMERIC; + v_ClientId C_Invoice.AD_Client_ID%TYPE; + custom_function AD_SysConfig.Value%TYPE; + command VARCHAR(1000); +BEGIN + SELECT AD_Client_ID INTO v_ClientId FROM C_Invoice WHERE C_Invoice_ID=p_C_Invoice_ID; + custom_function := get_Sysconfig('PAYSELECTION_CUSTOM_INVOICEWRITEOFF_FUNCTION', '', v_ClientId, 0); + IF LENGTH(custom_function) > 0 + THEN + command := 'SELECT '||custom_function||'('||p_C_Invoice_ID||')'; + EXECUTE command INTO v_Amount; + ELSE + v_Amount := 0; + END IF; + RETURN v_Amount; +END; +$body$ LANGUAGE plpgsql STABLE; + diff --git a/migration/i4.1/oracle/201701131446_IDEMPIERE-3279.sql b/migration/i4.1/oracle/201701131446_IDEMPIERE-3279.sql new file mode 100644 index 0000000000..816c7e0530 --- /dev/null +++ b/migration/i4.1/oracle/201701131446_IDEMPIERE-3279.sql @@ -0,0 +1,203 @@ +SET SQLBLANKLINES ON +SET DEFINE OFF + +-- IDEMPIERE-3279 Implement configurable Write-Off in Payment Selection +-- Jan 13, 2017 2:39:27 PM CET +INSERT INTO AD_Column (AD_Column_ID,Version,Name,Description,Help,AD_Table_ID,ColumnName,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,IsToolbarButton,IsSecure) VALUES (212953,1,'Write-off Amount','Amount to write-off','The Write Off Amount indicates the amount to be written off as uncollectible.',525,'WriteOffAmt',22,'N','N','Y','N','N',0,'N',12,0,0,'Y',TO_DATE('2017-01-13 14:39:19','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2017-01-13 14:39:19','YYYY-MM-DD HH24:MI:SS'),100,1450,'N','N','D','N','N','N','Y','0e379fab-cf4d-4209-8576-f8c7f13031af','Y','N','N') +; + +-- Jan 13, 2017 2:40:17 PM CET +UPDATE AD_Column SET IsUpdateable='Y',Updated=TO_DATE('2017-01-13 14:40:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=212953 +; + +-- Jan 13, 2017 2:40:30 PM CET +UPDATE AD_Column SET DefaultValue='0',Updated=TO_DATE('2017-01-13 14:40:30','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=212953 +; + +-- Jan 13, 2017 2:40:32 PM CET +ALTER TABLE C_PaySelectionCheck ADD WriteOffAmt NUMBER DEFAULT 0 NOT NULL +; + +-- Jan 13, 2017 2:41:26 PM CET +INSERT INTO AD_Column (AD_Column_ID,Version,Name,Description,Help,AD_Table_ID,ColumnName,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,IsToolbarButton,IsSecure) VALUES (212955,1,'Write-off Amount','Amount to write-off','The Write Off Amount indicates the amount to be written off as uncollectible.',427,'WriteOffAmt',22,'N','N','Y','N','N',0,'N',12,0,0,'Y',TO_DATE('2017-01-13 14:41:16','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2017-01-13 14:41:16','YYYY-MM-DD HH24:MI:SS'),100,1450,'N','N','D','N','N','N','Y','5a8e715a-7b5f-4daf-b88f-aaa0f229e9df','Y','N','N') +; + +-- Jan 13, 2017 2:41:55 PM CET +UPDATE AD_Column SET DefaultValue='0',Updated=TO_DATE('2017-01-13 14:41:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=212955 +; + +-- Jan 13, 2017 2:41:56 PM CET +ALTER TABLE C_PaySelectionLine ADD WriteOffAmt NUMBER DEFAULT 0 NOT NULL +; + +-- Jan 13, 2017 2:43:36 PM CET +INSERT INTO AD_Field (AD_Field_ID,Name,Description,Help,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLength,SeqNo,SortNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,XPosition,ColumnSpan,NumLines,IsQuickEntry,IsDefaultFocus,IsAdvancedField) VALUES (204354,'Write-off Amount','Amount to write-off','The Write Off Amount indicates the amount to be written off as uncollectible.',353,212955,'Y',0,160,0,'N','N','N','N',0,0,'Y',TO_DATE('2017-01-13 14:43:35','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2017-01-13 14:43:35','YYYY-MM-DD HH24:MI:SS'),100,'N','Y','D','13756b9c-d9db-4c83-9fea-d0b05b866bc0','Y',160,1,1,1,'N','N','N') +; + +-- Jan 13, 2017 2:43:49 PM CET +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=4416 +; + +-- Jan 13, 2017 2:43:49 PM CET +UPDATE AD_Field SET SeqNoGrid=10,IsDisplayedGrid='Y' WHERE AD_Field_ID=4417 +; + +-- Jan 13, 2017 2:43:49 PM CET +UPDATE AD_Field SET SeqNoGrid=20,IsDisplayedGrid='Y' WHERE AD_Field_ID=4423 +; + +-- Jan 13, 2017 2:43:49 PM CET +UPDATE AD_Field SET SeqNoGrid=30,IsDisplayedGrid='Y' WHERE AD_Field_ID=4431 +; + +-- Jan 13, 2017 2:43:49 PM CET +UPDATE AD_Field SET SeqNoGrid=40,IsDisplayedGrid='Y' WHERE AD_Field_ID=4938 +; + +-- Jan 13, 2017 2:43:49 PM CET +UPDATE AD_Field SET SeqNoGrid=50,IsDisplayedGrid='Y' WHERE AD_Field_ID=4429 +; + +-- Jan 13, 2017 2:43:49 PM CET +UPDATE AD_Field SET SeqNoGrid=60,IsDisplayedGrid='Y' WHERE AD_Field_ID=4433 +; + +-- Jan 13, 2017 2:43:49 PM CET +UPDATE AD_Field SET SeqNoGrid=70,IsDisplayedGrid='Y' WHERE AD_Field_ID=4421 +; + +-- Jan 13, 2017 2:43:49 PM CET +UPDATE AD_Field SET SeqNoGrid=80,IsDisplayedGrid='Y' WHERE AD_Field_ID=10896 +; + +-- Jan 13, 2017 2:43:49 PM CET +UPDATE AD_Field SET SeqNoGrid=90,IsDisplayedGrid='Y' WHERE AD_Field_ID=10641 +; + +-- Jan 13, 2017 2:43:49 PM CET +UPDATE AD_Field SET SeqNoGrid=100,IsDisplayedGrid='Y' WHERE AD_Field_ID=4432 +; + +-- Jan 13, 2017 2:43:49 PM CET +UPDATE AD_Field SET SeqNoGrid=110,IsDisplayedGrid='Y' WHERE AD_Field_ID=10640 +; + +-- Jan 13, 2017 2:43:49 PM CET +UPDATE AD_Field SET SeqNoGrid=120,IsDisplayedGrid='Y' WHERE AD_Field_ID=204354 +; + +-- Jan 13, 2017 2:44:17 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=120, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, XPosition=4, ColumnSpan=2, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 14:44:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=204354 +; + +-- Jan 13, 2017 2:44:17 PM CET +UPDATE AD_Field SET SeqNo=130, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 14:44:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=10640 +; + +-- Jan 13, 2017 2:44:17 PM CET +UPDATE AD_Field SET SeqNo=140, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 14:44:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=4939 +; + +-- Jan 13, 2017 2:44:17 PM CET +UPDATE AD_Field SET SeqNo=150, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 14:44:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5840 +; + +-- Jan 13, 2017 2:44:17 PM CET +UPDATE AD_Field SET SeqNo=160, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 14:44:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=10616 +; + +-- Jan 13, 2017 2:44:39 PM CET +INSERT INTO AD_Field (AD_Field_ID,Name,Description,Help,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLength,SeqNo,SortNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,XPosition,ColumnSpan,NumLines,IsQuickEntry,IsDefaultFocus,IsAdvancedField) VALUES (204355,'Write-off Amount','Amount to write-off','The Write Off Amount indicates the amount to be written off as uncollectible.',436,212953,'Y',0,140,0,'N','N','N','N',0,0,'Y',TO_DATE('2017-01-13 14:44:38','YYYY-MM-DD HH24:MI:SS'),100,TO_DATE('2017-01-13 14:44:38','YYYY-MM-DD HH24:MI:SS'),100,'N','Y','D','9bef867f-a47d-49f4-b2a7-3d69c3a71a14','Y',140,1,1,1,'N','N','N') +; + +-- Jan 13, 2017 2:44:47 PM CET +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=5828 +; + +-- Jan 13, 2017 2:44:47 PM CET +UPDATE AD_Field SET SeqNoGrid=10,IsDisplayedGrid='Y' WHERE AD_Field_ID=5829 +; + +-- Jan 13, 2017 2:44:47 PM CET +UPDATE AD_Field SET SeqNoGrid=20,IsDisplayedGrid='Y' WHERE AD_Field_ID=5830 +; + +-- Jan 13, 2017 2:44:47 PM CET +UPDATE AD_Field SET SeqNoGrid=30,IsDisplayedGrid='Y' WHERE AD_Field_ID=5831 +; + +-- Jan 13, 2017 2:44:47 PM CET +UPDATE AD_Field SET SeqNoGrid=40,IsDisplayedGrid='Y' WHERE AD_Field_ID=5837 +; + +-- Jan 13, 2017 2:44:47 PM CET +UPDATE AD_Field SET SeqNoGrid=50,IsDisplayedGrid='Y' WHERE AD_Field_ID=5833 +; + +-- Jan 13, 2017 2:44:47 PM CET +UPDATE AD_Field SET SeqNoGrid=60,IsDisplayedGrid='Y' WHERE AD_Field_ID=5835 +; + +-- Jan 13, 2017 2:44:47 PM CET +UPDATE AD_Field SET SeqNoGrid=70,IsDisplayedGrid='Y' WHERE AD_Field_ID=10642 +; + +-- Jan 13, 2017 2:44:47 PM CET +UPDATE AD_Field SET SeqNoGrid=80,IsDisplayedGrid='Y' WHERE AD_Field_ID=204355 +; + +-- Jan 13, 2017 2:45:13 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=90, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, XPosition=1, ColumnSpan=2, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 14:45:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=204355 +; + +-- Jan 13, 2017 2:45:13 PM CET +UPDATE AD_Field SET SeqNo=100, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 14:45:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5839 +; + +-- Jan 13, 2017 2:45:13 PM CET +UPDATE AD_Field SET SeqNo=110, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 14:45:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=10897 +; + +-- Jan 13, 2017 2:45:13 PM CET +UPDATE AD_Field SET SeqNo=120, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 14:45:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5838 +; + +-- Jan 13, 2017 2:45:13 PM CET +UPDATE AD_Field SET SeqNo=130, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 14:45:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5836 +; + +-- Jan 13, 2017 2:45:13 PM CET +UPDATE AD_Field SET SeqNo=140, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 14:45:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=10617 +; + +-- Jan 13, 2017 2:45:23 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=90, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, XPosition=4, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 14:45:23','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=204355 +; + +CREATE OR REPLACE FUNCTION invoiceWriteOff +( + p_C_Invoice_ID IN NUMBER +) +RETURN NUMBER +AS + v_Amount NUMBER; + v_ClientId C_Invoice.AD_Client_ID%TYPE; + custom_function AD_SysConfig.Value%TYPE; + command VARCHAR2(1000); +BEGIN + SELECT AD_Client_ID INTO v_ClientId FROM C_Invoice WHERE C_Invoice_ID=p_C_Invoice_ID; + custom_function := get_Sysconfig('PAYSELECTION_CUSTOM_INVOICEWRITEOFF_FUNCTION', '', v_ClientId, 0); + IF LENGTH(custom_function) > 0 + THEN + command := 'SELECT '||custom_function||'('||p_C_Invoice_ID||') FROM DUAL'; + EXECUTE IMMEDIATE command INTO v_Amount; + ELSE + v_Amount := 0; + END IF; + RETURN v_Amount; +END invoiceWriteOff; +/ + +SELECT register_migration_script('201701131446_IDEMPIERE-3279.sql') FROM dual +; + diff --git a/migration/i4.1/postgresql/201701131446_IDEMPIERE-3279.sql b/migration/i4.1/postgresql/201701131446_IDEMPIERE-3279.sql new file mode 100644 index 0000000000..96a2b6f832 --- /dev/null +++ b/migration/i4.1/postgresql/201701131446_IDEMPIERE-3279.sql @@ -0,0 +1,200 @@ +-- IDEMPIERE-3279 Implement configurable Write-Off in Payment Selection +-- Jan 13, 2017 2:39:27 PM CET +INSERT INTO AD_Column (AD_Column_ID,Version,Name,Description,Help,AD_Table_ID,ColumnName,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,IsToolbarButton,IsSecure) VALUES (212953,1,'Write-off Amount','Amount to write-off','The Write Off Amount indicates the amount to be written off as uncollectible.',525,'WriteOffAmt',22,'N','N','Y','N','N',0,'N',12,0,0,'Y',TO_TIMESTAMP('2017-01-13 14:39:19','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2017-01-13 14:39:19','YYYY-MM-DD HH24:MI:SS'),100,1450,'N','N','D','N','N','N','Y','0e379fab-cf4d-4209-8576-f8c7f13031af','Y','N','N') +; + +-- Jan 13, 2017 2:40:17 PM CET +UPDATE AD_Column SET IsUpdateable='Y',Updated=TO_TIMESTAMP('2017-01-13 14:40:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=212953 +; + +-- Jan 13, 2017 2:40:30 PM CET +UPDATE AD_Column SET DefaultValue='0',Updated=TO_TIMESTAMP('2017-01-13 14:40:30','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=212953 +; + +-- Jan 13, 2017 2:40:32 PM CET +ALTER TABLE C_PaySelectionCheck ADD COLUMN WriteOffAmt NUMERIC DEFAULT '0' NOT NULL +; + +-- Jan 13, 2017 2:41:26 PM CET +INSERT INTO AD_Column (AD_Column_ID,Version,Name,Description,Help,AD_Table_ID,ColumnName,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,IsToolbarButton,IsSecure) VALUES (212955,1,'Write-off Amount','Amount to write-off','The Write Off Amount indicates the amount to be written off as uncollectible.',427,'WriteOffAmt',22,'N','N','Y','N','N',0,'N',12,0,0,'Y',TO_TIMESTAMP('2017-01-13 14:41:16','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2017-01-13 14:41:16','YYYY-MM-DD HH24:MI:SS'),100,1450,'N','N','D','N','N','N','Y','5a8e715a-7b5f-4daf-b88f-aaa0f229e9df','Y','N','N') +; + +-- Jan 13, 2017 2:41:55 PM CET +UPDATE AD_Column SET DefaultValue='0',Updated=TO_TIMESTAMP('2017-01-13 14:41:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=212955 +; + +-- Jan 13, 2017 2:41:56 PM CET +ALTER TABLE C_PaySelectionLine ADD COLUMN WriteOffAmt NUMERIC DEFAULT '0' NOT NULL +; + +-- Jan 13, 2017 2:43:36 PM CET +INSERT INTO AD_Field (AD_Field_ID,Name,Description,Help,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLength,SeqNo,SortNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,XPosition,ColumnSpan,NumLines,IsQuickEntry,IsDefaultFocus,IsAdvancedField) VALUES (204354,'Write-off Amount','Amount to write-off','The Write Off Amount indicates the amount to be written off as uncollectible.',353,212955,'Y',0,160,0,'N','N','N','N',0,0,'Y',TO_TIMESTAMP('2017-01-13 14:43:35','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2017-01-13 14:43:35','YYYY-MM-DD HH24:MI:SS'),100,'N','Y','D','13756b9c-d9db-4c83-9fea-d0b05b866bc0','Y',160,1,1,1,'N','N','N') +; + +-- Jan 13, 2017 2:43:49 PM CET +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=4416 +; + +-- Jan 13, 2017 2:43:49 PM CET +UPDATE AD_Field SET SeqNoGrid=10,IsDisplayedGrid='Y' WHERE AD_Field_ID=4417 +; + +-- Jan 13, 2017 2:43:49 PM CET +UPDATE AD_Field SET SeqNoGrid=20,IsDisplayedGrid='Y' WHERE AD_Field_ID=4423 +; + +-- Jan 13, 2017 2:43:49 PM CET +UPDATE AD_Field SET SeqNoGrid=30,IsDisplayedGrid='Y' WHERE AD_Field_ID=4431 +; + +-- Jan 13, 2017 2:43:49 PM CET +UPDATE AD_Field SET SeqNoGrid=40,IsDisplayedGrid='Y' WHERE AD_Field_ID=4938 +; + +-- Jan 13, 2017 2:43:49 PM CET +UPDATE AD_Field SET SeqNoGrid=50,IsDisplayedGrid='Y' WHERE AD_Field_ID=4429 +; + +-- Jan 13, 2017 2:43:49 PM CET +UPDATE AD_Field SET SeqNoGrid=60,IsDisplayedGrid='Y' WHERE AD_Field_ID=4433 +; + +-- Jan 13, 2017 2:43:49 PM CET +UPDATE AD_Field SET SeqNoGrid=70,IsDisplayedGrid='Y' WHERE AD_Field_ID=4421 +; + +-- Jan 13, 2017 2:43:49 PM CET +UPDATE AD_Field SET SeqNoGrid=80,IsDisplayedGrid='Y' WHERE AD_Field_ID=10896 +; + +-- Jan 13, 2017 2:43:49 PM CET +UPDATE AD_Field SET SeqNoGrid=90,IsDisplayedGrid='Y' WHERE AD_Field_ID=10641 +; + +-- Jan 13, 2017 2:43:49 PM CET +UPDATE AD_Field SET SeqNoGrid=100,IsDisplayedGrid='Y' WHERE AD_Field_ID=4432 +; + +-- Jan 13, 2017 2:43:49 PM CET +UPDATE AD_Field SET SeqNoGrid=110,IsDisplayedGrid='Y' WHERE AD_Field_ID=10640 +; + +-- Jan 13, 2017 2:43:49 PM CET +UPDATE AD_Field SET SeqNoGrid=120,IsDisplayedGrid='Y' WHERE AD_Field_ID=204354 +; + +-- Jan 13, 2017 2:44:17 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=120, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, XPosition=4, ColumnSpan=2, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 14:44:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=204354 +; + +-- Jan 13, 2017 2:44:17 PM CET +UPDATE AD_Field SET SeqNo=130, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 14:44:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=10640 +; + +-- Jan 13, 2017 2:44:17 PM CET +UPDATE AD_Field SET SeqNo=140, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 14:44:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=4939 +; + +-- Jan 13, 2017 2:44:17 PM CET +UPDATE AD_Field SET SeqNo=150, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 14:44:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5840 +; + +-- Jan 13, 2017 2:44:17 PM CET +UPDATE AD_Field SET SeqNo=160, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 14:44:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=10616 +; + +-- Jan 13, 2017 2:44:39 PM CET +INSERT INTO AD_Field (AD_Field_ID,Name,Description,Help,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLength,SeqNo,SortNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,XPosition,ColumnSpan,NumLines,IsQuickEntry,IsDefaultFocus,IsAdvancedField) VALUES (204355,'Write-off Amount','Amount to write-off','The Write Off Amount indicates the amount to be written off as uncollectible.',436,212953,'Y',0,140,0,'N','N','N','N',0,0,'Y',TO_TIMESTAMP('2017-01-13 14:44:38','YYYY-MM-DD HH24:MI:SS'),100,TO_TIMESTAMP('2017-01-13 14:44:38','YYYY-MM-DD HH24:MI:SS'),100,'N','Y','D','9bef867f-a47d-49f4-b2a7-3d69c3a71a14','Y',140,1,1,1,'N','N','N') +; + +-- Jan 13, 2017 2:44:47 PM CET +UPDATE AD_Field SET SeqNoGrid=0,IsDisplayedGrid='N' WHERE AD_Field_ID=5828 +; + +-- Jan 13, 2017 2:44:47 PM CET +UPDATE AD_Field SET SeqNoGrid=10,IsDisplayedGrid='Y' WHERE AD_Field_ID=5829 +; + +-- Jan 13, 2017 2:44:47 PM CET +UPDATE AD_Field SET SeqNoGrid=20,IsDisplayedGrid='Y' WHERE AD_Field_ID=5830 +; + +-- Jan 13, 2017 2:44:47 PM CET +UPDATE AD_Field SET SeqNoGrid=30,IsDisplayedGrid='Y' WHERE AD_Field_ID=5831 +; + +-- Jan 13, 2017 2:44:47 PM CET +UPDATE AD_Field SET SeqNoGrid=40,IsDisplayedGrid='Y' WHERE AD_Field_ID=5837 +; + +-- Jan 13, 2017 2:44:47 PM CET +UPDATE AD_Field SET SeqNoGrid=50,IsDisplayedGrid='Y' WHERE AD_Field_ID=5833 +; + +-- Jan 13, 2017 2:44:47 PM CET +UPDATE AD_Field SET SeqNoGrid=60,IsDisplayedGrid='Y' WHERE AD_Field_ID=5835 +; + +-- Jan 13, 2017 2:44:47 PM CET +UPDATE AD_Field SET SeqNoGrid=70,IsDisplayedGrid='Y' WHERE AD_Field_ID=10642 +; + +-- Jan 13, 2017 2:44:47 PM CET +UPDATE AD_Field SET SeqNoGrid=80,IsDisplayedGrid='Y' WHERE AD_Field_ID=204355 +; + +-- Jan 13, 2017 2:45:13 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=90, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, XPosition=1, ColumnSpan=2, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 14:45:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=204355 +; + +-- Jan 13, 2017 2:45:13 PM CET +UPDATE AD_Field SET SeqNo=100, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 14:45:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5839 +; + +-- Jan 13, 2017 2:45:13 PM CET +UPDATE AD_Field SET SeqNo=110, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 14:45:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=10897 +; + +-- Jan 13, 2017 2:45:13 PM CET +UPDATE AD_Field SET SeqNo=120, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 14:45:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5838 +; + +-- Jan 13, 2017 2:45:13 PM CET +UPDATE AD_Field SET SeqNo=130, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 14:45:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=5836 +; + +-- Jan 13, 2017 2:45:13 PM CET +UPDATE AD_Field SET SeqNo=140, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 14:45:13','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=10617 +; + +-- Jan 13, 2017 2:45:23 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=90, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, XPosition=4, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 14:45:23','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Field_ID=204355 +; + +CREATE OR REPLACE FUNCTION invoiceWriteOff +( + p_C_Invoice_ID NUMERIC +) +RETURNS numeric AS $body$ +DECLARE + v_Amount NUMERIC; + v_ClientId C_Invoice.AD_Client_ID%TYPE; + custom_function AD_SysConfig.Value%TYPE; + command VARCHAR(1000); +BEGIN + SELECT AD_Client_ID INTO v_ClientId FROM C_Invoice WHERE C_Invoice_ID=p_C_Invoice_ID; + custom_function := get_Sysconfig('PAYSELECTION_CUSTOM_INVOICEWRITEOFF_FUNCTION', '', v_ClientId, 0); + IF LENGTH(custom_function) > 0 + THEN + command := 'SELECT '||custom_function||'('||p_C_Invoice_ID||')'; + EXECUTE command INTO v_Amount; + ELSE + v_Amount := 0; + END IF; + RETURN v_Amount; +END; +$body$ LANGUAGE plpgsql STABLE; + +SELECT register_migration_script('201701131446_IDEMPIERE-3279.sql') FROM dual +; + diff --git a/org.adempiere.base.callout/src/org/compiere/model/CalloutPaySelection.java b/org.adempiere.base.callout/src/org/compiere/model/CalloutPaySelection.java index 69e413a719..2488f21f42 100644 --- a/org.adempiere.base.callout/src/org/compiere/model/CalloutPaySelection.java +++ b/org.adempiere.base.callout/src/org/compiere/model/CalloutPaySelection.java @@ -66,9 +66,10 @@ public class CalloutPaySelection extends CalloutEngine BigDecimal OpenAmt = (BigDecimal)mTab.getValue("OpenAmt"); BigDecimal PayAmt = (BigDecimal)mTab.getValue("PayAmt"); BigDecimal DiscountAmt = (BigDecimal)mTab.getValue("DiscountAmt"); - BigDecimal DifferenceAmt = OpenAmt.subtract(PayAmt).subtract(DiscountAmt); + BigDecimal WriteOffAmt = (BigDecimal)mTab.getValue("WriteOffAmt"); + BigDecimal DifferenceAmt = OpenAmt.subtract(PayAmt).subtract(DiscountAmt).subtract(WriteOffAmt); if (log.isLoggable(Level.FINE)) log.fine(" - OpenAmt=" + OpenAmt + " - PayAmt=" + PayAmt - + ", Discount=" + DiscountAmt + ", Difference=" + DifferenceAmt); + + ", Discount=" + DiscountAmt + ", WriteOff=" + WriteOffAmt + ", Difference=" + DifferenceAmt); mTab.setValue("DifferenceAmt", DifferenceAmt); diff --git a/org.adempiere.base.process/src/org/compiere/process/AllocationAuto.java b/org.adempiere.base.process/src/org/compiere/process/AllocationAuto.java index a4d724a121..e8c6b71059 100644 --- a/org.adempiere.base.process/src/org/compiere/process/AllocationAuto.java +++ b/org.adempiere.base.process/src/org/compiere/process/AllocationAuto.java @@ -427,8 +427,8 @@ public class AllocationAuto extends SvrProcess { BigDecimal invoiceAmt = invoice.getOpenAmt(true, null); BigDecimal overUnder = line.getOpenAmt().subtract(line.getPayAmt()) - .subtract(line.getDiscountAmt()).subtract(line.getDifferenceAmt()); - invoiceAmt = invoiceAmt.subtract(line.getDiscountAmt()) + .subtract(line.getDiscountAmt()).subtract(line.getWriteOffAmt()).subtract(line.getDifferenceAmt()); + invoiceAmt = invoiceAmt.subtract(line.getDiscountAmt()).subtract(line.getWriteOffAmt()) .subtract(line.getDifferenceAmt()).subtract(overUnder); if (!invoice.isSOTrx()) invoiceAmt = invoiceAmt.negate(); diff --git a/org.adempiere.base.process/src/org/compiere/process/PaySelectionCreateFrom.java b/org.adempiere.base.process/src/org/compiere/process/PaySelectionCreateFrom.java index 11c28a83c1..9df2ab0e5f 100644 --- a/org.adempiere.base.process/src/org/compiere/process/PaySelectionCreateFrom.java +++ b/org.adempiere.base.process/src/org/compiere/process/PaySelectionCreateFrom.java @@ -117,14 +117,15 @@ public class PaySelectionCreateFrom extends SvrProcess // psel.getPayDate(); - StringBuilder sql = new StringBuilder("SELECT C_Invoice_ID,") + StringBuilder sql = new StringBuilder("SELECT C_Invoice_ID,") // 1 // Open .append(" currencyConvert(invoiceOpen(i.C_Invoice_ID, i.C_InvoicePaySchedule_ID)") - .append(",i.C_Currency_ID, ?,?, i.C_ConversionType_ID,i.AD_Client_ID,i.AD_Org_ID) AS PayAmt,") // ##1/2 Currency_To,PayDate + .append(",i.C_Currency_ID, ?,?, i.C_ConversionType_ID,i.AD_Client_ID,i.AD_Org_ID) AS PayAmt,") // 2 ##p1/p2 Currency_To,PayDate // Discount - .append(" currencyConvert(invoiceDiscount(i.C_Invoice_ID,?,i.C_InvoicePaySchedule_ID)") // ##3 PayDate - .append(",i.C_Currency_ID, ?,?,i.C_ConversionType_ID,i.AD_Client_ID,i.AD_Org_ID) AS DiscountAmt,") // ##4/5 Currency_To,PayDate - .append(" PaymentRule, IsSOTrx ") // 4..6 + .append(" currencyConvert(invoiceDiscount(i.C_Invoice_ID,?,i.C_InvoicePaySchedule_ID)") // ##p3 PayDate + .append(",i.C_Currency_ID, ?,?,i.C_ConversionType_ID,i.AD_Client_ID,i.AD_Org_ID) AS DiscountAmt,") // 3 ##p4/p5 Currency_To,PayDate + .append(" PaymentRule, IsSOTrx, ") // 4..5 + .append(" currencyConvert(invoiceWriteOff(i.C_Invoice_ID) AS WriteOffAmt,") // 6 .append("FROM C_Invoice_v i WHERE "); if (X_C_Order.PAYMENTRULE_DirectDebit.equals(p_PaymentRule)) sql.append("IsSOTrx='Y'"); @@ -228,13 +229,14 @@ public class PaySelectionCreateFrom extends SvrProcess if (C_Invoice_ID == 0 || Env.ZERO.compareTo(PayAmt) == 0) continue; BigDecimal DiscountAmt = rs.getBigDecimal(3); + BigDecimal WriteOffAmt = rs.getBigDecimal(6); String PaymentRule = rs.getString(4); boolean isSOTrx = "Y".equals(rs.getString(5)); // lines++; MPaySelectionLine pselLine = new MPaySelectionLine (psel, lines*10, PaymentRule); pselLine.setInvoice (C_Invoice_ID, isSOTrx, - PayAmt, PayAmt.subtract(DiscountAmt), DiscountAmt); + PayAmt, PayAmt.subtract(DiscountAmt).subtract(WriteOffAmt), DiscountAmt, WriteOffAmt); if (!pselLine.save()) { throw new IllegalStateException ("Cannot save MPaySelectionLine"); diff --git a/org.adempiere.base/src/org/compiere/model/I_C_PaySelectionCheck.java b/org.adempiere.base/src/org/compiere/model/I_C_PaySelectionCheck.java index 74c5fedee2..c2932925c9 100644 --- a/org.adempiere.base/src/org/compiere/model/I_C_PaySelectionCheck.java +++ b/org.adempiere.base/src/org/compiere/model/I_C_PaySelectionCheck.java @@ -301,4 +301,17 @@ public interface I_C_PaySelectionCheck * User who updated this records */ public int getUpdatedBy(); + + /** Column name WriteOffAmt */ + public static final String COLUMNNAME_WriteOffAmt = "WriteOffAmt"; + + /** Set Write-off Amount. + * Amount to write-off + */ + public void setWriteOffAmt (BigDecimal WriteOffAmt); + + /** Get Write-off Amount. + * Amount to write-off + */ + public BigDecimal getWriteOffAmt(); } diff --git a/org.adempiere.base/src/org/compiere/model/I_C_PaySelectionLine.java b/org.adempiere.base/src/org/compiere/model/I_C_PaySelectionLine.java index 23e982da99..48880de769 100644 --- a/org.adempiere.base/src/org/compiere/model/I_C_PaySelectionLine.java +++ b/org.adempiere.base/src/org/compiere/model/I_C_PaySelectionLine.java @@ -303,4 +303,17 @@ public interface I_C_PaySelectionLine * User who updated this records */ public int getUpdatedBy(); + + /** Column name WriteOffAmt */ + public static final String COLUMNNAME_WriteOffAmt = "WriteOffAmt"; + + /** Set Write-off Amount. + * Amount to write-off + */ + public void setWriteOffAmt (BigDecimal WriteOffAmt); + + /** Get Write-off Amount. + * Amount to write-off + */ + public BigDecimal getWriteOffAmt(); } diff --git a/org.adempiere.base/src/org/compiere/model/MPaySelectionCheck.java b/org.adempiere.base/src/org/compiere/model/MPaySelectionCheck.java index 0de3ad58a5..1f8a257ca3 100644 --- a/org.adempiere.base/src/org/compiere/model/MPaySelectionCheck.java +++ b/org.adempiere.base/src/org/compiere/model/MPaySelectionCheck.java @@ -130,6 +130,7 @@ public class MPaySelectionCheck extends X_C_PaySelectionCheck psc.setIsReceipt(payment.isReceipt()); psc.setPayAmt (payment.getPayAmt()); psc.setDiscountAmt(payment.getDiscountAmt()); + psc.setWriteOffAmt(payment.getWriteOffAmt()); psc.setQty (1); psc.setDocumentNo(payment.getDocumentNo()); psc.setProcessed(true); @@ -148,6 +149,7 @@ public class MPaySelectionCheck extends X_C_PaySelectionCheck psl.setOpenAmt(payment.getPayAmt().add(payment.getDiscountAmt())); psl.setPayAmt (payment.getPayAmt()); psl.setDiscountAmt(payment.getDiscountAmt()); + psl.setWriteOffAmt(payment.getWriteOffAmt()); psl.setDifferenceAmt (Env.ZERO); psl.setC_PaySelectionCheck_ID(psc.getC_PaySelectionCheck_ID()); psl.setProcessed(true); @@ -170,6 +172,7 @@ public class MPaySelectionCheck extends X_C_PaySelectionCheck psla.setOpenAmt(pAlloc.getAmount().add(pAlloc.getDiscountAmt())); psla.setPayAmt (pAlloc.getAmount()); psla.setDiscountAmt(pAlloc.getDiscountAmt()); + psla.setWriteOffAmt(pAlloc.getWriteOffAmt()); psla.setDifferenceAmt (Env.ZERO); psla.setC_PaySelectionCheck_ID(psc.getC_PaySelectionCheck_ID()); psla.setProcessed(true); @@ -310,6 +313,7 @@ public class MPaySelectionCheck extends X_C_PaySelectionCheck payment.setTrxType(X_C_Payment.TRXTYPE_CreditPayment); payment.setAmount(check.getParent().getC_Currency_ID(), check.getPayAmt()); payment.setDiscountAmt(check.getDiscountAmt()); + payment.setWriteOffAmt(check.getWriteOffAmt()); payment.setDateTrx(check.getParent().getPayDate()); payment.setDateAcct(payment.getDateTrx()); // globalqss [ 2030685 ] payment.setC_BPartner_ID(check.getC_BPartner_ID()); @@ -330,14 +334,16 @@ public class MPaySelectionCheck extends X_C_PaySelectionCheck // payment.setC_Invoice_ID (psl.getC_Invoice_ID()); payment.setDiscountAmt (psl.getDiscountAmt()); - payment.setWriteOffAmt(psl.getDifferenceAmt()); + payment.setWriteOffAmt (psl.getWriteOffAmt()); BigDecimal overUnder = psl.getOpenAmt().subtract(psl.getPayAmt()) - .subtract(psl.getDiscountAmt()).subtract(psl.getDifferenceAmt()); + .subtract(psl.getDiscountAmt()).subtract(psl.getWriteOffAmt()).subtract(psl.getDifferenceAmt()); payment.setOverUnderAmt(overUnder); } else + { + payment.setWriteOffAmt(Env.ZERO); payment.setDiscountAmt(Env.ZERO); - payment.setWriteOffAmt(Env.ZERO); + } payment.saveEx(); // int C_Payment_ID = payment.get_ID(); @@ -450,6 +456,7 @@ public class MPaySelectionCheck extends X_C_PaySelectionCheck // setPaymentRule (null); setPayAmt (Env.ZERO); setDiscountAmt(Env.ZERO); + setWriteOffAmt(Env.ZERO); setIsPrinted (false); setIsReceipt (false); setQty (0); @@ -511,6 +518,7 @@ public class MPaySelectionCheck extends X_C_PaySelectionCheck setIsReceipt(line.isSOTrx()); setPayAmt (line.getPayAmt()); setDiscountAmt(line.getDiscountAmt()); + setWriteOffAmt(line.getWriteOffAmt()); setQty (1); } // MPaySelectionCheck @@ -541,17 +549,19 @@ public class MPaySelectionCheck extends X_C_PaySelectionCheck public void addLine (MPaySelectionLine line) { if (getC_BPartner_ID() != line.getInvoice().getC_BPartner_ID()) - throw new IllegalArgumentException("Line for fifferent BPartner"); + throw new IllegalArgumentException("Line for different BPartner"); // if (isReceipt() == line.isSOTrx()) { setPayAmt (getPayAmt().add(line.getPayAmt())); setDiscountAmt(getDiscountAmt().add(line.getDiscountAmt())); + setWriteOffAmt(getWriteOffAmt().add(line.getWriteOffAmt())); } else { setPayAmt (getPayAmt().subtract(line.getPayAmt())); setDiscountAmt(getDiscountAmt().subtract(line.getDiscountAmt())); + setWriteOffAmt(getWriteOffAmt().subtract(line.getWriteOffAmt())); } setQty (getQty()+1); } // addLine diff --git a/org.adempiere.base/src/org/compiere/model/MPaySelectionLine.java b/org.adempiere.base/src/org/compiere/model/MPaySelectionLine.java index df9e9c0ce8..6d13f496f7 100644 --- a/org.adempiere.base/src/org/compiere/model/MPaySelectionLine.java +++ b/org.adempiere.base/src/org/compiere/model/MPaySelectionLine.java @@ -34,7 +34,7 @@ public class MPaySelectionLine extends X_C_PaySelectionLine /** * */ - private static final long serialVersionUID = -3486055138810301789L; + private static final long serialVersionUID = -1880961891234637133L; /** * Standard Constructor @@ -54,8 +54,9 @@ public class MPaySelectionLine extends X_C_PaySelectionLine setIsSOTrx (false); setOpenAmt(Env.ZERO); setPayAmt (Env.ZERO); - setDiscountAmt(Env.ZERO); - setDifferenceAmt (Env.ZERO); + setDiscountAmt(Env.ZERO); + setWriteOffAmt (Env.ZERO); + setDifferenceAmt (Env.ZERO); setIsManual (false); } } // MPaySelectionLine @@ -97,17 +98,33 @@ public class MPaySelectionLine extends X_C_PaySelectionLine * @param OpenAmt open * @param DiscountAmt discount */ - public void setInvoice (int C_Invoice_ID, boolean isSOTrx, BigDecimal OpenAmt, + public void xsetInvoice (int C_Invoice_ID, boolean isSOTrx, BigDecimal OpenAmt, BigDecimal PayAmt, BigDecimal DiscountAmt) { - setC_Invoice_ID (C_Invoice_ID); - setIsSOTrx(isSOTrx); - setOpenAmt(OpenAmt); - setPayAmt (PayAmt); - setDiscountAmt(DiscountAmt); - setDifferenceAmt(OpenAmt.subtract(PayAmt).subtract(DiscountAmt)); + setInvoice(C_Invoice_ID, isSOTrx, OpenAmt, PayAmt, DiscountAmt, Env.ZERO); } // setInvoive + /** + * Set Invoice Info + * @param C_Invoice_ID invoice + * @param isSOTrx sales trx + * @param PayAmt payment + * @param OpenAmt open + * @param DiscountAmt discount + * @param WriteOffAmt writeoff + */ + public void setInvoice (int C_Invoice_ID, boolean isSOTrx, BigDecimal OpenAmt, + BigDecimal PayAmt, BigDecimal DiscountAmt, BigDecimal WriteOffAmt) + { + setC_Invoice_ID (C_Invoice_ID); + setIsSOTrx(isSOTrx); + setOpenAmt(OpenAmt); + setPayAmt (PayAmt); + setDiscountAmt(DiscountAmt); + setWriteOffAmt(WriteOffAmt); + setDifferenceAmt(OpenAmt.subtract(PayAmt).subtract(DiscountAmt).subtract(WriteOffAmt)); + } // setInvoice + /** * Get Invoice * @return invoice @@ -126,7 +143,7 @@ public class MPaySelectionLine extends X_C_PaySelectionLine */ protected boolean beforeSave (boolean newRecord) { - setDifferenceAmt(getOpenAmt().subtract(getPayAmt()).subtract(getDiscountAmt())); + setDifferenceAmt(getOpenAmt().subtract(getPayAmt()).subtract(getDiscountAmt()).subtract(getWriteOffAmt())); return true; } // beforeSave diff --git a/org.adempiere.base/src/org/compiere/model/MPayment.java b/org.adempiere.base/src/org/compiere/model/MPayment.java index a8844dc757..ca158e315a 100644 --- a/org.adempiere.base/src/org/compiere/model/MPayment.java +++ b/org.adempiere.base/src/org/compiere/model/MPayment.java @@ -2329,7 +2329,7 @@ public class MPayment extends X_C_Payment alloc.setDateAcct(getDateAcct()); // in case date acct is different from datetrx in payment String sql = "SELECT psc.C_BPartner_ID, psl.C_Invoice_ID, psl.IsSOTrx, " // 1..3 - + " psl.PayAmt, psl.DiscountAmt, psl.DifferenceAmt, psl.OpenAmt " + + " psl.PayAmt, psl.DiscountAmt, psl.DifferenceAmt, psl.OpenAmt, psl.WriteOffAmt " // 4..8 + "FROM C_PaySelectionLine psl" + " INNER JOIN C_PaySelectionCheck psc ON (psl.C_PaySelectionCheck_ID=psc.C_PaySelectionCheck_ID) " + "WHERE psc.C_Payment_ID=?"; @@ -2349,7 +2349,7 @@ public class MPayment extends X_C_Payment boolean isSOTrx = "Y".equals(rs.getString(3)); BigDecimal PayAmt = rs.getBigDecimal(4); BigDecimal DiscountAmt = rs.getBigDecimal(5); - BigDecimal WriteOffAmt = Env.ZERO; + BigDecimal WriteOffAmt = rs.getBigDecimal(8); BigDecimal OpenAmt = rs.getBigDecimal(7); BigDecimal OverUnderAmt = OpenAmt.subtract(PayAmt) .subtract(DiscountAmt).subtract(WriteOffAmt); diff --git a/org.adempiere.base/src/org/compiere/model/X_C_PaySelectionCheck.java b/org.adempiere.base/src/org/compiere/model/X_C_PaySelectionCheck.java index b9bb24df46..53c8208e25 100644 --- a/org.adempiere.base/src/org/compiere/model/X_C_PaySelectionCheck.java +++ b/org.adempiere.base/src/org/compiere/model/X_C_PaySelectionCheck.java @@ -31,7 +31,7 @@ public class X_C_PaySelectionCheck extends PO implements I_C_PaySelectionCheck, /** * */ - private static final long serialVersionUID = 20161030L; + private static final long serialVersionUID = 20170113L; /** Standard Constructor */ public X_C_PaySelectionCheck (Properties ctx, int C_PaySelectionCheck_ID, String trxName) @@ -52,6 +52,8 @@ public class X_C_PaySelectionCheck extends PO implements I_C_PaySelectionCheck, setProcessed (false); // N setQty (0); + setWriteOffAmt (Env.ZERO); +// 0 } */ } @@ -435,4 +437,24 @@ public class X_C_PaySelectionCheck extends PO implements I_C_PaySelectionCheck, return 0; return ii.intValue(); } + + /** Set Write-off Amount. + @param WriteOffAmt + Amount to write-off + */ + public void setWriteOffAmt (BigDecimal WriteOffAmt) + { + set_Value (COLUMNNAME_WriteOffAmt, WriteOffAmt); + } + + /** Get Write-off Amount. + @return Amount to write-off + */ + public BigDecimal getWriteOffAmt () + { + BigDecimal bd = (BigDecimal)get_Value(COLUMNNAME_WriteOffAmt); + if (bd == null) + return Env.ZERO; + return bd; + } } \ No newline at end of file diff --git a/org.adempiere.base/src/org/compiere/model/X_C_PaySelectionLine.java b/org.adempiere.base/src/org/compiere/model/X_C_PaySelectionLine.java index 435ca9a0fd..903b0de58c 100644 --- a/org.adempiere.base/src/org/compiere/model/X_C_PaySelectionLine.java +++ b/org.adempiere.base/src/org/compiere/model/X_C_PaySelectionLine.java @@ -32,7 +32,7 @@ public class X_C_PaySelectionLine extends PO implements I_C_PaySelectionLine, I_ /** * */ - private static final long serialVersionUID = 20161030L; + private static final long serialVersionUID = 20170113L; /** Standard Constructor */ public X_C_PaySelectionLine (Properties ctx, int C_PaySelectionLine_ID, String trxName) @@ -55,6 +55,8 @@ public class X_C_PaySelectionLine extends PO implements I_C_PaySelectionLine, I_ // S setProcessed (false); // N + setWriteOffAmt (Env.ZERO); +// 0 } */ } @@ -437,4 +439,24 @@ public class X_C_PaySelectionLine extends PO implements I_C_PaySelectionLine, I_ } return false; } + + /** Set Write-off Amount. + @param WriteOffAmt + Amount to write-off + */ + public void setWriteOffAmt (BigDecimal WriteOffAmt) + { + set_ValueNoCheck (COLUMNNAME_WriteOffAmt, WriteOffAmt); + } + + /** Get Write-off Amount. + @return Amount to write-off + */ + public BigDecimal getWriteOffAmt () + { + BigDecimal bd = (BigDecimal)get_Value(COLUMNNAME_WriteOffAmt); + if (bd == null) + return Env.ZERO; + return bd; + } } \ No newline at end of file diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WPayPrint.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WPayPrint.java index cca67597f0..8ebc830ea7 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WPayPrint.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/form/WPayPrint.java @@ -334,6 +334,8 @@ public class WPayPrint extends PayPrint implements IFormController, EventListene */ protected void cmd_export() { + if (fPaymentRule.getSelectedItem() == null) + return; String PaymentRule = fPaymentRule.getSelectedItem().toValueNamePair().getValue(); log.info(PaymentRule); if (!getChecks(PaymentRule)) diff --git a/org.adempiere.ui/src/org/compiere/apps/form/PaySelect.java b/org.adempiere.ui/src/org/compiere/apps/form/PaySelect.java index 9a9128bcbe..aa5f175d89 100644 --- a/org.adempiere.ui/src/org/compiere/apps/form/PaySelect.java +++ b/org.adempiere.ui/src/org/compiere/apps/form/PaySelect.java @@ -226,12 +226,13 @@ public class PaySelect new ColumnInfo(Msg.translate(ctx, "C_BPartner_ID"), "bp.Name", KeyNamePair.class, true, false, "i.C_BPartner_ID"), new ColumnInfo(Msg.translate(ctx, "DocumentNo"), "i.DocumentNo", String.class), new ColumnInfo(Msg.translate(ctx, "C_Currency_ID"), "c.ISO_Code", KeyNamePair.class, true, false, "i.C_Currency_ID"), - // 5..9 + // 5..10 new ColumnInfo(Msg.translate(ctx, "GrandTotal"), "i.GrandTotal", BigDecimal.class), new ColumnInfo(Msg.translate(ctx, "DiscountAmt"), "invoiceDiscount(i.C_Invoice_ID,?,i.C_InvoicePaySchedule_ID)", BigDecimal.class), + new ColumnInfo(Msg.translate(ctx, "WriteOffAmt"), "invoiceWriteOff(i.C_Invoice_ID)", BigDecimal.class), new ColumnInfo(Msg.getMsg(ctx, "DiscountDate"), "COALESCE((SELECT discountdate from C_InvoicePaySchedule ips WHERE ips.C_InvoicePaySchedule_ID=i.C_InvoicePaySchedule_ID),i.DateInvoiced+p.DiscountDays+p.GraceDays) AS DiscountDate", Timestamp.class), new ColumnInfo(Msg.getMsg(ctx, "AmountDue"), "currencyConvert(invoiceOpen(i.C_Invoice_ID,i.C_InvoicePaySchedule_ID),i.C_Currency_ID, ?,?,i.C_ConversionType_ID, i.AD_Client_ID,i.AD_Org_ID) AS AmountDue", BigDecimal.class), - new ColumnInfo(Msg.getMsg(ctx, "AmountPay"), "currencyConvert(invoiceOpen(i.C_Invoice_ID,i.C_InvoicePaySchedule_ID)-invoiceDiscount(i.C_Invoice_ID,?,i.C_InvoicePaySchedule_ID),i.C_Currency_ID, ?,?,i.C_ConversionType_ID, i.AD_Client_ID,i.AD_Org_ID) AS AmountPay", BigDecimal.class) + new ColumnInfo(Msg.getMsg(ctx, "AmountPay"), "currencyConvert(invoiceOpen(i.C_Invoice_ID,i.C_InvoicePaySchedule_ID)-invoiceDiscount(i.C_Invoice_ID,?,i.C_InvoicePaySchedule_ID)-invoiceWriteOff(i.C_Invoice_ID),i.C_Currency_ID, ?,?,i.C_ConversionType_ID, i.AD_Client_ID,i.AD_Org_ID) AS AmountPay", BigDecimal.class) }, // FROM "C_Invoice_v i" @@ -442,14 +443,16 @@ public class PaySelect line += 10; MPaySelectionLine psl = new MPaySelectionLine (m_ps, line, PaymentRule); int C_Invoice_ID = id.getRecord_ID().intValue(); - BigDecimal OpenAmt = (BigDecimal)miniTable.getValueAt(i, 8); - BigDecimal PayAmt = (BigDecimal)miniTable.getValueAt(i, 9); + BigDecimal OpenAmt = (BigDecimal)miniTable.getValueAt(i, 9); + BigDecimal DiscountAmt = (BigDecimal)miniTable.getValueAt(i, 6); + BigDecimal WriteOffAmt = (BigDecimal)miniTable.getValueAt(i, 7); + BigDecimal PayAmt = (BigDecimal)miniTable.getValueAt(i, 10); boolean isSOTrx = false; if (paymentRule != null && X_C_Order.PAYMENTRULE_DirectDebit.equals(paymentRule.getValue())) isSOTrx = true; // psl.setInvoice(C_Invoice_ID, isSOTrx, - OpenAmt, PayAmt, OpenAmt.subtract(PayAmt)); + OpenAmt, PayAmt, DiscountAmt, WriteOffAmt); psl.saveEx(trxName); if (log.isLoggable(Level.FINE)) log.fine("C_Invoice_ID=" + C_Invoice_ID + ", PayAmt=" + PayAmt); } From 503ec9d9e29a47ec0f03e53ab08e9a7ae6b34fd8 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Fri, 13 Jan 2017 19:07:26 +0100 Subject: [PATCH 07/26] IDEMPIERE-3279 Implement configurable Write-Off in Payment Selection / multicurrency --- .../src/org/compiere/process/PaySelectionCreateFrom.java | 9 ++++++--- .../src/org/compiere/apps/form/PaySelect.java | 8 ++++++-- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/org.adempiere.base.process/src/org/compiere/process/PaySelectionCreateFrom.java b/org.adempiere.base.process/src/org/compiere/process/PaySelectionCreateFrom.java index 9df2ab0e5f..400d057630 100644 --- a/org.adempiere.base.process/src/org/compiere/process/PaySelectionCreateFrom.java +++ b/org.adempiere.base.process/src/org/compiere/process/PaySelectionCreateFrom.java @@ -125,14 +125,15 @@ public class PaySelectionCreateFrom extends SvrProcess .append(" currencyConvert(invoiceDiscount(i.C_Invoice_ID,?,i.C_InvoicePaySchedule_ID)") // ##p3 PayDate .append(",i.C_Currency_ID, ?,?,i.C_ConversionType_ID,i.AD_Client_ID,i.AD_Org_ID) AS DiscountAmt,") // 3 ##p4/p5 Currency_To,PayDate .append(" PaymentRule, IsSOTrx, ") // 4..5 - .append(" currencyConvert(invoiceWriteOff(i.C_Invoice_ID) AS WriteOffAmt,") // 6 + .append(" currencyConvert(invoiceWriteOff(i.C_Invoice_ID) ") + .append(",i.C_Currency_ID, ?,?,i.C_ConversionType_ID,i.AD_Client_ID,i.AD_Org_ID) AS WriteOffAmt ") // 6 ##p6/p7 Currency_To,PayDate .append("FROM C_Invoice_v i WHERE "); if (X_C_Order.PAYMENTRULE_DirectDebit.equals(p_PaymentRule)) sql.append("IsSOTrx='Y'"); else sql.append("IsSOTrx='N'"); sql.append(" AND IsPaid='N' AND DocStatus IN ('CO','CL')") - .append(" AND AD_Client_ID=?") // ##6 + .append(" AND AD_Client_ID=?") // ##p8 // Existing Payments - Will reselect Invoice if prepared but not paid .append(" AND NOT EXISTS (SELECT * FROM C_PaySelectionLine psl") .append(" INNER JOIN C_PaySelectionCheck psc ON (psl.C_PaySelectionCheck_ID=psc.C_PaySelectionCheck_ID)") @@ -140,7 +141,7 @@ public class PaySelectionCreateFrom extends SvrProcess .append(" WHERE i.C_Invoice_ID=psl.C_Invoice_ID AND psl.IsActive='Y'") .append(" AND (pmt.DocStatus IS NULL OR pmt.DocStatus NOT IN ('VO','RE')) )") // Don't generate again invoices already on this payment selection - .append(" AND i.C_Invoice_ID NOT IN (SELECT i.C_Invoice_ID FROM C_PaySelectionLine psl WHERE psl.C_PaySelection_ID=?)"); // ##7 + .append(" AND i.C_Invoice_ID NOT IN (SELECT i.C_Invoice_ID FROM C_PaySelectionLine psl WHERE psl.C_PaySelection_ID=?)"); // ##p9 // Disputed if (!p_IncludeInDispute) sql.append(" AND i.IsInDispute='N'"); @@ -207,6 +208,8 @@ public class PaySelectionCreateFrom extends SvrProcess pstmt.setTimestamp(index++, psel.getPayDate()); pstmt.setInt (index++, C_CurrencyTo_ID); pstmt.setTimestamp(index++, psel.getPayDate()); + pstmt.setInt (index++, C_CurrencyTo_ID); + pstmt.setTimestamp(index++, psel.getPayDate()); // pstmt.setInt(index++, psel.getAD_Client_ID()); pstmt.setInt(index++, p_C_PaySelection_ID); diff --git a/org.adempiere.ui/src/org/compiere/apps/form/PaySelect.java b/org.adempiere.ui/src/org/compiere/apps/form/PaySelect.java index aa5f175d89..df169a3b44 100644 --- a/org.adempiere.ui/src/org/compiere/apps/form/PaySelect.java +++ b/org.adempiere.ui/src/org/compiere/apps/form/PaySelect.java @@ -228,8 +228,8 @@ public class PaySelect new ColumnInfo(Msg.translate(ctx, "C_Currency_ID"), "c.ISO_Code", KeyNamePair.class, true, false, "i.C_Currency_ID"), // 5..10 new ColumnInfo(Msg.translate(ctx, "GrandTotal"), "i.GrandTotal", BigDecimal.class), - new ColumnInfo(Msg.translate(ctx, "DiscountAmt"), "invoiceDiscount(i.C_Invoice_ID,?,i.C_InvoicePaySchedule_ID)", BigDecimal.class), - new ColumnInfo(Msg.translate(ctx, "WriteOffAmt"), "invoiceWriteOff(i.C_Invoice_ID)", BigDecimal.class), + new ColumnInfo(Msg.translate(ctx, "DiscountAmt"), "currencyConvert(invoiceDiscount(i.C_Invoice_ID,?,i.C_InvoicePaySchedule_ID),i.C_Currency_ID, ?,?,i.C_ConversionType_ID, i.AD_Client_ID,i.AD_Org_ID)", BigDecimal.class), + new ColumnInfo(Msg.translate(ctx, "WriteOffAmt"), "currencyConvert(invoiceWriteOff(i.C_Invoice_ID),i.C_Currency_ID, ?,?,i.C_ConversionType_ID, i.AD_Client_ID,i.AD_Org_ID)", BigDecimal.class), new ColumnInfo(Msg.getMsg(ctx, "DiscountDate"), "COALESCE((SELECT discountdate from C_InvoicePaySchedule ips WHERE ips.C_InvoicePaySchedule_ID=i.C_InvoicePaySchedule_ID),i.DateInvoiced+p.DiscountDays+p.GraceDays) AS DiscountDate", Timestamp.class), new ColumnInfo(Msg.getMsg(ctx, "AmountDue"), "currencyConvert(invoiceOpen(i.C_Invoice_ID,i.C_InvoicePaySchedule_ID),i.C_Currency_ID, ?,?,i.C_ConversionType_ID, i.AD_Client_ID,i.AD_Org_ID) AS AmountDue", BigDecimal.class), new ColumnInfo(Msg.getMsg(ctx, "AmountPay"), "currencyConvert(invoiceOpen(i.C_Invoice_ID,i.C_InvoicePaySchedule_ID)-invoiceDiscount(i.C_Invoice_ID,?,i.C_InvoicePaySchedule_ID)-invoiceWriteOff(i.C_Invoice_ID),i.C_Currency_ID, ?,?,i.C_ConversionType_ID, i.AD_Client_ID,i.AD_Org_ID) AS AmountPay", BigDecimal.class) @@ -340,6 +340,10 @@ public class PaySelect int index = 1; pstmt = DB.prepareStatement(sql, null); pstmt.setTimestamp(index++, payDate); // DiscountAmt + pstmt.setInt(index++, bi.C_Currency_ID); + pstmt.setTimestamp(index++, payDate); + pstmt.setInt(index++, bi.C_Currency_ID); // WriteOffAmt + pstmt.setTimestamp(index++, payDate); pstmt.setInt(index++, bi.C_Currency_ID); // DueAmt pstmt.setTimestamp(index++, payDate); pstmt.setTimestamp(index++, payDate); // PayAmt From 0525d03dd08fd53365f5a6ab750104a436d51d56 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Fri, 13 Jan 2017 19:32:41 +0100 Subject: [PATCH 08/26] IDEMPIERE-3279 Implement configurable Write-Off in Payment Selection / multicurrency --- .../src/org/compiere/model/CalloutPaySelection.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/org.adempiere.base.callout/src/org/compiere/model/CalloutPaySelection.java b/org.adempiere.base.callout/src/org/compiere/model/CalloutPaySelection.java index 2488f21f42..ce184c1aaf 100644 --- a/org.adempiere.base.callout/src/org/compiere/model/CalloutPaySelection.java +++ b/org.adempiere.base.callout/src/org/compiere/model/CalloutPaySelection.java @@ -104,9 +104,14 @@ public class CalloutPaySelection extends CalloutEngine BigDecimal OpenAmt = Env.ZERO; BigDecimal DiscountAmt = Env.ZERO; Boolean IsSOTrx = Boolean.FALSE; - String sql = "SELECT currencyConvert(invoiceOpen(i.C_Invoice_ID, 0), i.C_Currency_ID," - + "ba.C_Currency_ID, i.DateInvoiced, i.C_ConversionType_ID, i.AD_Client_ID, i.AD_Org_ID)," - + " paymentTermDiscount(i.GrandTotal,i.C_Currency_ID,i.C_PaymentTerm_ID,i.DateInvoiced, ?), i.IsSOTrx " + String sql = "SELECT" + + " currencyConvert(" + + "invoiceOpen(i.C_Invoice_ID, 0)" + + ", i.C_Currency_ID,ba.C_Currency_ID, i.DateInvoiced, i.C_ConversionType_ID, i.AD_Client_ID, i.AD_Org_ID)," + + " currencyConvert(" + + "paymentTermDiscount(i.GrandTotal,i.C_Currency_ID,i.C_PaymentTerm_ID,i.DateInvoiced, ?)" + + ", i.C_Currency_ID, ba.C_Currency_ID, i.DateInvoiced, i.C_ConversionType_ID, i.AD_Client_ID, i.AD_Org_ID)" + + ", i.IsSOTrx " + "FROM C_Invoice_v i, C_BankAccount ba " + "WHERE i.C_Invoice_ID=? AND ba.C_BankAccount_ID=?"; // #1..2 ResultSet rs = null; From 76424a05fb83bc87654e8bfb7c11d3e8339be29a Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Mon, 16 Jan 2017 23:47:58 +0100 Subject: [PATCH 09/26] IDEMPIERE-3284 Get the proper currency format for a multi-currency, multi-language report --- .../src/org/compiere/util/DisplayType.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/org.adempiere.base/src/org/compiere/util/DisplayType.java b/org.adempiere.base/src/org/compiere/util/DisplayType.java index eb6b2609eb..9137c8c8e1 100644 --- a/org.adempiere.base/src/org/compiere/util/DisplayType.java +++ b/org.adempiere.base/src/org/compiere/util/DisplayType.java @@ -58,12 +58,14 @@ import java.text.DateFormat; import java.text.DecimalFormat; import java.text.NumberFormat; import java.text.SimpleDateFormat; +import java.util.Currency; import java.util.List; import java.util.Locale; import java.util.logging.Level; import org.adempiere.base.IDisplayTypeFactory; import org.adempiere.base.Service; +import org.compiere.model.MCurrency; /** * System Display Types. @@ -736,4 +738,20 @@ public final class DisplayType return "UNKNOWN DisplayType=" + displayType; } // getDescription + /** + * Helper method to get a currency format in a language (multi-currency and multi-language system) + * @param language locale code + * @param currency code + * @return number format + */ + public static NumberFormat getCurrencyFormat(String langcode, String currencyCode) + { + Locale locale = Language.getLocale(langcode); + NumberFormat currencyFormatter = NumberFormat.getCurrencyInstance(locale); + Currency currency = Currency.getInstance(currencyCode); + currencyFormatter.setCurrency(currency); + return currencyFormatter; + } // getCurrencyFormat + + } // DisplayType From ad7b5180b57f550c535e59f0f76c9b149ca2acc9 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Tue, 17 Jan 2017 00:18:38 +0100 Subject: [PATCH 10/26] IDEMPIERE-3285 Empty string Attribute Sets filled with numbers --- .../compiere/model/MAttributeSetInstance.java | 7 ++++-- .../src/org/compiere/model/PO.java | 24 ++++++++++++------- 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/org.adempiere.base/src/org/compiere/model/MAttributeSetInstance.java b/org.adempiere.base/src/org/compiere/model/MAttributeSetInstance.java index d52ff1446c..a5c5a756bf 100644 --- a/org.adempiere.base/src/org/compiere/model/MAttributeSetInstance.java +++ b/org.adempiere.base/src/org/compiere/model/MAttributeSetInstance.java @@ -227,11 +227,14 @@ public class MAttributeSetInstance extends X_M_AttributeSetInstance for (int i = 0; i < attributes.length; i++) { MAttributeInstance mai = attributes[i].getMAttributeInstance(getM_AttributeSetInstance_ID()); - if (mai != null && mai.getValue() != null) + if (mai != null) { if (sb.length() > 0) sb.append("_"); - sb.append(mai.getValue()); + if (mai.getValue() != null) + sb.append(mai.getValue()); + else + sb.append(""); } } setDescription (sb.toString()); diff --git a/org.adempiere.base/src/org/compiere/model/PO.java b/org.adempiere.base/src/org/compiere/model/PO.java index e919905e2a..8d9543df63 100644 --- a/org.adempiere.base/src/org/compiere/model/PO.java +++ b/org.adempiere.base/src/org/compiere/model/PO.java @@ -2762,16 +2762,22 @@ public abstract class PO set_ValueNoCheck(columnName, value); } } - // Set empty Value - columnName = "Value"; - index = p_info.getColumnIndex(columnName); - if (index != -1) - { - String value = (String)get_Value(index); - if (value == null || value.length() == 0) + // ticket 1007459 - exclude M_AttributeInstance from filling Value column + if (! MAttributeInstance.Table_Name.equals(get_TableName())) { + // Set empty Value + columnName = "Value"; + index = p_info.getColumnIndex(columnName); + if (index != -1) { - value = DB.getDocumentNo (getAD_Client_ID(), p_info.getTableName(), m_trxName, this); - set_ValueNoCheck(columnName, value); + if (!p_info.isVirtualColumn(index)) + { + String value = (String)get_Value(index); + if (value == null || value.length() == 0) + { + value = DB.getDocumentNo (getAD_Client_ID(), p_info.getTableName(), m_trxName, this); + set_ValueNoCheck(columnName, value); + } + } } } From 16f4f75364fd2f9825572b33489f4c061317ab9b Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Tue, 17 Jan 2017 17:15:58 +0100 Subject: [PATCH 11/26] IDEMPIERE-3283 Please fix WFPanel.Start(); will act on stale Node data / integrate suggested patch from Andy Conn --- .../src/org/adempiere/webui/apps/wf/WFPanel.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/wf/WFPanel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/wf/WFPanel.java index a2f4f74afb..26b3e6ed83 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/wf/WFPanel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/apps/wf/WFPanel.java @@ -280,17 +280,18 @@ public class WFPanel extends Borderlayout implements EventListener, IHelp } private void start(MWFNode wfn) { - if (wfn.getAD_Window_ID() > 0) { + String action = wfn.getAction(); + if (MWFNode.ACTION_UserWindow.equals(action) && wfn.getAD_Window_ID() > 0) { SessionManager.getAppDesktop().openWindow(wfn.getAD_Window_ID(), null); - } else if (wfn.getAD_Form_ID() > 0) { + } else if (MWFNode.ACTION_UserForm.equals(action) && wfn.getAD_Form_ID() > 0) { SessionManager.getAppDesktop().openForm(wfn.getAD_Form_ID()); - } else if (wfn.getAD_Process_ID() > 0) { + } else if (MWFNode.ACTION_AppsProcess.equals(action) && wfn.getAD_Process_ID() > 0) { SessionManager.getAppDesktop().openProcessDialog(wfn.getAD_Process_ID(), false); - } else if (wfn.getAD_Task_ID() > 0) { + } else if (MWFNode.ACTION_AppsTask.equals(action) && wfn.getAD_Task_ID() > 0) { SessionManager.getAppDesktop().openTask(wfn.getAD_Task_ID()); - } else if (wfn.getWorkflow_ID() > 0) { + } else if (MWFNode.ACTION_SubWorkflow.equals(action) && wfn.getWorkflow_ID() > 0) { SessionManager.getAppDesktop().openWorkflow(wfn.getWorkflow_ID()); - } + } } } // WFPanel From 2d14bf3ba24ce8b1972473b30717ff5499effee3 Mon Sep 17 00:00:00 2001 From: Murilo Habermann Torquato Date: Sat, 14 Jan 2017 10:36:21 -0200 Subject: [PATCH 12/26] IDEMPIERE-3282 - recent itens with incorrect label --- .../src/org/compiere/model/MRecentItem.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/org.adempiere.base/src/org/compiere/model/MRecentItem.java b/org.adempiere.base/src/org/compiere/model/MRecentItem.java index 34433af0e8..13b1a9cc20 100644 --- a/org.adempiere.base/src/org/compiere/model/MRecentItem.java +++ b/org.adempiere.base/src/org/compiere/model/MRecentItem.java @@ -42,7 +42,7 @@ import org.osgi.service.event.Event; public class MRecentItem extends X_AD_RecentItem { /** - * + * */ private static final long serialVersionUID = 6899554875745832L; @@ -258,7 +258,7 @@ public class MRecentItem extends X_AD_RecentItem } } } - + @Override public boolean delete(boolean force) { Integer ii = new Integer (getAD_RecentItem_ID()); @@ -301,13 +301,13 @@ public class MRecentItem extends X_AD_RecentItem if (! Util.isEmpty(titleLogic)) recordIdentifier.append(" ").append(titleLogic); } - + if (recordIdentifier.length() == 0) { - if (po.get_ColumnIndex("DocumentNo") > 0) + if (po.get_ColumnIndex("DocumentNo") != -1) recordIdentifier.append(" ").append(po.get_ValueAsString("DocumentNo")); - if (po.get_ColumnIndex("Value") > 0) + if (po.get_ColumnIndex("Value") != -1) recordIdentifier.append(" ").append(po.get_ValueAsString("Value")); - if (po.get_ColumnIndex("Name") > 0) + if (po.get_ColumnIndex("Name") != -1) recordIdentifier.append(" ").append(po.get_ValueAsString("Name")); if (recordIdentifier.length() == 0) recordIdentifier.append(" ").append(po.toString()); From 2c6a5abf555a60eaa1ef31a09377bb19fa3fbc58 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Tue, 17 Jan 2017 17:36:31 +0100 Subject: [PATCH 13/26] IDEMPIERE-3280 Callout invalid in the Asset balance form --- .../i4.1/oracle/201701171735_IDEMPIERE-3280.sql | 15 +++++++++++++++ .../postgresql/201701171735_IDEMPIERE-3280.sql | 12 ++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 migration/i4.1/oracle/201701171735_IDEMPIERE-3280.sql create mode 100644 migration/i4.1/postgresql/201701171735_IDEMPIERE-3280.sql diff --git a/migration/i4.1/oracle/201701171735_IDEMPIERE-3280.sql b/migration/i4.1/oracle/201701171735_IDEMPIERE-3280.sql new file mode 100644 index 0000000000..0425057335 --- /dev/null +++ b/migration/i4.1/oracle/201701171735_IDEMPIERE-3280.sql @@ -0,0 +1,15 @@ +SET SQLBLANKLINES ON +SET DEFINE OFF + +-- IDEMPIERE-3280 Callout invalid in the Asset balance form +-- Jan 17, 2017 5:32:17 PM CET +UPDATE AD_Column SET Callout='org.idempiere.fa.model.CalloutA_Depreciation_Workfile.A_Valoare_Cofinantare',Updated=TO_DATE('2017-01-17 17:32:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=55399 +; + +-- Jan 17, 2017 5:32:39 PM CET +UPDATE AD_Column SET Callout='org.idempiere.fa.model.CalloutA_Depreciation_Workfile.A_Valoare_Cofinantare', IsToolbarButton='N',Updated=TO_DATE('2017-01-17 17:32:39','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=59292 +; + +SELECT register_migration_script('201701171735_IDEMPIERE-3280.sql') FROM dual +; + diff --git a/migration/i4.1/postgresql/201701171735_IDEMPIERE-3280.sql b/migration/i4.1/postgresql/201701171735_IDEMPIERE-3280.sql new file mode 100644 index 0000000000..280734c0cd --- /dev/null +++ b/migration/i4.1/postgresql/201701171735_IDEMPIERE-3280.sql @@ -0,0 +1,12 @@ +-- IDEMPIERE-3280 Callout invalid in the Asset balance form +-- Jan 17, 2017 5:32:17 PM CET +UPDATE AD_Column SET Callout='org.idempiere.fa.model.CalloutA_Depreciation_Workfile.A_Valoare_Cofinantare',Updated=TO_TIMESTAMP('2017-01-17 17:32:17','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=55399 +; + +-- Jan 17, 2017 5:32:39 PM CET +UPDATE AD_Column SET Callout='org.idempiere.fa.model.CalloutA_Depreciation_Workfile.A_Valoare_Cofinantare', IsToolbarButton='N',Updated=TO_TIMESTAMP('2017-01-17 17:32:39','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=59292 +; + +SELECT register_migration_script('201701171735_IDEMPIERE-3280.sql') FROM dual +; + From f83ee64a52ef7f855a3385919dcc2205133fa0a0 Mon Sep 17 00:00:00 2001 From: markus_bozem Date: Wed, 18 Jan 2017 15:56:13 +0100 Subject: [PATCH 14/26] IDEMPIERE-3039 Add IBAN and Swift fields to Business Partner/Bank Account --- .../oracle/201701140900_IDEMPIERE-3039.sql | 712 ++++++++++++++++++ .../201701140900_IDEMPIERE-3039.sql | 710 +++++++++++++++++ .../org/compiere/process/ImportPayment.java | 2 + .../compiere/model/I_C_BP_BankAccount.java | 13 + .../org/compiere/model/I_C_POSPayment.java | 26 + .../src/org/compiere/model/I_C_Payment.java | 26 + .../model/I_C_PaymentTransaction.java | 26 + .../src/org/compiere/model/I_I_Payment.java | 26 + .../org/compiere/model/MBPBankAccount.java | 12 + .../src/org/compiere/model/MOrder.java | 2 + .../src/org/compiere/model/MPayment.java | 14 +- .../compiere/model/MPaymentTransaction.java | 4 + .../compiere/model/X_C_BP_BankAccount.java | 19 +- .../org/compiere/model/X_C_POSPayment.java | 36 +- .../src/org/compiere/model/X_C_Payment.java | 36 +- .../model/X_C_PaymentTransaction.java | 36 +- .../src/org/compiere/model/X_I_Payment.java | 36 +- 17 files changed, 1730 insertions(+), 6 deletions(-) create mode 100644 migration/i4.1/oracle/201701140900_IDEMPIERE-3039.sql create mode 100644 migration/i4.1/postgresql/201701140900_IDEMPIERE-3039.sql diff --git a/migration/i4.1/oracle/201701140900_IDEMPIERE-3039.sql b/migration/i4.1/oracle/201701140900_IDEMPIERE-3039.sql new file mode 100644 index 0000000000..5c2efa1e7c --- /dev/null +++ b/migration/i4.1/oracle/201701140900_IDEMPIERE-3039.sql @@ -0,0 +1,712 @@ +SET SQLBLANKLINES ON +SET DEFINE OFF + +-- Add IBAN and Swift fields IDEMPIERE-3039 +-- Jan 13, 2017 2:06:47 PM CET +INSERT INTO AD_Column (AD_Column_ID,Version,Name,Description,Help,AD_Table_ID,ColumnName,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,SeqNoSelection,IsToolbarButton,IsSecure) VALUES (212948,1.00,'IBAN','International Bank Account Number','If your bank provides an International Bank Account Number, enter it here +Details ISO 13616 and http://www.ecbs.org. The account number has the maximum length of 22 characters (without spaces). The IBAN is often printed with a apace after 4 characters. Do not enter the spaces in iDempiere.',298,'IBAN',40,'N','N','N','N','N',0,'N',10,0,0,'Y',TO_DATE('2017-01-13 14:06:46','YYYY-MM-DD HH24:MI:SS'),0,TO_DATE('2017-01-13 14:06:46','YYYY-MM-DD HH24:MI:SS'),0,2664,'Y','N','U','N','N','N','Y','7cb04b00-a71e-4351-b1a7-f5fdbd5d356d','Y',0,'N','N') +; + +-- Jan 13, 2017 2:08:05 PM CET +ALTER TABLE C_BP_BankAccount ADD IBAN VARCHAR2(40) DEFAULT NULL +; + +-- Jan 13, 2017 2:12:06 PM CET +UPDATE AD_Column SET EntityType='D',Updated=TO_DATE('2017-01-13 14:12:06','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Column_ID=212948 +; + +-- Jan 13, 2017 2:13:51 PM CET +INSERT INTO AD_Column (AD_Column_ID,Version,Name,Description,Help,AD_Table_ID,ColumnName,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,SeqNoSelection,IsToolbarButton,IsSecure) VALUES (212949,1.00,'IBAN','International Bank Account Number','If your bank provides an International Bank Account Number, enter it here +Details ISO 13616 and http://www.ecbs.org. The account number has the maximum length of 22 characters (without spaces). The IBAN is often printed with a apace after 4 characters. Do not enter the spaces in iDempiere.',335,'IBAN',40,'N','N','N','N','N',0,'N',10,0,0,'Y',TO_DATE('2017-01-13 14:13:50','YYYY-MM-DD HH24:MI:SS'),0,TO_DATE('2017-01-13 14:13:50','YYYY-MM-DD HH24:MI:SS'),0,2664,'Y','N','D','N','N','N','Y','edb2a57c-5bdd-4df5-934f-7287ad802259','Y',0,'N','N') +; + +-- Jan 13, 2017 2:13:58 PM CET +ALTER TABLE C_Payment ADD IBAN VARCHAR2(40) DEFAULT NULL +; + +-- Jan 13, 2017 2:15:07 PM CET +INSERT INTO AD_Column (AD_Column_ID,Version,Name,Description,Help,AD_Table_ID,ColumnName,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,SeqNoSelection,IsToolbarButton,IsSecure) VALUES (212950,1.00,'Swift code','Swift Code or BIC','The Swift Code (Society of Worldwide Interbank Financial Telecommunications) or BIC (Bank Identifier Code) is an identifier of a Bank. The first 4 characters are the bank code, followed by the 2 character country code, the two character location code and optional 3 character branch code. For details see http://www.swift.com/biconline/index.cfm',335,'SwiftCode',20,'N','N','N','N','N',0,'N',10,0,0,'Y',TO_DATE('2017-01-13 14:15:07','YYYY-MM-DD HH24:MI:SS'),0,TO_DATE('2017-01-13 14:15:07','YYYY-MM-DD HH24:MI:SS'),0,973,'Y','N','D','N','N','N','Y','40789472-e282-4fde-95e3-e8a711f9722f','Y',0,'N','N') +; + +-- Jan 13, 2017 2:16:20 PM CET +ALTER TABLE C_Payment ADD SwiftCode VARCHAR2(20) DEFAULT NULL +; + +-- Jan 13, 2017 2:22:32 PM CET +INSERT INTO AD_Column (AD_Column_ID,Version,Name,Description,Help,AD_Table_ID,ColumnName,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,SeqNoSelection,IsToolbarButton,IsSecure,FKConstraintType) VALUES (212951,1.00,'IBAN','International Bank Account Number','If your bank provides an International Bank Account Number, enter it here +Details ISO 13616 and http://www.ecbs.org. The account number has the maximum length of 22 characters (without spaces). The IBAN is often printed with a apace after 4 characters. Do not enter the spaces in iDempiere.',597,'IBAN',40,'N','N','N','N','N',0,'N',10,0,0,'Y',TO_DATE('2017-01-13 14:22:32','YYYY-MM-DD HH24:MI:SS'),0,TO_DATE('2017-01-13 14:22:32','YYYY-MM-DD HH24:MI:SS'),0,2664,'Y','N','D','N','N','N','Y','abb943ec-d6e5-4577-aba5-4a2cff70dace','Y',0,'N','N','N') +; + +-- Jan 13, 2017 2:22:48 PM CET +ALTER TABLE I_Payment ADD IBAN VARCHAR2(40) DEFAULT NULL +; + +-- Jan 13, 2017 2:23:22 PM CET +INSERT INTO AD_Column (AD_Column_ID,Version,Name,Description,Help,AD_Table_ID,ColumnName,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,SeqNoSelection,IsToolbarButton,IsSecure,FKConstraintType) VALUES (212952,1.00,'Swift code','Swift Code or BIC','The Swift Code (Society of Worldwide Interbank Financial Telecommunications) or BIC (Bank Identifier Code) is an identifier of a Bank. The first 4 characters are the bank code, followed by the 2 character country code, the two character location code and optional 3 character branch code. For details see http://www.swift.com/biconline/index.cfm',597,'SwiftCode',20,'N','N','N','N','N',0,'N',10,0,0,'Y',TO_DATE('2017-01-13 14:23:22','YYYY-MM-DD HH24:MI:SS'),0,TO_DATE('2017-01-13 14:23:22','YYYY-MM-DD HH24:MI:SS'),0,973,'Y','N','D','N','N','N','Y','2da76ed7-75e5-4270-821b-087b0992fbb4','Y',0,'N','N','N') +; + +-- Jan 13, 2017 2:23:25 PM CET +ALTER TABLE I_Payment ADD SwiftCode VARCHAR2(20) DEFAULT NULL +; + +-- Jan 13, 2017 2:40:38 PM CET +INSERT INTO AD_Column (AD_Column_ID,Version,Name,Description,Help,AD_Table_ID,ColumnName,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,SeqNoSelection,IsToolbarButton,IsSecure,FKConstraintType) VALUES (212954,1.00,'IBAN','International Bank Account Number','If your bank provides an International Bank Account Number, enter it here +Details ISO 13616 and http://www.ecbs.org. The account number has the maximum length of 22 characters (without spaces). The IBAN is often printed with a apace after 4 characters. Do not enter the spaces in iDempiere.',200016,'IBAN',40,'N','N','N','N','N',0,'N',10,0,0,'Y',TO_DATE('2017-01-13 14:40:38','YYYY-MM-DD HH24:MI:SS'),0,TO_DATE('2017-01-13 14:40:38','YYYY-MM-DD HH24:MI:SS'),0,2664,'Y','N','D','N','N','N','Y','7c124114-14ab-4cf6-ba1f-b2eec0690e98','Y',0,'N','N','N') +; + +-- Jan 13, 2017 2:41:18 PM CET +ALTER TABLE C_POSPayment ADD IBAN VARCHAR2(40) DEFAULT NULL +; + +-- Jan 13, 2017 2:41:46 PM CET +INSERT INTO AD_Column (AD_Column_ID,Version,Name,Description,Help,AD_Table_ID,ColumnName,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,SeqNoSelection,IsToolbarButton,IsSecure,FKConstraintType) VALUES (212956,1.00,'Swift code','Swift Code or BIC','The Swift Code (Society of Worldwide Interbank Financial Telecommunications) or BIC (Bank Identifier Code) is an identifier of a Bank. The first 4 characters are the bank code, followed by the 2 character country code, the two character location code and optional 3 character branch code. For details see http://www.swift.com/biconline/index.cfm',200016,'SwiftCode',20,'N','N','N','N','N',0,'N',10,0,0,'Y',TO_DATE('2017-01-13 14:41:46','YYYY-MM-DD HH24:MI:SS'),0,TO_DATE('2017-01-13 14:41:46','YYYY-MM-DD HH24:MI:SS'),0,973,'Y','N','D','N','N','N','Y','3ca606c1-2558-4782-9b57-0bddbe45e6f6','Y',0,'N','N','N') +; + +-- Jan 13, 2017 2:41:49 PM CET +ALTER TABLE C_POSPayment ADD SwiftCode VARCHAR2(20) DEFAULT NULL +; + +-- Jan 13, 2017 2:43:27 PM CET +INSERT INTO AD_Column (AD_Column_ID,Version,Name,Description,Help,AD_Table_ID,ColumnName,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,SeqNoSelection,IsToolbarButton,IsSecure,FKConstraintType) VALUES (212957,1.00,'IBAN','International Bank Account Number','If your bank provides an International Bank Account Number, enter it here +Details ISO 13616 and http://www.ecbs.org. The account number has the maximum length of 22 characters (without spaces). The IBAN is often printed with a apace after 4 characters. Do not enter the spaces in iDempiere.',200031,'IBAN',40,'N','N','N','N','N',0,'N',10,0,0,'Y',TO_DATE('2017-01-13 14:43:27','YYYY-MM-DD HH24:MI:SS'),0,TO_DATE('2017-01-13 14:43:27','YYYY-MM-DD HH24:MI:SS'),0,2664,'Y','N','D','N','N','N','Y','6816c2b3-8150-4dd5-b638-f507b7b0f1b2','Y',0,'N','N','N') +; + +-- Jan 13, 2017 2:43:47 PM CET +ALTER TABLE C_PaymentTransaction ADD IBAN VARCHAR2(40) DEFAULT NULL +; + +-- Jan 13, 2017 2:44:11 PM CET +INSERT INTO AD_Column (AD_Column_ID,Version,Name,Description,Help,AD_Table_ID,ColumnName,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,SeqNoSelection,IsToolbarButton,IsSecure,FKConstraintType) VALUES (212958,1.00,'Swift code','Swift Code or BIC','The Swift Code (Society of Worldwide Interbank Financial Telecommunications) or BIC (Bank Identifier Code) is an identifier of a Bank. The first 4 characters are the bank code, followed by the 2 character country code, the two character location code and optional 3 character branch code. For details see http://www.swift.com/biconline/index.cfm',200031,'SwiftCode',20,'N','N','N','N','N',0,'N',10,0,0,'Y',TO_DATE('2017-01-13 14:44:10','YYYY-MM-DD HH24:MI:SS'),0,TO_DATE('2017-01-13 14:44:10','YYYY-MM-DD HH24:MI:SS'),0,973,'Y','N','D','N','N','N','Y','85018a04-5e76-405a-8f4f-b6e143d486c7','Y',0,'N','N','N') +; + +-- Jan 13, 2017 2:44:14 PM CET +ALTER TABLE C_PaymentTransaction ADD SwiftCode VARCHAR2(20) DEFAULT NULL +; + +-- Jan 13, 2017 3:21:55 PM CET +INSERT INTO AD_Field (AD_Field_ID,Name,Description,Help,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLogic,DisplayLength,SeqNo,SortNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,XPosition,ColumnSpan,NumLines,IsQuickEntry,IsDefaultFocus,IsAdvancedField) VALUES (204356,'IBAN','International Bank Account Number','If your bank provides an International Bank Account Number, enter it here +Details ISO 13616 and http://www.ecbs.org. The account number has the maximum length of 22 characters (without spaces). The IBAN is often printed with a apace after 4 characters. Do not enter the spaces in iDempiere.',226,212948,'Y','@IsACH@=Y',0,115,0,'N','N','N','N',0,0,'Y',TO_DATE('2017-01-13 15:21:54','YYYY-MM-DD HH24:MI:SS'),0,TO_DATE('2017-01-13 15:21:54','YYYY-MM-DD HH24:MI:SS'),0,'N','Y','D','c4f9125c-1c92-4ead-94d3-5547de7b4b31','Y',115,1,2,1,'N','N','N') +; + +-- Jan 13, 2017 3:45:20 PM CET +INSERT INTO AD_Field (AD_Field_ID,Name,Description,Help,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLogic,DisplayLength,SeqNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,XPosition,ColumnSpan,NumLines,IsQuickEntry,IsDefaultFocus,IsAdvancedField) VALUES (204357,'Swift code','Swift Code or BIC','The Swift Code (Society of Worldwide Interbank Financial Telecommunications) or BIC (Bank Identifier Code) is an identifier of a Bank. The first 4 characters are the bank code, followed by the 2 character country code, the two character location code and optional 3 character branch code. For details see http://www.swift.com/biconline/index.cfm',330,212950,'Y','@TenderType@=A | @TenderType@=K',20,740,'Y','N','N','N',0,0,'Y',TO_DATE('2017-01-13 15:45:20','YYYY-MM-DD HH24:MI:SS'),0,TO_DATE('2017-01-13 15:45:20','YYYY-MM-DD HH24:MI:SS'),0,'N','Y','D','7422036f-b2c3-4c66-ace0-a171d4dfe7ed','Y',740,1,2,1,'N','N','N') +; + +-- Jan 13, 2017 3:47:30 PM CET +INSERT INTO AD_Field (AD_Field_ID,Name,Description,Help,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLogic,DisplayLength,SeqNo,SortNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,XPosition,ColumnSpan,NumLines,IsQuickEntry,IsDefaultFocus,IsAdvancedField) VALUES (204358,'IBAN','International Bank Account Number','If your bank provides an International Bank Account Number, enter it here +Details ISO 13616 and http://www.ecbs.org. The account number has the maximum length of 22 characters (without spaces). The IBAN is often printed with a apace after 4 characters. Do not enter the spaces in iDempiere.',330,212949,'Y','@TenderType@=A | @TenderType@=K',0,750,0,'N','N','N','N',0,0,'Y',TO_DATE('2017-01-13 15:47:29','YYYY-MM-DD HH24:MI:SS'),0,TO_DATE('2017-01-13 15:47:29','YYYY-MM-DD HH24:MI:SS'),0,'N','Y','D','34f2e819-d062-4972-a275-59ce317c5286','Y',750,4,2,1,'N','N','N') +; + +-- Jan 13, 2017 3:47:58 PM CET +UPDATE AD_Field SET DisplayLength=20, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:47:58','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=204358 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=330, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, XPosition=1, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=204358 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=340, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, XPosition=4, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=204357 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=350, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4032 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=360, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4041 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=370, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4036 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=380, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4057 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=390, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4035 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=400, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4037 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=410, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4033 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=420, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4034 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=430, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4023 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=440, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4025 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=450, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4019 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=460, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4026 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=470, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4024 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=480, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=6299 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=490, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4021 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=500, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4022 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=510, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4020 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=520, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4055 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=530, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4043 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=540, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4058 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=550, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4042 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=560, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4258 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=570, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4039 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=580, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4053 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=590, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4052 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=600, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200631 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=610, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200630 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=620, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4051 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=630, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4047 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=640, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4049 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=650, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4048 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=660, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200627 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=670, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200625 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=680, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200626 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=690, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200624 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=700, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4362 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=710, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4361 +; + +-- Jan 13, 2017 3:58:56 PM CET +UPDATE AD_Field SET SeqNo=720, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:56','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=6552 +; + +-- Jan 13, 2017 3:58:56 PM CET +UPDATE AD_Field SET SeqNo=730, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:56','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4044 +; + +-- Jan 13, 2017 3:58:56 PM CET +UPDATE AD_Field SET SeqNo=740, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:56','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4266 +; + +-- Jan 13, 2017 3:58:56 PM CET +UPDATE AD_Field SET SeqNo=750, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-13 15:58:56','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4040 +; + +-- Jan 14, 2017 2:35:36 PM CET +INSERT INTO AD_Field (AD_Field_ID,Name,Description,Help,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLogic,DisplayLength,SeqNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,XPosition,ColumnSpan,NumLines,IsQuickEntry,IsDefaultFocus,IsAdvancedField) VALUES (204360,'IBAN','International Bank Account Number','If your bank provides an International Bank Account Number, enter it here +Details ISO 13616 and http://www.ecbs.org. The account number has the maximum length of 22 characters (without spaces). The IBAN is often printed with a apace after 4 characters. Do not enter the spaces in iDempiere.',200015,212954,'Y','@TenderType@=A | @TenderType@=K',20,230,'N','N','N','N',0,0,'Y',TO_DATE('2017-01-14 14:35:36','YYYY-MM-DD HH24:MI:SS'),0,TO_DATE('2017-01-14 14:35:36','YYYY-MM-DD HH24:MI:SS'),0,'N','Y','D','b6cf27a9-969b-4c0d-9b5e-3e495de94fd8','Y',220,1,2,1,'N','N','N') +; + +-- Jan 14, 2017 2:39:53 PM CET +INSERT INTO AD_Field (AD_Field_ID,Name,Description,Help,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLogic,DisplayLength,SeqNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,XPosition,ColumnSpan,NumLines,IsQuickEntry,IsDefaultFocus,IsAdvancedField) VALUES (204361,'Swift code','Swift Code or BIC','The Swift Code (Society of Worldwide Interbank Financial Telecommunications) or BIC (Bank Identifier Code) is an identifier of a Bank. The first 4 characters are the bank code, followed by the 2 character country code, the two character location code and optional 3 character branch code. For details see http://www.swift.com/biconline/index.cfm',200015,212956,'Y','@TenderType@=A | @TenderType@=K',20,240,'Y','N','N','N',0,0,'Y',TO_DATE('2017-01-14 14:39:53','YYYY-MM-DD HH24:MI:SS'),0,TO_DATE('2017-01-14 14:39:53','YYYY-MM-DD HH24:MI:SS'),0,'N','Y','D','3741faae-900a-4164-a0bc-15acba38e26e','Y',230,1,2,1,'N','N','N') +; + +-- Jan 14, 2017 2:43:52 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=130, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, XPosition=1, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 14:43:52','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=204360 +; + +-- Jan 14, 2017 2:43:52 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=140, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, XPosition=4, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 14:43:52','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=204361 +; + +-- Jan 14, 2017 2:43:52 PM CET +UPDATE AD_Field SET SeqNo=150, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 14:43:52','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200442 +; + +-- Jan 14, 2017 2:43:52 PM CET +UPDATE AD_Field SET SeqNo=160, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 14:43:52','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200433 +; + +-- Jan 14, 2017 2:43:52 PM CET +UPDATE AD_Field SET SeqNo=170, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 14:43:52','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200428 +; + +-- Jan 14, 2017 2:43:52 PM CET +UPDATE AD_Field SET SeqNo=180, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 14:43:52','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200432 +; + +-- Jan 14, 2017 2:43:52 PM CET +UPDATE AD_Field SET SeqNo=190, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 14:43:52','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200436 +; + +-- Jan 14, 2017 2:43:52 PM CET +UPDATE AD_Field SET SeqNo=200, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 14:43:52','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200447 +; + +-- Jan 14, 2017 2:43:53 PM CET +UPDATE AD_Field SET SeqNo=210, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 14:43:53','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200434 +; + +-- Jan 14, 2017 2:43:53 PM CET +UPDATE AD_Field SET SeqNo=220, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 14:43:53','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200430 +; + +-- Jan 14, 2017 2:43:53 PM CET +UPDATE AD_Field SET SeqNo=230, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 14:43:53','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200444 +; + +-- Jan 14, 2017 2:43:53 PM CET +UPDATE AD_Field SET SeqNo=240, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 14:43:53','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200426 +; + +-- Jan 14, 2017 2:43:53 PM CET +UPDATE AD_Field SET SeqNo=0, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 14:43:53','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200441 +; + +-- Jan 14, 2017 2:53:09 PM CET +INSERT INTO AD_Field (AD_Field_ID,Name,Description,Help,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLength,SeqNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,XPosition,ColumnSpan,NumLines,IsQuickEntry,IsDefaultFocus,IsAdvancedField) VALUES (204362,'IBAN','International Bank Account Number','If your bank provides an International Bank Account Number, enter it here +Details ISO 13616 and http://www.ecbs.org. The account number has the maximum length of 22 characters (without spaces). The IBAN is often printed with a apace after 4 characters. Do not enter the spaces in iDempiere.',511,212951,'Y',20,530,'N','N','N','N',0,0,'Y',TO_DATE('2017-01-14 14:53:09','YYYY-MM-DD HH24:MI:SS'),0,TO_DATE('2017-01-14 14:53:09','YYYY-MM-DD HH24:MI:SS'),0,'N','Y','D','baafeb7c-6c94-457a-90fa-f432d1195186','Y',530,1,2,1,'N','N','N') +; + +-- Jan 14, 2017 2:55:10 PM CET +INSERT INTO AD_Field (AD_Field_ID,Name,Description,Help,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLength,SeqNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,XPosition,ColumnSpan,NumLines,IsQuickEntry,IsDefaultFocus,IsAdvancedField) VALUES (204363,'Swift code','Swift Code or BIC','The Swift Code (Society of Worldwide Interbank Financial Telecommunications) or BIC (Bank Identifier Code) is an identifier of a Bank. The first 4 characters are the bank code, followed by the 2 character country code, the two character location code and optional 3 character branch code. For details see http://www.swift.com/biconline/index.cfm',511,212952,'Y',20,540,'Y','N','N','N',0,0,'Y',TO_DATE('2017-01-14 14:55:10','YYYY-MM-DD HH24:MI:SS'),0,TO_DATE('2017-01-14 14:55:10','YYYY-MM-DD HH24:MI:SS'),0,'N','Y','D','211f8b82-eb5b-4019-b434-c03b98a6c759','Y',540,1,2,1,'N','N','N') +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=340, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, XPosition=1, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=204362 +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=350, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, XPosition=4, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=204363 +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET SeqNo=360, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7270 +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET SeqNo=370, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7305 +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET SeqNo=380, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7257 +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET SeqNo=390, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7254 +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET SeqNo=400, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7307 +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET SeqNo=410, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7265 +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET SeqNo=420, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7267 +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET SeqNo=430, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7297 +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET SeqNo=440, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7264 +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET SeqNo=450, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7255 +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET SeqNo=460, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7266 +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET SeqNo=470, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7300 +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET SeqNo=480, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7286 +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET SeqNo=490, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7276 +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET SeqNo=500, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7263 +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET SeqNo=510, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7281 +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET SeqNo=520, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7260 +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET SeqNo=530, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7275 +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET SeqNo=540, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=8727 +; + +-- Jan 14, 2017 3:01:42 PM CET +INSERT INTO AD_Field (AD_Field_ID,Name,Description,Help,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLogic,DisplayLength,SeqNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,XPosition,ColumnSpan,NumLines,IsQuickEntry,IsDefaultFocus,IsAdvancedField) VALUES (204364,'IBAN','International Bank Account Number','If your bank provides an International Bank Account Number, enter it here +Details ISO 13616 and http://www.ecbs.org. The account number has the maximum length of 22 characters (without spaces). The IBAN is often printed with a apace after 4 characters. Do not enter the spaces in iDempiere.',200027,212957,'Y','@TenderType@=A | @TenderType@=K',20,720,'N','N','N','N',0,0,'Y',TO_DATE('2017-01-14 15:01:42','YYYY-MM-DD HH24:MI:SS'),0,TO_DATE('2017-01-14 15:01:42','YYYY-MM-DD HH24:MI:SS'),0,'N','Y','D','097667ce-2296-4214-a20c-66d3e3d07d78','Y',710,1,2,1,'N','N','N') +; + +-- Jan 14, 2017 3:04:08 PM CET +INSERT INTO AD_Field (AD_Field_ID,Name,Description,Help,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLogic,DisplayLength,SeqNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,XPosition,ColumnSpan,NumLines,IsQuickEntry,IsDefaultFocus,IsAdvancedField) VALUES (204365,'Swift code','Swift Code or BIC','The Swift Code (Society of Worldwide Interbank Financial Telecommunications) or BIC (Bank Identifier Code) is an identifier of a Bank. The first 4 characters are the bank code, followed by the 2 character country code, the two character location code and optional 3 character branch code. For details see http://www.swift.com/biconline/index.cfm',200027,212958,'Y','@TenderType@=A | @TenderType@=K',20,730,'Y','N','N','N',0,0,'Y',TO_DATE('2017-01-14 15:04:08','YYYY-MM-DD HH24:MI:SS'),0,TO_DATE('2017-01-14 15:04:08','YYYY-MM-DD HH24:MI:SS'),0,'N','Y','D','30857a62-bb3e-49e7-821a-bc16c4144647','Y',720,1,2,1,'N','N','N') +; + +-- Jan 14, 2017 3:06:00 PM CET +UPDATE AD_Field SET SeqNo=50, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200706 +; + +-- Jan 14, 2017 3:06:00 PM CET +UPDATE AD_Field SET SeqNo=60, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200669 +; + +-- Jan 14, 2017 3:06:00 PM CET +UPDATE AD_Field SET SeqNo=70, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200716 +; + +-- Jan 14, 2017 3:06:00 PM CET +UPDATE AD_Field SET SeqNo=80, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200684 +; + +-- Jan 14, 2017 3:06:00 PM CET +UPDATE AD_Field SET SeqNo=90, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200690 +; + +-- Jan 14, 2017 3:06:00 PM CET +UPDATE AD_Field SET SeqNo=100, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200694 +; + +-- Jan 14, 2017 3:06:00 PM CET +UPDATE AD_Field SET SeqNo=110, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200705 +; + +-- Jan 14, 2017 3:06:00 PM CET +UPDATE AD_Field SET SeqNo=120, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200673 +; + +-- Jan 14, 2017 3:06:00 PM CET +UPDATE AD_Field SET SeqNo=130, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200664 +; + +-- Jan 14, 2017 3:06:00 PM CET +UPDATE AD_Field SET SeqNo=140, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200671 +; + +-- Jan 14, 2017 3:06:00 PM CET +UPDATE AD_Field SET SeqNo=150, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200718 +; + +-- Jan 14, 2017 3:06:00 PM CET +UPDATE AD_Field SET SeqNo=160, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200719 +; + +-- Jan 14, 2017 3:06:00 PM CET +UPDATE AD_Field SET SeqNo=170, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200720 +; + +-- Jan 14, 2017 3:06:00 PM CET +UPDATE AD_Field SET SeqNo=180, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200699 +; + +-- Jan 14, 2017 3:06:00 PM CET +UPDATE AD_Field SET SeqNo=190, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200677 +; + +-- Jan 14, 2017 3:06:00 PM CET +UPDATE AD_Field SET SeqNo=200, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200678 +; + +-- Jan 14, 2017 3:06:00 PM CET +UPDATE AD_Field SET SeqNo=210, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200715 +; + +-- Jan 14, 2017 3:06:00 PM CET +UPDATE AD_Field SET SeqNo=220, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200704 +; + +-- Jan 14, 2017 3:06:00 PM CET +UPDATE AD_Field SET SeqNo=230, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200693 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=240, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200697 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=250, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200711 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=260, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200659 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=270, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, XPosition=1, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=204364 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=280, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, XPosition=4, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=204365 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=290, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200674 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=300, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200691 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=310, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200676 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=320, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200717 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=330, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200692 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=340, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200721 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=350, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200687 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=360, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200688 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=370, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200658 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=380, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200661 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=390, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200655 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=400, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200662 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=410, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200660 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=420, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200656 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=430, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200686 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=440, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200713 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=450, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200657 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=460, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200714 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=470, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200703 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=480, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200722 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=490, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200696 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=500, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200723 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=510, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200666 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=520, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200683 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=530, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200710 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=540, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200709 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=550, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200689 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=560, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200725 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=570, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200724 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=580, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200707 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=590, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200667 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=600, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200726 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=610, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200665 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=620, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200682 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=630, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200701 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=640, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200680 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=650, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200681 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=660, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200679 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=670, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200698 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=680, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200672 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=690, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200700 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=700, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200708 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=710, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200712 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=720, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_DATE('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200727 +; + +SELECT register_migration_script('201701140900_IDEMPIERE-3039.sql') FROM dual +; diff --git a/migration/i4.1/postgresql/201701140900_IDEMPIERE-3039.sql b/migration/i4.1/postgresql/201701140900_IDEMPIERE-3039.sql new file mode 100644 index 0000000000..c1608e3524 --- /dev/null +++ b/migration/i4.1/postgresql/201701140900_IDEMPIERE-3039.sql @@ -0,0 +1,710 @@ +-- Add IBAN and Swift fields IDEMPIERE-3039 +-- Jan 13, 2017 2:06:47 PM CET +INSERT INTO AD_Column (AD_Column_ID,Version,Name,Description,Help,AD_Table_ID,ColumnName,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,SeqNoSelection,IsToolbarButton,IsSecure) VALUES (212948,1.00,'IBAN','International Bank Account Number','If your bank provides an International Bank Account Number, enter it here +Details ISO 13616 and http://www.ecbs.org. The account number has the maximum length of 22 characters (without spaces). The IBAN is often printed with a apace after 4 characters. Do not enter the spaces in iDempiere.',298,'IBAN',40,'N','N','N','N','N',0,'N',10,0,0,'Y',TO_TIMESTAMP('2017-01-13 14:06:46','YYYY-MM-DD HH24:MI:SS'),0,TO_TIMESTAMP('2017-01-13 14:06:46','YYYY-MM-DD HH24:MI:SS'),0,2664,'Y','N','U','N','N','N','Y','7cb04b00-a71e-4351-b1a7-f5fdbd5d356d','Y',0,'N','N') +; + +-- Jan 13, 2017 2:08:05 PM CET +ALTER TABLE C_BP_BankAccount ADD COLUMN IBAN VARCHAR(40) DEFAULT NULL +; + +-- Jan 13, 2017 2:12:06 PM CET +UPDATE AD_Column SET EntityType='D',Updated=TO_TIMESTAMP('2017-01-13 14:12:06','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Column_ID=212948 +; + +-- Jan 13, 2017 2:13:51 PM CET +INSERT INTO AD_Column (AD_Column_ID,Version,Name,Description,Help,AD_Table_ID,ColumnName,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,SeqNoSelection,IsToolbarButton,IsSecure) VALUES (212949,1.00,'IBAN','International Bank Account Number','If your bank provides an International Bank Account Number, enter it here +Details ISO 13616 and http://www.ecbs.org. The account number has the maximum length of 22 characters (without spaces). The IBAN is often printed with a apace after 4 characters. Do not enter the spaces in iDempiere.',335,'IBAN',40,'N','N','N','N','N',0,'N',10,0,0,'Y',TO_TIMESTAMP('2017-01-13 14:13:50','YYYY-MM-DD HH24:MI:SS'),0,TO_TIMESTAMP('2017-01-13 14:13:50','YYYY-MM-DD HH24:MI:SS'),0,2664,'Y','N','D','N','N','N','Y','edb2a57c-5bdd-4df5-934f-7287ad802259','Y',0,'N','N') +; + +-- Jan 13, 2017 2:13:58 PM CET +ALTER TABLE C_Payment ADD COLUMN IBAN VARCHAR(40) DEFAULT NULL +; + +-- Jan 13, 2017 2:15:07 PM CET +INSERT INTO AD_Column (AD_Column_ID,Version,Name,Description,Help,AD_Table_ID,ColumnName,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,SeqNoSelection,IsToolbarButton,IsSecure) VALUES (212950,1.00,'Swift code','Swift Code or BIC','The Swift Code (Society of Worldwide Interbank Financial Telecommunications) or BIC (Bank Identifier Code) is an identifier of a Bank. The first 4 characters are the bank code, followed by the 2 character country code, the two character location code and optional 3 character branch code. For details see http://www.swift.com/biconline/index.cfm',335,'SwiftCode',20,'N','N','N','N','N',0,'N',10,0,0,'Y',TO_TIMESTAMP('2017-01-13 14:15:07','YYYY-MM-DD HH24:MI:SS'),0,TO_TIMESTAMP('2017-01-13 14:15:07','YYYY-MM-DD HH24:MI:SS'),0,973,'Y','N','D','N','N','N','Y','40789472-e282-4fde-95e3-e8a711f9722f','Y',0,'N','N') +; + +-- Jan 13, 2017 2:16:20 PM CET +ALTER TABLE C_Payment ADD COLUMN SwiftCode VARCHAR(20) DEFAULT NULL +; + +-- Jan 13, 2017 2:22:32 PM CET +INSERT INTO AD_Column (AD_Column_ID,Version,Name,Description,Help,AD_Table_ID,ColumnName,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,SeqNoSelection,IsToolbarButton,IsSecure,FKConstraintType) VALUES (212951,1.00,'IBAN','International Bank Account Number','If your bank provides an International Bank Account Number, enter it here +Details ISO 13616 and http://www.ecbs.org. The account number has the maximum length of 22 characters (without spaces). The IBAN is often printed with a apace after 4 characters. Do not enter the spaces in iDempiere.',597,'IBAN',40,'N','N','N','N','N',0,'N',10,0,0,'Y',TO_TIMESTAMP('2017-01-13 14:22:32','YYYY-MM-DD HH24:MI:SS'),0,TO_TIMESTAMP('2017-01-13 14:22:32','YYYY-MM-DD HH24:MI:SS'),0,2664,'Y','N','D','N','N','N','Y','abb943ec-d6e5-4577-aba5-4a2cff70dace','Y',0,'N','N','N') +; + +-- Jan 13, 2017 2:22:48 PM CET +ALTER TABLE I_Payment ADD COLUMN IBAN VARCHAR(40) DEFAULT NULL +; + +-- Jan 13, 2017 2:23:22 PM CET +INSERT INTO AD_Column (AD_Column_ID,Version,Name,Description,Help,AD_Table_ID,ColumnName,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,SeqNoSelection,IsToolbarButton,IsSecure,FKConstraintType) VALUES (212952,1.00,'Swift code','Swift Code or BIC','The Swift Code (Society of Worldwide Interbank Financial Telecommunications) or BIC (Bank Identifier Code) is an identifier of a Bank. The first 4 characters are the bank code, followed by the 2 character country code, the two character location code and optional 3 character branch code. For details see http://www.swift.com/biconline/index.cfm',597,'SwiftCode',20,'N','N','N','N','N',0,'N',10,0,0,'Y',TO_TIMESTAMP('2017-01-13 14:23:22','YYYY-MM-DD HH24:MI:SS'),0,TO_TIMESTAMP('2017-01-13 14:23:22','YYYY-MM-DD HH24:MI:SS'),0,973,'Y','N','D','N','N','N','Y','2da76ed7-75e5-4270-821b-087b0992fbb4','Y',0,'N','N','N') +; + +-- Jan 13, 2017 2:23:25 PM CET +ALTER TABLE I_Payment ADD COLUMN SwiftCode VARCHAR(20) DEFAULT NULL +; + +-- Jan 13, 2017 2:40:38 PM CET +INSERT INTO AD_Column (AD_Column_ID,Version,Name,Description,Help,AD_Table_ID,ColumnName,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,SeqNoSelection,IsToolbarButton,IsSecure,FKConstraintType) VALUES (212954,1.00,'IBAN','International Bank Account Number','If your bank provides an International Bank Account Number, enter it here +Details ISO 13616 and http://www.ecbs.org. The account number has the maximum length of 22 characters (without spaces). The IBAN is often printed with a apace after 4 characters. Do not enter the spaces in iDempiere.',200016,'IBAN',40,'N','N','N','N','N',0,'N',10,0,0,'Y',TO_TIMESTAMP('2017-01-13 14:40:38','YYYY-MM-DD HH24:MI:SS'),0,TO_TIMESTAMP('2017-01-13 14:40:38','YYYY-MM-DD HH24:MI:SS'),0,2664,'Y','N','D','N','N','N','Y','7c124114-14ab-4cf6-ba1f-b2eec0690e98','Y',0,'N','N','N') +; + +-- Jan 13, 2017 2:41:18 PM CET +ALTER TABLE C_POSPayment ADD COLUMN IBAN VARCHAR(40) DEFAULT NULL +; + +-- Jan 13, 2017 2:41:46 PM CET +INSERT INTO AD_Column (AD_Column_ID,Version,Name,Description,Help,AD_Table_ID,ColumnName,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,SeqNoSelection,IsToolbarButton,IsSecure,FKConstraintType) VALUES (212956,1.00,'Swift code','Swift Code or BIC','The Swift Code (Society of Worldwide Interbank Financial Telecommunications) or BIC (Bank Identifier Code) is an identifier of a Bank. The first 4 characters are the bank code, followed by the 2 character country code, the two character location code and optional 3 character branch code. For details see http://www.swift.com/biconline/index.cfm',200016,'SwiftCode',20,'N','N','N','N','N',0,'N',10,0,0,'Y',TO_TIMESTAMP('2017-01-13 14:41:46','YYYY-MM-DD HH24:MI:SS'),0,TO_TIMESTAMP('2017-01-13 14:41:46','YYYY-MM-DD HH24:MI:SS'),0,973,'Y','N','D','N','N','N','Y','3ca606c1-2558-4782-9b57-0bddbe45e6f6','Y',0,'N','N','N') +; + +-- Jan 13, 2017 2:41:49 PM CET +ALTER TABLE C_POSPayment ADD COLUMN SwiftCode VARCHAR(20) DEFAULT NULL +; + +-- Jan 13, 2017 2:43:27 PM CET +INSERT INTO AD_Column (AD_Column_ID,Version,Name,Description,Help,AD_Table_ID,ColumnName,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,SeqNoSelection,IsToolbarButton,IsSecure,FKConstraintType) VALUES (212957,1.00,'IBAN','International Bank Account Number','If your bank provides an International Bank Account Number, enter it here +Details ISO 13616 and http://www.ecbs.org. The account number has the maximum length of 22 characters (without spaces). The IBAN is often printed with a apace after 4 characters. Do not enter the spaces in iDempiere.',200031,'IBAN',40,'N','N','N','N','N',0,'N',10,0,0,'Y',TO_TIMESTAMP('2017-01-13 14:43:27','YYYY-MM-DD HH24:MI:SS'),0,TO_TIMESTAMP('2017-01-13 14:43:27','YYYY-MM-DD HH24:MI:SS'),0,2664,'Y','N','D','N','N','N','Y','6816c2b3-8150-4dd5-b638-f507b7b0f1b2','Y',0,'N','N','N') +; + +-- Jan 13, 2017 2:43:47 PM CET +ALTER TABLE C_PaymentTransaction ADD COLUMN IBAN VARCHAR(40) DEFAULT NULL +; + +-- Jan 13, 2017 2:44:11 PM CET +INSERT INTO AD_Column (AD_Column_ID,Version,Name,Description,Help,AD_Table_ID,ColumnName,FieldLength,IsKey,IsParent,IsMandatory,IsTranslated,IsIdentifier,SeqNo,IsEncrypted,AD_Reference_ID,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,AD_Element_ID,IsUpdateable,IsSelectionColumn,EntityType,IsSyncDatabase,IsAlwaysUpdateable,IsAutocomplete,IsAllowLogging,AD_Column_UU,IsAllowCopy,SeqNoSelection,IsToolbarButton,IsSecure,FKConstraintType) VALUES (212958,1.00,'Swift code','Swift Code or BIC','The Swift Code (Society of Worldwide Interbank Financial Telecommunications) or BIC (Bank Identifier Code) is an identifier of a Bank. The first 4 characters are the bank code, followed by the 2 character country code, the two character location code and optional 3 character branch code. For details see http://www.swift.com/biconline/index.cfm',200031,'SwiftCode',20,'N','N','N','N','N',0,'N',10,0,0,'Y',TO_TIMESTAMP('2017-01-13 14:44:10','YYYY-MM-DD HH24:MI:SS'),0,TO_TIMESTAMP('2017-01-13 14:44:10','YYYY-MM-DD HH24:MI:SS'),0,973,'Y','N','D','N','N','N','Y','85018a04-5e76-405a-8f4f-b6e143d486c7','Y',0,'N','N','N') +; + +-- Jan 13, 2017 2:44:14 PM CET +ALTER TABLE C_PaymentTransaction ADD COLUMN SwiftCode VARCHAR(20) DEFAULT NULL +; + +-- Jan 13, 2017 3:21:55 PM CET +INSERT INTO AD_Field (AD_Field_ID,Name,Description,Help,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLogic,DisplayLength,SeqNo,SortNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,XPosition,ColumnSpan,NumLines,IsQuickEntry,IsDefaultFocus,IsAdvancedField) VALUES (204356,'IBAN','International Bank Account Number','If your bank provides an International Bank Account Number, enter it here +Details ISO 13616 and http://www.ecbs.org. The account number has the maximum length of 22 characters (without spaces). The IBAN is often printed with a apace after 4 characters. Do not enter the spaces in iDempiere.',226,212948,'Y','@IsACH@=Y',0,115,0,'N','N','N','N',0,0,'Y',TO_TIMESTAMP('2017-01-13 15:21:54','YYYY-MM-DD HH24:MI:SS'),0,TO_TIMESTAMP('2017-01-13 15:21:54','YYYY-MM-DD HH24:MI:SS'),0,'N','Y','D','c4f9125c-1c92-4ead-94d3-5547de7b4b31','Y',115,1,2,1,'N','N','N') +; + +-- Jan 13, 2017 3:45:20 PM CET +INSERT INTO AD_Field (AD_Field_ID,Name,Description,Help,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLogic,DisplayLength,SeqNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,XPosition,ColumnSpan,NumLines,IsQuickEntry,IsDefaultFocus,IsAdvancedField) VALUES (204357,'Swift code','Swift Code or BIC','The Swift Code (Society of Worldwide Interbank Financial Telecommunications) or BIC (Bank Identifier Code) is an identifier of a Bank. The first 4 characters are the bank code, followed by the 2 character country code, the two character location code and optional 3 character branch code. For details see http://www.swift.com/biconline/index.cfm',330,212950,'Y','@TenderType@=A | @TenderType@=K',20,740,'Y','N','N','N',0,0,'Y',TO_TIMESTAMP('2017-01-13 15:45:20','YYYY-MM-DD HH24:MI:SS'),0,TO_TIMESTAMP('2017-01-13 15:45:20','YYYY-MM-DD HH24:MI:SS'),0,'N','Y','D','7422036f-b2c3-4c66-ace0-a171d4dfe7ed','Y',740,1,2,1,'N','N','N') +; + +-- Jan 13, 2017 3:47:30 PM CET +INSERT INTO AD_Field (AD_Field_ID,Name,Description,Help,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLogic,DisplayLength,SeqNo,SortNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,XPosition,ColumnSpan,NumLines,IsQuickEntry,IsDefaultFocus,IsAdvancedField) VALUES (204358,'IBAN','International Bank Account Number','If your bank provides an International Bank Account Number, enter it here +Details ISO 13616 and http://www.ecbs.org. The account number has the maximum length of 22 characters (without spaces). The IBAN is often printed with a apace after 4 characters. Do not enter the spaces in iDempiere.',330,212949,'Y','@TenderType@=A | @TenderType@=K',0,750,0,'N','N','N','N',0,0,'Y',TO_TIMESTAMP('2017-01-13 15:47:29','YYYY-MM-DD HH24:MI:SS'),0,TO_TIMESTAMP('2017-01-13 15:47:29','YYYY-MM-DD HH24:MI:SS'),0,'N','Y','D','34f2e819-d062-4972-a275-59ce317c5286','Y',750,4,2,1,'N','N','N') +; + +-- Jan 13, 2017 3:47:58 PM CET +UPDATE AD_Field SET DisplayLength=20, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:47:58','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=204358 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=330, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, XPosition=1, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=204358 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=340, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, XPosition=4, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=204357 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=350, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4032 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=360, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4041 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=370, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4036 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=380, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4057 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=390, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4035 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=400, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4037 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=410, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4033 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=420, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4034 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=430, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4023 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=440, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4025 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=450, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4019 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=460, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4026 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=470, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4024 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=480, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=6299 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=490, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4021 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=500, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4022 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=510, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4020 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=520, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4055 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=530, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4043 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=540, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4058 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=550, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4042 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=560, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4258 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=570, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4039 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=580, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4053 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=590, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4052 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=600, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200631 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=610, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200630 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=620, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4051 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=630, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4047 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=640, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4049 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=650, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4048 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=660, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200627 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=670, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200625 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=680, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200626 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=690, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200624 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=700, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4362 +; + +-- Jan 13, 2017 3:58:55 PM CET +UPDATE AD_Field SET SeqNo=710, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:55','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4361 +; + +-- Jan 13, 2017 3:58:56 PM CET +UPDATE AD_Field SET SeqNo=720, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:56','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=6552 +; + +-- Jan 13, 2017 3:58:56 PM CET +UPDATE AD_Field SET SeqNo=730, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:56','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4044 +; + +-- Jan 13, 2017 3:58:56 PM CET +UPDATE AD_Field SET SeqNo=740, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:56','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4266 +; + +-- Jan 13, 2017 3:58:56 PM CET +UPDATE AD_Field SET SeqNo=750, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-13 15:58:56','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=4040 +; + +-- Jan 14, 2017 2:35:36 PM CET +INSERT INTO AD_Field (AD_Field_ID,Name,Description,Help,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLogic,DisplayLength,SeqNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,XPosition,ColumnSpan,NumLines,IsQuickEntry,IsDefaultFocus,IsAdvancedField) VALUES (204360,'IBAN','International Bank Account Number','If your bank provides an International Bank Account Number, enter it here +Details ISO 13616 and http://www.ecbs.org. The account number has the maximum length of 22 characters (without spaces). The IBAN is often printed with a apace after 4 characters. Do not enter the spaces in iDempiere.',200015,212954,'Y','@TenderType@=A | @TenderType@=K',20,230,'N','N','N','N',0,0,'Y',TO_TIMESTAMP('2017-01-14 14:35:36','YYYY-MM-DD HH24:MI:SS'),0,TO_TIMESTAMP('2017-01-14 14:35:36','YYYY-MM-DD HH24:MI:SS'),0,'N','Y','D','b6cf27a9-969b-4c0d-9b5e-3e495de94fd8','Y',220,1,2,1,'N','N','N') +; + +-- Jan 14, 2017 2:39:53 PM CET +INSERT INTO AD_Field (AD_Field_ID,Name,Description,Help,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLogic,DisplayLength,SeqNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,XPosition,ColumnSpan,NumLines,IsQuickEntry,IsDefaultFocus,IsAdvancedField) VALUES (204361,'Swift code','Swift Code or BIC','The Swift Code (Society of Worldwide Interbank Financial Telecommunications) or BIC (Bank Identifier Code) is an identifier of a Bank. The first 4 characters are the bank code, followed by the 2 character country code, the two character location code and optional 3 character branch code. For details see http://www.swift.com/biconline/index.cfm',200015,212956,'Y','@TenderType@=A | @TenderType@=K',20,240,'Y','N','N','N',0,0,'Y',TO_TIMESTAMP('2017-01-14 14:39:53','YYYY-MM-DD HH24:MI:SS'),0,TO_TIMESTAMP('2017-01-14 14:39:53','YYYY-MM-DD HH24:MI:SS'),0,'N','Y','D','3741faae-900a-4164-a0bc-15acba38e26e','Y',230,1,2,1,'N','N','N') +; + +-- Jan 14, 2017 2:43:52 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=130, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, XPosition=1, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 14:43:52','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=204360 +; + +-- Jan 14, 2017 2:43:52 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=140, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, XPosition=4, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 14:43:52','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=204361 +; + +-- Jan 14, 2017 2:43:52 PM CET +UPDATE AD_Field SET SeqNo=150, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 14:43:52','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200442 +; + +-- Jan 14, 2017 2:43:52 PM CET +UPDATE AD_Field SET SeqNo=160, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 14:43:52','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200433 +; + +-- Jan 14, 2017 2:43:52 PM CET +UPDATE AD_Field SET SeqNo=170, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 14:43:52','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200428 +; + +-- Jan 14, 2017 2:43:52 PM CET +UPDATE AD_Field SET SeqNo=180, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 14:43:52','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200432 +; + +-- Jan 14, 2017 2:43:52 PM CET +UPDATE AD_Field SET SeqNo=190, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 14:43:52','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200436 +; + +-- Jan 14, 2017 2:43:52 PM CET +UPDATE AD_Field SET SeqNo=200, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 14:43:52','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200447 +; + +-- Jan 14, 2017 2:43:53 PM CET +UPDATE AD_Field SET SeqNo=210, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 14:43:53','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200434 +; + +-- Jan 14, 2017 2:43:53 PM CET +UPDATE AD_Field SET SeqNo=220, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 14:43:53','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200430 +; + +-- Jan 14, 2017 2:43:53 PM CET +UPDATE AD_Field SET SeqNo=230, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 14:43:53','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200444 +; + +-- Jan 14, 2017 2:43:53 PM CET +UPDATE AD_Field SET SeqNo=240, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 14:43:53','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200426 +; + +-- Jan 14, 2017 2:43:53 PM CET +UPDATE AD_Field SET SeqNo=0, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 14:43:53','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200441 +; + +-- Jan 14, 2017 2:53:09 PM CET +INSERT INTO AD_Field (AD_Field_ID,Name,Description,Help,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLength,SeqNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,XPosition,ColumnSpan,NumLines,IsQuickEntry,IsDefaultFocus,IsAdvancedField) VALUES (204362,'IBAN','International Bank Account Number','If your bank provides an International Bank Account Number, enter it here +Details ISO 13616 and http://www.ecbs.org. The account number has the maximum length of 22 characters (without spaces). The IBAN is often printed with a apace after 4 characters. Do not enter the spaces in iDempiere.',511,212951,'Y',20,530,'N','N','N','N',0,0,'Y',TO_TIMESTAMP('2017-01-14 14:53:09','YYYY-MM-DD HH24:MI:SS'),0,TO_TIMESTAMP('2017-01-14 14:53:09','YYYY-MM-DD HH24:MI:SS'),0,'N','Y','D','baafeb7c-6c94-457a-90fa-f432d1195186','Y',530,1,2,1,'N','N','N') +; + +-- Jan 14, 2017 2:55:10 PM CET +INSERT INTO AD_Field (AD_Field_ID,Name,Description,Help,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLength,SeqNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,XPosition,ColumnSpan,NumLines,IsQuickEntry,IsDefaultFocus,IsAdvancedField) VALUES (204363,'Swift code','Swift Code or BIC','The Swift Code (Society of Worldwide Interbank Financial Telecommunications) or BIC (Bank Identifier Code) is an identifier of a Bank. The first 4 characters are the bank code, followed by the 2 character country code, the two character location code and optional 3 character branch code. For details see http://www.swift.com/biconline/index.cfm',511,212952,'Y',20,540,'Y','N','N','N',0,0,'Y',TO_TIMESTAMP('2017-01-14 14:55:10','YYYY-MM-DD HH24:MI:SS'),0,TO_TIMESTAMP('2017-01-14 14:55:10','YYYY-MM-DD HH24:MI:SS'),0,'N','Y','D','211f8b82-eb5b-4019-b434-c03b98a6c759','Y',540,1,2,1,'N','N','N') +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=340, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, XPosition=1, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=204362 +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=350, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, XPosition=4, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=204363 +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET SeqNo=360, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7270 +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET SeqNo=370, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7305 +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET SeqNo=380, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7257 +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET SeqNo=390, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7254 +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET SeqNo=400, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7307 +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET SeqNo=410, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7265 +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET SeqNo=420, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7267 +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET SeqNo=430, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7297 +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET SeqNo=440, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7264 +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET SeqNo=450, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7255 +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET SeqNo=460, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7266 +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET SeqNo=470, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7300 +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET SeqNo=480, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7286 +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET SeqNo=490, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7276 +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET SeqNo=500, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7263 +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET SeqNo=510, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7281 +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET SeqNo=520, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7260 +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET SeqNo=530, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=7275 +; + +-- Jan 14, 2017 2:57:14 PM CET +UPDATE AD_Field SET SeqNo=540, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 14:57:14','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=8727 +; + +-- Jan 14, 2017 3:01:42 PM CET +INSERT INTO AD_Field (AD_Field_ID,Name,Description,Help,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLogic,DisplayLength,SeqNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,XPosition,ColumnSpan,NumLines,IsQuickEntry,IsDefaultFocus,IsAdvancedField) VALUES (204364,'IBAN','International Bank Account Number','If your bank provides an International Bank Account Number, enter it here +Details ISO 13616 and http://www.ecbs.org. The account number has the maximum length of 22 characters (without spaces). The IBAN is often printed with a apace after 4 characters. Do not enter the spaces in iDempiere.',200027,212957,'Y','@TenderType@=A | @TenderType@=K',20,720,'N','N','N','N',0,0,'Y',TO_TIMESTAMP('2017-01-14 15:01:42','YYYY-MM-DD HH24:MI:SS'),0,TO_TIMESTAMP('2017-01-14 15:01:42','YYYY-MM-DD HH24:MI:SS'),0,'N','Y','D','097667ce-2296-4214-a20c-66d3e3d07d78','Y',710,1,2,1,'N','N','N') +; + +-- Jan 14, 2017 3:04:08 PM CET +INSERT INTO AD_Field (AD_Field_ID,Name,Description,Help,AD_Tab_ID,AD_Column_ID,IsDisplayed,DisplayLogic,DisplayLength,SeqNo,IsSameLine,IsHeading,IsFieldOnly,IsEncrypted,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsReadOnly,IsCentrallyMaintained,EntityType,AD_Field_UU,IsDisplayedGrid,SeqNoGrid,XPosition,ColumnSpan,NumLines,IsQuickEntry,IsDefaultFocus,IsAdvancedField) VALUES (204365,'Swift code','Swift Code or BIC','The Swift Code (Society of Worldwide Interbank Financial Telecommunications) or BIC (Bank Identifier Code) is an identifier of a Bank. The first 4 characters are the bank code, followed by the 2 character country code, the two character location code and optional 3 character branch code. For details see http://www.swift.com/biconline/index.cfm',200027,212958,'Y','@TenderType@=A | @TenderType@=K',20,730,'Y','N','N','N',0,0,'Y',TO_TIMESTAMP('2017-01-14 15:04:08','YYYY-MM-DD HH24:MI:SS'),0,TO_TIMESTAMP('2017-01-14 15:04:08','YYYY-MM-DD HH24:MI:SS'),0,'N','Y','D','30857a62-bb3e-49e7-821a-bc16c4144647','Y',720,1,2,1,'N','N','N') +; + +-- Jan 14, 2017 3:06:00 PM CET +UPDATE AD_Field SET SeqNo=50, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200706 +; + +-- Jan 14, 2017 3:06:00 PM CET +UPDATE AD_Field SET SeqNo=60, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200669 +; + +-- Jan 14, 2017 3:06:00 PM CET +UPDATE AD_Field SET SeqNo=70, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200716 +; + +-- Jan 14, 2017 3:06:00 PM CET +UPDATE AD_Field SET SeqNo=80, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200684 +; + +-- Jan 14, 2017 3:06:00 PM CET +UPDATE AD_Field SET SeqNo=90, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200690 +; + +-- Jan 14, 2017 3:06:00 PM CET +UPDATE AD_Field SET SeqNo=100, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200694 +; + +-- Jan 14, 2017 3:06:00 PM CET +UPDATE AD_Field SET SeqNo=110, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200705 +; + +-- Jan 14, 2017 3:06:00 PM CET +UPDATE AD_Field SET SeqNo=120, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200673 +; + +-- Jan 14, 2017 3:06:00 PM CET +UPDATE AD_Field SET SeqNo=130, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200664 +; + +-- Jan 14, 2017 3:06:00 PM CET +UPDATE AD_Field SET SeqNo=140, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200671 +; + +-- Jan 14, 2017 3:06:00 PM CET +UPDATE AD_Field SET SeqNo=150, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200718 +; + +-- Jan 14, 2017 3:06:00 PM CET +UPDATE AD_Field SET SeqNo=160, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200719 +; + +-- Jan 14, 2017 3:06:00 PM CET +UPDATE AD_Field SET SeqNo=170, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200720 +; + +-- Jan 14, 2017 3:06:00 PM CET +UPDATE AD_Field SET SeqNo=180, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200699 +; + +-- Jan 14, 2017 3:06:00 PM CET +UPDATE AD_Field SET SeqNo=190, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200677 +; + +-- Jan 14, 2017 3:06:00 PM CET +UPDATE AD_Field SET SeqNo=200, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200678 +; + +-- Jan 14, 2017 3:06:00 PM CET +UPDATE AD_Field SET SeqNo=210, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200715 +; + +-- Jan 14, 2017 3:06:00 PM CET +UPDATE AD_Field SET SeqNo=220, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200704 +; + +-- Jan 14, 2017 3:06:00 PM CET +UPDATE AD_Field SET SeqNo=230, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:00','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200693 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=240, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200697 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=250, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200711 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=260, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200659 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=270, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, XPosition=1, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=204364 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET IsDisplayed='Y', SeqNo=280, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, XPosition=4, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=204365 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=290, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200674 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=300, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200691 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=310, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200676 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=320, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200717 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=330, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200692 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=340, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200721 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=350, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200687 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=360, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200688 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=370, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200658 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=380, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200661 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=390, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200655 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=400, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200662 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=410, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200660 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=420, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200656 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=430, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200686 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=440, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200713 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=450, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200657 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=460, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200714 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=470, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200703 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=480, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200722 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=490, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200696 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=500, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200723 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=510, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200666 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=520, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200683 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=530, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200710 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=540, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200709 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=550, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200689 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=560, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200725 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=570, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200724 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=580, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200707 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=590, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200667 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=600, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200726 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=610, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200665 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=620, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200682 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=630, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200701 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=640, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200680 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=650, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200681 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=660, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200679 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=670, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200698 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=680, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200672 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=690, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200700 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=700, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200708 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=710, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200712 +; + +-- Jan 14, 2017 3:06:01 PM CET +UPDATE AD_Field SET SeqNo=720, AD_Reference_Value_ID=NULL, AD_Val_Rule_ID=NULL, IsToolbarButton=NULL,Updated=TO_TIMESTAMP('2017-01-14 15:06:01','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=0 WHERE AD_Field_ID=200727 +; + + +SELECT register_migration_script('201701140900_IDEMPIERE-3039.sql') FROM dual +; diff --git a/org.adempiere.base.process/src/org/compiere/process/ImportPayment.java b/org.adempiere.base.process/src/org/compiere/process/ImportPayment.java index 88388763c5..8590c19f8e 100644 --- a/org.adempiere.base.process/src/org/compiere/process/ImportPayment.java +++ b/org.adempiere.base.process/src/org/compiere/process/ImportPayment.java @@ -442,6 +442,8 @@ public class ImportPayment extends SvrProcess payment.setC_BankAccount_ID(imp.getC_BankAccount_ID()); payment.setRoutingNo(imp.getRoutingNo()); payment.setAccountNo(imp.getAccountNo()); + payment.setIBAN(imp.getIBAN()); + payment.setSwiftCode(imp.getSwiftCode()); payment.setCheckNo(imp.getCheckNo()); payment.setMicr(imp.getMicr()); diff --git a/org.adempiere.base/src/org/compiere/model/I_C_BP_BankAccount.java b/org.adempiere.base/src/org/compiere/model/I_C_BP_BankAccount.java index 1d27968853..8a94c060e2 100644 --- a/org.adempiere.base/src/org/compiere/model/I_C_BP_BankAccount.java +++ b/org.adempiere.base/src/org/compiere/model/I_C_BP_BankAccount.java @@ -390,6 +390,19 @@ public interface I_C_BP_BankAccount /** Get Customer Payment Profile ID */ public String getCustomerPaymentProfileID(); + /** Column name IBAN */ + public static final String COLUMNNAME_IBAN = "IBAN"; + + /** Set IBAN. + * International Bank Account Number + */ + public void setIBAN (String IBAN); + + /** Get IBAN. + * International Bank Account Number + */ + public String getIBAN(); + /** Column name IsACH */ public static final String COLUMNNAME_IsACH = "IsACH"; diff --git a/org.adempiere.base/src/org/compiere/model/I_C_POSPayment.java b/org.adempiere.base/src/org/compiere/model/I_C_POSPayment.java index 9f677db54d..df02374dc8 100644 --- a/org.adempiere.base/src/org/compiere/model/I_C_POSPayment.java +++ b/org.adempiere.base/src/org/compiere/model/I_C_POSPayment.java @@ -246,6 +246,19 @@ public interface I_C_POSPayment */ public String getHelp(); + /** Column name IBAN */ + public static final String COLUMNNAME_IBAN = "IBAN"; + + /** Set IBAN. + * International Bank Account Number + */ + public void setIBAN (String IBAN); + + /** Get IBAN. + * International Bank Account Number + */ + public String getIBAN(); + /** Column name IsActive */ public static final String COLUMNNAME_IsActive = "IsActive"; @@ -320,6 +333,19 @@ public interface I_C_POSPayment */ public String getRoutingNo(); + /** Column name SwiftCode */ + public static final String COLUMNNAME_SwiftCode = "SwiftCode"; + + /** Set Swift code. + * Swift Code or BIC + */ + public void setSwiftCode (String SwiftCode); + + /** Get Swift code. + * Swift Code or BIC + */ + public String getSwiftCode(); + /** Column name TenderType */ public static final String COLUMNNAME_TenderType = "TenderType"; diff --git a/org.adempiere.base/src/org/compiere/model/I_C_Payment.java b/org.adempiere.base/src/org/compiere/model/I_C_Payment.java index f960e45317..15fac5e120 100644 --- a/org.adempiere.base/src/org/compiere/model/I_C_Payment.java +++ b/org.adempiere.base/src/org/compiere/model/I_C_Payment.java @@ -699,6 +699,19 @@ public interface I_C_Payment */ public String getDocumentNo(); + /** Column name IBAN */ + public static final String COLUMNNAME_IBAN = "IBAN"; + + /** Set IBAN. + * International Bank Account Number + */ + public void setIBAN (String IBAN); + + /** Get IBAN. + * International Bank Account Number + */ + public String getIBAN(); + /** Column name IsActive */ public static final String COLUMNNAME_IsActive = "IsActive"; @@ -1142,6 +1155,19 @@ public interface I_C_Payment /** Get Void Message */ public String getR_VoidMsg(); + /** Column name SwiftCode */ + public static final String COLUMNNAME_SwiftCode = "SwiftCode"; + + /** Set Swift code. + * Swift Code or BIC + */ + public void setSwiftCode (String SwiftCode); + + /** Get Swift code. + * Swift Code or BIC + */ + public String getSwiftCode(); + /** Column name Swipe */ public static final String COLUMNNAME_Swipe = "Swipe"; diff --git a/org.adempiere.base/src/org/compiere/model/I_C_PaymentTransaction.java b/org.adempiere.base/src/org/compiere/model/I_C_PaymentTransaction.java index 095c7b67a9..d7c5e5ee58 100644 --- a/org.adempiere.base/src/org/compiere/model/I_C_PaymentTransaction.java +++ b/org.adempiere.base/src/org/compiere/model/I_C_PaymentTransaction.java @@ -606,6 +606,19 @@ public interface I_C_PaymentTransaction */ public String getDescription(); + /** Column name IBAN */ + public static final String COLUMNNAME_IBAN = "IBAN"; + + /** Set IBAN. + * International Bank Account Number + */ + public void setIBAN (String IBAN); + + /** Get IBAN. + * International Bank Account Number + */ + public String getIBAN(); + /** Column name IsActive */ public static final String COLUMNNAME_IsActive = "IsActive"; @@ -895,6 +908,19 @@ public interface I_C_PaymentTransaction /** Get Void Message */ public String getR_VoidMsg(); + /** Column name SwiftCode */ + public static final String COLUMNNAME_SwiftCode = "SwiftCode"; + + /** Set Swift code. + * Swift Code or BIC + */ + public void setSwiftCode (String SwiftCode); + + /** Get Swift code. + * Swift Code or BIC + */ + public String getSwiftCode(); + /** Column name TaxAmt */ public static final String COLUMNNAME_TaxAmt = "TaxAmt"; diff --git a/org.adempiere.base/src/org/compiere/model/I_I_Payment.java b/org.adempiere.base/src/org/compiere/model/I_I_Payment.java index e428997a38..0edab9a604 100644 --- a/org.adempiere.base/src/org/compiere/model/I_I_Payment.java +++ b/org.adempiere.base/src/org/compiere/model/I_I_Payment.java @@ -508,6 +508,19 @@ public interface I_I_Payment */ public String getDocumentNo(); + /** Column name IBAN */ + public static final String COLUMNNAME_IBAN = "IBAN"; + + /** Set IBAN. + * International Bank Account Number + */ + public void setIBAN (String IBAN); + + /** Get IBAN. + * International Bank Account Number + */ + public String getIBAN(); + /** Column name I_ErrorMsg */ public static final String COLUMNNAME_I_ErrorMsg = "I_ErrorMsg"; @@ -825,6 +838,19 @@ public interface I_I_Payment */ public String getR_Result(); + /** Column name SwiftCode */ + public static final String COLUMNNAME_SwiftCode = "SwiftCode"; + + /** Set Swift code. + * Swift Code or BIC + */ + public void setSwiftCode (String SwiftCode); + + /** Get Swift code. + * Swift Code or BIC + */ + public String getSwiftCode(); + /** Column name Swipe */ public static final String COLUMNNAME_Swipe = "Swipe"; diff --git a/org.adempiere.base/src/org/compiere/model/MBPBankAccount.java b/org.adempiere.base/src/org/compiere/model/MBPBankAccount.java index 008cd4f932..f87b8192ef 100644 --- a/org.adempiere.base/src/org/compiere/model/MBPBankAccount.java +++ b/org.adempiere.base/src/org/compiere/model/MBPBankAccount.java @@ -170,6 +170,18 @@ public class MBPBankAccount extends X_C_BP_BankAccount return rt; } // getRoutingNo + /** + * Get SwiftCode + * @return SwiftCode + */ + public String getSwiftCode() + { + MBank bank = getBank(); + if (bank != null) + return bank.getSwiftCode(); + return null; + } // getSwiftCode + /** * Before Save * @param newRecord new diff --git a/org.adempiere.base/src/org/compiere/model/MOrder.java b/org.adempiere.base/src/org/compiere/model/MOrder.java index ad2da57bb6..8316cf7635 100644 --- a/org.adempiere.base/src/org/compiere/model/MOrder.java +++ b/org.adempiere.base/src/org/compiere/model/MOrder.java @@ -2065,6 +2065,8 @@ public class MOrder extends X_C_Order implements DocAction payment.setC_BankAccount_ID(ba.getC_BankAccount_ID()); payment.setRoutingNo(pp.getRoutingNo()); payment.setAccountNo(pp.getAccountNo()); + payment.setSwiftCode(pp.getSwiftCode()); + payment.setIBAN(pp.getIBAN()); payment.setCheckNo(pp.getCheckNo()); payment.setMicr(pp.getMicr()); payment.setIsPrepayment(false); diff --git a/org.adempiere.base/src/org/compiere/model/MPayment.java b/org.adempiere.base/src/org/compiere/model/MPayment.java index ca158e315a..b495b1520a 100644 --- a/org.adempiere.base/src/org/compiere/model/MPayment.java +++ b/org.adempiere.base/src/org/compiere/model/MPayment.java @@ -278,6 +278,8 @@ public class MPayment extends X_C_Payment MBPBankAccount ba = new MBPBankAccount (preparedPayment.getCtx(), C_BP_BankAccount_ID, null); setRoutingNo(ba.getRoutingNo()); setAccountNo(ba.getAccountNo()); + setIBAN(ba.getIBAN()); + setSwiftCode(ba.getSwiftCode()) ; setDescription(preparedPayment.getC_PaySelection().getName()); setIsReceipt (X_C_Order.PAYMENTRULE_DirectDebit.equals // AR only (preparedPayment.getPaymentRule())); @@ -403,7 +405,7 @@ public class MPayment extends X_C_Payment return; setC_BankAccount_ID(C_BankAccount_ID); // - String sql = "SELECT b.RoutingNo, ba.AccountNo " + String sql = "SELECT b.RoutingNo, ba.AccountNo, ba.IBAN, b.SwiftCode " + "FROM C_BankAccount ba" + " INNER JOIN C_Bank b ON (ba.C_Bank_ID=b.C_Bank_ID) " + "WHERE C_BankAccount_ID=?"; @@ -418,6 +420,8 @@ public class MPayment extends X_C_Payment { setRoutingNo (rs.getString(1)); setAccountNo (rs.getString(2)); + setIBAN(rs.getString(3)) ; + setSwiftCode(rs.getString(4)) ; } } catch (SQLException e) @@ -1380,6 +1384,10 @@ public class MPayment extends X_C_Payment setAccountNo(ba.getAccountNo()); if (ba.getRoutingNo() != null) setRoutingNo(ba.getRoutingNo()); + if (ba.getIBAN() != null) + setIBAN(ba.getIBAN()); + if (ba.getSwiftCode() != null) + setSwiftCode(ba.getSwiftCode()) ; } // setBP_BankAccount /** @@ -1411,6 +1419,8 @@ public class MPayment extends X_C_Payment ba.setAccountNo(getAccountNo()); if (getRoutingNo() != null) ba.setRoutingNo(getRoutingNo()); + if (getIBAN() != null) + ba.setIBAN(getIBAN()); // Trx ba.setR_AvsAddr(getR_AvsAddr()); ba.setR_AvsZip(getR_AvsZip()); @@ -2889,6 +2899,7 @@ public class MPayment extends X_C_Payment paymentTransaction.setA_Street(getA_Street()); paymentTransaction.setA_Zip(getA_Zip()); paymentTransaction.setAccountNo(getAccountNo()); + paymentTransaction.setIBAN(getIBAN()); paymentTransaction.setAD_Org_ID(getAD_Org_ID()); paymentTransaction.setC_BankAccount_ID(getC_BankAccount_ID()); paymentTransaction.setC_BP_BankAccount_ID(getC_BP_BankAccount_ID()); @@ -2932,6 +2943,7 @@ public class MPayment extends X_C_Payment paymentTransaction.setR_Result(getR_Result()); paymentTransaction.setR_VoidMsg(getR_VoidMsg()); paymentTransaction.setRoutingNo(getRoutingNo()); + paymentTransaction.setSwiftCode(getSwiftCode()); paymentTransaction.setTaxAmt(getTaxAmt()); paymentTransaction.setTenderType(getTenderType()); paymentTransaction.setTrxType(getTrxType()); diff --git a/org.adempiere.base/src/org/compiere/model/MPaymentTransaction.java b/org.adempiere.base/src/org/compiere/model/MPaymentTransaction.java index 8b83582648..5c9b59867a 100644 --- a/org.adempiere.base/src/org/compiere/model/MPaymentTransaction.java +++ b/org.adempiere.base/src/org/compiere/model/MPaymentTransaction.java @@ -450,6 +450,7 @@ public class MPaymentTransaction extends X_C_PaymentTransaction implements Proce payment.setA_Street(getA_Street()); payment.setA_Zip(getA_Zip()); payment.setAccountNo(getAccountNo()); + payment.setIBAN(getIBAN()); payment.setAD_Org_ID(getAD_Org_ID()); payment.setC_BankAccount_ID(getC_BankAccount_ID()); payment.setC_BP_BankAccount_ID(getC_BP_BankAccount_ID()); @@ -493,6 +494,7 @@ public class MPaymentTransaction extends X_C_PaymentTransaction implements Proce payment.setR_Result(getR_Result()); payment.setR_VoidMsg(getR_VoidMsg()); payment.setRoutingNo(getRoutingNo()); + payment.setSwiftCode(getSwiftCode()); payment.setTaxAmt(getTaxAmt()); payment.setTenderType(getTenderType()); payment.setTrxType(getTrxType()); @@ -558,6 +560,7 @@ public class MPaymentTransaction extends X_C_PaymentTransaction implements Proce to.setA_Street(from.getA_Street()); to.setA_Zip(from.getA_Zip()); to.setAccountNo(from.getAccountNo()); + to.setIBAN(from.getIBAN()); to.setAD_Org_ID(from.getAD_Org_ID()); to.setC_BankAccount_ID(from.getC_BankAccount_ID()); to.setC_BP_BankAccount_ID(from.getC_BP_BankAccount_ID()); @@ -601,6 +604,7 @@ public class MPaymentTransaction extends X_C_PaymentTransaction implements Proce to.setR_Result(null); to.setR_VoidMsg(null); to.setRoutingNo(from.getRoutingNo()); + to.setSwiftCode(from.getSwiftCode()); to.setTaxAmt(from.getTaxAmt()); to.setTenderType(from.getTenderType()); to.setTrxType(trxType); diff --git a/org.adempiere.base/src/org/compiere/model/X_C_BP_BankAccount.java b/org.adempiere.base/src/org/compiere/model/X_C_BP_BankAccount.java index 676462b6a8..052fc3d78e 100644 --- a/org.adempiere.base/src/org/compiere/model/X_C_BP_BankAccount.java +++ b/org.adempiere.base/src/org/compiere/model/X_C_BP_BankAccount.java @@ -30,7 +30,7 @@ public class X_C_BP_BankAccount extends PO implements I_C_BP_BankAccount, I_Pers /** * */ - private static final long serialVersionUID = 20161030L; + private static final long serialVersionUID = 20170114L; /** Standard Constructor */ public X_C_BP_BankAccount (Properties ctx, int C_BP_BankAccount_ID, String trxName) @@ -578,6 +578,23 @@ public class X_C_BP_BankAccount extends PO implements I_C_BP_BankAccount, I_Pers return (String)get_Value(COLUMNNAME_CustomerPaymentProfileID); } + /** Set IBAN. + @param IBAN + International Bank Account Number + */ + public void setIBAN (String IBAN) + { + set_Value (COLUMNNAME_IBAN, IBAN); + } + + /** Get IBAN. + @return International Bank Account Number + */ + public String getIBAN () + { + return (String)get_Value(COLUMNNAME_IBAN); + } + /** Set ACH. @param IsACH Automatic Clearing House diff --git a/org.adempiere.base/src/org/compiere/model/X_C_POSPayment.java b/org.adempiere.base/src/org/compiere/model/X_C_POSPayment.java index b54ac44522..45173a5022 100644 --- a/org.adempiere.base/src/org/compiere/model/X_C_POSPayment.java +++ b/org.adempiere.base/src/org/compiere/model/X_C_POSPayment.java @@ -32,7 +32,7 @@ public class X_C_POSPayment extends PO implements I_C_POSPayment, I_Persistent /** * */ - private static final long serialVersionUID = 20161030L; + private static final long serialVersionUID = 20170114L; /** Standard Constructor */ public X_C_POSPayment (Properties ctx, int C_POSPayment_ID, String trxName) @@ -370,6 +370,23 @@ public class X_C_POSPayment extends PO implements I_C_POSPayment, I_Persistent return (String)get_Value(COLUMNNAME_Help); } + /** Set IBAN. + @param IBAN + International Bank Account Number + */ + public void setIBAN (String IBAN) + { + set_Value (COLUMNNAME_IBAN, IBAN); + } + + /** Get IBAN. + @return International Bank Account Number + */ + public String getIBAN () + { + return (String)get_Value(COLUMNNAME_IBAN); + } + /** Set Post Dated. @param IsPostDated Post Dated */ public void setIsPostDated (boolean IsPostDated) @@ -469,6 +486,23 @@ public class X_C_POSPayment extends PO implements I_C_POSPayment, I_Persistent return (String)get_Value(COLUMNNAME_RoutingNo); } + /** Set Swift code. + @param SwiftCode + Swift Code or BIC + */ + public void setSwiftCode (String SwiftCode) + { + set_Value (COLUMNNAME_SwiftCode, SwiftCode); + } + + /** Get Swift code. + @return Swift Code or BIC + */ + public String getSwiftCode () + { + return (String)get_Value(COLUMNNAME_SwiftCode); + } + /** TenderType AD_Reference_ID=214 */ public static final int TENDERTYPE_AD_Reference_ID=214; /** Credit Card = C */ diff --git a/org.adempiere.base/src/org/compiere/model/X_C_Payment.java b/org.adempiere.base/src/org/compiere/model/X_C_Payment.java index 15c08423cd..f69dac6516 100644 --- a/org.adempiere.base/src/org/compiere/model/X_C_Payment.java +++ b/org.adempiere.base/src/org/compiere/model/X_C_Payment.java @@ -33,7 +33,7 @@ public class X_C_Payment extends PO implements I_C_Payment, I_Persistent /** * */ - private static final long serialVersionUID = 20161030L; + private static final long serialVersionUID = 20170114L; /** Standard Constructor */ public X_C_Payment (Properties ctx, int C_Payment_ID, String trxName) @@ -1182,6 +1182,23 @@ public class X_C_Payment extends PO implements I_C_Payment, I_Persistent return new KeyNamePair(get_ID(), getDocumentNo()); } + /** Set IBAN. + @param IBAN + International Bank Account Number + */ + public void setIBAN (String IBAN) + { + set_Value (COLUMNNAME_IBAN, IBAN); + } + + /** Get IBAN. + @return International Bank Account Number + */ + public String getIBAN () + { + return (String)get_Value(COLUMNNAME_IBAN); + } + /** Set Allocated. @param IsAllocated Indicates if the payment has been allocated @@ -1895,6 +1912,23 @@ public class X_C_Payment extends PO implements I_C_Payment, I_Persistent return (String)get_Value(COLUMNNAME_R_VoidMsg); } + /** Set Swift code. + @param SwiftCode + Swift Code or BIC + */ + public void setSwiftCode (String SwiftCode) + { + set_Value (COLUMNNAME_SwiftCode, SwiftCode); + } + + /** Get Swift code. + @return Swift Code or BIC + */ + public String getSwiftCode () + { + return (String)get_Value(COLUMNNAME_SwiftCode); + } + /** Set Swipe. @param Swipe Track 1 and 2 of the Credit Card diff --git a/org.adempiere.base/src/org/compiere/model/X_C_PaymentTransaction.java b/org.adempiere.base/src/org/compiere/model/X_C_PaymentTransaction.java index 2474eeca53..6f619b99df 100644 --- a/org.adempiere.base/src/org/compiere/model/X_C_PaymentTransaction.java +++ b/org.adempiere.base/src/org/compiere/model/X_C_PaymentTransaction.java @@ -32,7 +32,7 @@ public class X_C_PaymentTransaction extends PO implements I_C_PaymentTransaction /** * */ - private static final long serialVersionUID = 20161030L; + private static final long serialVersionUID = 20170114L; /** Standard Constructor */ public X_C_PaymentTransaction (Properties ctx, int C_PaymentTransaction_ID, String trxName) @@ -965,6 +965,23 @@ public class X_C_PaymentTransaction extends PO implements I_C_PaymentTransaction return (String)get_Value(COLUMNNAME_Description); } + /** Set IBAN. + @param IBAN + International Bank Account Number + */ + public void setIBAN (String IBAN) + { + set_Value (COLUMNNAME_IBAN, IBAN); + } + + /** Get IBAN. + @return International Bank Account Number + */ + public String getIBAN () + { + return (String)get_Value(COLUMNNAME_IBAN); + } + /** Set Approved. @param IsApproved Indicates if this document requires approval @@ -1418,6 +1435,23 @@ public class X_C_PaymentTransaction extends PO implements I_C_PaymentTransaction return (String)get_Value(COLUMNNAME_R_VoidMsg); } + /** Set Swift code. + @param SwiftCode + Swift Code or BIC + */ + public void setSwiftCode (String SwiftCode) + { + set_Value (COLUMNNAME_SwiftCode, SwiftCode); + } + + /** Get Swift code. + @return Swift Code or BIC + */ + public String getSwiftCode () + { + return (String)get_Value(COLUMNNAME_SwiftCode); + } + /** Set Tax Amount. @param TaxAmt Tax Amount for a document diff --git a/org.adempiere.base/src/org/compiere/model/X_I_Payment.java b/org.adempiere.base/src/org/compiere/model/X_I_Payment.java index 770e5d7012..555397e845 100644 --- a/org.adempiere.base/src/org/compiere/model/X_I_Payment.java +++ b/org.adempiere.base/src/org/compiere/model/X_I_Payment.java @@ -32,7 +32,7 @@ public class X_I_Payment extends PO implements I_I_Payment, I_Persistent /** * */ - private static final long serialVersionUID = 20161030L; + private static final long serialVersionUID = 20170114L; /** Standard Constructor */ public X_I_Payment (Properties ctx, int I_Payment_ID, String trxName) @@ -723,6 +723,23 @@ public class X_I_Payment extends PO implements I_I_Payment, I_Persistent return (String)get_Value(COLUMNNAME_DocumentNo); } + /** Set IBAN. + @param IBAN + International Bank Account Number + */ + public void setIBAN (String IBAN) + { + set_Value (COLUMNNAME_IBAN, IBAN); + } + + /** Get IBAN. + @return International Bank Account Number + */ + public String getIBAN () + { + return (String)get_Value(COLUMNNAME_IBAN); + } + /** Set Import Error Message. @param I_ErrorMsg Messages generated from import process @@ -1193,6 +1210,23 @@ public class X_I_Payment extends PO implements I_I_Payment, I_Persistent return (String)get_Value(COLUMNNAME_R_Result); } + /** Set Swift code. + @param SwiftCode + Swift Code or BIC + */ + public void setSwiftCode (String SwiftCode) + { + set_Value (COLUMNNAME_SwiftCode, SwiftCode); + } + + /** Get Swift code. + @return Swift Code or BIC + */ + public String getSwiftCode () + { + return (String)get_Value(COLUMNNAME_SwiftCode); + } + /** Set Swipe. @param Swipe Track 1 and 2 of the Credit Card From 4e152d2e033f1fa2a37e47bda5632a6d3a56f490 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Wed, 18 Jan 2017 17:10:01 +0100 Subject: [PATCH 15/26] IDEMPIERE-3147 Financial Report translation of the data not only headers (based on patch from Gaurav Sontake) --- .../compiere/model/MAcctSchemaElement.java | 67 ++++++++++++------- 1 file changed, 42 insertions(+), 25 deletions(-) diff --git a/org.adempiere.base/src/org/compiere/model/MAcctSchemaElement.java b/org.adempiere.base/src/org/compiere/model/MAcctSchemaElement.java index 5ff1416591..47c7bde908 100644 --- a/org.adempiere.base/src/org/compiere/model/MAcctSchemaElement.java +++ b/org.adempiere.base/src/org/compiere/model/MAcctSchemaElement.java @@ -25,6 +25,8 @@ import java.util.logging.Level; import org.compiere.util.CCache; import org.compiere.util.CLogger; import org.compiere.util.DB; +import org.compiere.util.Env; +import org.compiere.util.Language; import org.compiere.util.Msg; /** @@ -131,39 +133,54 @@ public class MAcctSchemaElement extends X_C_AcctSchema_Element */ public static String getValueQuery (String elementType) { - if (elementType.equals(ELEMENTTYPE_Organization)) + String baseLanguage = Language.getBaseAD_Language(); + String language = Language.getLoginLanguage().getAD_Language(); + boolean translated = Env.isMultiLingualDocument(Env.getCtx()) && ! language.equalsIgnoreCase(baseLanguage); + if (elementType.equals(ELEMENTTYPE_Organization)) { return "SELECT Value,Name FROM AD_Org WHERE AD_Org_ID="; - else if (elementType.equals(ELEMENTTYPE_Account)) - return "SELECT Value,Name FROM C_ElementValue WHERE C_ElementValue_ID="; - else if (elementType.equals(ELEMENTTYPE_SubAccount)) + } else if ( elementType.equals(ELEMENTTYPE_Account) + || elementType.equals(ELEMENTTYPE_UserElementList1) + || elementType.equals(ELEMENTTYPE_UserElementList2)) { + if (translated) + return "SELECT o.Value,t.Name FROM C_ElementValue o JOIN C_ElementValue_Trl t ON (o.C_ElementValue_ID=t.C_ElementValue_ID AND t.AD_Language=" + DB.TO_STRING(language)+ ") WHERE o.C_ElementValue_ID="; + else + return "SELECT Value,Name FROM C_ElementValue WHERE C_ElementValue_ID="; + } else if (elementType.equals(ELEMENTTYPE_SubAccount)) { return "SELECT Value,Name FROM C_SubAccount WHERE C_SubAccount_ID="; - else if (elementType.equals(ELEMENTTYPE_BPartner)) + } else if (elementType.equals(ELEMENTTYPE_BPartner)) { return "SELECT Value,Name FROM C_BPartner WHERE C_BPartner_ID="; - else if (elementType.equals(ELEMENTTYPE_Product)) - return "SELECT Value,Name FROM M_Product WHERE M_Product_ID="; - else if (elementType.equals(ELEMENTTYPE_Activity)) - return "SELECT Value,Name FROM C_Activity WHERE C_Activity_ID="; - else if (elementType.equals(ELEMENTTYPE_LocationFrom)) + } else if (elementType.equals(ELEMENTTYPE_Product)) { + if (translated) + return "SELECT o.Value,t.Name FROM M_Product o JOIN M_Product_Trl t ON (o.M_Product_ID=t.M_Product_ID AND t.AD_Language=" + DB.TO_STRING(language)+ ") WHERE o.M_Product_ID="; + else + return "SELECT Value,Name FROM M_Product WHERE M_Product_ID="; + } else if (elementType.equals(ELEMENTTYPE_Activity)) { + if (translated) + return "SELECT Value,Name FROM C_Activity o JOIN C_Activity_Trl t ON (o.C_Activity_ID=t.C_Activity_ID AND t.AD_Language=" + DB.TO_STRING(language)+ ") WHERE o.C_Activity_ID="; + else + return "SELECT Value,Name FROM C_Activity WHERE C_Activity_ID="; + } else if ( elementType.equals(ELEMENTTYPE_LocationFrom) + || elementType.equals(ELEMENTTYPE_LocationTo)) { return "SELECT City,Address1 FROM C_Location WHERE C_Location_ID="; - else if (elementType.equals(ELEMENTTYPE_LocationTo)) - return "SELECT City,Address1 FROM C_Location WHERE C_Location_ID="; - else if (elementType.equals(ELEMENTTYPE_Campaign)) - return "SELECT Value,Name FROM C_Campaign WHERE C_Campaign_ID="; - else if (elementType.equals(ELEMENTTYPE_OrgTrx)) + } else if (elementType.equals(ELEMENTTYPE_Campaign)) { + if (translated) + return "SELECT Value,Name FROM C_Campaign o JOIN C_Campaign_Trl t ON (o.C_Campaign_ID=t.C_Campaign_ID AND t.AD_Language=" + DB.TO_STRING(language)+ ") WHERE o.C_Campaign_ID="; + else + return "SELECT Value,Name FROM C_Campaign WHERE C_Campaign_ID="; + } else if (elementType.equals(ELEMENTTYPE_OrgTrx)) { return "SELECT Value,Name FROM AD_Org WHERE AD_Org_ID="; - else if (elementType.equals(ELEMENTTYPE_Project)) + } else if (elementType.equals(ELEMENTTYPE_Project)) { return "SELECT Value,Name FROM C_Project WHERE C_Project_ID="; - else if (elementType.equals(ELEMENTTYPE_SalesRegion)) - return "SELECT Value,Name FROM C_SalesRegion WHERE C_SalesRegion_ID="; // ADEMPIERE-119 / Freepath - else if (elementType.equals(ELEMENTTYPE_UserElementList1)) - return "SELECT Value,Name FROM C_ElementValue WHERE C_ElementValue_ID="; - else if (elementType.equals(ELEMENTTYPE_UserElementList2)) - return "SELECT Value,Name FROM C_ElementValue WHERE C_ElementValue_ID="; + } else if (elementType.equals(ELEMENTTYPE_SalesRegion)) { + if (translated) + return "SELECT Value,Name FROM C_SalesRegion o JOIN C_SalesRegion_Trl t ON (o.C_SalesRegion_ID=t.C_SalesRegion_ID AND t.AD_Language=" + DB.TO_STRING(language)+ ") WHERE o.C_SalesRegion_ID="; // ADEMPIERE-119 / Freepath + else + return "SELECT Value,Name FROM C_SalesRegion WHERE C_SalesRegion_ID="; // ADEMPIERE-119 / Freepath // - else if (elementType.equals(ELEMENTTYPE_UserColumn1)) - return null; - else if (elementType.equals(ELEMENTTYPE_UserColumn2)) + } else if ( elementType.equals(ELEMENTTYPE_UserColumn1) + || elementType.equals(ELEMENTTYPE_UserColumn2)) { return null; + } // return ""; } // getColumnName From 358328d0c9a7e12221109bb34ae3646e8c5caa3b Mon Sep 17 00:00:00 2001 From: Hideaki Hagiwara Date: Wed, 25 Jan 2017 22:18:44 +0900 Subject: [PATCH 16/26] IDEMPIERE-3287 --- .../src/org/adempiere/webui/editor/WPAttributeEditor.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WPAttributeEditor.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WPAttributeEditor.java index 7690b12176..14377479be 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WPAttributeEditor.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WPAttributeEditor.java @@ -199,7 +199,13 @@ public class WPAttributeEditor extends WEditor implements ContextMenuListener getComponent().setText(vad.getM_AttributeSetInstanceName()); M_AttributeSetInstance_ID = vad.getM_AttributeSetInstance_ID(); if (m_GridTab != null && !productWindow && vad.getM_Locator_ID() > 0) - m_GridTab.setValue("M_Locator_ID", vad.getM_Locator_ID()); + { + if (gridField.getColumnName().equals("M_AttributeSetInstanceTo_ID")) + m_GridTab.setValue("M_LocatorTo_ID", vad.getM_Locator_ID()); + else + m_GridTab.setValue("M_Locator_ID", vad.getM_Locator_ID()); + + } changed = true; } From 60244ffc971ace29192da9fc9b2eb1d95c15cb6b Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Tue, 14 Feb 2017 08:40:25 +0100 Subject: [PATCH 17/26] IDEMPIERE-2459 Calculated Child Taxes Amount Sum is not equal to Parent Tax Amount Sum (cause wrong grand total) --- .../src/org/compiere/model/MTax.java | 40 +++++++++++-------- 1 file changed, 24 insertions(+), 16 deletions(-) diff --git a/org.adempiere.base/src/org/compiere/model/MTax.java b/org.adempiere.base/src/org/compiere/model/MTax.java index 4aff126572..04336ada00 100644 --- a/org.adempiere.base/src/org/compiere/model/MTax.java +++ b/org.adempiere.base/src/org/compiere/model/MTax.java @@ -255,25 +255,33 @@ public class MTax extends X_C_Tax // Null Tax if (isZeroTax()) return Env.ZERO; - - BigDecimal multiplier = getRate().divide(Env.ONEHUNDRED, 12, BigDecimal.ROUND_HALF_UP); - BigDecimal tax = null; - if (!taxIncluded) // $100 * 6 / 100 == $6 == $100 * 0.06 - { - tax = amount.multiply (multiplier); + MTax[] taxarray; + if (isSummary()) + taxarray = getChildTaxes(false); + else + taxarray = new MTax[] {this}; + + BigDecimal tax = Env.ZERO; + for (MTax taxc : taxarray) { + BigDecimal multiplier = taxc.getRate().divide(Env.ONEHUNDRED, 12, BigDecimal.ROUND_HALF_UP); + if (!taxIncluded) // $100 * 6 / 100 == $6 == $100 * 0.06 + { + BigDecimal itax = amount.multiply(multiplier).setScale(scale, BigDecimal.ROUND_HALF_UP); + tax = tax.add(itax); + } + else // $106 - ($106 / (100+6)/100) == $6 == $106 - ($106/1.06) + { + multiplier = multiplier.add(Env.ONE); + BigDecimal base = amount.divide(multiplier, 12, BigDecimal.ROUND_HALF_UP); + BigDecimal itax = amount.subtract(base).setScale(scale, BigDecimal.ROUND_HALF_UP); + tax = tax.add(itax); + } } - else // $106 - ($106 / (100+6)/100) == $6 == $106 - ($106/1.06) - { - multiplier = multiplier.add(Env.ONE); - BigDecimal base = amount.divide(multiplier, 12, BigDecimal.ROUND_HALF_UP); - tax = amount.subtract(base); - } - BigDecimal finalTax = tax.setScale(scale, BigDecimal.ROUND_HALF_UP); if (log.isLoggable(Level.FINE)) log.fine("calculateTax " + amount - + " (incl=" + taxIncluded + ",mult=" + multiplier + ",scale=" + scale - + ") = " + finalTax + " [" + tax + "]"); - return finalTax; + + " (incl=" + taxIncluded + ",scale=" + scale + + ") = " + tax + " [" + tax + "]"); + return tax; } // calculateTax @Override From 27a4b74e690b5d0e7e2634e7dd78482b0d9c62e5 Mon Sep 17 00:00:00 2001 From: Heng Sin Low Date: Thu, 12 May 2016 23:32:20 +0800 Subject: [PATCH 18/26] 1006064 NPE / IDEMPIERE-3115 --- org.adempiere.base/src/org/compiere/model/MStyle.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.adempiere.base/src/org/compiere/model/MStyle.java b/org.adempiere.base/src/org/compiere/model/MStyle.java index 9fd1aad429..c6350c1300 100644 --- a/org.adempiere.base/src/org/compiere/model/MStyle.java +++ b/org.adempiere.base/src/org/compiere/model/MStyle.java @@ -47,7 +47,7 @@ public class MStyle extends X_AD_Style { public X_AD_StyleLine[] getStyleLines() { if (m_lines == null) { - Query query = new Query(Env.getCtx(), I_AD_StyleLine.Table_Name, "AD_Style_ID=?", null); + Query query = new Query(Env.getCtx(), I_AD_StyleLine.Table_Name, "AD_Style_ID=? AND InlineStyle IS NOT NULL", null); List lines = query.setParameters(getAD_Style_ID()).setOnlyActiveRecords(true).setOrderBy("Line").list(); m_lines = lines.toArray(new X_AD_StyleLine[0]); } From d716294269eacb16faeef728fbd277f818bb6862 Mon Sep 17 00:00:00 2001 From: hieplq Date: Sat, 11 Feb 2017 00:06:57 +0700 Subject: [PATCH 19/26] IDEMPIERE-3136:all stuff relate library of idempiere new release of atmosphere don't compatible, so limit it to 2.x --- org.adempiere.sdk-feature/adempiere.cquery | 1 + 1 file changed, 1 insertion(+) diff --git a/org.adempiere.sdk-feature/adempiere.cquery b/org.adempiere.sdk-feature/adempiere.cquery index 2d1e5120c2..18ac9e2d6d 100644 --- a/org.adempiere.sdk-feature/adempiere.cquery +++ b/org.adempiere.sdk-feature/adempiere.cquery @@ -12,5 +12,6 @@ + From 7ff767c15439d83b6ed3a95afa70a7bd9a31792c Mon Sep 17 00:00:00 2001 From: hieplq Date: Sat, 11 Feb 2017 00:44:25 +0700 Subject: [PATCH 20/26] IDEMPIERE-3136:all stuff relate library of idempiere fix miss package import from fileupload --- org.idempiere.zk.extra/META-INF/MANIFEST.MF | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/org.idempiere.zk.extra/META-INF/MANIFEST.MF b/org.idempiere.zk.extra/META-INF/MANIFEST.MF index d887767ad4..594b1ad78c 100644 --- a/org.idempiere.zk.extra/META-INF/MANIFEST.MF +++ b/org.idempiere.zk.extra/META-INF/MANIFEST.MF @@ -124,11 +124,9 @@ Require-Bundle: zcommon, zkplus, zul, zweb, - zjavassist + zjavassist, + org.apache.commons.fileupload;bundle-version="1.2.2" Import-Package: javax.servlet;version="3.1.0", javax.servlet.annotation;version="3.1.0", javax.servlet.descriptor;version="3.1.0", - javax.servlet.http;version="3.1.0", - org.apache.commons.fileupload;version="1.2.2", - org.apache.commons.fileupload.servlet;version="1.2.2", - org.apache.commons.fileupload.util;version="1.2.2" + javax.servlet.http;version="3.1.0" From 654bd882dcdbf3acbf198c5bdcf2a81b9ebbcc54 Mon Sep 17 00:00:00 2001 From: Diego Ruiz Date: Wed, 1 Feb 2017 18:28:01 +0100 Subject: [PATCH 21/26] IDEMPIERE-3291 - Increase length of ConstantValue in WS_WebService_Para --- .../i4.1/oracle/201702011823_IDEMPIERE-3291.sql | 15 +++++++++++++++ .../postgresql/201702011823_IDEMPIERE-3291.sql | 12 ++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 migration/i4.1/oracle/201702011823_IDEMPIERE-3291.sql create mode 100644 migration/i4.1/postgresql/201702011823_IDEMPIERE-3291.sql diff --git a/migration/i4.1/oracle/201702011823_IDEMPIERE-3291.sql b/migration/i4.1/oracle/201702011823_IDEMPIERE-3291.sql new file mode 100644 index 0000000000..567bdc72e0 --- /dev/null +++ b/migration/i4.1/oracle/201702011823_IDEMPIERE-3291.sql @@ -0,0 +1,15 @@ +SET SQLBLANKLINES ON +SET DEFINE OFF + +-- IDEMPIERE-3291 - Increase length of ConstantValue in WS_WebService_Para +-- Feb 1, 2017 6:17:46 PM CET +UPDATE AD_Column SET FieldLength=2000,Updated=TO_DATE('2017-02-01 18:17:46','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=56745 +; + +-- Feb 1, 2017 6:17:51 PM CET +ALTER TABLE WS_WebService_Para MODIFY ConstantValue NVARCHAR2(2000) DEFAULT NULL +; + + +SELECT register_migration_script('201702011823_IDEMPIERE-3291.sql') FROM dual +; diff --git a/migration/i4.1/postgresql/201702011823_IDEMPIERE-3291.sql b/migration/i4.1/postgresql/201702011823_IDEMPIERE-3291.sql new file mode 100644 index 0000000000..16fc592238 --- /dev/null +++ b/migration/i4.1/postgresql/201702011823_IDEMPIERE-3291.sql @@ -0,0 +1,12 @@ +-- IDEMPIERE-3291 - Increase length of ConstantValue in WS_WebService_Para +-- Feb 1, 2017 6:17:46 PM CET +UPDATE AD_Column SET FieldLength=2000,Updated=TO_TIMESTAMP('2017-02-01 18:17:46','YYYY-MM-DD HH24:MI:SS'),UpdatedBy=100 WHERE AD_Column_ID=56745 +; + +-- Feb 1, 2017 6:17:51 PM CET +INSERT INTO t_alter_column values('ws_webservice_para','ConstantValue','VARCHAR(2000)',null,'NULL') +; + +SELECT register_migration_script('201702011823_IDEMPIERE-3291.sql') FROM dual +; + From e7f15a3b498918c6f6091b3e24720e4adec4b177 Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Tue, 14 Feb 2017 13:27:27 +0100 Subject: [PATCH 22/26] IDEMPIERE-3289 DocAction button at second tab level. / based on patch from Fernando Moraes --- org.adempiere.ui.swing/src/org/compiere/grid/ed/VDocAction.java | 2 +- .../WEB-INF/src/org/adempiere/webui/panel/WDocActionPanel.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/org.adempiere.ui.swing/src/org/compiere/grid/ed/VDocAction.java b/org.adempiere.ui.swing/src/org/compiere/grid/ed/VDocAction.java index 1495914932..0ae4145f39 100644 --- a/org.adempiere.ui.swing/src/org/compiere/grid/ed/VDocAction.java +++ b/org.adempiere.ui.swing/src/org/compiere/grid/ed/VDocAction.java @@ -93,7 +93,7 @@ public class VDocAction extends CDialog } // dynamic init preparation - m_AD_Table_ID = Env.getContextAsInt(Env.getCtx(), WindowNo, "BaseTable_ID"); + m_AD_Table_ID = mTab.getAD_Table_ID(); if (s_value == null) readReference(); // diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/WDocActionPanel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/WDocActionPanel.java index f52bb9c87b..fd3da6d805 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/WDocActionPanel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/WDocActionPanel.java @@ -98,7 +98,7 @@ public class WDocActionPanel extends Window implements EventListener, Dia DocStatus = (String)gridTab.getValue("DocStatus"); DocAction = (String)gridTab.getValue("DocAction"); - m_AD_Table_ID = Env.getContextAsInt(Env.getCtx(), gridTab.getWindowNo(), "BaseTable_ID"); + m_AD_Table_ID = mgridTab.getAD_Table_ID(); readReference(); initComponents(); From d5cba25082cda40b4f3a8c717c03a89a088d2e2d Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Fri, 17 Feb 2017 19:57:18 +0100 Subject: [PATCH 23/26] IDEMPIERE-259 Cannot set tab display logic based on specific tab value of field --- org.adempiere.base/src/org/compiere/util/Evaluator.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/org.adempiere.base/src/org/compiere/util/Evaluator.java b/org.adempiere.base/src/org/compiere/util/Evaluator.java index 104a863fe6..04379437fb 100644 --- a/org.adempiere.base/src/org/compiere/util/Evaluator.java +++ b/org.adempiere.base/src/org/compiere/util/Evaluator.java @@ -126,7 +126,7 @@ public class Evaluator retValue = retValue | temp; else { - s_log.log(Level.SEVERE, "Logic operant '|' or '&' expected => " + logic); + s_log.log(Level.SEVERE, "Logic operand '|' or '&' expected => " + logic); return false; } } // hasMoreTokens @@ -289,6 +289,8 @@ public class Evaluator // log.fine( variable); if (variable.startsWith("~")) variable = variable.substring(1); + // strip also @tabno| + variable = variable.replaceFirst("[0-9][0-9]*\\|", ""); if (variable.indexOf(".") > 0) variable = variable.substring(0, variable.indexOf(".")); list.add(variable); From b4f0213136f11211f988314717793582d0123217 Mon Sep 17 00:00:00 2001 From: Nicolas Micoud Date: Fri, 17 Feb 2017 21:14:00 +0100 Subject: [PATCH 24/26] IDEMPIERE-1200 Check consistency of IBAN --- .../src/org/compiere/model/MBankAccount.java | 20 ++++++ .../src/org/compiere/util/IBAN.java | 67 +++++++++++++++++++ .../src/org/compiere/util/IBAN.properties | 45 +++++++++++++ 3 files changed, 132 insertions(+) create mode 100644 org.adempiere.base/src/org/compiere/util/IBAN.java create mode 100644 org.adempiere.base/src/org/compiere/util/IBAN.properties diff --git a/org.adempiere.base/src/org/compiere/model/MBankAccount.java b/org.adempiere.base/src/org/compiere/model/MBankAccount.java index 54a6a578bc..9e7604519d 100644 --- a/org.adempiere.base/src/org/compiere/model/MBankAccount.java +++ b/org.adempiere.base/src/org/compiere/model/MBankAccount.java @@ -21,6 +21,8 @@ import java.util.Properties; import org.compiere.util.CCache; import org.compiere.util.Env; +import org.compiere.util.IBAN; +import org.compiere.util.Util; /** @@ -133,5 +135,23 @@ public class MBankAccount extends X_C_BankAccount return insert_Accounting("C_BankAccount_Acct", "C_AcctSchema_Default", null); return success; } // afterSave + + protected boolean beforeSave (boolean newRecord) + { + if (!Util.isEmpty(getIBAN())) { + setIBAN(getIBAN().trim().replace(" ", "")); + try { + if (!IBAN.isCheckDigitValid(getIBAN())) { + log.saveError("Error", "IBAN is invalid"); + return false; + } + } catch (Exception e) { + log.saveError("Error", "IBAN is invalid"); + return false; + } + } + + return true; + } } // MBankAccount diff --git a/org.adempiere.base/src/org/compiere/util/IBAN.java b/org.adempiere.base/src/org/compiere/util/IBAN.java new file mode 100644 index 0000000000..c8a58f4b0c --- /dev/null +++ b/org.adempiere.base/src/org/compiere/util/IBAN.java @@ -0,0 +1,67 @@ +package org.compiere.util; + +import java.math.BigInteger; + +import java.util.ResourceBundle; + +public class IBAN { + /** + * Determines if the given IBAN is valid based on the check digit. + * To validate the checksum: + * 1. Check that the total IBAN length is correct as per the country. If not, the IBAN is invalid. + * 2. Move the four initial characters to the end of the string. + * 3. Replace the letters in the string with digits, expanding the string as necessary, such that A=10, B=11 and Z=35. + * 4. Convert the string to an integer and mod-97 the entire number. + * If the remainder is 1 you have a valid IBAN number. + * @param iban + * @return boolean indicating if specific IBAN has a valid check digit + */ + public static boolean isCheckDigitValid(String iban) { + if (null == iban) return false; + + int validIBANLength = getValidIBANLength(iban); + if (validIBANLength < 4) return false; + if (iban.length() != validIBANLength) return false; + + BigInteger numericIBAN = getNumericIBAN(iban, false); + + int checkDigit = numericIBAN.mod(new BigInteger("97")).intValue(); + return checkDigit == 1; + } + + /** + * Using the IBAN.properties file gets the valid fixed length value for a country code. + * Only uses the first 2 characters of the given string. + * @param countryCode + * @return + */ + public static int getValidIBANLength(String countryCode) { + String code = countryCode.substring(0,2).toUpperCase(); + String length = ResourceBundle.getBundle(IBAN.class.getCanonicalName()).getString("length."+code); + if (length == null) return -1; + return Integer.valueOf(length).intValue(); + } + + private static BigInteger getNumericIBAN(String iban, boolean isCheckDigitAtEnd) { + String endCheckDigitIBAN = iban; + if (!isCheckDigitAtEnd) { + //Move first four characters to end of string to put check digit at end + endCheckDigitIBAN = iban.substring(4) + iban.substring(0, 4); + } + StringBuffer numericIBAN = new StringBuffer(); + for (int i = 0; i < endCheckDigitIBAN.length(); i++) { + if (Character.isDigit(endCheckDigitIBAN.charAt(i))) { + numericIBAN.append(endCheckDigitIBAN.charAt(i)); + } else { + numericIBAN.append(10 + getAlphabetPosition(endCheckDigitIBAN.charAt(i))); + } + } + + return new BigInteger(numericIBAN.toString()); + } + + private static int getAlphabetPosition(char letter) { + return Character.valueOf(Character.toUpperCase(letter)).compareTo(Character.valueOf('A')); + } + +} diff --git a/org.adempiere.base/src/org/compiere/util/IBAN.properties b/org.adempiere.base/src/org/compiere/util/IBAN.properties new file mode 100644 index 0000000000..b7f8ee6107 --- /dev/null +++ b/org.adempiere.base/src/org/compiere/util/IBAN.properties @@ -0,0 +1,45 @@ +# IBAN related properties. Includes IBAN lengths for different countries +length.AD=24 +length.AT=20 +length.BE=16 +length.BA=20 +length.BG=22 +length.CH=21 +length.CY=28 +length.CZ=24 +length.DE=22 +length.DK=18 +length.EE=20 +length.ES=24 +length.FO=18 +length.FI=18 +length.FR=27 +length.GB=22 +length.GI=23 +length.GL=18 +length.GR=27 +length.HU=28 +length.HR=21 +length.IE=22 +length.IS=26 +length.IT=27 +length.LI=21 +length.LT=20 +length.LU=20 +length.LV=21 +length.MA=24 +length.MC=27 +length.MK=19 +length.MT=31 +length.NL=18 +length.NO=15 +length.PL=28 +length.PT=25 +length.RO=24 +length.RS=22 +length.SE=24 +length.SI=19 +length.SK=24 +length.SM=27 +length.TN=24 +length.TR=26 From 04928f78b8361fb592341a957625a70cff76423f Mon Sep 17 00:00:00 2001 From: markus_bozem Date: Fri, 17 Feb 2017 21:14:57 +0100 Subject: [PATCH 25/26] IDEMPIERE-1200 Validate IBAN in C_BankAccount, C_BP_BankAccount, C_Payment, C_PaymentTransaction Config via IBAN_VALIDATION, Default is Y --- .../oracle/201701191158_IDEMPIERE-1200.sql | 10 ++ .../201701191158_IDEMPIERE-1200.sql | 7 + .../org/compiere/model/MBPBankAccount.java | 14 ++ .../src/org/compiere/model/MBankAccount.java | 41 +++--- .../src/org/compiere/model/MPayment.java | 13 ++ .../compiere/model/MPaymentTransaction.java | 13 ++ .../src/org/compiere/model/MSysConfig.java | 1 + .../src/org/compiere/util/IBAN.java | 136 ++++++++++-------- 8 files changed, 161 insertions(+), 74 deletions(-) create mode 100644 migration/i4.1/oracle/201701191158_IDEMPIERE-1200.sql create mode 100644 migration/i4.1/postgresql/201701191158_IDEMPIERE-1200.sql diff --git a/migration/i4.1/oracle/201701191158_IDEMPIERE-1200.sql b/migration/i4.1/oracle/201701191158_IDEMPIERE-1200.sql new file mode 100644 index 0000000000..13cd5a6e95 --- /dev/null +++ b/migration/i4.1/oracle/201701191158_IDEMPIERE-1200.sql @@ -0,0 +1,10 @@ +SET SQLBLANKLINES ON +SET DEFINE OFF + +-- IBAN validation IDEMPIERE-1200 +-- Jan 19, 2017 10:54:38 AM CET +INSERT INTO AD_SysConfig (AD_SysConfig_ID,AD_Client_ID,AD_Org_ID,Created,Updated,CreatedBy,UpdatedBy,IsActive,Name,Value,Description,EntityType,ConfigurationLevel,AD_SysConfig_UU) VALUES (200086,0,0,TO_DATE('2017-01-19 10:54:37','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2017-01-19 10:54:37','YYYY-MM-DD HH24:MI:SS'),0,0,'Y','IBAN_VALIDATION','Y','Enables the validation of IBAN fields','D','S','1b324142-ae32-4cff-9ea9-792df3e4d142') +; + +SELECT register_migration_script('201701191158_IDEMPIERE-1200') FROM dual +; \ No newline at end of file diff --git a/migration/i4.1/postgresql/201701191158_IDEMPIERE-1200.sql b/migration/i4.1/postgresql/201701191158_IDEMPIERE-1200.sql new file mode 100644 index 0000000000..85bcdb0f1d --- /dev/null +++ b/migration/i4.1/postgresql/201701191158_IDEMPIERE-1200.sql @@ -0,0 +1,7 @@ +-- IBAN validation IDEMPIERE-1200 +-- Jan 19, 2017 10:54:38 AM CET +INSERT INTO AD_SysConfig (AD_SysConfig_ID,AD_Client_ID,AD_Org_ID,Created,Updated,CreatedBy,UpdatedBy,IsActive,Name,Value,Description,EntityType,ConfigurationLevel,AD_SysConfig_UU) VALUES (200086,0,0,TO_TIMESTAMP('2017-01-19 10:54:37','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2017-01-19 10:54:37','YYYY-MM-DD HH24:MI:SS'),0,0,'Y','IBAN_VALIDATION','Y','Enables the validation of IBAN fields','D','S','1b324142-ae32-4cff-9ea9-792df3e4d142') +; + +SELECT register_migration_script('201701191158_IDEMPIERE-1200') FROM dual +; \ No newline at end of file diff --git a/org.adempiere.base/src/org/compiere/model/MBPBankAccount.java b/org.adempiere.base/src/org/compiere/model/MBPBankAccount.java index f87b8192ef..424c557537 100644 --- a/org.adempiere.base/src/org/compiere/model/MBPBankAccount.java +++ b/org.adempiere.base/src/org/compiere/model/MBPBankAccount.java @@ -22,6 +22,9 @@ import java.util.Properties; import org.adempiere.util.PaymentUtil; import org.compiere.util.CLogger; +import org.compiere.util.Env; +import org.compiere.util.IBAN; +import org.compiere.util.Util; /** * BP Bank Account Model @@ -207,6 +210,17 @@ public class MBPBankAccount extends X_C_BP_BankAccount setCreditCardVV(encrpytedCvv); } + if (MSysConfig.getBooleanValue(MSysConfig.IBAN_VALIDATION, false, + Env.getContextAsInt(Env.getCtx(), "#AD_Client_ID"))) { + if (!Util.isEmpty(getIBAN())) { + setIBAN(IBAN.normalizeIBAN(getIBAN())); + if (!IBAN.isCheckDigitValid(getIBAN())) { + log.saveError("Error", "IBAN is invalid"); + return false; + } + } + } + return true; } // beforeSave diff --git a/org.adempiere.base/src/org/compiere/model/MBankAccount.java b/org.adempiere.base/src/org/compiere/model/MBankAccount.java index 9e7604519d..fc7522f0ed 100644 --- a/org.adempiere.base/src/org/compiere/model/MBankAccount.java +++ b/org.adempiere.base/src/org/compiere/model/MBankAccount.java @@ -123,6 +123,29 @@ public class MBankAccount extends X_C_BankAccount return msgreturn.toString(); } // getName + + /** + * Before Save + * @param newRecord new record + * @return success + */ + + protected boolean beforeSave(boolean newRecord) { + + if (MSysConfig.getBooleanValue(MSysConfig.IBAN_VALIDATION, false, + Env.getContextAsInt(Env.getCtx(), "#AD_Client_ID"))) { + if (!Util.isEmpty(getIBAN())) { + setIBAN(IBAN.normalizeIBAN(getIBAN())); + if (!IBAN.isCheckDigitValid(getIBAN())) { + log.saveError("Error", "IBAN is invalid"); + return false; + } + } + } + + return true; + } // beforeSave + /** * After Save * @param newRecord new record @@ -135,23 +158,5 @@ public class MBankAccount extends X_C_BankAccount return insert_Accounting("C_BankAccount_Acct", "C_AcctSchema_Default", null); return success; } // afterSave - - protected boolean beforeSave (boolean newRecord) - { - if (!Util.isEmpty(getIBAN())) { - setIBAN(getIBAN().trim().replace(" ", "")); - try { - if (!IBAN.isCheckDigitValid(getIBAN())) { - log.saveError("Error", "IBAN is invalid"); - return false; - } - } catch (Exception e) { - log.saveError("Error", "IBAN is invalid"); - return false; - } - } - - return true; - } } // MBankAccount diff --git a/org.adempiere.base/src/org/compiere/model/MPayment.java b/org.adempiere.base/src/org/compiere/model/MPayment.java index b495b1520a..5ef79f52e3 100644 --- a/org.adempiere.base/src/org/compiere/model/MPayment.java +++ b/org.adempiere.base/src/org/compiere/model/MPayment.java @@ -38,8 +38,10 @@ import org.compiere.process.ProcessInfo; import org.compiere.util.CLogger; import org.compiere.util.DB; import org.compiere.util.Env; +import org.compiere.util.IBAN; import org.compiere.util.Msg; import org.compiere.util.Trx; +import org.compiere.util.Util; import org.compiere.util.ValueNamePair; /** @@ -796,6 +798,17 @@ public class MPayment extends X_C_Payment } } + if (MSysConfig.getBooleanValue(MSysConfig.IBAN_VALIDATION, false, + Env.getContextAsInt(Env.getCtx(), "#AD_Client_ID"))) { + if (!Util.isEmpty(getIBAN())) { + setIBAN(IBAN.normalizeIBAN(getIBAN())); + if (!IBAN.isCheckDigitValid(getIBAN())) { + log.saveError("Error", "IBAN is invalid"); + return false; + } + } + } + return true; } // beforeSave diff --git a/org.adempiere.base/src/org/compiere/model/MPaymentTransaction.java b/org.adempiere.base/src/org/compiere/model/MPaymentTransaction.java index 5c9b59867a..c6738d6c5d 100644 --- a/org.adempiere.base/src/org/compiere/model/MPaymentTransaction.java +++ b/org.adempiere.base/src/org/compiere/model/MPaymentTransaction.java @@ -26,8 +26,10 @@ import org.compiere.process.DocAction; import org.compiere.process.ProcessCall; import org.compiere.process.ProcessInfo; import org.compiere.util.Env; +import org.compiere.util.IBAN; import org.compiere.util.Msg; import org.compiere.util.Trx; +import org.compiere.util.Util; /** * @@ -81,6 +83,17 @@ public class MPaymentTransaction extends X_C_PaymentTransaction implements Proce setCreditCardVV(encrpytedCvv); } + if (MSysConfig.getBooleanValue(MSysConfig.IBAN_VALIDATION, false, + Env.getContextAsInt(Env.getCtx(), "#AD_Client_ID"))) { + if (!Util.isEmpty(getIBAN())) { + setIBAN(IBAN.normalizeIBAN(getIBAN())); + if (!IBAN.isCheckDigitValid(getIBAN())) { + log.saveError("Error", "IBAN is invalid"); + return false; + } + } + } + return true; } diff --git a/org.adempiere.base/src/org/compiere/model/MSysConfig.java b/org.adempiere.base/src/org/compiere/model/MSysConfig.java index 57990670e8..6be031d1ab 100644 --- a/org.adempiere.base/src/org/compiere/model/MSysConfig.java +++ b/org.adempiere.base/src/org/compiere/model/MSysConfig.java @@ -84,6 +84,7 @@ public class MSysConfig extends X_AD_SysConfig public static final String ENABLE_PAYMENTBOX_BUTTON = "ENABLE_PAYMENTBOX_BUTTON"; public static final String GRIDTABLE_LOAD_TIMEOUT_IN_SECONDS = "GRIDTABLE_LOAD_TIMEOUT_IN_SECONDS"; public static final String HTML_REPORT_THEME = "HTML_REPORT_THEME"; + public static final String IBAN_VALIDATION = "IBAN_VALIDATION" ; public static final String Invoice_ReverseUseNewNumber = "Invoice_ReverseUseNewNumber"; public static final String JASPER_SWAP_MAX_PAGES = "JASPER_SWAP_MAX_PAGES"; public static final String LASTRUN_RECORD_COUNT = "LASTRUN_RECORD_COUNT"; diff --git a/org.adempiere.base/src/org/compiere/util/IBAN.java b/org.adempiere.base/src/org/compiere/util/IBAN.java index c8a58f4b0c..46a1a8e85c 100644 --- a/org.adempiere.base/src/org/compiere/util/IBAN.java +++ b/org.adempiere.base/src/org/compiere/util/IBAN.java @@ -5,63 +5,87 @@ import java.math.BigInteger; import java.util.ResourceBundle; public class IBAN { - /** - * Determines if the given IBAN is valid based on the check digit. - * To validate the checksum: - * 1. Check that the total IBAN length is correct as per the country. If not, the IBAN is invalid. - * 2. Move the four initial characters to the end of the string. - * 3. Replace the letters in the string with digits, expanding the string as necessary, such that A=10, B=11 and Z=35. - * 4. Convert the string to an integer and mod-97 the entire number. - * If the remainder is 1 you have a valid IBAN number. - * @param iban - * @return boolean indicating if specific IBAN has a valid check digit - */ - public static boolean isCheckDigitValid(String iban) { - if (null == iban) return false; - - int validIBANLength = getValidIBANLength(iban); - if (validIBANLength < 4) return false; - if (iban.length() != validIBANLength) return false; - - BigInteger numericIBAN = getNumericIBAN(iban, false); + + /** + * @param iban + * @return normalized IBAN + */ + + public static String normalizeIBAN(String iban) + { + if (iban!=null) + { + return iban.trim().replace(" ", "") ; + } + return null ; + } + /** + * Determines if the given IBAN is valid based on the check digit. To + * validate the checksum: 1. Check that the total IBAN length is correct as + * per the country. If not, the IBAN is invalid. 2. Move the four initial + * characters to the end of the string. 3. Replace the letters in the string + * with digits, expanding the string as necessary, such that A=10, B=11 and + * Z=35. 4. Convert the string to an integer and mod-97 the entire number. + * If the remainder is 1 you have a valid IBAN number. + * + * @param iban + * @return boolean indicating if specific IBAN has a valid check digit + */ + public static boolean isCheckDigitValid(String iban) { + try { + if (null == iban) + return false; + int validIBANLength = getValidIBANLength(iban); + if (validIBANLength < 4) + return false; + if (iban.length() != validIBANLength) + return false; - int checkDigit = numericIBAN.mod(new BigInteger("97")).intValue(); - return checkDigit == 1; - } - - /** - * Using the IBAN.properties file gets the valid fixed length value for a country code. - * Only uses the first 2 characters of the given string. - * @param countryCode - * @return - */ - public static int getValidIBANLength(String countryCode) { - String code = countryCode.substring(0,2).toUpperCase(); - String length = ResourceBundle.getBundle(IBAN.class.getCanonicalName()).getString("length."+code); - if (length == null) return -1; - return Integer.valueOf(length).intValue(); - } - - private static BigInteger getNumericIBAN(String iban, boolean isCheckDigitAtEnd) { - String endCheckDigitIBAN = iban; - if (!isCheckDigitAtEnd) { - //Move first four characters to end of string to put check digit at end - endCheckDigitIBAN = iban.substring(4) + iban.substring(0, 4); - } - StringBuffer numericIBAN = new StringBuffer(); - for (int i = 0; i < endCheckDigitIBAN.length(); i++) { - if (Character.isDigit(endCheckDigitIBAN.charAt(i))) { - numericIBAN.append(endCheckDigitIBAN.charAt(i)); - } else { - numericIBAN.append(10 + getAlphabetPosition(endCheckDigitIBAN.charAt(i))); - } - } - - return new BigInteger(numericIBAN.toString()); - } + BigInteger numericIBAN = getNumericIBAN(iban, false); - private static int getAlphabetPosition(char letter) { - return Character.valueOf(Character.toUpperCase(letter)).compareTo(Character.valueOf('A')); - } + int checkDigit = numericIBAN.mod(new BigInteger("97")).intValue(); + return checkDigit == 1; + } catch (Exception e) { + return false; + } + } + + /** + * Using the IBAN.properties file gets the valid fixed length value for a + * country code. Only uses the first 2 characters of the given string. + * + * @param countryCode + * @return + */ + public static int getValidIBANLength(String countryCode) { + String code = countryCode.substring(0, 2).toUpperCase(); + String length = ResourceBundle.getBundle(IBAN.class.getCanonicalName()).getString("length." + code); + if (length == null) + return -1; + return Integer.valueOf(length).intValue(); + } + + private static BigInteger getNumericIBAN(String iban, boolean isCheckDigitAtEnd) { + String endCheckDigitIBAN = iban; + if (!isCheckDigitAtEnd) { + // Move first four characters to end of string to put check digit at + // end + endCheckDigitIBAN = iban.substring(4) + iban.substring(0, 4); + } + StringBuffer numericIBAN = new StringBuffer(); + for (int i = 0; i < endCheckDigitIBAN.length(); i++) { + if (Character.isDigit(endCheckDigitIBAN.charAt(i))) { + numericIBAN.append(endCheckDigitIBAN.charAt(i)); + } else { + numericIBAN.append(10 + getAlphabetPosition(endCheckDigitIBAN.charAt(i))); + } + } + + return new BigInteger(numericIBAN.toString()); + } + + private static int getAlphabetPosition(char letter) { + return Character.valueOf(Character.toUpperCase(letter)).compareTo(Character.valueOf('A')); + } } From 98d73702f3e8e9869ce5be84ca05ac2137b34f4f Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Fri, 17 Feb 2017 21:15:45 +0100 Subject: [PATCH 26/26] IDEMPIERE-1200 Check consistency of IBAN / peer review --- migration/i4.1/oracle/201701191158_IDEMPIERE-1200.sql | 6 +++--- migration/i4.1/postgresql/201701191158_IDEMPIERE-1200.sql | 6 +++--- .../src/org/compiere/model/MBPBankAccount.java | 7 +++---- .../src/org/compiere/model/MBankAccount.java | 5 ++--- org.adempiere.base/src/org/compiere/model/MPayment.java | 3 +-- .../src/org/compiere/model/MPaymentTransaction.java | 3 +-- org.adempiere.base/src/org/compiere/model/MSysConfig.java | 2 +- org.adempiere.base/src/org/compiere/util/IBAN.java | 3 +++ 8 files changed, 17 insertions(+), 18 deletions(-) diff --git a/migration/i4.1/oracle/201701191158_IDEMPIERE-1200.sql b/migration/i4.1/oracle/201701191158_IDEMPIERE-1200.sql index 13cd5a6e95..eeafcbaa01 100644 --- a/migration/i4.1/oracle/201701191158_IDEMPIERE-1200.sql +++ b/migration/i4.1/oracle/201701191158_IDEMPIERE-1200.sql @@ -3,8 +3,8 @@ SET DEFINE OFF -- IBAN validation IDEMPIERE-1200 -- Jan 19, 2017 10:54:38 AM CET -INSERT INTO AD_SysConfig (AD_SysConfig_ID,AD_Client_ID,AD_Org_ID,Created,Updated,CreatedBy,UpdatedBy,IsActive,Name,Value,Description,EntityType,ConfigurationLevel,AD_SysConfig_UU) VALUES (200086,0,0,TO_DATE('2017-01-19 10:54:37','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2017-01-19 10:54:37','YYYY-MM-DD HH24:MI:SS'),0,0,'Y','IBAN_VALIDATION','Y','Enables the validation of IBAN fields','D','S','1b324142-ae32-4cff-9ea9-792df3e4d142') +INSERT INTO AD_SysConfig (AD_SysConfig_ID,AD_Client_ID,AD_Org_ID,Created,Updated,CreatedBy,UpdatedBy,IsActive,Name,Value,Description,EntityType,ConfigurationLevel,AD_SysConfig_UU) VALUES (200086,0,0,TO_DATE('2017-01-19 10:54:37','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2017-01-19 10:54:37','YYYY-MM-DD HH24:MI:SS'),0,0,'Y','IBAN_VALIDATION','Y','Enables the validation of IBAN fields','D','C','1b324142-ae32-4cff-9ea9-792df3e4d142') ; -SELECT register_migration_script('201701191158_IDEMPIERE-1200') FROM dual -; \ No newline at end of file +SELECT register_migration_script('201701191158_IDEMPIERE-1200.sql') FROM dual +; diff --git a/migration/i4.1/postgresql/201701191158_IDEMPIERE-1200.sql b/migration/i4.1/postgresql/201701191158_IDEMPIERE-1200.sql index 85bcdb0f1d..2d1d9064f3 100644 --- a/migration/i4.1/postgresql/201701191158_IDEMPIERE-1200.sql +++ b/migration/i4.1/postgresql/201701191158_IDEMPIERE-1200.sql @@ -1,7 +1,7 @@ -- IBAN validation IDEMPIERE-1200 -- Jan 19, 2017 10:54:38 AM CET -INSERT INTO AD_SysConfig (AD_SysConfig_ID,AD_Client_ID,AD_Org_ID,Created,Updated,CreatedBy,UpdatedBy,IsActive,Name,Value,Description,EntityType,ConfigurationLevel,AD_SysConfig_UU) VALUES (200086,0,0,TO_TIMESTAMP('2017-01-19 10:54:37','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2017-01-19 10:54:37','YYYY-MM-DD HH24:MI:SS'),0,0,'Y','IBAN_VALIDATION','Y','Enables the validation of IBAN fields','D','S','1b324142-ae32-4cff-9ea9-792df3e4d142') +INSERT INTO AD_SysConfig (AD_SysConfig_ID,AD_Client_ID,AD_Org_ID,Created,Updated,CreatedBy,UpdatedBy,IsActive,Name,Value,Description,EntityType,ConfigurationLevel,AD_SysConfig_UU) VALUES (200086,0,0,TO_TIMESTAMP('2017-01-19 10:54:37','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2017-01-19 10:54:37','YYYY-MM-DD HH24:MI:SS'),0,0,'Y','IBAN_VALIDATION','Y','Enables the validation of IBAN fields','D','C','1b324142-ae32-4cff-9ea9-792df3e4d142') ; -SELECT register_migration_script('201701191158_IDEMPIERE-1200') FROM dual -; \ No newline at end of file +SELECT register_migration_script('201701191158_IDEMPIERE-1200.sql') FROM dual +; diff --git a/org.adempiere.base/src/org/compiere/model/MBPBankAccount.java b/org.adempiere.base/src/org/compiere/model/MBPBankAccount.java index 424c557537..28fb46e405 100644 --- a/org.adempiere.base/src/org/compiere/model/MBPBankAccount.java +++ b/org.adempiere.base/src/org/compiere/model/MBPBankAccount.java @@ -37,7 +37,7 @@ public class MBPBankAccount extends X_C_BP_BankAccount /** * */ - private static final long serialVersionUID = 2580706419593695062L; + private static final long serialVersionUID = 6826961806519015878L; /** * Get Accounts Of BPartner @@ -210,8 +210,7 @@ public class MBPBankAccount extends X_C_BP_BankAccount setCreditCardVV(encrpytedCvv); } - if (MSysConfig.getBooleanValue(MSysConfig.IBAN_VALIDATION, false, - Env.getContextAsInt(Env.getCtx(), "#AD_Client_ID"))) { + if (MSysConfig.getBooleanValue(MSysConfig.IBAN_VALIDATION, true, Env.getAD_Client_ID(Env.getCtx()))) { if (!Util.isEmpty(getIBAN())) { setIBAN(IBAN.normalizeIBAN(getIBAN())); if (!IBAN.isCheckDigitValid(getIBAN())) { @@ -220,7 +219,7 @@ public class MBPBankAccount extends X_C_BP_BankAccount } } } - + return true; } // beforeSave diff --git a/org.adempiere.base/src/org/compiere/model/MBankAccount.java b/org.adempiere.base/src/org/compiere/model/MBankAccount.java index fc7522f0ed..8f4c076123 100644 --- a/org.adempiere.base/src/org/compiere/model/MBankAccount.java +++ b/org.adempiere.base/src/org/compiere/model/MBankAccount.java @@ -36,7 +36,7 @@ public class MBankAccount extends X_C_BankAccount /** * */ - private static final long serialVersionUID = 2392818253347168347L; + private static final long serialVersionUID = -110709935374907275L; /** * Get BankAccount from Cache @@ -132,8 +132,7 @@ public class MBankAccount extends X_C_BankAccount protected boolean beforeSave(boolean newRecord) { - if (MSysConfig.getBooleanValue(MSysConfig.IBAN_VALIDATION, false, - Env.getContextAsInt(Env.getCtx(), "#AD_Client_ID"))) { + if (MSysConfig.getBooleanValue(MSysConfig.IBAN_VALIDATION, true, Env.getAD_Client_ID(Env.getCtx()))) { if (!Util.isEmpty(getIBAN())) { setIBAN(IBAN.normalizeIBAN(getIBAN())); if (!IBAN.isCheckDigitValid(getIBAN())) { diff --git a/org.adempiere.base/src/org/compiere/model/MPayment.java b/org.adempiere.base/src/org/compiere/model/MPayment.java index 5ef79f52e3..1399cb8bd2 100644 --- a/org.adempiere.base/src/org/compiere/model/MPayment.java +++ b/org.adempiere.base/src/org/compiere/model/MPayment.java @@ -798,8 +798,7 @@ public class MPayment extends X_C_Payment } } - if (MSysConfig.getBooleanValue(MSysConfig.IBAN_VALIDATION, false, - Env.getContextAsInt(Env.getCtx(), "#AD_Client_ID"))) { + if (MSysConfig.getBooleanValue(MSysConfig.IBAN_VALIDATION, true, Env.getAD_Client_ID(Env.getCtx()))) { if (!Util.isEmpty(getIBAN())) { setIBAN(IBAN.normalizeIBAN(getIBAN())); if (!IBAN.isCheckDigitValid(getIBAN())) { diff --git a/org.adempiere.base/src/org/compiere/model/MPaymentTransaction.java b/org.adempiere.base/src/org/compiere/model/MPaymentTransaction.java index c6738d6c5d..2bbbb56fa5 100644 --- a/org.adempiere.base/src/org/compiere/model/MPaymentTransaction.java +++ b/org.adempiere.base/src/org/compiere/model/MPaymentTransaction.java @@ -83,8 +83,7 @@ public class MPaymentTransaction extends X_C_PaymentTransaction implements Proce setCreditCardVV(encrpytedCvv); } - if (MSysConfig.getBooleanValue(MSysConfig.IBAN_VALIDATION, false, - Env.getContextAsInt(Env.getCtx(), "#AD_Client_ID"))) { + if (MSysConfig.getBooleanValue(MSysConfig.IBAN_VALIDATION, true, Env.getAD_Client_ID(Env.getCtx()))) { if (!Util.isEmpty(getIBAN())) { setIBAN(IBAN.normalizeIBAN(getIBAN())); if (!IBAN.isCheckDigitValid(getIBAN())) { diff --git a/org.adempiere.base/src/org/compiere/model/MSysConfig.java b/org.adempiere.base/src/org/compiere/model/MSysConfig.java index 6be031d1ab..092d1b9236 100644 --- a/org.adempiere.base/src/org/compiere/model/MSysConfig.java +++ b/org.adempiere.base/src/org/compiere/model/MSysConfig.java @@ -42,7 +42,7 @@ public class MSysConfig extends X_AD_SysConfig /** * */ - private static final long serialVersionUID = 6862004813052785789L; + private static final long serialVersionUID = -3599797130058840418L; public static final String ADDRESS_VALIDATION = "ADDRESS_VALIDATION"; public static final String ALERT_SEND_ATTACHMENT_AS_XLS = "ALERT_SEND_ATTACHMENT_AS_XLS"; diff --git a/org.adempiere.base/src/org/compiere/util/IBAN.java b/org.adempiere.base/src/org/compiere/util/IBAN.java index 46a1a8e85c..30b2d62fee 100644 --- a/org.adempiere.base/src/org/compiere/util/IBAN.java +++ b/org.adempiere.base/src/org/compiere/util/IBAN.java @@ -1,3 +1,6 @@ +// adapted from http://how-blogz.blogspot.de/2007/08/java-iban-check-digit-validation.html +// soastation.banking.IBAN + package org.compiere.util; import java.math.BigInteger;