#AOT
;
infolog.findNode("Data Dictionary\\Base Enums").AOTadd("PrintMedium");
infolog.findNode("Data Dictionary\\Base Enums\\PrintMedium").AOTadd("File");
infolog.findNode("Data Dictionary\\Base Enums\\PrintMedium").AOTadd("Mail");
infolog.findNode("Data Dictionary\\Base Enums\\PrintMedium").AOTadd("PrintArchive");
infolog.findNode("Data Dictionary\\Base Enums\\PrintMedium").AOTadd("Printer");
infolog.findNode("Data Dictionary\\Base Enums\\PrintMedium").AOTadd("Screen");
infolog.findNode("Data Dictionary\\Base Enums\\PrintMedium").AOTadd("ViewerClass");
infolog.findNode("Data Dictionary\\Base Enums\\PrintMedium").AOTsave();
在AX系统中实际上是有PrintMedium这个枚举的,只是它是隐藏的系统级别的东西,我们看不见。我们正常手动添加这个BaseEnum时,AX会提示这个枚举已经存在了。而通过上述的方式却可以成功添加这个usr层的枚举。
但是经过测试,这个usr层的枚举其实是没有什么用处的,AX系统使用的还是他自己的枚举。我们添加的只是一张脸而已。
不过上述方法却绕过了AOT中关于“将要添加的”与“系统中隐藏的”是否重名的验证过程,不知道这算不算一个bug。
期待大家发现它的用处