如何使用 Acumatica 更新库存项目的 FS 制造商和型号

问题描述 投票:0回答:1

我正在尝试更新库存项目 (IN202500) 的“服务管理”选项卡上的制造商和制造商型号。

我大约 99% 确定它们必须在图形扩展中,但模式浏览器仅指示它们在 DLL 中,而不是扩展的名称。更一般地说,如果一个字段在扩展中,有没有办法找出哪个字段?还是枚举存在于 Graph Cache 中的扩展?

InventoryItem row = Base.ItemSettings.Current;

// This doesn't work. InventoryItemFSxEquipmentModel isn't the name of the extension and IDK how I figure out what it is.
InventoryItemFSxEquipmentModel rowExt2 = PXCache<InventoryItem>.GetExtension<InventoryItemFSxEquipmentModel>(row);

// This also doesn't work, as it isn't in the base model.
throw new PXException(row.ManufacturerID.ToString());
acumatica
1个回答
0
投票

要找出一个字段在哪个图形扩展中,您可以使用 Acumatica 中的“自定义项目编辑器”:

  1. 在 Acumatica 中打开“自定义项目编辑器”(SM204505) 屏幕。
  2. 在“对象名称”字段中,键入“
    InventoryItem
    ”并单击“搜索”。
  3. 单击“InventoryItem”旁边的“+”图标以展开 InventoryItem DAC 的自定义项列表。
  4. 查找您感兴趣的字段(在本例中为 Manufacturer 和 Manufacturer Model),您应该会看到旁边列出的包含该字段的图形扩展的名称。

一旦知道图形扩展的名称,就可以使用它来获取当前记录的扩展实例,如下所示:

InventoryItem row = Base.ItemSettings.Current;
InventoryItemExt rowExt = row.GetExtension<InventoryItemExt>();

将“

InventoryItemExt
”替换为包含您感兴趣的字段的实际图形扩展的名称。

然后您可以访问 Manufacturer 和 Manufacturer Model 字段,如下所示:

string manufacturer = rowExt.UsrManufacturer;
string model = rowExt.UsrManufacturerModel;

将“

UsrManufacturer
”和“
UsrManufacturerModel
”替换为您正在使用的图形扩展中的实际字段的名称。

© www.soinside.com 2019 - 2024. All rights reserved.