close

Full Set:

image

 

Create Number Sequence Setup page for Vendor account. Local > BL , Oversea > BO

 

image

 

Create Setup Table with relation with NumberSequenceTable

image

 

While create in setup table, also create a record in numbersequencetable: 

public class DGS_VendTableNumberSeqSetup extends common
{
    /// <summary>
    ///
    /// </summary>
    public static NumberSequenceTable createNum(Str _code)
    {
    
        RefRecId                NumberSeqTable;
        NumberSequenceCode      NumberSequenceCode;
        NumberSequenceTable     NumberSequenceTable;
        NumberSequenceScope     numberSeqScope;

        NumberSequenceFormat    formatNew;
        Name                    AnnotatedformatNew;
        UserConnection          userConnection;

     //   DGS_VendTableNumberSeqSetup   setupTable;
        ;
        NumberSequenceCode = DGS_VendTableNumberSeqSetup::getNextNumberSeqCode();

        NumberSequenceTable = NumberSequenceTable::findByNaturalKey(NumberSequenceCode);

        userConnection = new UserConnection();
        userConnection.ttsbegin();
        if(!NumberSequenceTable)
        {
            NumberSequenceTable = null;
            NumberSequenceTable.setConnection(userConnection);
            NumberSequenceTable.clear();
            NumberSequenceTable.initValue();
            NumberSequenceTable.NumberSequence = NumberSequenceCode;
            NumberSequenceTable.Txt            = NumberSequenceCode;
            NumberSequenceTable.Format         = _code + "#####";
            NumberSequenceTable.AnnotatedFormat= NumberSeq::createAnnotatedFormatFromFormat(NumberSequenceTable.Format);
            NumberSequenceTable.Lowest         = 1;
            NumberSequenceTable.NextRec        = 1;
            NumberSequenceTable.Highest        = 99999;
            NumberSequenceTable.Continuous     = NoYes::Yes;
            numberSeqScope = NumberSequenceScope::findByNaturalKey(curExt(),0,0,0,OMOperatingUnitType::None);
            NumberSequenceTable.NumberSequenceScope = numberSeqScope.RecId;
            NumberSequenceTable.insert();
        }

        //if(NumberSequenceTable)
        //{
        //    setupTable.clear();
        //    setupTable.initValue();
        //    setupTable.VendorCode = _code;
        //    setupTable.NumberSequenceTable = NumberSequenceTable.RecId;
        //    setupTable.insert();
        //}
        userConnection.ttscommit();
        userConnection.finalize();

        return NumberSequenceTable;
    }

    public static NumberSequenceCode getNextNumberSeqCode()
    {
        DGS_VendTableNumberSeqSetup    salesTableNumberSeqSetup;
        NumberSequenceTable             numberSequenceTable;
        int                             number;
        NumberSequenceCode              numberSequenceCode;
        ;
        select firstonly numberSequenceTable
            order by NumberSequence desc
            join salesTableNumberSeqSetup
            where numberSequenceTable.RecId == salesTableNumberSeqSetup.NumberSequenceTable;
        number = str2Int(THK_strRight(numberSequenceTable.NumberSequence, 4));
        number++;
        numberSequenceCode = "0000" + int2Str(number);
        numberSequenceCode = THK_StrRight(numberSequenceCode, 4);
        numberSequenceCode = "Vend" + numberSequenceCode;
        return numberSequenceCode;
    }

    /// <summary>
    ///
    /// </summary>
    public void insert()
    {
        super();

       
        if(this.VendorCode &&  this.validateWrite())
        {
            NumberSequenceTable _seqNumTable;
            _seqNumTable = DGS_VendTableNumberSeqSetup::createNum(this.VendorCode);
            if(_seqNumTable)
                this.NumberSequenceTable = _seqNumTable.RecId;
        }


    }

}

 

arrow
arrow
    全站熱搜

    lionlionchopper 發表在 痞客邦 留言(0) 人氣()