Как управлять нумерацией документов в программе 1С

· 9 мин

Содержание

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

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

Откуда берётся номер документа и как работает автонумерация

У каждого документа есть стандартный реквизит Номер. При записи нового документа 1С присваивает ему следующий по порядку номер — это и есть автонумерация. Включена она по умолчанию у всех документов типовых конфигураций.

Номер складывается из двух частей:

  • 🔢 Порядковый счётчик — растёт на единицу с каждым новым документом этого вида.
  • 🏷️ Префикс — буквенно-цифровая метка организации (и, в распределённых базах, узла). Например, в номере АА-000000012 префикс — это АА-.

Важный момент: счётчик ведётся отдельно для каждого вида документа. У «Реализации» своя нумерация, у «Поступления» — своя. Поэтому номер 12 у реализации и номер 12 у поступления — это нормально, а не ошибка.

Номер присваивается при записи документа, а не при проведении. Пока документ не записан (открыт в форме как новый), поле номера часто пустое или показывает <авто> — это ожидаемо. Как только вы нажмёте «Записать» или «Провести», 1С подставит очередной свободный номер. При копировании документа (Создать на основании или Ctrl+F9) номер не переносится — копия получит свой новый.

Периодичность нумерации задаётся в конфигураторе для каждого документа (свойство Нумерация → Периодичность). Варианты:

ПериодичностьКогда счётчик обнуляется
НепериодическаяНикогда, сквозная нумерация за всё время
В пределах года1 января
В пределах квартала1-го числа нового квартала
В пределах месяца1-го числа нового месяца
В пределах днякаждый день заново

В типовых конфигурациях у большинства документов стоит «в пределах года» — поэтому 1 января счётчик сам стартует с единицы, вручную ничего делать не нужно.

Ведущие нули в счётчике (000000012) — это не отдельная настройка, а способ отображения: платформа выравнивает номер до заданной длины. Сколько именно нулей вы видите, зависит от длины реквизита, а не от количества документов.

Если видите, что номера документов разных дат идут не подряд, проверьте дату документа. Автонумерация выдаёт номер по дате документа, а не по дате ввода: документ, проведённый задним числом, встанет в ряд по своей дате, а не в конец.

Где задать префикс и длину номера

Префикс чаще всего привязан к организации. В «1С:Бухгалтерии 8» (ред. 3.0) он задаётся в карточке организации: Главное → Организации → <ваша организация>, поле «Префикс» (два символа). Там же, в разделе с реквизитами, этот префикс и правится.

Зачем нужен префикс:

  • 📂 Разделить документы нескольких организаций в одной базе — у каждой свой префикс (ТД, ПР и т. д.).
  • 🔀 Избежать пересечения номеров в распределённой базе (РИБ) — у каждого узла свой префикс информационной базы, он задаётся при настройке обмена.

Полный номер при этом выглядит как префикс базы + префикс организации + счётчик. Именно в таком виде он попадает и в списки документов, и в печатные формы, и в реквизит «Основание» связанных документов — поэтому менять префикс задним числом у уже проведённых документов не стоит: в печатных формах останется старый номер, а в базе — новый.

Если изменить префикс организации, новые документы начнут нумероваться с ним, а у старых номер не изменится автоматически. То есть префикс влияет только на документы, созданные после правки.

Длина номера — это свойство стандартного реквизита, оно настраивается только в конфигураторе: откройте документ → стандартные реквизиты → Номер → свойство Длина. Обычно в типовых документах длина номера с запасом (9–11 символов вместе с префиксом), и упереться в неё при нормальной работе почти нереально.

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

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

Как изменить номер документа вручную

По умолчанию поле Номер в форме документа заблокировано для ввода — это защита от случайной правки. Чтобы ввести номер руками:

  1. Откройте нужный документ.
  2. Щёлкните по полю «Номер» в шапке.
  3. 1С предупредит, что ручное изменение может нарушить порядок нумерации. Подтвердите.
  4. Введите свой номер и запишите документ.

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

Перед массовой правкой номеров в рабочей базе сделайте резервную копию. Ручное вмешательство в номера — частый источник последующих дублей и «дыр» в нумерации.

Когда ручная правка действительно нужна:

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

В остальных случаях лучше оставить автонумерацию: она гарантирует уникальность и непрерывность внутри вида документа.

Перед ручной перенумерацией
Выполнено: 0 / 5

Как начать новый год или период с первого номера

Если у документа периодичность «в пределах года», счётчик сбросится сам в полночь 1 января — первый документ года получит номер 1 (с учётом префикса). Это штатное поведение, никаких действий не требуется.

Нештатные случаи, когда счётчик нужно подтолкнуть вручную:

  • 🗓️ Нужно начать с единицы не с нового года, а с середины периода. Типовыми настройками это не делается. Самый безопасный путь — изменить номер первого документа нового отрезка вручную (см. раздел выше), а дальше 1С продолжит от него.
  • 🔁 Нужно сменить саму периодичность (например, перейти с годовой на квартальную). Это правка свойства Нумерация → Периодичность в конфигураторе — задача для специалиста, и применять её к типовой конфигурации стоит только через расширение.

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

Разберём на примере. У «Реализации» периодичность «в пределах года». 29 декабря выписан документ ТД-000000457. Первый документ, выписанный 9 января, получит номер ТД-000000001 — счётчик стартовал заново, потому что сменился год. А вот если ту же «Реализацию» датировать 30 декабря, она продолжит прошлогодний ряд — ТД-000000458, потому что по дате относится ещё к старому периоду.

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

Почему появляются одинаковые номера и как их убрать

Дубли номеров — это когда у двух документов одного вида в одном периоде и с одним префиксом совпал номер. Выглядит пугающе, но причин немного, и каждая лечится.

Диагностика: выберите симптом

Чтобы найти дубли, постройте список документов нужного вида, отсортируйте по номеру (щелчок по заголовку колонки «Номер») и пролистайте — совпадающие значения встанут рядом. Для разовой проверки этого достаточно; для регулярной удобнее запрос в консоли запросов по полю Номер с группировкой и отбором по количеству больше одного.

Отдельно стоит сказать про РИБ. Пока у узлов разные префиксы, документы не пересекаются даже при независимой нумерации — префикс и есть разделитель. Если дубли уже возникли из-за одинаковых префиксов, недостаточно просто поменять настройку на будущее: старые пересекающиеся документы останутся с совпадающими номерами, и перенумеровать их придётся вручную в одном из узлов. Поэтому префиксы узлов задают до начала обмена, а не после.

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

Управление нумерацией из кода

Если типовых настроек не хватает (нестандартный формат номера, свой алгоритм префикса), нумерацию можно задать программно.

Платформа вызывает у документа событие ПриУстановкеНовогоНомера в момент присвоения автоматического номера. В нём доступен префикс — в него и подставляют свою логику:

Процедура ПриУстановкеНовогоНомера(СтандартнаяОбработка, Префикс)
    // Подставляем префикс по организации и году
    Префикс = СокрЛП(Организация.Префикс) + Формат(Год(Дата), "ДФ=гг") + "-";
КонецПроцедуры

Если оставить СтандартнаяОбработка истинной (по умолчанию), платформа сама добавит к префиксу порядковый счётчик нужной длины. Этого достаточно в большинстве задач — вы управляете только префиксом, а уникальность обеспечивает платформа.

Чтобы присвоить документу следующий свободный номер из кода (например, при программном создании), у объекта документа есть метод:

ДокОбъект = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
ДокОбъект.Дата = ТекущаяДата();
ДокОбъект.УстановитьНовыйНомер(); // платформа подберёт свободный номер
ДокОбъект.Записать();

В метод УстановитьНовыйНомер() можно передать префикс строкой, если нужно переопределить его для конкретного документа.

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

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

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

Почему у двух документов разных видов одинаковый номер?
Это не ошибка. Счётчик автонумерации свой у каждого вида документа. Совпадение номера у «Поступления» и «Реализации» — нормально, они не конфликтуют.
Можно ли убрать префикс из номера совсем?
Да, если очистить поле «Префикс» в карточке организации и префикс информационной базы. Но в базе с несколькими организациями или в РИБ без префиксов быстро появятся дубли — лучше оставить хотя бы двухсимвольный префикс.
Почему после 1 января нумерация не началась с единицы?
Скорее всего, у этого вида документа задана непериодическая (сквозная) нумерация. Сброс на новый год работает только при периодичности «в пределах года» и настраивается в конфигураторе.
Куда «пропали» номера — идут не подряд?
Пропуски возникают, когда документ записали и удалили, провели задним числом или правили номер вручную. На корректность учёта разрывы в нумерации не влияют — закон не требует непрерывности внутренних номеров.
Можно ли изменить номер проведённого документа?
Да, порядок тот же: щёлкнуть по полю номера, подтвердить и ввести новый. Но сначала стоит распровести документ, внести правку и провести заново — так меньше риск рассинхронизации движений.