D365 Table, Form, Class to extension
[ExtensionOf(tableStr(PurchTable))] final class KKC_PurchTableT_Extension { //新增方法 KKC_BlanketTable kkc_blanketTable() { KKC_BlanketTable kkc_blanketTable; KKC_BlanketLine kkc_blanketLine; ; select firstonly kkc_blanketTable where kkc_blanketTable.KKC_BlanketStatus == KKC_BlanketStatus::Active exists join kkc_blanketLine where kkc_blanketLine.KKC_BlanketNumId == kkc_blanketTable.KKC_BlanketNumId && kkc_blanketLine.PurchId == this.PurchId; return kkc_blanketTable; } //覆写静态方法 [PostHandlerFor(tableStr(PurchTable), tableStaticMethodStr(PurchTable, checkLedgerPeriod))] public static void PurchTable_Post_checkLedgerPeriod(XppPrePostArgs args) { PurchId purchId; TransDate transDate; ; purchId = args.getArg("_purchId"); transDate = args.getArg("_transDate"); return true; } }
AX升级到D365后,不可以直接修改系统对象,需要我们把要修改的对象扩展出来后,在扩展出来的对象上做修改。例如我们其中最常见的修改对象有Table,Form,Class。
1,Table
正对Table的改动,我们可能需要增加新的字段,改现有字段的属性,或者添加,修改Table下的方法,加减字段比较简单,不需要写什么代码,先忽略,主要看下如何修改
或新增method。