Вы можете изменить атрибут ЦАП, используя PXSubstituteAttribute
Примечание из Руководство по разработке Acumatica Framework (стр. 95)
Атрибут PXSubstitute
Указывает, что производный ЦАП должен заменить свои базовые ЦАП на конкретном графике или на всех графиках.
• открытый тип GraphType
Получает или задает конкретный график, в котором производный ЦАП заменяет базовые ЦАП.
• открытый тип ParentType
Получает или задает базовый тип DAC, до которого все типы в наследовании
Иерархия заменяется производным ЦАП. По умолчанию свойство
имеет нулевое значение, что означает, что все базовые ЦАП заменены на
производное ЦАП
Примечания
Атрибут помещается в определение DAC,
получен из другого ЦАПа. Атрибут используется в основном для
декларативные ссылки базового ЦАП в определениях расчетов
и ссылки от дочерних объектов к родительским объектам интерпретируются как
ссылки на производные ЦАП.
Ниже приведен пример использования Attribute
на 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
{
//...
}