代码之家  ›  专栏  ›  技术社区  ›  Kishor

如何附加Acumatica DAC属性[PXEmailSource]

  •  1
  • Kishor  · 技术社区  · 6 年前

    我想知道附加DAC属性的最佳方法。。请注意,我需要为DAC属性而不是DAC字段属性附加方法。 具体来说,我需要将[PXEMailSource]附加到一些现有的DAC 例如:PX。对象。在里面登记员 最好的方法是什么。。。? 对此,如有任何帮助,将不胜感激

    1 回复  |  直到 6 年前
        1
  •  1
  •   Samvel Petrosov    6 年前

    可以使用更改DAC的属性 PXSubstituteAttribute

    注释来自 Acumatica框架开发指南 (第95页)

    PXSubstitute属性
    指示派生DAC应替换特定图或所有图中的基本DAC。

    –公共类型GraphType
    获取或设置派生DAC替换基DAC的特定图形。
    –public类型ParentType
    获取或设置继承中所有类型所使用的基DAC类型 用派生的DAC替换层次结构。默认情况下,属性 具有空值,这意味着所有基本DAC都将替换为 衍生DAC

    备注:
    属性放置在DAC的定义上,即 来自另一个DAC。该属性主要用于使 计算定义中基本DAC的声明性引用 从子对象到父对象的链接被解释为 派生DAC的引用。

    下面是如何使用的示例 Attribute 在…上 INRegister DAC。

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