在我们的Dynamics Ax 2009配置中,我们希望避免在拾取或交付物品后更改库存尺寸。 有时,用户在已经注册交易时更改销售线上的面部库存维度(仓库,位置)。
我不知道通过更改库存或销售参数来保护它的方法。
我尝试解决此问题,active()
表单Salesline
数据源中的SalesTable
方法更改,该方法调用特定方法:
if (InventDim_Ds.allowEdit())
{
if (SalesLine.pickedInTotalSalesUnit() != 0 || SalesLine.DeliveredInTotal() != 0)
{
InventDim_Ds.allowEdit(false);
}
}
但它不起作用,或者效果不好:现在即使没有采摘或交付任何东西也无法改变库存尺寸。
我认为这与销售线和维度之间的联系有关,但我不知道如何修复我的代码。
答案 0 :(得分:1)
乍一看,您的问题似乎与:
if (InventDim_Ds.allowEdit())
因为它不允许在行之间进行更改。如果选择了一行,则会停用InventDim_Ds
,然后当您转到下一个SalesLine
触发active()
方法时,它会看到它已被禁用而未输入if
声明。
试试这个:
InventDim_ds.allowEdit(!salesLine.pickedInTotalSalesUnit() && !salesLine.deliveredInTotal());