К статье
Практический материал

Разработка и Конфигурация · 10 мин

Нумератор в 1С: как создать и настроить нумерацию

Как создать нумератор в 1С: настройка стратегии нумерации метаданных, объект Нумераторы, подписки на события и типовые ошибки. Пошаговая инструкция.

Нумерация документов и справочников в 1С — механизм, который автоматически присваивает номера новым объектам. Стандартный встроенный механизм подходит для большинства задач, но часто требуется особая логика: отдельная нумерация по подразделениям, сброс счётчика каждый год, префиксы по организациям. Для этого создают собственный нумератор.

В зависимости от задачи «создать нумератор» может означать три разных действия: настроить свойства нумерации метаданных в конфигураторе, добавить объект метаданных «Нумераторы» для общей нумерации нескольких видов документов либо реализовать программную нумерацию через подписку на событие. Ниже разобраны все три подхода с точными шагами.

Материал ориентирован на работу в конфигураторе 1С:Предприятие 8.3. Для типовых конфигураций (Бухгалтерия, Управление торговлей) часть задач решается в пользовательском режиме, без изменения конфигурации.

Как устроена нумерация в 1С

Каждый документ и справочник в 1С имеет реквизит «Номер» (или «Код» для справочников). При создании нового объекта платформа автоматически вычисляет следующий номер, опираясь на свойства нумерации, заданные в метаданных. Платформа хранит таблицу максимальных номеров и увеличивает счётчик при записи объекта.

Ключевые свойства нумерации задаются на закладке «Нумерация» палитры свойств объекта метаданных. Там определяются вид нумерации (автонумерация или нет), длина номера, тип номера (число или строка), периодичность и признак контроля уникальности.

Важно понимать: номер — это реквизит объекта, а не отдельная сущность. «Нумератор» как самостоятельный механизм появляется только когда нужна нестандартная логика, которую стандартные свойства не покрывают.

Базовая настройка нумерации в конфигураторе

Для большинства случаев достаточно настроить свойства самого объекта. Откройте конфигуратор, найдите нужный документ или справочник в дереве конфигурации и откройте его палитру свойств.

Порядок действий
  1. 1
    Откройте конфигуратор и дерево конфигурации
  2. 2
    Найдите нужный документ, откройте палитру свойств
  3. 3
    Перейдите на закладку «Нумерация»
  4. 4
    Установите длину номера, тип (число или строка), периодичность
  5. 5
    Включите «Контроль уникальности» и «Автонумерация»
  6. 6
    Обновите конфигурацию базы данных (F7)
  7. 7
    Проверьте: создайте новый документ и убедитесь, что номер присваивается автоматически

Обратите внимание на тип номера. Если выбрано «Число», номера будут строго числовыми, без префиксов, и сортировка будет естественной. Тип «Строка» позволяет использовать префиксы информационной базы и организаций, но сортировка становится лексикографической: «10» окажется раньше «2». Именно поэтому в типовых конфигурациях строковые номера дополняются ведущими нулями.

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

Периодичность и сброс счётчика

Свойство «Периодичность» определяет, в каких границах платформа ведёт счётчик номеров: непериодический (сквозная нумерация за всё время), в пределах года, квартала, месяца или дня. Наиболее распространённый вариант для первичных документов — годовая периодичность: с 1 января нумерация начинается заново.

Частая ошибка — ожидать, что смена периодичности мгновенно пересчитает номера. Платформа применяет новые правила только к новым объектам. Если нужно сбросить текущий счётчик вручную (например, нумерация «убежала» из-за тестовых документов), это делается обработкой перенумерации или установкой нужного номера у последнего документа периода.

Объект метаданных «Нумераторы»: сквозная нумерация

Если несколько видов документов должны иметь общую последовательность номеров (например, «Счёт на оплату» и «Акт» нумеруются в едином ряду), используется объект метаданных «Нумераторы». Он создаётся в ветке «Документы» → «Нумераторы» дерева конфигурации.

Создайте нумератор, задайте ему имя, длину номера и тип. Затем у каждого документа, который должен участвовать в общей нумерации, в палитре свойств на закладке «Нумерация» в поле «Нумератор» выберите созданный объект. После этого платформа будет вести единый счётчик для всех связанных видов документов.

Ограничение подхода: нумератор доступен только для документов, справочники общий нумератор не поддерживают. Также при использовании нумератора свойства длины и типа номера документа должны совпадать со свойствами нумератора, иначе конфигуратор выдаст ошибку проверки конфигурации.

Программная нумерация: подписка на событие

Когда стандартных механизмов недостаточно — нужна нумерация по подразделениям, смена префикса по виду операции, «дырки» в номерах недопустимы по бизнес-правилам — логику реализуют программно. Классический способ: подписка на событие ПриУстановкеНовогоНомера для документов.

В обработчике события можно отменить стандартную обработку (параметр «СтандартнаяОбработка = Ложь») и присвоить номер самостоятельно, например вычислив максимальный номер запросом с нужными отборами. Это даёт полный контроль, но требует аккуратности с конкурентным доступом: два пользователя, одновременно создающие документы, могут получить одинаковый номер.

bsl
Процедура УстановкаНомераДокумента(Источник, СтандартнаяОбработка, Префикс) Экспорт
	СтандартнаяОбработка = Ложь;
	Запрос = Новый Запрос("ВЫБРАТЬ МАКСИМУМ(Номер) КАК МаксНомер ИЗ Документ.РеализацияТоваров ГДЕ Дата МЕЖДУ &Начало И &Конец");
	// ... вычисление следующего номера и присвоение Источник.Номер
КонецПроцедуры

Более безопасная альтернатива — не отменять стандартную обработку, а корректировать результат: дать платформе вычислить номер, а затем добавить префикс или пересчитать его в пределах своей серии. Так сохраняется встроенная защита от дублей.

Нумерация в типовых конфигурациях без изменения кода

В типовых решениях (1С:Бухгалтерия, Управление торговлей, ERP) часть задач решается в пользовательском режиме. Префиксы организаций и информационной базы настраиваются в разделе администрирования: «Настройки синхронизации данных» → «Префиксы номеров». Префикс организации задаётся в карточке организации.

Для перенумерации существующих документов в типовых конфигурациях используются встроенные обработки (например, «Перенумерация объектов» в составе стандартных подсистем) или групповое изменение реквизитов. Внешние универсальные обработки перенумерации тоже распространены, но запускайте их только на копии базы.

Маршрут решения

Как выбрать подход

Нужна простая автонумерация с периодичностьюНастройте свойства нумерации объекта в конфигураторе
Несколько видов документов должны иметь общий ряд номеровСоздайте объект метаданных «Нумераторы» и привяжите документы
Нужна нумерация по подразделениям или особые префиксыРеализуйте подписку на событие ПриУстановкеНовогоНомера
Нужно только добавить префикс организации в типовой конфигурацииЗадайте префикс в карточке организации, код менять не требуется

Типичные ошибки и их устранение

Самая частая проблема — «сбитая» нумерация: платформа предлагает номер, который уже занят, или наоборот, пропускает большой диапазон. Причина обычно в ручном редактировании номеров или в документах с «большим» номером, созданном вручную. Решение — перенумерация периода обработкой.

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

Типичные ошибки
01
Изменение длины номера без проверки существующих данных — ошибка при обновлении конфигурации
02
Выбор типа «Строка» без ведущих нулей — неправильная сортировка документов в журналах
03
Ручное редактирование номеров — сбой счётчика и дубли
04
Отсутствие префиксов при обмене между базами — конфликт номеров
05
Программная нумерация без учёта конкурентного доступа — одинаковые номера у разных пользователей
Контрольные точки

Как проверить результат

Создание нового документа
Норма

Номер присваивается автоматически и следует за последним

Тревожный признак

Номер пустой, дублируется или далеко от реального последнего

Сортировка журнала по номеру
Норма

Документы идут в хронологическом порядке

Тревожный признак

«10» стоит раньше «2» — проблема с ведущими нулями

Начало нового года
Норма

Нумерация сбрасывается согласно периодичности

Тревожный признак

Счётчик продолжается — периодичность не задана

Нумератор для нескольких видов
Норма

Общая последовательность без пересечений

Тревожный признак

У каждого вида свой ряд — нумератор не привязан

Частые вопросы

Можно ли создать нумератор без доступа к конфигуратору?

Да, частично. В типовых конфигурациях префиксы организаций и базы настраиваются в пользовательском режиме, а перенумерация выполняется штатными обработками. Но изменить длину номера, периодичность или создать объект «Нумераторы» можно только в конфигураторе.

Почему нумерация началась заново, хотя год не сменился?

Чаще всего причина в ручном изменении номера последнего документа или в удалении документа с максимальным номером. Проверьте периодичность нумерации и выполните перенумерацию периода обработкой.

Как сделать разную нумерацию для разных организаций в одной базе?

Стандартный механизм такой возможности не даёт. Используйте префиксы организаций (в типовых конфигурациях) или программную нумерацию через подписку на событие с отбором по организации.

Можно ли применить нумератор к справочникам?

Нет, объект метаданных «Нумераторы» работает только с документами. Для справочников общая нумерация реализуется программно через событие «ПриУстановкеНовогоКода».

Что делать, если после обновления конфигурации появились дубли номеров?

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

Нужно ли изменять конфигурацию для смены префикса?

Нет. В типовых конфигурациях префикс информационной базы задаётся в настройках синхронизации данных, префикс организации — в её карточке. Изменение конфигурации требуется только для нестандартной логики.

Итог

Что важно запомнить

Простая нумерация настраивается свойствами объекта в конфигураторе, сквозная для нескольких видов документов — объектом «Нумераторы», нестандартная логика — подпиской на событие. Перед изменением свойств номера в рабочей базе сделайте резервную копию и проверьте существующие данные.