Управление нумерацией документов в 1С 8.3: префиксы, периодичность и ручная правка
Содержание
Номер документу в 1С 8.3 платформа присваивает сама — при первой записи. Он складывается из префикса и порядкового счётчика, который растёт в пределах заданного периода. Поэтому чтобы «настроить нумерацию», в большинстве случаев достаточно задать правильный префикс организации и понимать, где меняется периодичность и длина номера.
Полностью переопределить правила (тип номера, его длину, сброс по годам) можно только в конфигураторе — в режиме «1С:Предприятие» эти параметры заданы разработчиком. Зато из пользовательского режима доступно главное: префиксы, ручная правка номера и контроль за тем, с какой цифры продолжится счёт после Нового года. Ниже — как всё это устроено и как на это влиять.
Как платформа присваивает номер при записи
У каждого документа есть служебный реквизит «Номер» (у справочников — «Код»). Пустым он остаётся ровно до момента записи: платформа ищет максимальный номер за текущий период, прибавляет единицу и подставляет результат вместе с префиксом.
Ключевой момент: номер выдаётся при записи, а не при открытии формы. У нового, ещё не сохранённого документа в поле номера стоит заглушка вида «будет присвоен автоматически». Если вы создали документ и закрыли его без сохранения, номер не израсходуется — он достанется следующему записанному документу.
Проведение на номер не влияет: число присваивается уже на первой записи, даже если документ пока не проведён. Поэтому записанный, но не проведённый черновик свой номер уже занял.
Отсюда и «пропуски» в нумерации. Пользователь открыл новый документ, платформа зарезервировала за ним номер, но запись не состоялась — номер вернулся в пул. В многопользовательской базе такие дырки — норма, а не сбой.
Автоматическая выдача работает, пока у объекта в конфигурации включён признак «Автонумерация». Если его снять, номер каждый раз придётся вводить руками.
Из чего состоит номер: префикс, счётчик и ведущие нули
Полный номер в типовых конфигурациях на БСП (1С:Бухгалтерия 3.0, ЗУП 3.1, Управление торговлей 11) собирается из трёх частей:
- 🏢 Префикс информационной базы — 1–2 символа, общий для всей базы. Нужен, чтобы в обмене данными номера из разных баз не сталкивались.
- 🏬 Префикс организации — 1–2 символа, свой у каждой организации в базе.
- 🔢 Порядковый счётчик — собственно число, дополненное слева нулями до нужной длины.
Выглядит это так: АБ-ОО-000000123, где АБ — префикс базы, ОО — префикс организации, дальше — счётчик. В «пустой» базе с одной организацией префиксы часто не задают, и номер получается просто 000000123.
«Маска» в 1С — это не отдельный редактор шаблона, как иногда ждут. Форма номера определяется двумя свойствами объекта: типом (строка или число) и длиной. Если тип строковый, недостающие позиции слева заполняются нулями автоматически — это и даёт привычный вид 0000000045. Если тип числовой, ведущих нулей и букв в номере быть не может — только цифры, и префикс к такому номеру не добавить. Поэтому в типовых конфигурациях номер документа почти всегда строковый. Префикс всегда идёт в начало строки.
Префикс занимает место внутри общей длины номера. Если длина номера 9 символов, а префикс базы и организации вместе съедают 4, то под сам счётчик остаётся 5 знаков — максимум 99999 документов за период. Для большой базы это закладывают заранее.
Где задать префиксы в режиме «1С:Предприятие»
Это та часть нумерации, которую настраивает пользователь, а не программист.
Префикс организации. Откройте карточку организации (Главное → Организации, в разделе может называться «Реквизиты организации»). Поле «Префикс» — короткая строка в 1–2 символа. Задайте разным организациям разные префиксы, например ТД и ПР — тогда их документы в общих списках не перепутаются даже при совпадении счётчиков.
Префикс информационной базы. Он появляется, когда вы настраиваете синхронизацию или распределённую базу (Администрирование → Синхронизация данных). Каждой базе в обмене присваивают свой префикс, чтобы документ 000000050 из центральной базы не конфликтовал с таким же из филиала.
Порядок действий для одной базы с несколькими организациями:
- Решите, какой префикс закрепить за каждой организацией.
- В карточке каждой организации заполните поле «Префикс».
- Проверьте на новом документе: номер должен начинаться с заданных символов.
- Старые документы перенумеровывать не нужно — префикс применится к вновь создаваемым.
Префикс лучше задать до начала массового ввода. Если поменять его в середине года, в журнале будут соседствовать номера со старым и новым префиксом — ошибки в этом нет, но выглядит неаккуратно.
Пример для двух организаций в одной базе. Торговому дому даём префикс ТД, производству — ПР. После этого их накладные в общем журнале читаются сразу: ТД-000000045 и ПР-000000045 — это разные документы разных организаций, даже если порядковый номер совпал. Без префиксов пришлось бы каждый раз открывать документ и смотреть организацию.
Тип, длина и периодичность: что скрыто в конфигураторе
Правила, по которым считается номер, живут в свойствах объекта метаданных, в группе «Нумерация» палитры свойств, и в пользовательском режиме недоступны. Открывать конфигуратор стоит, только если префиксов не хватает и нужно поменять саму логику. Ключевые свойства:
- Тип номера —
СтрокаилиЧисло. Строка позволяет буквы и ведущие нули, число — только цифры без лидирующих нулей. - Длина номера — сколько символов отводится под весь номер, включая префикс.
- Периодичность —
Непериодический,В пределах года,квартала,месяцаилидня. От неё зависит, когда счётчик обнулится. - Контроль уникальности — булево. Включён — платформа не даст записать два документа с одинаковым номером за период и выдаст ошибку.
- Повторное использование номеров —
Автоматическивозвращает освободившиеся номера в пул (меньше пропусков),Не использоватьоставляет их занятыми навсегда (пропусков больше, но номера не «скачут» назад).
Как связаны периодичность и сброс счётчика, удобнее видеть таблицей:
| Периодичность | Когда счётчик обнуляется | Для чего подходит |
|---|---|---|
| Непериодический | никогда | сквозная нумерация без привязки к году |
| В пределах года | 1 января | большинство первичных документов |
| В пределах квартала | в начале квартала | отчётные документы с квартальным циклом |
| В пределах месяца | 1-го числа месяца | большой поток, чтобы номер не рос бесконечно |
| В пределах дня | каждый день | кассовые и операционные документы |
Правка структуры в конфигураторе требует монопольного доступа к базе и обновления конфигурации: на время обновления сеансы пользователей прервутся. Планируйте такие работы на нерабочее время и сделайте резервную копию заранее.
Для разработчика есть и программный рычаг — обработчик события ОбработкаЗаполнения и предопределённая процедура ПриУстановкеНовогоНомера(СтандартнаяОбработка, Префикс). В ней формируют свой префикс по логике организации, подразделения или типа операции. В типовых решениях этим занимается подсистема БСП «Префиксация объектов» — руками в неё лезть обычно не нужно.
Как изменить номер вручную и обнулить счётчик
Задать конкретный номер можно прямо в режиме «1С:Предприятие», если у объекта не запрещена ручная правка. Встаньте в поле «Номер» нового документа и введите своё значение до записи. Автоматический счётчик для этого документа перестанет срабатывать, а дальше нумерация продолжится от последнего записанного номера.
Если поле номера заблокировано для ввода, значит в конфигурации автонумерация жёстко включена — изменить номер можно будет только через конфигуратор.
Чтобы узнать, какой номер уйдёт следующему документу, не обязательно лезть в служебные данные. Откройте журнал нужного вида документов, отсортируйте список по колонке «Номер» по убыванию — верхняя строка покажет текущий максимум за период. Следующий документ получит номер на единицу больше (с учётом пропусков, если повторное использование отключено).
Отдельная засада — перенос документа между годами по дате. Если у объекта периодичность «В пределах года» и вы меняете дату уже записанного документа, перенося его в другой год, платформа не перенумеровывает его автоматически: номер остаётся прежним и может «не попадать» в ряд нового года. В таких случаях номер приходится поправлять вручную или перезаписывать документ.
Сброс счётчика по периодам работает так:
- При периодичности
В пределах годасчётчик обнуляется сам. Первый документ, датированный январём нового года, получит номер...0001без всяких действий. - При периодичности
кварталаилимесяцато же происходит на границе квартала/месяца. - При
Непериодическийномера растут непрерывно и сами не обнулятся никогда.
Если нужно принудительно начать год с первого номера, а периодичность непериодическая, остаётся ручной приём: у первого документа года вручную проставить 1 (с нужным префиксом). Дальше счёт пойдёт от него.
Не меняйте номера проведённых документов задним числом в рабочей базе без необходимости. По номеру документ может быть указан в других записях и во внешних системах (ЭДО, выгрузки). Если правка нужна, сначала убедитесь, что документ нигде не «прошит» жёстко по старому номеру.
Нумерация в распределённых и многопользовательских базах
В базе, где работают несколько человек, платформа гарантирует уникальность номера за счёт блокировки: пока один сеанс пишет документ, номер за ним закреплён. Из-за этого возможны:
- Пропуски — номер зарезервирован, но запись отменена.
- Кратковременные расхождения — два пользователя почти одновременно создают документы, итоговые номера идут не строго подряд.
Это штатное поведение. Бухгалтерски пропуск в нумерации нарушением не является: важна хронология дат, а не сплошной ряд номеров. Исключение — документы, для которых сплошная нумерация требуется по правилам их оформления (например, кассовые ордера в пределах года): за ними следят отдельно и при разрывах разбираются с причиной.
В распределённой базе (РИБ) каждому узлу назначается собственный префикс информационной базы — обычно 1–2 символа, например Ц для центральной базы и Ф1, Ф2 для филиалов. Центральная и периферийные базы нумеруют документы независимо, каждая со своего счётчика, а префикс не даёт номерам столкнуться при обмене: документ Ц-000000050 и Ф1-000000050 воспринимаются как разные. Если два узла случайно получили одинаковый префикс, при синхронизации появятся документы-дубли по номеру — тогда префиксы узлов нужно развести и выполнить обмен заново.
При вводе нового филиала первым делом задайте ему уникальный префикс базы, и только потом начинайте ввод документов. Исправлять префикс постфактум сложнее, чем назначить его сразу.