0

既存のバウチャー番号シーケンスを、月によって変わる新しい番号シーケンスに更新したい。つまり、月が 2 月の場合、番号シーケンスは 02-0001 のようにする必要があります。調査したところ、ウィザードから番号シーケンスが自動生成されることがわかったので、これを更新する方法にいくつかの問題に直面しています。

number seq クラスにnewGetVoucherFromCodeというメソッドがあり、バウチャー番号シーケンスの範囲を変更するために使用できます。方法は次のとおりです。

public static NumberSeq newGetVoucherFromCode(
        NumberSequenceCode  _voucherSequenceCode,
        NumberSeqScope      _scope = NumberSeqScopeFactory::createDefaultScope(),
        boolean             _makeDecisionLater           = false,
        boolean             _dontThrowOnMissingRefSetUp  = false,
        //<GEERU><GEEU>
        UnknownNoYes        _allowManual                 = UnknownNoYes::Unknown)
        //</GEERU></GEEU>
{
    return NumberSeq::newGetVoucherFromId(
                NumberSequenceTable::findByNaturalKey(_voucherSequenceCode, _scope.getId()).RecId,
                _makeDecisionLater,
                _dontThrowOnMissingRefSetUp,
                //<GEERU><GEEU>
                _allowManual);
                //</GEERU></GEEU>
}

スコープを変更して、月ごとに番号シーケンスを生成するにはどうすればよいですか?

4

1 に答える 1

0

年度・月の後に番号を連続させる機能が標準装備されています。

ここでそれを行う方法を参照してください:番号順の年

期間ごとに数列を作成する必要があります。

会計期間を含む番号順序フォーム

期間番号シーケンスを使用するには、会社と会計期間を指定する必要があります。

FiscalCalendarPeriod p;
select firstOnly p //This is not the way to find a fiscal period:
    where p.Month == FiscalPeriodMonth::Month1 && 
          p.StartDate == 01\01\2014 && 
          p.Type == FiscalPeriodType::Operating;
info(NumberSeq::newGetNumFromCode('Test', NumberSeqScopeFactory::createDataAreaFiscalCalendarPeriodScope(curext(),p.RecId)).num());

これに対処するには仕訳帳の伝票番号の生成を変更する必要がありますが、これは簡単なことではありません。

既存の番号順序を会計年度の番号順序にカスタマイズするも参照してください。

于 2014-08-29T13:46:10.433 に答える