我有一个名为' 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 { }
}
}
我需要能够从SalesOrder屏幕上的SOLine网格访问此IsTeacherBook字段的值。我在销售订单屏幕上的SOLine网格中添加了一个自定义字段UsrTeacherBook
,但我无法弄清楚如何使用InventoryItem UsrIsTeacherBook的值填充此字段。
我尝试按以下方式在SOLine字段上自定义属性:
[PXDBBool]
[PXUIField(DisplayName="Teacher Manual", Visible = true, Enabled = false)]
[PXFormula(typeof(Selector<SOLine.inventoryID, InventoryItemExt.usrIsTeacherBook>))]
但这会产生验证错误,&#34;类型名称&#39; usrIsTeacherBook&#39;类型&#39; PX.Objects.IN.InventoryItemExt&#39;中不存在。&#34;
访问InventoryItem IsTeacherBook字段以填充SOLine网格上的字段的正确方法是什么?
答案 0 :(得分:0)
您的扩展程序类名称为InventoryItem_TeacherBooks_Extension
,而不是PXFormulaAttribute中使用的InventoryItemExt
。您应该将扩展名更改为 InventoryItemExt ,或使用 InventoryItem_TeacherBooks_Extension.usrIsTeacherBook