如何附加Acumatica DAC属性[PXEmailSource]

时间:2018-04-25 06:11:46

标签: acumatica

我想知道附加DAC属性的最佳方法。请注意我需要DAC属性的附加方法而不是DAC字段属性。 具体来说,我需要将[PXEMailSource]附加到一些现有的DAC上 例如:PX.Objects.IN.INRegister 最好的方法是什么......? 任何有关这方面的帮助将受到高度赞赏

1 个答案:

答案 0 :(得分:1)

您可以使用PXSubstituteAttribute

更改DAC的属性

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