我想知道附加DAC属性的最佳方法。请注意我需要DAC属性的附加方法而不是DAC字段属性。 具体来说,我需要将[PXEMailSource]附加到一些现有的DAC上 例如:PX.Objects.IN.INRegister 最好的方法是什么......? 任何有关这方面的帮助将受到高度赞赏
答案 0 :(得分:1)
您可以使用PXSubstituteAttribute
Acumatica框架开发指南(第95页)
中的注释PXSubstitute属性
表示派生的DAC应替换特定图形或所有图形中的基础DAC。•public Type GraphType
获取或设置派生DAC替换基本DAC的特定图形 •public Type ParentType
获取或设置继承中所有类型的基本DAC类型 层次结构用派生的DAC代替。默认情况下,属性 具有空值,这意味着所有基本DAC都被替换为 派生的DAC<强>说明强>
该属性放在DAC的定义上 来自另一个DAC。该属性主要用于制作 计算定义中基本DAC的声明性引用 从子对象到父对象的链接被解释为 衍生DAC的参考。
以下是如何在Attribute
DAC上使用INRegister
的示例。
[PXPrimaryGraph(new Type[]
{
typeof(INReceiptEntry),
typeof(INIssueEntry),
typeof(INTransferEntry),
typeof(INAdjustmentEntry),
typeof(KitAssemblyEntry),
typeof(KitAssemblyEntry)
}, new Type[]
{
typeof(Where<INRegister.docType, Equal<INDocType.receipt>>),
typeof(Where<INRegister.docType, Equal<INDocType.issue>>),
typeof(Where<INRegister.docType, Equal<INDocType.transfer>>),
typeof(Where<INRegister.docType, Equal<INDocType.adjustment>>),
typeof(Select<INKitRegister, Where<INKitRegister.docType, Equal<INDocType.production>, And<INKitRegister.refNbr, Equal<Current<INRegister.refNbr>>>>>),
typeof(Select<INKitRegister, Where<INKitRegister.docType, Equal<INDocType.disassembly>, And<INKitRegister.refNbr, Equal<Current<INRegister.refNbr>>>>>)
})]
[INRegisterCacheName("Receipt")]
[Serializable]
[PXSubstitute(GraphType = typeof(REQUIREDGRAPH_WHERE_SHOULD_BE_SUBSTITED))]
[PXEMailSource]
public class INRegisterExt: INRegister
{
//...
}