访问通过Acumatica中的扩展添加的用户定义字段

访问通过Acumatica中的扩展添加的用户定义字段,acumatica,Acumatica,我有一个名为“UsrIsTeacherBook”的自定义字段,该字段已添加到InventoryItem中,扩展名如下: namespace Lasalle.TeacherBooks { public class InventoryItem_TeacherBooks_Extension : PXCacheExtension<InventoryItem> { [PXDBBool] [PXUIField(DisplayName = "Is T

我有一个名为“UsrIsTeacherBook”的自定义字段,该字段已添加到InventoryItem中,扩展名如下:

namespace Lasalle.TeacherBooks
{
    public class InventoryItem_TeacherBooks_Extension : PXCacheExtension<InventoryItem>
    {
        [PXDBBool]
        [PXUIField(DisplayName = "Is Teacher Book")]
        public virtual bool? UsrIsTeacherBook { get; set; }
        public abstract class usrIsTeacherBook : IBqlField { }
    }
}
但这产生了一个验证错误,“类型‘PX.Objects.in.InventoryItemExt’中不存在类型名‘usrIsTeacherBook’。”


访问InventoryItem IsTeacherBook字段以在SOLine网格上填充我的字段的正确方法是什么?

您的扩展类名是
InventoryItem\u TeacherBooks\u扩展名
,而不是PXFormulaAttribute中使用的
InventoryItemExt
。您应该将扩展名更改为InventoryItemExt,或者使用InventoryItem\u TeacherBooks\u扩展名修改PXFormula声明。usrIsTeacherBook

谢谢,Ruslan!我还需要添加名称空间,以便完整的声明是
Lasalle.TeacherBooks.InventoryItem\u TeacherBooks\u Extension.usrIsTeacherBook
。代码正在运行。
[PXDBBool]
[PXUIField(DisplayName="Teacher Manual", Visible = true, Enabled = false)] 
[PXFormula(typeof(Selector<SOLine.inventoryID, InventoryItemExt.usrIsTeacherBook>))]