Acumatica 如何在不同BLC的另一页中显示自定义文件?

Acumatica 如何在不同BLC的另一页中显示自定义文件?,acumatica,Acumatica,例如,我在BLC“InventoryItemMaint”中的库存项目细节处创建了一个自定义字段“Brand” 但如何在销售订单页面的详细信息中显示“品牌”自定义字段?在不同的BLC“SOOrderEntry”中。我假设您将自定义列添加到InventoryItem DAC中,如下所示: 首先找到要显示自定义字段的另一个DAC。您可以在“自定义”菜单中使用Acumatica Inspect Element功能,然后单击要显示字段的网格: 这将告诉您哪个DAC绑定到网格,在本例中为SOLine:

例如,我在BLC“InventoryItemMaint”中的库存项目细节处创建了一个自定义字段“Brand”


但如何在销售订单页面的详细信息中显示“品牌”自定义字段?在不同的BLC“SOOrderEntry”中。

我假设您将自定义列添加到InventoryItem DAC中,如下所示:

首先找到要显示自定义字段的另一个DAC。您可以在“自定义”菜单中使用Acumatica Inspect Element功能,然后单击要显示字段的网格:

这将告诉您哪个DAC绑定到网格,在本例中为SOLine:

SOLine包含InventoryItem(SOLine.InventoryID)的选择器。将自定义字段添加到SOLine InventoryItem选择器中,使其在选择器窗口中可用。您可以通过扩展SOLine DAC来实现这一点,选择添加字段->更改基本字段的属性。选择器列按钮将添加包含现有列的存根代码,您可以在其中添加自定义字段:

这将使自定义列在“销售订单详细信息库存项目选择器”窗口中可见:

现在,您可以向SOLine添加一个新的自定义未绑定(非持久)字段,该字段将使用SOLine InventoryItem选择器显示您的InventoryItem自定义字段:

请注意,PXFormula属性将使用SOLine.InventoryID选择器获取InventoryItem DAC扩展中的自定义字段:

[PXFormula(typeof(Selector<SOLine.inventoryID, PX.Objects.IN.InventoryItemExt.usrBrand>))]
[PXFormula(typeof(选择器))]
自定义销售订单输入屏幕以将SOLine自定义字段添加到详细信息网格:

最终结果,自定义字段显示在销售订单输入屏幕详细信息网格中:

检查销售订单行的数据视图,如果其中包含添加自定义字段的Dac的Join,则只需从自定义的页面编辑器中添加字段,否则将数据视图更改为带有Join to Dac的数据视图。很好的示例,以及thx。这种方式似乎不同于Acumatica定制手册,它告诉我们在另一个BLC中创建或扩展数据视图。哪种方法更好?有很多方法可以做到这一点。我选择这种方法有几个原因。首先,我假设该字段在销售订单屏幕中是只读的,因此首选未绑定字段。我还假设希望在InventoryItem选择器中具有Brand,以允许按品牌搜索库存项目。在销售订单详细信息中重新定义Acumatica基础产品数据视图,将其与InventoryItem连接也会起作用,但如果Acumatica在未来版本中更改数据视图,则必须对其进行维护。最终,这主要是个人选择的问题。这背后的原因是,您可以轻松地“扩展”Acumatica DAC,但无法轻松地扩展Acumatica DataView。使用DataView可以创建新的或重新定义现有的。如果可能的话,我会避免重新定义,因为Acumatica可以在未来的版本中更改DataView,如果您重新定义了它,您将无法获得更改。Thx很多!你的回答真的很有帮助!自定义后出现奇怪错误:[A]PX.Objects.IN.InventoryItemExt无法转换为[B]PX.Objects.IN.InventoryItemExt。类型A源自字节数组中上下文“LoadNone”中的“RuntimeCode_1AB275DEA7DA7C22,版本=0.0.0,区域性=中性,PublicKeyToken=null”。类型B源自字节数组中上下文“LoadNother”中的“RuntimeCode_1AB275DEA7DA7C22,版本=0.0.0,区域性=中性,PublicKeyToken=null”。