2017-04-19 60 views
0

加入访问用户定义的字段我有称为“UsrIsTeacherBook`的自定义字段,它加入到InventoryItem具有以下扩展名:通过延伸在Acumatica

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 { } 
    } 
} 

我需要能够访问该值SalesOrder屏幕上的SOLine网格中此IsTeacherBook字段的名称。我在销售订单屏幕上的SOLine网格中添加了一个自定义字段UsrTeacherBook,但我无法弄清楚如何使用InventoryItem UsrIsTeacherBook的值填充此字段。

我试图通过以下方式定制的SOLine场的属性:

[PXDBBool] 
[PXUIField(DisplayName="Teacher Manual", Visible = true, Enabled = false)] 
[PXFormula(typeof(Selector<SOLine.inventoryID, InventoryItemExt.usrIsTeacherBook>))] 

但是,这产生了验证错误,“类型名称‘usrIsTeacherBook’不在类型“PX.Objects存在。 IN.InventoryItemExt”。”

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

回答

0

您的扩展类名称为InventoryItem_TeacherBooks_Extension,而不是在PXFormulaAttribute中使用的InventoryItemExt。你应该要么改变你的扩展名InventoryItemExt或修改与InventoryItem_TeacherBooks_Extension.usrIsTeacherBook PXFormula声明

+0

谢谢,鲁斯兰!我还需要添加命名空间,以便完整的声明是'Lasalle.TeacherBooks.InventoryItem_TeacherBooks_Extension.usrIsTeacherBook'。代码现在正在工作。 – abulger