Номер ваучера по месяцам?

Я хочу обновить существующую последовательность номеров ваучеров до новой, которая меняется в зависимости от месяца, т. Е. Если месяц - февраль, то последовательность номеров должна быть такой же, как 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>
}

Теперь, как я могу изменить его область действия, чтобы он генерировал последовательность чисел по месяцам?

1 ответ

Это стандартная функция, состоящая в том, чтобы последовательность номеров соответствовала финансовому году и месяцу.

Смотрите здесь, как это сделать: Год в числовой последовательности

Вам нужно будет сделать последовательность номеров для каждого периода:

Форма числовой последовательности с финансовым периодом

Чтобы использовать последовательность номеров периодов, вам необходимо указать компанию и финансовый период.

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());

Вам придется изменить генерацию номеров ваучеров в журналах, чтобы справиться с этим, что не будет легкой задачей.

См. Также Настройка существующей числовой последовательности на номерную последовательность финансового года.

Другие вопросы по тегам