Full Set:
Create Number Sequence Setup page for Vendor account. Local > BL , Oversea > BO
Create Setup Table with relation with NumberSequenceTable
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;
}
}
}
留言列表