Monday, February 13, 2017

Microsoft Dynamics 365 for Operations - Number sequence

Number sequence framework in there for a while with the release of AX 2012 however, with the arrival of D365 we need to make a small addition on top of what we have been doing in AX 2012.

Following my previous, post How to generate number sequence for new module in AX 2012 all steps remain same as summarizing below to generate number sequence for the newly developed module. 

1. Create a new class similar to NumberSeqModuleCust but suffix it with your module name e.g. NumberSeqModuleMyModule extended from NumberSeqApplicationModule

2. Added loadModule() method

3. Add numberSeqModule() method with your new added enum value (for your module) in NumberSeqModule_extension (You should create an extension of NumberSeqModule base enum and not customizing it and add new element for your module into that extension)

4. This is an additional step for D365 you would need to perform otherwise it will claim "The value does not exist in the map".

Create a new delegate method to class NumberSeqGlobal which will append the current class to the map that links modules to number sequence data type generators.






[SubscribesTo(classstr(NumberSeqGlobal),delegatestr(NumberSeqGlobal,buildModulesMapDelegate))]  
   static void buildModulesMapSubsciber(Map numberSeqModuleNamesMap)  
   {  
     NumberSeqGlobal::addModuleToMap(classnum(NumberSeqModuleMyModule), numberSeqModuleNamesMap);  
   }  

5. Continue with executing the job to loadAll numberSequences and Generate it from Organization module as mentioned in previous post