Хитрая нумерация документов с периодичностью в течение дня (внесение изменений в типовой механизм)
Нумерация документов в виде гг/ММ/дд + НомерВТеченииДня
- Описание
- Подробнее
Описание
Задача:
нумеровать выбранные документы по шаблону: ППггММддNNN,
где ПП — префикс организации (если установлен),
гг — год двумя цифрами,
ММ — месяц двумя цифрами,
дд — день двумя цифрами,
NNN — номер документа в течении дня (три знака)
Реализовано на примере УТ 8.1 (10.3):
Использована, уже имеющаяся в УТ, подписка на событие «ПриУстановкеНовогоНомераДокумента». Данная подписка вызывает процедуру Общего модуля.ОбщегоНазначения:
Процедура ПриУстановкеНовогоНомераДокументаПриУстановкеНовогоНомера(Источник, СтандартнаяОбработка, Префикс) Экспорт
ОбщегоНазначения.ДобавитьПрефиксОрганизации(Источник, Префикс);
ОбщегоНазначения.ДобавитьПрефиксУзла(Префикс);
ОбщегоНазначения.ДобавитьПрефиксДаты(Источник, Префикс); // Добавлена
КонецПроцедуры
В которую, добавлена строка вызывающая процедуру ДобавитьПрефиксДаты(Источник, Префикс), добавленая в общий модуль:
Процедура ДобавитьПрефиксДаты(ДокументОбъект, Префикс) Экспорт
Если ТипЗнч(ДокументОбъект) = Тип(«ДокументОбъект.РеализацияТоваровУслуг»)
ИЛИ ТипЗнч(ДокументОбъект) = Тип(«ДокументОбъект.ПоступлениеТоваровУслуг»)
ИЛИ ТипЗнч(ДокументОбъект) = Тип(«ДокументОбъект.ВозвратТоваровОтПокупателя») Тогда
Префикс = Префикс + «» + Формат(ДокументОбъект.Дата,«ДФ=»»ггММдд»»») ;
КонецЕсли;
Конецпроцедуры
Также необходимо установить периодичность документа «в пределах дня». А в случае если документ не входил в типовую конфигурацию необходимо:
1. проверить, входит ли данный документ в число источников для данной подписки на событие
2. проверить, чтобы в свойствах формы документа значение свойства «Автонумерация» имело значение «Не использовать».
P.S. В случае если вам необходимо добавить «хитрую нумерацию» только для одного или двух документов, можно не использовать подписку на событие, а прописать в модуле конкретного документа процедуру ПриУстановкеНовогоНомераДокумента() и непосредственно в ней описать весь алгоритм.
