Carry out the following steps in order to
complete this recipe:
1.
Create a new NumberSequenceModuleCustomer_packet class in the D365 Project that
extends
the NumberSequenceModuleCustomer class in the Application
and add the
following
code snippet at the bottom of the loadModule_Extension() method:
class
NumberSequenceCustomer_packet extends NumberSeqModuleCustomer
{
public void
loadModule_Extension()
{
NumberSeqDatatype
datatype = NumberSeqDatatype::construct();
datatype.parmDatatypeId(extendedTypeNum(CustomerGroupId));
datatype.parmReferenceHelp("Customer
group Id");
datatype.parmWizardIsContinuous(false);
datatype.parmWizardIsManual(NoYes::No);
datatype.parmWizardIsChngeDownAllowed(NoYes::Yes);
datatype.parmWizardIsChngeUpAllowed(NoYes::Yes);
datatype.parmWizardHihest(999999);
datatype.parmSortField(20);
datatype.addParameterType(NumberSeqParameterType::DataArea,
true, false);
this.create(datatype);
}
}
2. Create a new runnable class (Job) with
the following lines of code, build the solution and run it:
class loadNumSeqCustPackt
{
public static void Main(Args args)
{
NumberSeqModuleCustomer_packt nymberSeqMod = new
NumberSeqModuleCustomer_packt();
nymberSeqMod.loadModule_Extension();
}
}
3. Run the number sequence wizard by clicking on the Generate button under Number sequence by going to Organization administration | Common | Number sequence and then click on the Next button, as shown in the following screenshot:
4. Click on Details to
view more information. Delete everything apart from the rows where Area is Accounts receivable and Reference
is Customer group. Note the
number sequence codes and click on the Next
button, as shown here:
5. On the last page, click on the Finish button to complete the setup, as shown in the following screenshot:
6. The
newly created number sequences now can be found in the Number sequence
form, as shown in the following screenshot:
7. Navigate to Organization
administration | Number sequences |
Segment configuration and notice the
new Customer group reference under
the Accounts receivable area:
8. Navigate to Accounts
receivable | Setup | Accounts receivable parameters and
select the Number sequences tab.
Here, you should see the new number sequence code:
9. The last thing to be done is to create a helper method for this
number sequence. Create a new extension class CustParameters_Extension for the CustParameters
table and add it to the Dynamics 365 Project and then create the following
method and build the solution:
[ExtensionOf(tableStr(CustParameters))]
Final class CustParameters_Extension
{
client server static
NumberSequenceReference numRefCustGroupId()
{
NumberSequenceReference
NumberSeqReference;
NumberSeqReference =
NumberSeqReference::findReference (extendedTypeNum(CustGroupId));
return NumberSeqReference;
}
}
How it works...
We start the recipe by adding a number
sequence initialization code into the NumberSeqModuleCustomer_packt
class. As understood from its name, the number sequence initialization code
holds the initialization of the number sequences that belong to the Accounts
receivable module.
The code in the loadModule_Extension()
method defines the default number sequence settings to be used in the wizard,
such as the data type, description, and highest possible number. Additional
options such as the starting sequence number, number format, and others can
also be added here. All the mentioned options can be changed while running the
wizard. The addParameterType() method is used to define
the number sequence scope. In the example, we created a separate sequence for
each Legal entity.
Before we start the wizard, we
initialize number sequence references. This should be done as a part of the
Dynamics 365 for Finance and Operations initialization checklist, but in this
example, we execute it manually by calling the loadModule_Extension()
method of the NumberSeqApplicationModule_packt class.
Next, we execute the wizard that will
create the number sequences for us. We skip the welcome page and in the second
step of the wizard, the Details button can be used to display more options. The
options can also be changed later in the Number sequences form before or even
after the number sequence is actually used. The last page shows an overview of
what will be created. Once completed, the wizard creates new records in the
Number sequences form for each company.
The newly created number sequence
reference appears in the Segment configuration form. Here, we can see that the
Data area checkbox is checked, which means that we will have separate number
lists for each company. The number sequence setup can be normally located in
the module parameter forms.
No comments:
Post a Comment