![]() |
#10 |
Участник
|
М... похоже, что можно
![]() X++: // Dump incremental xml files changeFound = !dumpChanges || SysCompileIL::dumpIncrementalBulk(); if(changeFound) { AppVersionStr = ApplicationVersion::applBuildNo(); AppVersion = new System.Version(AppVersionStr); xppILAppDomain = xApplication::XppILAppDomain(); parameters = new Microsoft.Dynamics.Ax.Xpp.GeneratorParameters(); parameters.set_AppVersion(AppVersion); parameters.set_AssemblyName(#XppDllName); parameters.set_EnableDebugging(true); parameters.set_EnumFile(xmlPath + '\\Enums.exml'); parameters.set_NumberOfModules(#NumberOfModules); parameters.set_WritePath(writePath); parameters.set_XmlPath(xmlPath); parameters.set_OldAssemblyName(xppAssemblyPath); parameters.set_GeneratorAppDomain(xppILAppDomain); parameters.set_IsDebug(Debug::isDebugOnAOSEnabled()); parameters.set_LogFolderPath(writePath); modifiedModules = Microsoft.Dynamics.Ax.Xpp.XppILGenerator::GenerateIncrementalAssembly(parameters); X++: SysModelElement sysModelElementChildren, sysModelElementSameBucket; SysModelElementData sysModelElementData; SysCompileILTable sysCompileILTable, sysCompileILTableSelfJoin; // insert any type that has changed. insert_recordset sysCompileILTableSelfJoin(Name, ModelElement, ElementType, AxId, GenerateType) select Name, RecId, ElementType, AxId, generateType from sysModelElementSameBucket exists join sysModelElementChildren where sysModelElementChildren.ParentModelElement == sysModelElementSameBucket.RecId && (sysModelElementChildren.ElementType == UtilElementType::ClassInstanceMethod || sysModelElementChildren.ElementType == UtilElementType::ClassStaticMethod || sysModelElementChildren.ElementType == UtilElementType::TableInstanceMethod || sysModelElementChildren.ElementType == UtilElementType::TableStaticMethod || sysModelElementChildren.ElementType == UtilElementType::TableRelation || sysModelElementChildren.ElementType == UtilElementType::TableField) exists join sysModelElementData where sysModelElementData.ModelElement == sysModelElementChildren.RecId && sysModelElementData.ModifiedDateTime >= modifiedDateTime; // Insert types in same bucket as types that changed update_recordset sysCompileILTableSelfJoin setting NetModuleId = (sysCompileILTableSelfJoin.AxId / #GroupSize) mod #NumberOfModules; insert_recordset sysCompileILTable(Name, ModelElement, ElementType, AxId, GenerateType) select Name, RecId, ElementType, AxId, generateType from sysModelElementSameBucket where sysModelElementSameBucket.ElementType == UtilElementType::Class || sysModelElementSameBucket.ElementType == UtilElementType::Table exists join sysCompileILTableSelfJoin where sysCompileILTableSelfJoin.NetModuleId == (sysModelElementSameBucket.AxId / #GroupSize) mod #NumberOfModules; X++: update_recordset sysCompileILTableSelfJoin setting NetModuleId = (sysCompileILTableSelfJoin.AxId / #GroupSize) mod #NumberOfModules; X++: #define.NumberOfModules(1000) #define.GroupSize(10) Последний раз редактировалось gl00mie; 07.08.2015 в 11:50. |
|
|
За это сообщение автора поблагодарили: mazzy (5), Logger (5), Jorj (1), S.Kuskov (5). |