NumberSequence - Ax Dynamics 2012

I need help.

I am trying to add some autogenerated number sequences to my tables. I do this using loadModule()

in the class NumberSeqModuleMine

:

NumberSeqDatatype datatype = NumberSeqDatatype::construct();
datatype.parmDatatypeId(extendedtypenum(IdStuffSeq));
datatype.parmReferenceHelp(literalstr("@SYS32633"));
datatype.parmWizardIsContinuous(true);
datatype.parmWizardIsManual(NoYes::No);
datatype.parmWizardIsChangeDownAllowed(NoYes::No);
datatype.parmWizardIsChangeUpAllowed(NoYes::No);
datatype.parmWizardHighest(99999);
datatype.parmWizardLowest(1);
datatype.parmSortField(12);
this.create(datatype);

datatype.parmDatatypeId(extendedtypenum(IdOrderSeq));
datatype.parmReferenceHelp(literalstr("@SYS32674"));
datatype.parmWizardIsContinuous(true);
datatype.parmWizardIsManual(NoYes::No);
datatype.parmWizardIsChangeDownAllowed(NoYes::No);
datatype.parmWizardIsChangeUpAllowed(NoYes::No);
datatype.parmWizardHighest(99999);
datatype.parmWizardLowest(1);
datatype.parmSortField(12);
this.create(datatype);

      

Next, I created the task and executed it:

static void jobName(Args _args){
NumberSeqModuleMine  NumberSeqModuleMine = new NumberSeqModuleMine();
NumberSeqModuleMine.loadModule();

      

Further in all tables I have methods like this:

static client server NumberSequenceReference numRefIdOrderSq(){
return NumberSeqReference::findReference(extendedTypeNum(IdOrderSeq)); }

      

My question is: I added all the numbers without IdOrderSeq

, but I used the same methods as in the others SeqNumbers

- do you have an idea what I am doing wrong, so only one number does not work?

EDIT - Ok ... As I noticed, while testing my application NumberSequence works, but not always - sometimes Dynamics gives a number, but sometimes it leaves an empty field in the base. But I dont know if it is a server problem, my form problem or whatever. Any idea?

+3


source to share


2 answers


Try to clear all caches, specifically run this code:

NumberSeqApplicationModule::loadAll();
SysGlobalObjectCache::clearAllCaches();
appl.numberSeqGlobal().buildModulesMap();

      

Or restart AX and if all fails, restart AOS.



See Also Using Extended Numbers Frame Sequence (White Paper)

Note. In Microsoft Dynamics AX 2009, number sequence references can be initialized by restarting the Application Object Server (AOS). In Microsoft Dynamics AX 2012, the initialization of references to populate the NumberSequenceDatatype and NumberSequenceParameterType tables have moved to the initialization checklist. to initialize the newly created links, start a job that executes the LoadModule method.

You can also reinitialize all references by doing the job that the LoadAll method in the NumberSequenceModuleSetup class does. However, to reinitialize all references, you must ensure that there are no existing number sequences already defined in the system.

+1


source


Have you tried setting the IdOrderSeq sort field to, for example, 13? I think every number in a module needs its own sorting number. To be clear, I'm talking about the following line of code:



datatype.parmSortField(12)

0


source







All Articles