IDEMPIERE-241 Unnecessary cost records added on product creation
Code integrated from Compiere community 3.3.0 version
This commit is contained in:
parent
644207b999
commit
37a4b33bf6
|
@ -708,7 +708,20 @@ public class MCost extends X_M_Cost
|
||||||
s_log.config(product.getName());
|
s_log.config(product.getName());
|
||||||
|
|
||||||
// Cost Elements
|
// Cost Elements
|
||||||
List <MCostElement> ces = MCostElement.getCostElementsWithCostingMethods(product);
|
MCostElement[] ces = MCostElement.getCostingMethods(product);
|
||||||
|
MCostElement ce = null;
|
||||||
|
for (MCostElement element : ces) {
|
||||||
|
if (X_M_CostElement.COSTINGMETHOD_StandardCosting.equals(element.getCostingMethod()))
|
||||||
|
{
|
||||||
|
ce = element;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (ce == null)
|
||||||
|
{
|
||||||
|
s_log.fine("No Standard Costing in System");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
MAcctSchema[] mass = MAcctSchema.getClientAcctSchema(product.getCtx(),
|
MAcctSchema[] mass = MAcctSchema.getClientAcctSchema(product.getCtx(),
|
||||||
product.getAD_Client_ID(), product.get_TrxName());
|
product.getAD_Client_ID(), product.get_TrxName());
|
||||||
|
@ -720,8 +733,6 @@ public class MCost extends X_M_Cost
|
||||||
String cl = product.getCostingLevel(as);
|
String cl = product.getCostingLevel(as);
|
||||||
// Create Std Costing
|
// Create Std Costing
|
||||||
if (MAcctSchema.COSTINGLEVEL_Client.equals(cl))
|
if (MAcctSchema.COSTINGLEVEL_Client.equals(cl))
|
||||||
{
|
|
||||||
for(MCostElement ce : ces)
|
|
||||||
{
|
{
|
||||||
MCost cost = MCost.get (product, M_ASI_ID,
|
MCost cost = MCost.get (product, M_ASI_ID,
|
||||||
as, 0, ce.getM_CostElement_ID(), product.get_TrxName());
|
as, 0, ce.getM_CostElement_ID(), product.get_TrxName());
|
||||||
|
@ -735,15 +746,12 @@ public class MCost extends X_M_Cost
|
||||||
+ " - " + as.getName());
|
+ " - " + as.getName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else if (MAcctSchema.COSTINGLEVEL_Organization.equals(cl))
|
else if (MAcctSchema.COSTINGLEVEL_Organization.equals(cl))
|
||||||
{
|
{
|
||||||
if (orgs == null)
|
if (orgs == null)
|
||||||
orgs = MOrg.getOfClient(product);
|
orgs = MOrg.getOfClient(product);
|
||||||
for (MOrg o : orgs)
|
for (MOrg o : orgs)
|
||||||
{
|
{
|
||||||
for(MCostElement ce : ces)
|
|
||||||
{
|
|
||||||
MCost cost = MCost.get (product, M_ASI_ID,
|
MCost cost = MCost.get (product, M_ASI_ID,
|
||||||
as, o.getAD_Org_ID(), ce.getM_CostElement_ID(), product.get_TrxName());
|
as, o.getAD_Org_ID(), ce.getM_CostElement_ID(), product.get_TrxName());
|
||||||
if (cost.is_new())
|
if (cost.is_new())
|
||||||
|
@ -756,7 +764,6 @@ public class MCost extends X_M_Cost
|
||||||
s_log.warning("Not created: Std.Cost for " + product.getName()
|
s_log.warning("Not created: Std.Cost for " + product.getName()
|
||||||
+ " - " + o.getName()
|
+ " - " + o.getName()
|
||||||
+ " - " + as.getName());
|
+ " - " + as.getName());
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} // for all orgs
|
} // for all orgs
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue