Acumatica - 如何更改由编辑按钮(铅笔)打开的页面

Acumatica - How to change the page opened by the edit button (pencil)

我正在尝试自定义页面,以便编辑按钮(铅笔图标之一)将用户引导至特定页面。在我的例子中,编辑按钮链接到 BAccountID 字段:

默认情况下,它会打开企业帐户页面(页面 CR303000):

我希望它打开我创建的具有类似 BAccount 视图(页面 AR303001)的不同页面:

这可以做到吗?如何 ?我似乎找不到这个逻辑背后的代码。

目标图在修饰 DAC 的 PXPrimaryGraph 属性中声明。 BAccount DAC 是一个特例,它使用了一个更复杂的属性(CRCacheIndependentPrimaryGraphList),它继承自 PXPrimaryGraph。

[CRCacheIndependentPrimaryGraphList(new Type[]{
    typeof(CR.BusinessAccountMaint),
    typeof(EP.EmployeeMaint),
    typeof(AP.VendorMaint),
    typeof(AP.VendorMaint),
    typeof(AR.CustomerMaint),
    typeof(AR.CustomerMaint),
    typeof(AP.VendorMaint),
    typeof(AR.CustomerMaint),
    typeof(CR.BusinessAccountMaint)},
    new Type[]{
        typeof(Select<CR.BAccount, Where<CR.BAccount.bAccountID, Equal<Current<BAccount.bAccountID>>,
                And<Current<BAccount.viewInCrm>, Equal<True>>>>),
        typeof(Select<EP.EPEmployee, Where<EP.EPEmployee.bAccountID, Equal<Current<BAccount.bAccountID>>>>),
        typeof(Select<AP.VendorR, Where<AP.VendorR.bAccountID, Equal<Current<BAccount.bAccountID>>>>), 
        typeof(Select<AP.Vendor, Where<AP.Vendor.bAccountID, Equal<Current<BAccountR.bAccountID>>>>), 
        typeof(Select<AR.Customer, Where<AR.Customer.bAccountID, Equal<Current<BAccount.bAccountID>>>>),
        typeof(Select<AR.Customer, Where<AR.Customer.bAccountID, Equal<Current<BAccountR.bAccountID>>>>),
        typeof(Where<CR.BAccountR.bAccountID, Less<Zero>,
                And<BAccountR.type, Equal<BAccountType.vendorType>>>), 
        typeof(Where<CR.BAccountR.bAccountID, Less<Zero>,
                And<BAccountR.type, Equal<BAccountType.customerType>>>), 
        typeof(Select<CR.BAccount, 
            Where2<Where<
                CR.BAccount.type, Equal<BAccountType.prospectType>,
                Or<CR.BAccount.type, Equal<BAccountType.customerType>,
                Or<CR.BAccount.type, Equal<BAccountType.vendorType>,
                Or<CR.BAccount.type, Equal<BAccountType.combinedType>>>>>,
                    And<Where<CR.BAccount.bAccountID, Equal<Current<BAccount.bAccountID>>,
                    Or<Current<BAccount.bAccountID>, Less<Zero>>>>>>)
    },
    VerifyRightsBy = new [] { typeof(CR.BusinessAccountMaint) })]

无法轻松自定义此属性。要更改它,您需要用另一个替换 BAccount DAC。您的用例的首选方法是通过使用常规操作按钮来避免使用 PXPrimaryGraph 属性。

操作按钮可以配置为显示铅笔图标:

并且可以使用 PXLayout Merge 显示在字段旁边 属性 或者您可以使用 LinkCommand 重定向: