From df55d4649c66083b49602c359e990a4835022c3a Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Wed, 9 Jan 2019 22:38:08 +0100 Subject: [PATCH] IDEMPIERE-3431 Posting error for Matched PO if invoice posted while MR is not posted. / integrating fixes from Heng Sin AP2-825 --- .../oracle/201812181500_Ticket_AP2-825.sql | 11 ++++++++++ .../201812181500_Ticket_AP2-825.sql | 8 +++++++ .../process/ClientAcctProcessor.java | 4 ++-- .../src/org/compiere/acct/Doc.java | 8 ++++--- .../src/org/compiere/acct/Doc_MatchPO.java | 21 ++++++++++++++++++- .../src/org/compiere/model/MInvoice.java | 2 +- .../org/compiere/server/AcctProcessor.java | 4 ++-- 7 files changed, 49 insertions(+), 9 deletions(-) create mode 100644 migration/i6.2/oracle/201812181500_Ticket_AP2-825.sql create mode 100644 migration/i6.2/postgresql/201812181500_Ticket_AP2-825.sql diff --git a/migration/i6.2/oracle/201812181500_Ticket_AP2-825.sql b/migration/i6.2/oracle/201812181500_Ticket_AP2-825.sql new file mode 100644 index 0000000000..1f7403b15e --- /dev/null +++ b/migration/i6.2/oracle/201812181500_Ticket_AP2-825.sql @@ -0,0 +1,11 @@ +SET SQLBLANKLINES ON +SET DEFINE OFF + +-- Dec 18, 2018 10:50:26 AM MYT +-- AP2-825 Match PO | M_MatchPO unposted in Prod +INSERT INTO AD_Ref_List (AD_Ref_List_ID,AD_Ref_List_UU,Name,IsActive,CreatedBy,UpdatedBy,AD_Client_ID,Created,Updated,EntityType,AD_Reference_ID,Value,AD_Org_ID) VALUES (200448,'0630b5d2-0fe4-4ef8-9d2f-a14791c02c7d','Deferred','Y',100,100,0,TO_DATE('2018-12-18 10:50:25','YYYY-MM-DD HH24:MI:SS'),TO_DATE('2018-12-18 10:50:25','YYYY-MM-DD HH24:MI:SS'),'D',234,'d',0) +; + +SELECT register_migration_script('201812181500_Ticket_AP2-825.sql') FROM dual +; + diff --git a/migration/i6.2/postgresql/201812181500_Ticket_AP2-825.sql b/migration/i6.2/postgresql/201812181500_Ticket_AP2-825.sql new file mode 100644 index 0000000000..53f07c4334 --- /dev/null +++ b/migration/i6.2/postgresql/201812181500_Ticket_AP2-825.sql @@ -0,0 +1,8 @@ +-- Dec 18, 2018 10:50:26 AM MYT +-- AP2-825 Match PO | M_MatchPO unposted in Prod +INSERT INTO AD_Ref_List (AD_Ref_List_ID,AD_Ref_List_UU,Name,IsActive,CreatedBy,UpdatedBy,AD_Client_ID,Created,Updated,EntityType,AD_Reference_ID,Value,AD_Org_ID) VALUES (200448,'0630b5d2-0fe4-4ef8-9d2f-a14791c02c7d','Deferred','Y',100,100,0,TO_TIMESTAMP('2018-12-18 10:50:25','YYYY-MM-DD HH24:MI:SS'),TO_TIMESTAMP('2018-12-18 10:50:25','YYYY-MM-DD HH24:MI:SS'),'D',234,'d',0) +; + +SELECT register_migration_script('201812181500_Ticket_AP2-825.sql') FROM dual +; + diff --git a/org.adempiere.base.process/src/org/adempiere/process/ClientAcctProcessor.java b/org.adempiere.base.process/src/org/adempiere/process/ClientAcctProcessor.java index 6a0791b744..3818c87f6f 100644 --- a/org.adempiere.base.process/src/org/adempiere/process/ClientAcctProcessor.java +++ b/org.adempiere.base.process/src/org/adempiere/process/ClientAcctProcessor.java @@ -148,7 +148,7 @@ public class ClientAcctProcessor extends SvrProcess StringBuilder sql = new StringBuilder("SELECT DISTINCT ProcessedOn FROM ").append(TableName) .append(" WHERE AD_Client_ID=? AND ProcessedOn 0) // match po don't post if receipt is not assigned, and it doesn't create avg po record + if (!po.isPosted()) addDocsPostProcess(po); MMatchInv[] matchInvoices = MMatchInv.getInvoiceLine(getCtx(), line.getC_InvoiceLine_ID(), get_TrxName()); diff --git a/org.adempiere.server/src/main/server/org/compiere/server/AcctProcessor.java b/org.adempiere.server/src/main/server/org/compiere/server/AcctProcessor.java index 09b27b5238..9d5e4c39f8 100644 --- a/org.adempiere.server/src/main/server/org/compiere/server/AcctProcessor.java +++ b/org.adempiere.server/src/main/server/org/compiere/server/AcctProcessor.java @@ -157,7 +157,7 @@ public class AcctProcessor extends AdempiereServer StringBuffer sql = new StringBuffer ("SELECT DISTINCT ProcessedOn FROM ").append(TableName) .append(" WHERE AD_Client_ID=? AND ProcessedOn