我在自定义屏幕中创建了一个智能面板,以请求用户输入,以方便将库存从正常库存转移到隔离区域。我经常使用的原始智能面板示例是 SOOrderEntry 图中的复制订单 (SO301000)。在这种情况下,我需要进行一些验证,并且用户很可能决定关闭智能面板并更新屏幕中的文档,然后再次重新打开智能面板。如果用户单击取消按钮,我需要智能面板在每次打开时重置回默认值。
我认为这可能在 ASPX 屏幕定义中处理,但我找不到表单本身的正确设置。我在选择器上使用“自动刷新”来在每次打开它们时进行刷新,但我需要表单本身执行相同的操作并在每次打开时刷新回默认值。当我导航到图表主 DAC 的另一条记录时,所需的行为确实会自动发生,但我似乎无法强制智能面板在每次打开时自动刷新。我查看了 ASPX 中表单的各种选项,但我忽略了它是否存在。
与 SOOrderEntry 上的 CopyOrder 类似,这是我的图表中的代码示例。
public PXFilter<StockParamFilter> stockparamfilter;
#region AddFromStock
public PXAction<MyTag> addFromStock;
[PXUIField(DisplayName = Messages.AddFromStock, MapEnableRights = PXCacheRights.Insert, MapViewRights = PXCacheRights.Insert)]
[PXButton]
protected virtual IEnumerable AddFromStock(PXAdapter adapter)
{
MyTag tag = Tags.Current;
if (tag?.TranRefNbr != null)
{
throw new PXException(Messages.TagAlreadyReceived);
}
MyTagEntry graph = PXGraph.CreateInstance<MyTagEntry>();
WebDialogResult dialogResult = stockparamfilter.AskExt(setStockStateFilter, true);
if (dialogResult == WebDialogResult.OK || (IsContractBasedAPI && dialogResult == WebDialogResult.Yes))
{
// My Business Logic Here
}
return …Run Code Online (Sandbox Code Playgroud) acumatica ×1