Acumatica 如何使用PXSelect获取用户定义的字段?(又名ext字段)

Acumatica 如何使用PXSelect获取用户定义的字段?(又名ext字段),acumatica,Acumatica,我在items表中添加了几个字段。当SOLine更新时,我需要能够从代码中引用这些字段 InventoryItemExtension itemExt; InventoryItem item = PXSelect<InventoryItem, Where<InventoryItem.inventoryCD, Equal<Required<InventoryItem.inventoryCD>>>>.Sel

我在items表中添加了几个字段。当SOLine更新时,我需要能够从代码中引用这些字段

            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);
            }
我有一个正确工作的PXSelect,并给我一个InventoryItem,但显然我需要在Ext部分(也称为返回InventoryItemExt),但我不清楚如何让PXSelect这样做

            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);
            }
这将返回我需要的项目:

      InventoryItem iiTheItem = PXSelect<InventoryItem, Where<InventoryItem.inventoryID, Equal<Required<InventoryItem.inventoryID>>>>.Select(Base, row.InventoryID);
            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);
            }
如果我把一个变量作为ext,它的语法是正确的,但显然没有加载任何内容

InventoryItemExt iiTheItemExt = null;
dQPI = Convert.ToDecimal(iiTheItemExt.UsrLbsPerInch);
            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);
            }

如何连接PXSelect和我需要的类?提前谢谢

下面是一个代码示例,它根据指定的条件检索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);
            }
InventoryItemExtension-itemExt;
InventoryItem=PXSelect.Select(this.Base,新对象[]{“TEST”});
如果(项!=null)
{
itemExt=PXCache.GetExtension(item);
decimal?dQPI=Convert.ToDecimal(itemExt.UsrLbsPerInch);
}

下面是一个代码示例,它根据指定的条件检索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);
            }
InventoryItemExtension-itemExt;
InventoryItem=PXSelect.Select(this.Base,新对象[]{“TEST”});
如果(项!=null)
{
itemExt=PXCache.GetExtension(item);
decimal?dQPI=Convert.ToDecimal(itemExt.UsrLbsPerInch);
}

PXSelect按原样很好。您需要使用基本DAC记录调用GetExtension方法以获取对DAC扩展的引用

            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);
            }
下面是一些用法示例:

            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);
            }
InventoryItemExt iiTheItemExt = iiTheItem.GetExtension<InventoryItemExt>();
InventoryItemExt iiTheItemExt = Base.Caches[typeof(InventoryItem)].GetExtension<InventoryItemExt>(iiTheItem);
InventoryItemExt iiItItemExt=iiItItem.GetExtension();
InventoryItemExt iiItemExt=Base.Caches[typeof(InventoryItem)].GetExtension(iiItem);

PXSelect按原样很好。您需要使用基本DAC记录调用GetExtension方法以获取对DAC扩展的引用

            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);
            }
下面是一些用法示例:

            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);
            }
InventoryItemExt iiTheItemExt = iiTheItem.GetExtension<InventoryItemExt>();
InventoryItemExt iiTheItemExt = Base.Caches[typeof(InventoryItem)].GetExtension<InventoryItemExt>(iiTheItem);
InventoryItemExt iiItItemExt=iiItItem.GetExtension();
InventoryItemExt iiItemExt=Base.Caches[typeof(InventoryItem)].GetExtension(iiItem);

假设您的扩展名为InventoryItemExt

            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);
            }
 InventoryItemExt itemext = PXCache<InventoryItem>.GetExtension<InventoryItemExt>(iiTheItem );
InventoryItemExt=PXCache.GetExtension(iiItem);

假设您的扩展名为InventoryItemExt

            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);
            }
 InventoryItemExt itemext = PXCache<InventoryItem>.GetExtension<InventoryItemExt>(iiTheItem );
InventoryItemExt=PXCache.GetExtension(iiItem);