如何通过代码修改InventoryItem的ID?将PRODUCTV1改为PRODUCTV2
修改InventoryItem ID的具体操作方法
要使用你找到的ChangeCDInventoryItem函数完成ID修改,只需按以下步骤执行:
获取InventoryItem缓存实例
在Acumatica的Graph上下文(比如自定义按钮事件、字段更新事件中),先获取对应的数据缓存:PXCache<InventoryItem> inventoryCache = Base.Caches[typeof(InventoryItem)];如果是在
InventoryItemMaint图或其自定义继承图中,Base就是当前图的实例调用修改函数
传入旧ID、新ID以及目标InventoryItem的itemType参数:// 假设目标商品的itemType为库存类型("IN"),请根据实际情况替换 ChangeCDInventoryItem(inventoryCache, "PRODUCTV1", "PRODUCTV2", "IN");提交修改(可选)
如果是在自定义按钮等需要手动触发保存的场景中,调用保存操作提交修改:Base.Save.Press();
关键注意事项
- 确认itemType值:
itemType需要和目标InventoryItem的实际类型匹配,常见值包括:"IN":库存商品"NON":非库存商品"KIT":套件商品
可以通过查询原PRODUCTV1记录的ItemType字段获取准确值
- 避免重复ID:确保
PRODUCTV2未被其他InventoryItem占用,否则会触发数据库唯一键异常 - 权限验证:当前操作账号需要拥有修改InventoryItem记录的权限
内容的提问来源于stack exchange,提问作者Xavier LARTEM
相关产品推荐
相关产品推荐

