From f2c5ec429bd7e9303c1832a0fabbc340f824503f Mon Sep 17 00:00:00 2001 From: Carlos Ruiz Date: Fri, 11 Dec 2020 07:40:58 +0100 Subject: [PATCH] IDEMPIERE-4589 BUGS on PERFORMANCE ANALYSIS -> Accounting Rules ->Accounting Setup (#457) --- .../src/org/compiere/model/MPeriod.java | 17 ++++++++++++++++- .../src/org/compiere/model/MYear.java | 1 + 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/org.adempiere.base/src/org/compiere/model/MPeriod.java b/org.adempiere.base/src/org/compiere/model/MPeriod.java index f66b2a0c78..bac3a9ef2e 100644 --- a/org.adempiere.base/src/org/compiere/model/MPeriod.java +++ b/org.adempiere.base/src/org/compiere/model/MPeriod.java @@ -56,7 +56,7 @@ public class MPeriod extends X_C_Period implements ImmutablePOSupport /** * */ - private static final long serialVersionUID = -2781791828528639980L; + private static final long serialVersionUID = -4813116760490243399L; /** * Get Period from Cache (immutable) @@ -129,6 +129,21 @@ public class MPeriod extends X_C_Period implements ImmutablePOSupport return get(ctx, DateAcct, AD_Org_ID, null); } + /** + * Get updateable copy of MPeriod from cache + * @param ctx + * @param C_Period_ID + * @param trxName + * @return MPeriod + */ + public static MPeriod getCopy(Properties ctx, int C_Period_ID, String trxName) + { + MPeriod period = get(C_Period_ID); + if (period != null) + period = new MPeriod(ctx, period, trxName); + return period; + } + /** * * @param ctx diff --git a/org.adempiere.base/src/org/compiere/model/MYear.java b/org.adempiere.base/src/org/compiere/model/MYear.java index 2e9cbbf2cc..0b34566df8 100644 --- a/org.adempiere.base/src/org/compiere/model/MYear.java +++ b/org.adempiere.base/src/org/compiere/model/MYear.java @@ -251,6 +251,7 @@ public class MYear extends X_C_Year } else { + period = MPeriod.getCopy(getCtx(), period.getC_Period_ID(), get_TrxName()); period.setC_Year_ID(this.getC_Year_ID()); period.setPeriodNo(month+1); period.setName(name);