小编Bri*_*ens的帖子

如何清除智能面板对话框 (PXFilter) 的输入?

我在自定义屏幕中创建了一个智能面板,以请求用户输入,以方便将库存从正常库存转移到隔离区域。我经常使用的原始智能面板示例是 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
推荐指数
1
解决办法
331
查看次数

标签 统计

acumatica ×1