Finding unit price of item from trade agreement through code AX X++
Step 1 : Prepare paramters for finding the unit price
protected PriceDiscParameters createAndInitPriceDiscParameters()
{
PurchLine purchLine = this.getPurchLine();
PurchTable purchTable = purchLine.purchTable();
PriceDiscParameters parameters = PriceDiscParameters::construct();
parameters.parmModuleType(ModuleInventPurchSales::Sales);
parameters.parmItemId(purchLine.Itemid);
parameters.parmInventDim(purchLine.inventDim());
parameters.parmUnitID(purchLine.PurchUnit);
parameters.parmPriceDiscDate(today());
parameters.parmQty(1);
parameters.parmAccountNum(purchTable.OrderAccount);
parameters.parmCurrencyCode(purchLine.CurrencyCode);
return parameters;
}
Step 2 : Use priceDisc class with parametrs to get the unit price
public void initByPriceDisc()
{
PurchLine purchLine = this.getPurchLine();
PriceDiscParameters parameters = this.createAndInitPriceDiscParameters();
PriceDisc priceDisc = PriceDisc::newFromPriceDiscParameters(parameters);
if (priceDisc)
{
if (!priceDisc.findPrice(purchLine.purchTable().PriceGroupId))
{
priceDisc.findItemPrice();
}
this.Price= priceDisc.price();
this.Currency = priceDisc.priceTable().Currency;
}
}
Comments
Post a Comment