При переносе данных из одной учетной системы в другую (например, из УТП в КА) часто возникает задача сохранения сквозной нумерации документов. Пользователи привыкают к определенному формату номера, и когда новая система начинает присваивать документы с префиксами или «сбитой» последовательностью, это вызывает вопросы. Давайте разберем, где в 1С:Комплексная автоматизация скрыта логика нумерации и как ею управлять профессионально.
В типовых конфигурациях 1С, включая КА, за формирование префиксов отвечает подсистема «Префиксация объектов». Если вам необходимо изменить логику того, как формируется номер документа при записи, следует обратить внимание на общий модуль ПрефиксацияОбъектовСобытия.
Именно в этом модуле расположена процедура УстановитьПрефикс. Чтобы внести изменения, мы настоятельно рекомендуем использовать расширения конфигурации. Это позволит вам сохранить возможность обновления конфигурации без потери внесенных правок.
Разберем, как выглядит логика работы этого механизма:
В процессе обсуждения часто предлагается метод «ручного исправления» номера последнего документа. Например, если последний номер был 00000047, а система требует 000-0047, некоторые предлагают просто перебить номер в базе. Однако, важно понимать, что это дает лишь временный эффект.
Почему ручное исправление — это не всегда выход:
ПрефиксацияОбъектовСобытия) не изменены, система продолжит генерировать номера по прежнему шаблону.Вместо того чтобы постоянно бороться с форматом номера в карточке документа, рассмотрим более надежные способы реализации задачи:
КА уже предусмотрены поля для ввода префикса, которые учитываются стандартным алгоритмом платформы. Это наиболее безопасный способ разграничить нумерацию разных структурных единиц.УстановитьПрефикс. В коде расширения вы можете прописать условия, при которых номер будет формироваться без определенных префиксов для конкретных видов документов.PDF.При изменении формата номеров помните о том, что номер документа является идентификатором в ЭДО (электронном документообороте). Изменение нумерации может привести к расхождениям между вашим учетом и учетом ваших контрагентов. Поэтому, принимая решение о смене формата, убедитесь, что это не создаст проблем при прохождении налоговых проверок.
Помните: технический номер документа в базе данных может отличаться от того, что видит пользователь на печатной форме, и это — нормальная практика для 1С:Комплексная автоматизация.
В завершение, проанализируем пример того, как может выглядеть расширение логики в общем модуле (в упрощенном виде):
// Пример логики в расширении
Процедура УстановитьПрефиксВРасширении(Источник, Префикс) Экспорт
// Здесь мы можем проанализировать тип объекта
// И принудительно изменить переменную Префикс
Если ТипЗнч(Источник) = Тип("ДокументОбъект.РеализацияТоваровУслуг") Тогда
Префикс = "000-";
КонецЕсли;
КонецПроцедуры
Используя этот подход, вы обеспечите стабильную работу системы и избавите себя от необходимости постоянно корректировать нумерацию вручную.