如何过滤 additionaasset lookup/dialog 以仅列出工作订单位置的资产

How to filter additionaasset lookup/dialog to only list assets at work order location

我需要过滤可用资产列表以从中选择驻留在当前工作订单位置的资产。我不想在列表中看到不在当前位置的资产。

我在 javascript

找到了一个地方
 var filter = [];   
 filter.push({siteid: siteid});
 additionalasset.lookupFilter = filter; 

... 这似乎让我将过滤器推入过滤器数组。这是理想的使用方法吗? 1) 确定工单上的位置和 2) 按下一个额外的过滤器,例如

filter.push({location: location});

我正在寻找一个动态的解决方案,这样如果用户更改位置然后想要 select 资产,可用资产列表将根据此过滤器更新为该位置的那些资产。我希望这是可以理解的。

是的,这正是您应该明智地执行此代码的方式。我们有一个错误(我相信已在 7.5.2.1 中修复),您选择的第一个位置将在您第二次尝试 select 资产时重复使用。如果您在 7.5.2.1 中仍然看到相同的行为,请打开 PMR,我们可以为您提供 iFix 来支持此问题。

这段代码满足了我的需要。出于某种原因,我可以在一次调用 .push() 时推送多个过滤器标准,但我不能像以前尝试的那样分别 .push() 多个过滤器。

var currLocation = workOrderSet.getCurrentRecord().get("location");
filter.push({siteid: siteid, location: currLocation});