diff --git a/migration/i6.2/oracle/201908080715_IDEMPIERE-918_RelationType.sql b/migration/i6.2/oracle/201908080715_IDEMPIERE-918_RelationType.sql new file mode 100644 index 0000000000..18c80b38b1 --- /dev/null +++ b/migration/i6.2/oracle/201908080715_IDEMPIERE-918_RelationType.sql @@ -0,0 +1,18 @@ +SET SQLBLANKLINES ON +SET DEFINE OFF + +-- IDEMPIERE-918 - RelationType +-- 8 August 2019 at  07:10:25 CEST +INSERT INTO AD_Reference (AD_Reference_ID,Name,ValidationType,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,EntityType,IsOrderByValue,AD_Reference_UU) VALUES (200171,'RelType C_Invoice -> C_Invoice (CM)','T',0,0,'Y',TO_DATE('2019-08-08 07:10:25','YYYY-MM-DD HH24:MI:SS'),0,TO_DATE('2019-08-08 07:10:25','YYYY-MM-DD HH24:MI:SS'),0,'D','N','0c256942-4836-4cef-9fb1-e5bb4554aa00') +; + +-- 8 August 2019 at  07:10:49 CEST +INSERT INTO AD_Ref_Table (AD_Reference_ID,AD_Table_ID,AD_Key,AD_Display,WhereClause,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsValueDisplayed,EntityType,AD_Ref_Table_UU) VALUES (200171,318,3484,3484,'C_Invoice.RelatedInvoice_ID = @C_Invoice_ID@',0,0,'Y',TO_DATE('2019-08-08 07:10:49','YYYY-MM-DD HH24:MI:SS'),0,TO_DATE('2019-08-08 07:10:49','YYYY-MM-DD HH24:MI:SS'),0,'N','D','93d883dc-5a38-4887-babd-5f691390ea38') +; + +-- 8 August 2019 at  07:11:05 CEST +INSERT INTO AD_RelationType (AD_Client_ID,AD_Org_ID,AD_RelationType_ID,Created,CreatedBy,IsActive,Name,Updated,UpdatedBy,AD_Reference_Source_ID,AD_Reference_Target_ID,IsDirected,Type,AD_RelationType_UU) VALUES (0,0,200000,TO_DATE('2019-08-08 07:11:04','YYYY-MM-DD HH24:MI:SS'),0,'Y','Invoice -> Credit Memo (using RelatedInvoice_ID field)',TO_DATE('2019-08-08 07:11:04','YYYY-MM-DD HH24:MI:SS'),0,200171,200171,'N','I','9c8aec77-a6f5-4154-8d63-5cd285f316b9') +; + +SELECT register_migration_script('201908080715_IDEMPIERE-918_RelationType.sql') FROM dual +; \ No newline at end of file diff --git a/migration/i6.2/postgresql/201908080715_IDEMPIERE-918_RelationType.sql b/migration/i6.2/postgresql/201908080715_IDEMPIERE-918_RelationType.sql new file mode 100644 index 0000000000..f2c447d3da --- /dev/null +++ b/migration/i6.2/postgresql/201908080715_IDEMPIERE-918_RelationType.sql @@ -0,0 +1,15 @@ +-- IDEMPIERE-918 - RelationType +-- 8 August 2019 at  07:10:25 CEST +INSERT INTO AD_Reference (AD_Reference_ID,Name,ValidationType,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,EntityType,IsOrderByValue,AD_Reference_UU) VALUES (200171,'RelType C_Invoice -> C_Invoice (CM)','T',0,0,'Y',TO_TIMESTAMP('2019-08-08 07:10:25','YYYY-MM-DD HH24:MI:SS'),0,TO_TIMESTAMP('2019-08-08 07:10:25','YYYY-MM-DD HH24:MI:SS'),0,'D','N','0c256942-4836-4cef-9fb1-e5bb4554aa00') +; + +-- 8 August 2019 at  07:10:49 CEST +INSERT INTO AD_Ref_Table (AD_Reference_ID,AD_Table_ID,AD_Key,AD_Display,WhereClause,AD_Client_ID,AD_Org_ID,IsActive,Created,CreatedBy,Updated,UpdatedBy,IsValueDisplayed,EntityType,AD_Ref_Table_UU) VALUES (200171,318,3484,3484,'C_Invoice.RelatedInvoice_ID = @C_Invoice_ID@',0,0,'Y',TO_TIMESTAMP('2019-08-08 07:10:49','YYYY-MM-DD HH24:MI:SS'),0,TO_TIMESTAMP('2019-08-08 07:10:49','YYYY-MM-DD HH24:MI:SS'),0,'N','D','93d883dc-5a38-4887-babd-5f691390ea38') +; + +-- 8 August 2019 at  07:11:05 CEST +INSERT INTO AD_RelationType (AD_Client_ID,AD_Org_ID,AD_RelationType_ID,Created,CreatedBy,IsActive,Name,Updated,UpdatedBy,AD_Reference_Source_ID,AD_Reference_Target_ID,IsDirected,Type,AD_RelationType_UU) VALUES (0,0,200000,TO_TIMESTAMP('2019-08-08 07:11:04','YYYY-MM-DD HH24:MI:SS'),0,'Y','Invoice -> Credit Memo (using RelatedInvoice_ID field)',TO_TIMESTAMP('2019-08-08 07:11:04','YYYY-MM-DD HH24:MI:SS'),0,200171,200171,'N','I','9c8aec77-a6f5-4154-8d63-5cd285f316b9') +; + +SELECT register_migration_script('201908080715_IDEMPIERE-918_RelationType.sql') FROM dual +; \ No newline at end of file diff --git a/org.adempiere.base/src/org/compiere/acct/FactLine.java b/org.adempiere.base/src/org/compiere/acct/FactLine.java index beb7cc628d..c888575670 100644 --- a/org.adempiere.base/src/org/compiere/acct/FactLine.java +++ b/org.adempiere.base/src/org/compiere/acct/FactLine.java @@ -125,7 +125,7 @@ public final class FactLine extends X_Fact_Acct reversal.setC_LocTo_ID(getC_LocTo_ID()); reversal.setC_LocFrom_ID(getC_LocFrom_ID()); reversal.setUser1_ID(getUser1_ID()); - reversal.setUser2_ID(getUser1_ID()); + reversal.setUser2_ID(getUser2_ID()); reversal.setUserElement1_ID(getUserElement1_ID()); reversal.setUserElement2_ID(getUserElement2_ID()); diff --git a/org.adempiere.base/src/org/compiere/model/MOrder.java b/org.adempiere.base/src/org/compiere/model/MOrder.java index f72e3b6808..c803635036 100644 --- a/org.adempiere.base/src/org/compiere/model/MOrder.java +++ b/org.adempiere.base/src/org/compiere/model/MOrder.java @@ -532,6 +532,8 @@ public class MOrder extends X_C_Order implements DocAction line.setQtyDelivered(Env.ZERO); line.setQtyInvoiced(Env.ZERO); line.setQtyReserved(Env.ZERO); + line.setQtyLostSales(Env.ZERO); + line.setQtyOrdered(Env.ZERO); line.setDateDelivered(null); line.setDateInvoiced(null); // diff --git a/org.adempiere.base/src/org/compiere/model/MOrderLine.java b/org.adempiere.base/src/org/compiere/model/MOrderLine.java index fbeeb8c816..f06797a142 100644 --- a/org.adempiere.base/src/org/compiere/model/MOrderLine.java +++ b/org.adempiere.base/src/org/compiere/model/MOrderLine.java @@ -814,7 +814,7 @@ public class MOrderLine extends X_C_OrderLine if (getM_Product_ID() == 0) setM_AttributeSetInstance_ID(0); // Product - else // Set/check Product Price + else if (!isProcessed()) // Set/check Product Price { // Set Price if Actual = 0 if (m_productPrice == null diff --git a/org.adempiere.base/src/org/compiere/model/MProductPricing.java b/org.adempiere.base/src/org/compiere/model/MProductPricing.java index c658cc21ad..5efadebabb 100644 --- a/org.adempiere.base/src/org/compiere/model/MProductPricing.java +++ b/org.adempiere.base/src/org/compiere/model/MProductPricing.java @@ -37,9 +37,6 @@ import org.compiere.util.Trace; */ public class MProductPricing extends AbstractProductPricing { - - private String trxName=null; - /** * New constructor to be used with the ProductPriceFactories */ @@ -88,8 +85,6 @@ public class MProductPricing extends AbstractProductPricing m_useVendorBreak = thereAreVendorBreakRecords > 0; } - private int m_M_PriceList_Version_ID = 0; - private Timestamp m_PriceDate; /** Precision -1 = no rounding */ private int m_precision = -1; diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WTableDirEditor.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WTableDirEditor.java index 338e798d75..3082baac46 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WTableDirEditor.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/editor/WTableDirEditor.java @@ -323,12 +323,17 @@ ContextMenuListener, IZoomableEditor { //if it is problem with record lock, just keep value (no trigger change) and set field readonly MRole role = MRole.getDefault(Env.getCtx(), false); - MColumn col = MColumn.get(Env.getCtx(), gridField.getAD_Column_ID()); int refTableID = -1; - if (col.get_ID() > 0) { - String refTable = col.getReferenceTableName(); - MTable table = MTable.get(Env.getCtx(), refTable); - refTableID = table.getAD_Table_ID(); + if (gridTab != null) // fields process para don't represent a column ID + { + MColumn col = MColumn.get(Env.getCtx(), gridField.getAD_Column_ID()); + if (col.get_ID() > 0) { + String refTable = col.getReferenceTableName(); + if (refTable != null) { + MTable table = MTable.get(Env.getCtx(), refTable); + refTableID = table.getAD_Table_ID(); + } + } } if (refTableID > 0 && ! role.isRecordAccess(refTableID, (int)value, false)) { diff --git a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/MenuTreeFilterPanel.java b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/MenuTreeFilterPanel.java index e2278c62c3..84b5df32a4 100644 --- a/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/MenuTreeFilterPanel.java +++ b/org.adempiere.ui.zk/WEB-INF/src/org/adempiere/webui/panel/MenuTreeFilterPanel.java @@ -84,6 +84,16 @@ public class MenuTreeFilterPanel extends Popup implements EventListener, form.addEventListener(Events.ON_CHECK, this); box.appendChild(form); + Checkbox info = new Checkbox(); + if (ThemeManager.isUseFontIconForImage()) + info.setIconSclass("z-icon-Info"); + else + info.setImage(ThemeManager.getThemeResource("images/mInfo.png")); + info.setChecked(true); + info.setId("info"); + info.addEventListener(Events.ON_CHECK, this); + box.appendChild(info); + Checkbox single = new Checkbox(); single.setLabel(Msg.getMsg(Env.getCtx(), "FlatView")); single.setId("flatView");