我已经在项目表中添加了一些字段。当SOLine更新时,我需要能够从代码中引用这些字段。
我有一个可以正常工作的PXSelect,并给了我一个InventoryItem,但是显然我需要进入Ext部分(又名,返回一个InventoryItemExt),但是我不清楚如何使PXSelect做到这一点。 / p>
这将返回我需要的物品:
InventoryItem iiTheItem = PXSelect<InventoryItem, Where<InventoryItem.inventoryID, Equal<Required<InventoryItem.inventoryID>>>>.Select(Base, row.InventoryID);
但是在这里失败:
dQPI = Convert.ToDecimal(iiTheItemExt.UsrLbsPerInch);
如果我将变量作为ext进行操作,则可以使用语法,但显然不会加载任何内容。
InventoryItemExt iiTheItemExt = null;
dQPI = Convert.ToDecimal(iiTheItemExt.UsrLbsPerInch);
如何桥接PXSelect和所需的类?预先感谢!
答案 0 :(得分:2)
PXSelect仍然可以。您需要使用基本DAC记录调用GetExtension方法以获得对DAC扩展的引用。
以下是一些用法示例:
InventoryItemExt iiTheItemExt = iiTheItem.GetExtension<InventoryItemExt>();
InventoryItemExt iiTheItemExt = Base.Caches[typeof(InventoryItem)].GetExtension<InventoryItemExt>(iiTheItem);
答案 1 :(得分:1)
假设您的扩展名为InventoryItemExt ...
<html>
<div class="style-it">
<div>
CSS
</div>
<div>
IS
</div>
<div>
AWESOME
</div>
</div>
</html>
答案 2 :(得分:0)
下面是一个代码示例,该代码示例根据指定的条件检索InventoryItem,将其返回,然后访问其声明的扩展名。
InventoryItemExtension itemExt;
InventoryItem item = PXSelect<InventoryItem, Where<InventoryItem.inventoryCD, Equal<Required<InventoryItem.inventoryCD>>>>.Select(this.Base, new object[] { "TEST" });
if(item != null)
{
itemExt = PXCache<InventoryItem>.GetExtension<InventoryItemExtension>(item);
decimal? dQPI = Convert.ToDecimal(itemExt.UsrLbsPerInch);
}