Acumatica 如何向开箱即用销售订单实体添加属性支持?

Acumatica 如何向开箱即用销售订单实体添加属性支持?,acumatica,acumatica-kb,Acumatica,Acumatica Kb,现成的Acumatica销售订单(SO301000)没有属性支持。如何将属性支持扩展到Acumatica中的销售订单实体?最核心的是,实体主DAC必须具有GUID列(NoteID)以引用CSAnswers表,并且必须具有标识实体类别的字段 我们将使用订单类型定义属性列表,以收集特定订单类型的特定信息 为SOOrderTypeMaintGraph创建一个图形扩展,并声明数据视图以定义特定订单类型的属性列表。我们将使用开箱即用的CSAttributeGroupList 公共类SOOrderTypeM

现成的Acumatica销售订单(SO301000)没有属性支持。如何将属性支持扩展到Acumatica中的销售订单实体?

最核心的是,实体主DAC必须具有GUID列(
NoteID
)以引用
CSAnswers
表,并且必须具有标识实体类别的字段

我们将使用
订单类型
定义属性列表,以收集特定订单类型的特定信息

SOOrderTypeMaint
Graph创建一个图形扩展,并声明数据视图以定义特定订单类型的属性列表。我们将使用开箱即用的
CSAttributeGroupList

公共类SOOrderTypeMaintPXExt:pxGrapherExtension
{
[PXViewName(PX.Objects.CR.Messages.Attributes)]
公共CSAttributeGroupList映射;
}
SOOrderEntry
Graph创建图形扩展,并为特定于当前订单类型的属性声明数据视图

公共类SOOrderEntryPXExt:PXGraphExtension
{
公共CRAttributeList答案;
}
SOOrder
DAC创建DAC扩展,并声明用
CRAttributesField
属性修饰的用户定义字段,并指定
ClassID
字段–在本例中,它是
OrderType

公共类SOOrderPXExt:PXCacheExtension
{
#区域分布
公共抽象类usrAttributes:IBqlField{}
[CRAttributesField(typeof(SOOrder.orderType))]
公共虚拟字符串[]UsrAttributes{get;set;}
#端区
}
使用定制引擎修改订单类型页面(
SO201000
),如下所示