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

时间:2017-04-19 01:53:03

标签: acumatica

我有一个名为' 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网格上的字段的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

您的扩展程序类名称为InventoryItem_TeacherBooks_Extension,而不是PXFormulaAttribute中使用的InventoryItemExt。您应该将扩展名更改为 InventoryItemExt ,或使用 InventoryItem_TeacherBooks_Extension.usrIsTeacherBook

修改PXFormula声明