Разработка и Конфигурация · 11 мин
Как добавить нумератор в 1С и настроить нумерацию документов
Как добавить и настроить нумератор в 1С: создание через конфигуратор, сброс нумерации, исправление дублей номеров документов и типичные ошибки.
Нумератор в 1С — это механизм, который автоматически присваивает номера документам, справочникам и другим объектам конфигурации. Правильно настроенная нумерация исключает дубли, обеспечивает последовательность записей и упрощает поиск документов в журналах. Без корректного нумератора пользователи сталкиваются с конфликтами при обмене данными, сбоями при проведении и претензиями при проверках первичных документов.
Задача «добавить нумератор» возникает в трёх типовых ситуациях: при разработке собственного объекта в конфигураторе, при необходимости сбросить или изменить нумерацию в типовой конфигурации и при восстановлении нумерации после сбоев. Каждый сценарий решается своими инструментами, и важно понимать, какой из них относится к вашей ситуации, прежде чем вносить изменения.
Материал рассчитан на пользователей с базовым опытом работы в конфигураторе и администраторов 1С. Описаны действия для управляемых форм на платформе 8.3, но логика применима и к более ранним версиям с поправкой на интерфейс.
Что такое нумератор и как он работает в платформе 1С
Нумератор — это отдельный объект метаданных, который хранит правила формирования номеров: тип номера (числовой или строковый), длину, периодичность сброса и признак автонумерации. Один нумератор может обслуживать сразу несколько видов документов, обеспечивая им сквозную нумерацию — например, общий ряд номеров для приходных и расходных накладных.
Ключевое свойство нумератора — периодичность. Она определяет, когда счётчик обнуляется: в пределах дня, месяца, квартала, года либо никогда (непериодический нумератор). Для большинства бухгалтерских документов используется нумерация в пределах года, чтобы с 1 января отсчёт начинался заново. Для кадровых приказов нередко выбирают непериодическую нумерацию, чтобы номер приказа был уникален за всё время.
Если у документа не указан нумератор, платформа использует механизм нумерации по умолчанию, привязанный к самому виду документа. Явное создание нумератора нужно тогда, когда требуется сквозная нумерация нескольких видов документов или особая периодичность, отличная от стандартной.
Как создать нумератор в конфигураторе
Откройте конфигурацию в режиме «Конфигуратор» и в дереве метаданных найдите ветку «Документы» → «Нумераторы». Если конфигурация типовая и находится на поддержке, сначала включите возможность изменения через меню «Конфигурация» → «Поддержка» → «Настройка поддержки», иначе объект создать не получится.
Добавьте новый нумератор через контекстное меню «Добавить» и заполните его свойства: имя (латиницей, без пробелов), синоним (отображаемое название), тип номера, длину и периодичность. Для строковых номеров с префиксами учитывайте, что префикс занимает часть заявленной длины номера.
- 1Откройте конфигуратор и разблокируйте конфигурацию для изменений при необходимости
- 2В дереве метаданных откройте «Документы» → «Нумераторы» и добавьте новый объект
- 3Укажите имя, синоним, тип номера, длину и периодичность
- 4Откройте свойства нужного вида документов и в поле «Нумератор» выберите созданный объект
- 5Обновите конфигурацию базы данных (F7) и проверьте присвоение номера новому документу
После сохранения обновите конфигурацию базы данных клавишей F7. Изменение структуры метаданных требует монопольного доступа, поэтому в рабочей базе все пользователи должны завершить сеансы. В файловой базе достаточно закрыть все окна 1С:Предприятия.
Как привязать нумератор к виду документов
Сам по себе нумератор ничего не нумерует — его нужно указать в свойствах конкретного вида документов. Откройте в дереве метаданных нужный документ, перейдите на закладку «Нумерация» и в поле «Нумератор» выберите созданный объект из выпадающего списка. Там же задаются длина номера и признак автонумерации.
Для сквозной нумерации привяжите один и тот же нумератор к нескольким видам документов. Тогда платформа будет вести единый счётчик: если последний приходный ордер получил номер 150, следующий расходный ордер с тем же нумератором получит 151. Это удобно для журналов, где документы разных видов должны идти в общем ряду.
Обратите внимание на свойство «Контроль уникальности». Если оно включено, платформа не позволит записать два документа с одинаковым номером в пределах периода нумерации. Отключать контроль стоит только осознанно — например, при сложных схемах ручной нумерации с префиксами, где уникальность обеспечивается кодом.
Настройка префиксов и периодичности
Префикс номера формируется автоматически и может включать префикс информационной базы (задаётся в настройках синхронизации или через код) и префикс организации. В типовых конфигурациях префикс организации настраивается в карточке организации, а префикс базы — в разделе настроек обмена данными. Это критично для распределённых баз, где номера из разных узлов не должны пересекаться.
Периодичность выбирайте исходя из требований делопроизводства. Годовая периодичность подходит большинству первичных документов, месячная — для журналов с большим потоком записей, непериодическая — для приказов и договоров, где сквозная нумерация ведётся годами. Изменение периодичности на действующем документе приведёт к тому, что счётчик начнёт отсчёт заново с нового периода.
Выбор периодичности нумератора
Стандарт для первичных учётных документов; с 1 января нумерация начинается с единицы
Подходит при очень большом количестве документов, когда годовой ряд становится неудобным
Для приказов, договоров и доверенностей, где номер должен быть уникален за всё время ведения учёта
Как сбросить или исправить нумерацию в типовой конфигурации
Дорабатывать конфигуратор ради сброса счётчика не требуется. В типовых решениях нумерация нового года обычно сбрасывается автоматически благодаря периодичности нумератора. Если же счётчик «сбился» — например, после удаления документа с большим номером или ручного ввода — проще всего создать новый документ и вручную указать нужный номер: платформа запомнит его и продолжит отсчёт от этой точки.
Для массового исправления используют обработки перенумерации, которые последовательно перезаписывают номера документов за выбранный период с учётом даты и времени. Перед запуском такой обработки обязательно сделайте резервную копию базы: перенумерация изменяет данные, ссылки на которые могут быть в печатных формах и уже выданных документах.
// Установить новый номер документу программно
ДокОбъект = ДокументСсылка.ПолучитьОбъект();
ДокОбъект.УстановитьНовыйНомер(); // присвоит следующий по счётчику номер
ДокОбъект.Записать();Программно следующий номер получают методом УстановитьНовыйНомер() у объекта документа. Если нужен нестандартный алгоритм — например, номер с кодом подразделения — логику переопределяют в событии ПриУстановкеНовогоНомера модуля объекта, не изменяя сам нумератор.
Типичные ошибки и риски при работе с нумераторами
Самая частая ошибка — ручная правка номера с нарушением длины или формата, после которой автонумерация начинает выдавать дубли. Платформа ориентируется на максимальный существующий номер, и некорректное значение вроде «9999» при длине 4 символа блокирует дальнейший отсчёт. Лечится это исправлением «завышенного» номера вручную.
Вторая группа проблем связана с обменами: если в распределённых базах не настроены префиксы, документы из разных узлов получают одинаковые номера и конфликтуют при синхронизации. Всегда проверяйте префиксы до запуска обмена, а не после появления дублей.
Как проверить, что нумератор работает правильно
После настройки создайте два-три тестовых документа подряд и убедитесь, что номера присваиваются последовательно, с нужным префиксом и без пропусков. Затем удалите последний тестовый документ и создайте новый — проверьте, что счётчик ведёт себя ожидаемо и не генерирует дубль уже существующего номера.
Для сквозной нумерации дополнительно проверьте, что документы разных видов получают номера из одного ряда. Если каждый вид продолжает нумероваться отдельно, значит, в свойствах документа не выбран общий нумератор — вернитесь к настройкам вида документа.
Как проверить результат
Номер присваивается автоматически, следующий по порядку
Поле номера пустое или возникает ошибка неуникальности
Соответствует префиксу базы и организации
Префикс отсутствует или чужой при обмене данными
Разные виды документов идут в общем ряду номеров
Каждый вид нумеруется отдельно — нумератор не привязан
Счётчик сбрасывается согласно периодичности
Нумерация продолжается — периодичность не задана
Полезно также проверить журнал документов отбором по номеру и убедиться, что сортировка по номеру совпадает с сортировкой по дате. Расхождение — признак того, что в базе есть документы с вручную изменёнными номерами.
Часто задаваемые вопросы
Можно ли добавить нумератор, не снимая конфигурацию с поддержки?
Частично. Создание нового объекта метаданных требует включения возможности изменений, но это не обязательно означает полное снятие с поддержки: режим «с сохранением поддержки» позволяет добавлять собственные объекты. Альтернатива без доработки — программное переопределение номера через подписку на событие ПриУстановкеНовогоНомера в расширении конфигурации.
Как сделать нумерацию с буквенным префиксом вида «ПКО-0001»?
Установите строковый тип номера и достаточную длину с учётом префикса. Сам префикс формируется автоматически из настроек базы и организации либо добавляется кодом в обработчике ПриУстановкеНовогоНомера, где вы сами собираете строку номера и выставляете признак СтандартнаяОбработка = Ложь.
Почему после удаления документа номер не переиспользуется?
Это штатное поведение платформы: счётчик хранит последнее выданное значение и не откатывается при удалении. Освободившийся номер можно присвоить вручную новому документу — тогда отсчёт продолжится от него. Автоматического переиспользования номеров в 1С не предусмотрено, и это защищает от дублей.
Что делать, если появились документы с одинаковыми номерами?
Сначала найдите причину: чаще всего это отключённый контроль уникальности, ручной ввод номеров или обмен без префиксов. Затем запустите обработку перенумерации за проблемный период, предварительно сделав копию базы, и включите контроль уникальности в свойствах документа, чтобы ситуация не повторилась.
Влияет ли нумератор на производительность базы?
В обычных условиях влияние незаметно. Проблемы возможны в файловых базах при интенсивном параллельном вводе документов, когда сеансы конкурируют за счётчик. В клиент-серверном варианте платформа управляет нумерацией эффективно, и настраивать что-то дополнительно обычно не требуется.
Можно ли использовать один нумератор для документов и справочников?
Нет, объект «Нумераторы» применяется только к документам. Справочники нумеруются по коду, у которого свои настройки: длина, тип, автонумерация и серии кодов (в пределах подчинения, владельца или всего справочника). Сквозной нумерации между разными сущностями штатными средствами не предусмотрено.
Что важно запомнить
Нумератор создаётся в конфигураторе в ветке «Документы» и привязывается к видам документов через их свойства. Периодичность и префиксы определяют поведение счётчика, а контроль уникальности защищает от дублей. Любую массовую перенумерацию выполняйте только после резервного копирования базы.