如何处理这个问题?在更改其大小时更改销售线中单价的价值,据我所知,默认单价来自贸易协议。在这种情况下,没有规模,但根据我的要求,我应该从贸易协议中为1,2,3,4和5和6分配价值,贸易协议的价值应该增加1.即
例如尺寸1,2,3,4 - > 13 $和尺寸5,6 - > 14 $
我正在考虑在SalesTable表单中对InventSizeid的修改字段方法进行更改,这是正确的方法还是有更好的方法来执行此操作。任何帮助表示感谢,提前谢谢
答案 0 :(得分:0)
您可以使用贸易协议根据尺寸,颜色等指定产品变体的价格。请检查以下link。
答案 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)。