在Microsoft Dynamics AX 2012 R2中更改大小时更新SalesLine单价

时间:2017-04-24 22:20:48

标签: axapta x++ dynamics-ax-2012-r2

如何处理这个问题?在更改其大小时更改销售线中单价的价值,据我所知,默认单价来自贸易协议。在这种情况下,没有规模,但根据我的要求,我应该从贸易协议中为1,2,3,4和5和6分配价值,贸易协议的价值应该增加1.即

例如尺寸1,2,3,4 - > 13 $和尺寸5,6 - > 14 $

我正在考虑在SalesTable表单中对InventSizeid的修改字段方法进行更改,这是正确的方法还是有更好的方法来执行此操作。任何帮助表示感谢,提前谢谢

2 个答案:

答案 0 :(得分:0)

您可以使用贸易协议根据尺寸,颜色等指定产品变体的价格。请检查以下link

enter image description here

答案 1 :(得分:-1)

检查SalesTable 表单 转到数据源/ InventDim / Fields / InventSizeId / Methods / Modified 打开{{1}方法,您需要在此方法的最后添加您的逻辑。

例如(这是修改的标准方法):

modified

您可能需要执行public void modified() { SalesCalcAvailableDlvDates salesCalcAvailableDlvDates; super(); salesLine.modifyInventDim(inventDim, fieldNum(InventDim,InventSizeId), !salesLine.MatchingAgreementLine); if (salesLine.DeliveryDateControlType) { salesCalcAvailableDlvDates = SalesCalcAvailableDlvDates::newCommonSalesDlvDateType(salesLine,0,inventDim); salesCalcAvailableDlvDates.modifiedFieldBeforeInsert(salesLine); } salesLine_DS.cacheCalculateMethod(tableMethodStr(SalesLine,itemName)); //Your logic ... ... ... SalesLine.SalesPrice = 999; //Your new sales price. //Your logic END } salesLine_DS.reread();才能看到新价格(否则请按表格中的F5)。