无法在导航选项卡中使用自定义屏幕

Not able to user Custom screen in Navigation Tab

我设计了 4 个自定义页面来接受用户定义的销售订单字段。我正在尝试从 GI 访问页面。 2 个屏幕允许我映射订单类型和订单号,但其他两个不允许我做同样的事情

所有 4 个屏幕都具有相同的视图,如下所示

public PXSelect<SOOrder, Where<SOOrder.orderType, Equal<Current<SOOrder.orderType>>, And<SOOrder.orderNbr, Equal<Current<SOOrder.orderNbr>>>>> CurrentDoc1;

我无法弄清楚它表现不同的原因。 期待任何解决此问题的建议。

在调查 Acumatica 支持案例中提供的源代码后,已确定您名为 Digital (KC109000) 的自定义屏幕存在以下问题:

  • 在 UpdateDigital BLC 中应该声明 2 个单独的数据视图:CurrentDoc1 是主视图,CurrentDocument 需要将附加容器控件绑定到 SOOrder DAC:

    public class UpdateDigital : PXGraph<UpdateDigital, SOOrder>
    {
        public PXSelect<SOOrder> CurrentDoc1;
    
        public PXSelect<SOOrder,
            Where<SOOrder.orderType, Equal<Current<SOOrder.orderType>>,
                And<SOOrder.orderNbr, Equal<Current<SOOrder.orderNbr>>>>> CurrentDocument;
    
    
        ...
    }
    
  • 不能禁用关键字段(OrderType 和 OrderNbr)既不是 Aspx 也不是 BLC 内部,否则它们不会在导航参数字段下拉列表中列出:

    <px:PXSelector ID="edOrderType" runat="server" DataField="OrderType" Enabled="True" AllowNull="False" >
    </px:PXSelector>
    <px:PXSelector ID="edOrderNbr" runat="server" DataField="OrderNbr" Enabled="True" >
    </px:PXSelector>
    
  • CurrentDocument 应该是 PXTab 的数据成员,才不会与主视图冲突:

    <px:PXTab ID="tab" runat="server" Width="100%" Height="500px" DataSourceID="ds" DataMember="CurrentDocument">
    

在 KC109000.aspx 文件和 UpdateDigital BLC 中进行上述更改后,导航参数字段下拉列表开始显示可供选择的 SOOrder 关键字段: