【发布时间】:2018-04-25 23:40:37
【问题描述】:
如果在某些情况下发现库存项目 ImageUrl 为空,我正在尝试更新它。我在 Item Class 屏幕中添加了一个名为 UsrStyleImg 的 Usr 字段。此字段用于项目的基本图像,并存储在数据库中。我想要的功能是,如果库存项目在 ImageUrl 中没有图像,那么它将默认为与 ItemClassID 连接的 UsrStyleImg。 ItemClassID 也可以在库存项目屏幕上找到。这是我在 InventoryItemMaint 图中的代码:
protected void InventoryItem_ImageUrl_FieldDefaulting(PXCache cache, PXFieldDefaultingEventArgs e)
{
var row = (InventoryItem)e.Row;
if (row == null) return;
var item = (INItemClass)PXSelect<INItemClass, Where<INItemClass.itemClassID, Equal<Current<InventoryItem.itemClassID>>>>.Select(Base, row.ItemClassID);
var image = PXSelect<InventoryItem, Where<InventoryItem.imageUrl, Equal<Current<InventoryItem.imageUrl>>>>.Select(Base, row.ImageUrl);
if (image != null)
return;
else {
e.NewValue = item.GetExtension<INItemClassExt>().UsrStyleImg;
}
}
代码编译得很好,但是当我用一个附加了一个项目类的项目进行测试时,它不会填充到库存项目表或库存项目屏幕中找到的 imageUrl。我也尝试过使用 FieldSelecting 并使用 e.ReturnValue 仍然得到相同的结果。
如果我需要更多说明,请告诉我。
【问题讨论】:
标签: acumatica