• How to generate number Sequence[AX 2012]


    Suppose we want create number sequence for Test field on form in General  ledger module
    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, truefalse);
         this.create(datatype);
    }
     
    Step 3.Create a method on LedgerParameters Table
     
         client server static NumberSequenceReference numRefTest()
    {
         return NumberSeqReference::findReference(extendedTypeNum(Test));
    }
     
    Step 4.Write and run following job
     
    static void 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:
     
    static void 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  
    public class 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
     
    public void delete()
    {
        element.numberSeqFormHandler().formMethodDataSourceDelete();
        super();
    }
     
    Write()Method
     
    public void write()
    {
        super();
        element.numberSeqFormHandler().formMethodDataSourceWrite();
    }
     
     
     
    Validate Write() Method
     
    public boolean validateWrite()
    {
        boolean         ret;
        ret = super();
        ret = element.numberSeqFormHandler().formMethodDataSourceValidateWrite(ret) && ret;
        if (ret)
        {
            TestTable.validateWrite();
        }
        return ret;
    }
     
    Link Active() Method
     
    public void linkActive()
    {
        ;
        element.numberSeqFormHandler().formMethodDataSourceLinkActive();
        super();
    }
    Step 10.Finally add Close() method on form
    void close()
    {
        if (numberSeqFormHandler)
        {
            numberSeqFormHandler.formMethodClose();
        }
        super();
    }
     
    AX2009 version such as:
  • 相关阅读:
    单例模式
    说说抽象类接口
    闲说多态
    理解C#中的继承
    可变个数的形参的方法
    java 关键字
    数组的常见异常
    内存的基本结构 图片
    Java中的名称命名规范:
    死锁的例子 代码练习
  • 原文地址:https://www.cnblogs.com/Fandyx/p/3141630.html
Copyright © 2020-2023  润新知