![]() |
#1 |
Участник
|
axaptacorner: Generate number Sequence
Источник: http://axaptacorner.blogspot.com/201...ence_8531.html
============== Generate number Sequence Consideration: EDT-Test, Table-TestTable and Form- TestTable Step1. Create new EDT with name Test Step 2. Modify load module() method on NumberSeqModuleLedger class { datatype.parmDatatypeId(extendedTypeNum(Test)); datatype.parmReferenceHelp(literalStr("Test")); datatype.parmWizardIsManual(NoYes::No); datatype.parmWizardIsChangeDownAllowed(NoYes::No); datatype.parmWizardIsChangeUpAllowed(NoYes::No); datatype.parmWizardHighest(999); datatype.parmSortField(30); datatype.addParameterType(NumberSeqParameterType::DataArea, true, false); this.create(datatype); } Step 3.Create a method on LedgerParameters Table clientserverstatic NumberSequenceReference numRefTest() { return NumberSeqReference::findReference(extendedTypeNum(Test)); } Step 4.Write and run following job staticvoid NumberSeqLoadAll(Args _args) { NumberSeqApplicationModule::loadAll(); } Step 5.Then run the wizard Organization Administration -> CommonForms -> Numbersequences->Numbersequences-> Generate -> run the wizard. Step 6.Now we have to check the number sequence is correctly working for that write a job: staticvoid NumSeq(Args _args) { NumberSeq numberSeq; Test num; ; numberSeq = NumberSeq::newGetNum(ProjParameters:: numRefTest ()); num = numberSeq.num(); info(num); } Step 7.Now we want that Number Sequence in form level(Test Table): Write below code in class declaration publicclass FormRun extends ObjectRun { NumberSeqFormHandler numberSeqFormHandler; } Step 8.Write the NumberSeqFormHandler() in form methods node. NumberSeqFormHandler numberSeqFormHandler() { if (!numberSeqFormHandler) { numberSeqFormHandler = NumberSeqFormHandler::newForm(LedgerParameters:: numRefTest ().NumberSequenceId, element, TestTable_DS, fieldNum(TestTable, Test) ); } return numberSeqFormHandler; } Step 9.Write the Create(),Delete(),Write() , Validate Write(),Link Active()on the Data source methods node. Create() Method void create(boolean append = false, boolean extern = false) { element.numberSeqFormHandler().formMethodDataSourceCreatePre(); super(append); if (!extern) { element.numberSeqFormHandler().formMethodDataSourceCreate(true); } } Delete() Method publicvoid delete() { element.numberSeqFormHandler().formMethodDataSourceDelete(); super(); } Write()Method publicvoid write() { super(); element.numberSeqFormHandler().formMethodDataSourceWrite(); } Validate Write() Method publicboolean validateWrite() { boolean ret; ret = super(); ret = element.numberSeqFormHandler().formMethodDataSourceValidateWrite(ret) && ret; if (ret) { TestTable.validateWrite(); } return ret; } Link Active() Method publicvoid linkActive() { ; element.numberSeqFormHandler().formMethodDataSourceLinkActive(); super(); } Step 10.Finally add Close() method on form void close() { if (numberSeqFormHandler) { numberSeqFormHandler.formMethodClose(); } super(); } Источник: http://axaptacorner.blogspot.com/201...ence_8531.html
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору. |
|
|
|