BF [ 2847648 ] Manufacture & shipment cost errors
https://sourceforge.net/tracker/?func=detail&aid=2847648&group_id=176962&atid=934929 Standard Cost should not be reseted at all even if the CurrentCostPrice is zero. The only way to set CurrentCostPrice is when the M_Cost record is newly created. More, I added some logging messages to track further errors.
This commit is contained in:
parent
02d7d23a97
commit
deb3de7e46
|
@ -35,6 +35,9 @@ import org.compiere.util.Env;
|
||||||
* <li>BF: 1568752 Average invoice costing: landed costs incorrectly applied
|
* <li>BF: 1568752 Average invoice costing: landed costs incorrectly applied
|
||||||
* @author Armen Rizal & Bayu Cahya
|
* @author Armen Rizal & Bayu Cahya
|
||||||
* <li>BF [ 2129781 ] Cost Detail not created properly for multi acc schema
|
* <li>BF [ 2129781 ] Cost Detail not created properly for multi acc schema
|
||||||
|
* @author Teo Sarca
|
||||||
|
* <li>BF [ 2847648 ] Manufacture & shipment cost errors
|
||||||
|
* https://sourceforge.net/tracker/?func=detail&aid=2847648&group_id=176962&atid=934929
|
||||||
* @version $Id: MCostDetail.java,v 1.3 2006/07/30 00:51:05 jjanke Exp $
|
* @version $Id: MCostDetail.java,v 1.3 2006/07/30 00:51:05 jjanke Exp $
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ -944,15 +947,20 @@ public class MCostDetail extends X_M_CostDetail
|
||||||
}
|
}
|
||||||
else if (ce.isStandardCosting())
|
else if (ce.isStandardCosting())
|
||||||
{
|
{
|
||||||
if (cost.getCurrentCostPrice().signum() == 0)
|
// Update cost record only if newly created.
|
||||||
|
// Elsewhere we risk to set the CurrentCostPrice to an undesired price.
|
||||||
|
if (cost.is_new()
|
||||||
|
&& cost.getCurrentCostPrice().signum() == 0
|
||||||
|
&& cost.getCurrentCostPriceLL().signum() == 0)
|
||||||
{
|
{
|
||||||
cost.setCurrentCostPrice(price);
|
cost.setCurrentCostPrice(price);
|
||||||
// seed initial price
|
// seed initial price
|
||||||
if (cost.getCurrentCostPrice().signum() == 0
|
if (cost.getCurrentCostPrice().signum() == 0)
|
||||||
&& cost.get_ID() == 0)
|
{
|
||||||
cost.setCurrentCostPrice(
|
cost.setCurrentCostPrice(MCost.getSeedCosts(product, M_ASI_ID,
|
||||||
MCost.getSeedCosts(product, M_ASI_ID,
|
|
||||||
as, Org_ID, ce.getCostingMethod(), getC_OrderLine_ID()));
|
as, Org_ID, ce.getCostingMethod(), getC_OrderLine_ID()));
|
||||||
|
log.finest("Inv - Standard - CurrentCostPrice(seed)="+cost.getCurrentCostPrice()+", price="+price);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
cost.add(amt, qty);
|
cost.add(amt, qty);
|
||||||
log.finer("Inv - Standard - " + cost);
|
log.finer("Inv - Standard - " + cost);
|
||||||
|
@ -1074,10 +1082,13 @@ public class MCostDetail extends X_M_CostDetail
|
||||||
&& cost.is_new())
|
&& cost.is_new())
|
||||||
{
|
{
|
||||||
cost.setCurrentCostPrice(price);
|
cost.setCurrentCostPrice(price);
|
||||||
|
log.finest("QtyAdjust - Standard - CurrentCostPrice="+price);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
cost.setCurrentQty(cost.getCurrentQty().add(qty));
|
cost.setCurrentQty(cost.getCurrentQty().add(qty));
|
||||||
|
}
|
||||||
log.finer("QtyAdjust - Standard - " + cost);
|
log.finer("QtyAdjust - Standard - " + cost);
|
||||||
}
|
}
|
||||||
else if (ce.isUserDefined())
|
else if (ce.isUserDefined())
|
||||||
|
|
Loading…
Reference in New Issue