Number Sequence Generation – AX 2012
How
to Create/Add a New Number Sequence in AX 2012.
Step1: Create a new Extended Data Type. As shown in the below screen shot
Step2:
Add
the Created EDT in the table.
Create a new
table and add the create EDT from the step1 to the table
Step
3: Add
the numRef<name> method
in which module this belongs to.
For
example, let say this belongs to Account Receivable Module,
so add it the CustParameters table.
Following
is the method needs to be added.
Step
4: Need
to add the code in the class “NumberSeqModule<Module
Name> “method
“loadModule”.
So
in our case the class is “NumberSeqModuleCustomer” à load
Module ().
Step
5: Create a new form with
the data source in the step 2, as shown in the below.
As
shown in the above screen shot the following methods needs to be
included in the form.
Below
is the code that needs to added ..
Forms\ExampleNumSeq\Methods\numberSeqFormHandler()
NumberSeqFormHandler
numberSeqFormHandler()
{
if
(!numberSeqFormHandler)
{
numberSeqFormHandler
=
NumberSeqFormHandler::newForm(CustParameters::numRefNumSeqId().NumberSequenceId,
element,
ExampleNumSequence_DS,
fieldNum(ExampleNumSequence,
NumSeqId)
);
}
return
numberSeqFormHandler;
}
Forms\ExampleNumSeq\Data
Sources\ExampleNumSequence\Methods\create()
public
void create(boolean _append = false)
{
element.numberSeqFormHandler().formMethodDataSourceCreatePre();
super(_append);
element.numberSeqFormHandler().formMethodDataSourceCreate();
}
Forms\ExampleNumSeq\Data
Sources\ExampleNumSequence\Methods\write()
public
void write()
{
super();
element.numberSeqFormHandler().formMethodDataSourceWrite();
}
Forms\ExampleNumSeq\Data
Sources\ExampleNumSequence\Methods\validateWrite()
public
boolean validateWrite()
{
boolean
ret;
ret
= super();
ret
=
element.numberSeqFormHandler().formMethodDataSourceValidateWrite(ret)
&& ret;
return
ret;
}
Forms\ExampleNumSeq\Data
Sources\ExampleNumSequence\Methods\delete
public
void delete()
{
element.numberSeqFormHandler().formMethodDataSourceDelete();
super();
}
Forms\ExampleNumSeq\Data
Sources\ExampleNumSequence\Methods\linkActive
public
void linkActive()
{
element.numberSeqFormHandler().formMethodDataSourceLinkActive();
super();
}
Step
6:
Go
to Account Receivable à setup àAccounts
Receivable parameters, open the form and go to number sequence, over
there check Number Sequence Id is listing or not.
In
AX 2009, after doing with the above 4 steps it list in the parameters
of the accounts receivable.
But
in AX 2012 a job needs to run to show in the parameters of the
accounts receivable.
Below
is the job needs to run…
After
running the job, go to Account Receivable à setup àAccounts
Receivable parameters form, it show the newly created one as below.
Step7: Once
In the parameters form, it is shown need to assign the number
sequence code. To assign the number sequence code need to generate
the code for it by wizard or it can be created manually.
Go
to Organization
Administration à Number
Sequence àNumber
Sequence
A
wizard will be opened, click on next button over there, it show the
number sequence code for the one which create in the above, below is
the screen shot
Click
next and Finish button to complete wizard.
Open
the forms which created in the step 5 and create the new record in
the form it will generate the new number sequence, below is the
screen shot.
static void pnumseqid(Args _args)
{
NumberSeqModuleCustomer NumberSeqModuleCustomer = new NumberSeqModuleCustomer();
;
NumberSeqModuleCustomer.loadModule();
print("Load Successfully");
pause;
}
static void pknum(Args _args)
{
NumberSeq numberSeq;
S3Numberseq num;
;
numberSeq = NumberSeq::newGetNum(CustParameters::numRefNumSeqId());
num = numberSeq.num();
info(num);
}
{
NumberSeqModuleCustomer NumberSeqModuleCustomer = new NumberSeqModuleCustomer();
;
NumberSeqModuleCustomer.loadModule();
print("Load Successfully");
pause;
}
static void pknum(Args _args)
{
NumberSeq numberSeq;
S3Numberseq num;
;
numberSeq = NumberSeq::newGetNum(CustParameters::numRefNumSeqId());
num = numberSeq.num();
info(num);
}
No comments:
Post a Comment