Как настроить нумерацию документов в 1С 8.3
Содержание
Формат номера документа — длину, тип и периодичность сброса — задают в конфигураторе, в свойствах объекта на вкладке Данные. Префикс, который отделяет номера одной организации от другой, меняется прямо в режиме 1С:Предприятие, в карточке организации. Автонумерация включена у большинства документов по умолчанию: платформа выдаёт следующий свободный номер при первой записи.
Разберём обе части — что настраивается в конфигураторе и что доступно пользователю, — а заодно почему в нумерации появляются дыры, как развести счета по организациям и как выдать номер программно.
Как платформа выдаёт номер
У каждого документа есть реквизит Номер. Это не обычное поле: платформа ведёт для него внутренний счётчик и при создании нового документа подставляет следующее значение автоматически.
Номер формируется из двух частей:
- 🔢 Порядковый счётчик — растёт на единицу с каждым новым документом вида.
- 🏷️ Префикс — буквы или цифры перед счётчиком. В типовых конфигурациях префикс склеивается из префикса информационной базы и префикса организации.
В итоге получается строка вида ЦБ-000000123, где ЦБ — префикс, а 000000123 — счётчик фиксированной длины. Ведущие нули платформа добавляет сама, чтобы номер всегда занимал одинаковое число знаков — так документы правильно сортируются по номеру в списках и отчётах.
Номер присваивается не в момент открытия формы, а при первой записи документа. Поэтому если открыть новый документ и закрыть без сохранения, зарезервированный номер не потратится.
Счётчик у каждого вида документов свой. «Поступление товаров » и «Реализация товаров» нумеруются независимо друг от друга — пересечения номеров это нормально.
Тип номера бывает строковый или числовой. Строковый нужен, когда к счётчику добавляют буквенный префикс (ЦБ-, ТД-): число такого не хранит. Числовой встречается у служебных документов без префиксов. В типовых конфигурациях номер почти всегда строковый — это и даёт привычный вид АА-000000001.
Проверка уникальности — отдельное свойство. Если она включена, платформа не даст записать второй документ того же вида с тем же номером в пределах периода. Если выключена — дубли технически возможны, и именно это иногда приводит к повторяющимся номерам после ручных правок.
Где задаётся длина и формат номера
Формат номера жёстко прописан в конфигурации. Чтобы его изменить, нужен конфигуратор и снятая с поддержки (или расширяемая) конфигурация.
Откройте конфигуратор, найдите документ в дереве метаданных, перейдите на вкладку Данные. В группе свойств нумерации доступно:
| Свойство | Что задаёт |
|---|---|
| Тип номера | Строка или Число. Для префиксов нужна строка |
| Длина номера | Сколько знаков под счётчик (обычно 9–11) |
| Префикс номера | Статичная приставка на уровне всего вида документов |
| Автонумерация | Выдавать ли следующий номер автоматически |
| Проверка уникальности | Запрещать ли два документа с одним номером |
Менять длину и тип номера у документов, по которым уже есть данные, опасно: это затрагивает структуру базы. Делайте такие правки на копии, в монопольном режиме и после резервной копии.
Правка типовой конфигурации снимает её с поддержки или требует расширения. Если база типовая и обновляется автоматически, формат номера лучше не трогать вовсе, а управлять нумерацией через префиксы (их меняют без конфигуратора).
Периодичность: когда счётчик обнуляется
Сброс нумерации с начала года — не отдельная кнопка, а свойство Периодичность номера в тех же свойствах документа. Варианты:
- Непериодический — сквозная нумерация без обнуления.
- В пределах года — счётчик обнуляется 1 января. Самый частый вариант для первички.
- В пределах квартала — обнуление в начале каждого квартала.
- В пределах месяца — с 1-го числа каждого месяца.
- В пределах дня — ежедневный сброс.
Платформа смотрит на дату документа, а не на текущую дату. Создаёте документ 3 января — счётчик уже начинается с 1, если периодичность годовая.
Отдельно «сбросить номера» в типовой базе нельзя и не нужно: при годовой периодичности новый год сам стартует с первого номера. Проблема возникает, только если первый документ года завели задним числом после более поздних — тогда платформа предложит перенумеровать позднее введённые.
Периодичность выбирают под оборот. Для редких документов (приказы по организации, акты инвентаризации) хватает годовой. Для массовых кассовых и складских операций иногда ставят месячную или дневную — так счётчик не доходит до огромных значений, а номер остаётся коротким и читаемым. Менять периодичность на ходу у работающего документа не стоит: это тоже правка конфигурации, и у уже введённых документов номера останутся в старой логике.
Раздельная нумерация по организациям
Чтобы у каждой организации были свои номера, используют префикс организации. Это штатный механизм типовых решений, конфигуратор не нужен.
Откройте карточку организации (раздел Главное → Организации в 1С:Бухгалтерии 3.0) и заполните поле Префикс — обычно две буквы, например ТД и ОП для торгового дома и обособленного подразделения. После этого документы первой организации получат номера ТД-000000001, второй — ОП-000000001.
Второй уровень — префикс информационной базы. Его задают один раз в настройках программы (раздел Администрирование); он нужен при обмене между базами, чтобы номера из разных узлов не совпадали. Общий номер тогда выглядит как 0001ТД-00000045, где 0001 — префикс базы.
По складам штатного префикса в типовых конфигурациях нет. Развести нумерацию по складам можно только доработкой: расширением конфигурации или обработкой события присвоения номера. Если задача разовая — проще использовать префикс организации или отдельную серию в ручном режиме.
Поменяли префикс в середине года — старые документы не перенумеруются, новый префикс применится только к новым. Это ожидаемое поведение, а не ошибка.
Учтите длину. Префикс съедает знаки из общей длины номера: если под номер отведено 11 символов, а префикс базы и организации вместе занимают пять, под счётчик останется шесть. При большом обороте этого может не хватить — тогда либо сокращают префиксы, либо увеличивают длину номера в конфигураторе. Планируйте префиксы заранее, до первых проведённых документов, чтобы не перенумеровывать базу потом.
Почему в номерах появляются дыры и дубли
Пропуски и повторы в нумерации — самый частый повод залезть в настройки. Чаще всего это не сбой программы, а следствие того, как присваивается номер.
Увидеть картину целиком помогает список документов. Откройте журнал нужного вида, отсортируйте его по колонке номера — пропуски и повторы станут видны сразу. По датам рядом с номерами понятно, связан ли разрыв с удалением или с вводом задним числом. Отдельный отчёт для этого не нужен: сортировки в списке достаточно.
Массово восстановить порядок номеров помогает обработка перенумерации. В типовых конфигурациях для первички есть сервис группового перепроведения и пересчёта; универсального штатного «перенумератора» нет, поэтому сложные случаи решают обработкой на внешнем файле либо расширением. Перенумерация меняет номера проведённых документов — согласуйте её с регламентом и предупредите пользователей.
Если номер нужно поправить у одного документа — откройте его и измените поле номера вручную. Платформа запомнит правку и продолжит счётчик от неё.
Программное управление номером
Когда штатных настроек не хватает, номер задают из встроенного языка. Базовый инструмент — метод УстановитьНовыйНомер() объекта документа. Он выдаёт следующий свободный номер с учётом периодичности и, при необходимости, принимает префикс.
Простейший сценарий — присвоить номер в модуле документа, если он ещё пуст:
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
Если Не ЗначениеЗаполнено(Номер) Тогда
УстановитьНовыйНомер();
КонецЕсли;
КонецПроцедуры
Чтобы добавить собственный префикс к счётчику, передайте его аргументом:
УстановитьНовыйНомер("СК-");
Такой вызов полезен, когда нужно развести нумерацию по признаку, которого нет среди штатных префиксов, — например по складу или по виду операции.
Метод работает с объектом документа на сервере или в модуле объекта. Вызывать его из формы напрямую не получится — номер относится к объекту, а не к данным формы. Если нужно задать номер при интерактивном создании, обработчик ставят в событие записи, как в примере выше.
Для типовых баз, которые обновляются, прямую правку модулей не используют. Вместо этого с версии платформы 8.3.6 доступны расширения конфигурации: формат нумерации или обработчик присвоения номера дописывают в расширении, не снимая основную конфигурацию с поддержки. Загрузка расширения (.cfe) и обновление конфигурации базы данных — два отдельных шага; после загрузки расширение нужно применить.
Этот же подход закрывает нестандартные требования: номер с годом внутри (2025-00045), с кодом подразделения, со сквозной нумерацией по нескольким видам документов. Всё это решается обработчиком присвоения номера в расширении — без вмешательства в типовую логику и без потери обновлений.
Если задача — не менять формат, а только управлять префиксом по своему условию, расширение с обработчиком УстановитьНовыйНомер() безопаснее правки типовой конфигурации: обновления встанут штатно.