4

我有一个显示 ARRegister.RefNbr 的用户字段。此用户字段包含在 APTran 网格中。用户实际上创建了带有自定义操作的 AR 发票,并且新的 AR 文档 ref nbr 被保存到 APTran 网格中。我希望将用户字段制作为超链接(类似于 SO 装运订单选项卡中的库存收据参考号)。我应该使用 PXSelector 控件吗?合适的属性是什么?目标是在用户单击用户字段时打开 AR 发票屏幕。

4

2 回答 2

8

有一种通用方法允许您将链接添加到网格单元格,而不是基于选择器或其他任何东西。要实现它,您必须执行以下步骤:

1.在您的图表中定义一个处理重定向的操作。像这样的东西:

public PXAction<YourMainDAC> ViewInvoice;

[PXButton]
protected virtual void viewInvoice()
{
    ARTran row = Transactions.Current;
    string docType = //get Doc Type from the tran record
    string refNbr = //get Ref Nbr from the tran record
    ARInvoice invoice = PXSelect<ARInvoice, 
        Where<ARInvoice.docType, Equal<Required<ARInvoice.docType>>,
          And<ARInvoice.refNbr, Equal<Required<ARInvoice.refNbr>>>>>
            .Select(this, row.YourDocTypeField, row.YourRefNbrField);

    // Create the instance of the destination graph
    ARInvoiceEntry graph = PXGraph.CreateInstance<ARInvoiceEntry>();
    graph.Document.Current = invoice;

    // If the invoice is found, throw an exception to open
    // a new window (tab) in the browser
    if (graph.Document.Current != null)
    {
        throw new PXRedirectRequiredException(graph, true, "AR Invoice");
    }
}

2.在.aspx页面定义中添加与新动作对应的回调命令(替换为您页面上s网格grid的ID ):ARTran

<px:PXDataSource ID="ds" ... >
    <CallbackCommands>
        <px:PXDSCallbackCommand Name="ViewInvoice"
            Visible="False"
            DependOnGrid="grid">
        </px:PXDSCallbackCommand>
    </CallbackCommands>
</px:PXDataSource>

3.在要添加链接的网格列中,指定链接命令指向上述内容PXDSCallbackCommand

<px:PXGridColumn DataField="InvoiceNbrOrSomething"
                 LinkCommand="ViewInvoice">
</px:PXGridColumn>

这是定义链接的有点冗长的方法,但首先,它不会对添加链接的字段施加任何限制,并且它还使您可以完全控制要打开的图形以及在那里显示的内容。

注意:您可能还需要SyncPosition="true"在 aspx 中设置网格控件。

该示例改编自 Acumatica T200 培训指南中的示例 3.4。您可能想查看它以获得一些详尽的解释和更多信息。

于 2014-10-18T11:49:34.717 回答
5

如果您有一个链接到标准 Acumatica 表的选择器,例如添加包含针对 InventoryItem 或 ARInvoice 的选择器的自定义字段,您可以在包含自定义字段的页面中的字段上设置 AllowEdit=True。这将自动添加超链接。如果您的字段不包含选择器,则除非为段设置,否则它将不起作用。

我们将自定义表添加到我们想要超链接的项目中。只要您在 DAC 上添加 PXPrimaryGraph 属性,您就应该能够为完整的自定义页面/dac 执行相同的操作。

我们开始使用 LinkCommand,但 AllowEdit 方法使代码保持简单,无需自定义逻辑来支持链接。比转到字段主图更复杂的逻辑需要链接命令。

于 2015-12-09T23:01:58.763 回答