From 1e2cf53d61e7a54efe3070a15425c8f92220b152 Mon Sep 17 00:00:00 2001 From: Elaine Tan Date: Fri, 18 Apr 2014 12:51:08 +0800 Subject: [PATCH] IDEMPIERE-1904 Incorrect document status when void a document with completed document status --- .../i2.0/oracle/201404181241_IDEMPIERE-1904.sql | 16 ++++++++++++++++ .../postgresql/201404181241_IDEMPIERE-1904.sql | 16 ++++++++++++++++ .../src/org/compiere/process/DocumentEngine.java | 3 ++- 3 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 migration/i2.0/oracle/201404181241_IDEMPIERE-1904.sql create mode 100644 migration/i2.0/postgresql/201404181241_IDEMPIERE-1904.sql diff --git a/migration/i2.0/oracle/201404181241_IDEMPIERE-1904.sql b/migration/i2.0/oracle/201404181241_IDEMPIERE-1904.sql new file mode 100644 index 0000000000..1dde514ddc --- /dev/null +++ b/migration/i2.0/oracle/201404181241_IDEMPIERE-1904.sql @@ -0,0 +1,16 @@ +-- Apr 18, 2014 12:41:00 PM SGT +-- IDEMPIERE-1904 Incorrect document status when void a document with completed document status + +UPDATE C_AllocationHdr SET DocStatus = 'RE' WHERE DocStatus = 'VO' AND Reversal_ID > 0; +UPDATE C_Invoice SET DocStatus = 'RE' WHERE DocStatus = 'VO' AND Reversal_ID > 0; +UPDATE C_Payment SET DocStatus = 'RE' WHERE DocStatus = 'VO' AND Reversal_ID > 0; +UPDATE GL_Journal SET DocStatus = 'RE' WHERE DocStatus = 'VO' AND Reversal_ID > 0; +UPDATE GL_JournalBatch SET DocStatus = 'RE' WHERE DocStatus = 'VO' AND Reversal_ID > 0; +UPDATE HR_Process SET DocStatus = 'RE' WHERE DocStatus = 'VO' AND Reversal_ID > 0; +UPDATE M_InOut SET DocStatus = 'RE' WHERE DocStatus = 'VO' AND Reversal_ID > 0; +UPDATE M_Inventory SET DocStatus = 'RE' WHERE DocStatus = 'VO' AND Reversal_ID > 0; +UPDATE M_Movement SET DocStatus = 'RE' WHERE DocStatus = 'VO' AND Reversal_ID > 0; +UPDATE PP_Cost_Collector SET DocStatus = 'RE' WHERE DocStatus = 'VO' AND Reversal_ID > 0; + +SELECT register_migration_script('201404181241_IDEMPIERE-1904.sql') FROM dual +; \ No newline at end of file diff --git a/migration/i2.0/postgresql/201404181241_IDEMPIERE-1904.sql b/migration/i2.0/postgresql/201404181241_IDEMPIERE-1904.sql new file mode 100644 index 0000000000..1dde514ddc --- /dev/null +++ b/migration/i2.0/postgresql/201404181241_IDEMPIERE-1904.sql @@ -0,0 +1,16 @@ +-- Apr 18, 2014 12:41:00 PM SGT +-- IDEMPIERE-1904 Incorrect document status when void a document with completed document status + +UPDATE C_AllocationHdr SET DocStatus = 'RE' WHERE DocStatus = 'VO' AND Reversal_ID > 0; +UPDATE C_Invoice SET DocStatus = 'RE' WHERE DocStatus = 'VO' AND Reversal_ID > 0; +UPDATE C_Payment SET DocStatus = 'RE' WHERE DocStatus = 'VO' AND Reversal_ID > 0; +UPDATE GL_Journal SET DocStatus = 'RE' WHERE DocStatus = 'VO' AND Reversal_ID > 0; +UPDATE GL_JournalBatch SET DocStatus = 'RE' WHERE DocStatus = 'VO' AND Reversal_ID > 0; +UPDATE HR_Process SET DocStatus = 'RE' WHERE DocStatus = 'VO' AND Reversal_ID > 0; +UPDATE M_InOut SET DocStatus = 'RE' WHERE DocStatus = 'VO' AND Reversal_ID > 0; +UPDATE M_Inventory SET DocStatus = 'RE' WHERE DocStatus = 'VO' AND Reversal_ID > 0; +UPDATE M_Movement SET DocStatus = 'RE' WHERE DocStatus = 'VO' AND Reversal_ID > 0; +UPDATE PP_Cost_Collector SET DocStatus = 'RE' WHERE DocStatus = 'VO' AND Reversal_ID > 0; + +SELECT register_migration_script('201404181241_IDEMPIERE-1904.sql') FROM dual +; \ No newline at end of file diff --git a/org.adempiere.base/src/org/compiere/process/DocumentEngine.java b/org.adempiere.base/src/org/compiere/process/DocumentEngine.java index d707a4a9f0..357ef03e28 100644 --- a/org.adempiere.base/src/org/compiere/process/DocumentEngine.java +++ b/org.adempiere.base/src/org/compiere/process/DocumentEngine.java @@ -532,7 +532,8 @@ public class DocumentEngine implements DocAction if (m_document.voidIt()) { m_status = STATUS_Voided; - m_document.setDocStatus(m_status); + if (!m_document.getDocStatus().equals(STATUS_Reversed)) + m_document.setDocStatus(m_status); return true; } return false;