Как проставить нумерацию документов и справочников в 1С 8.3

· 9 мин

Содержание

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

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

Из чего состоит номер и как он назначается

У каждого документа 1С номер — это строка, а не просто число. В ней три логических блока:

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

Номер назначается не в момент создания документа, а в момент записи. Пока вы не нажали «Записать» или «Провести», поля номера либо пусто, либо стоит временное значение. Это важно помнить: именно отсюда растут пропуски в нумерации.

Ещё два свойства задаются в конфигураторе и в пользовательском режиме не меняются:

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

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

Автонумерация документов и настройка префикса

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

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

  1. Откройте Главное → Организации.
  2. Зайдите в карточку организации.
  3. Найдите поле Префикс (как правило, два символа — буквы или цифры).
  4. Задайте короткий и понятный префикс, например ТД и ПР для «Торгового дома» и «Производства».

После этого номера примут вид ТД-000001, ПР-000001 и перестанут пересекаться между фирмами.

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

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

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

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

Платформа это допускает. Логика такая: если вписать значение в поле «Номер» до записи документа, платформа сохранит именно его и больше не будет менять автоматически. То есть ручной ввод для этого конкретного документа отменяет автонумерацию.

Порядок действий:

  1. Откройте или создайте документ.
  2. Очистите поле Номер и впишите нужное значение (с учётом префикса — его обычно вводить не надо, он подставится).
  3. Запишите документ.

Что важно учесть при ручном номере:

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

  • Формат лучше сохранять единым: если автонумерация даёт 000123, не вводите просто 123 — в сортировке списка строковые номера 123 и 000123 встанут в разных местах.
  • После ручной вставки следующий автоматический номер платформа возьмёт от максимального, так что «дыры» в середине останутся — это нормально.

Комбинированная схема (часть документов — автоматически, часть — вручную) рабочая, но требует дисциплины: как только в одном типе документов смешиваются форматы 123 и 000123, наводить порядок приходится запросом (см. раздел про аудит).

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

У справочников нет «номера» — у них есть Код. Логика похожа на документы, но свойств чуть больше, и настраиваются они в конфигураторе.

Ключевое отличие — серии кодов. Они определяют, в каких границах код должен быть уникальным:

Серия кодовГде уникален кодТипичный пример
Во всём справочникеОдин код на весь справочникКонтрагенты, Номенклатура
В пределах подчиненияУникален внутри своей группыИерархический справочник с нумерацией по папкам
В пределах подчинения владельцуУникален внутри владельцаДоговоры контрагента, Единицы измерения номенклатуры

Остальное совпадает с документами: у кода есть тип (строка или число), длина, автонумерация и контроль уникальности. Новому элементу код присваивается при записи; вручную его можно переписать в карточке элемента (поле Код), соблюдая те же правила уникальности и формата.

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

Дубли, пропуски и сброс нумерации: что с этим делать

Три самые частые жалобы на нумерацию — и причины у них разные.

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

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

Нумераторы и установка номера программно

Этот раздел — для тех, кто дорабатывает конфигурацию.

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

При программной записи номер присваивается автоматически в момент Записать():

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

Если номер нужен раньше записи — например, чтобы вывести его в печатную форму или подставить в другой объект, — вызывают метод УстановитьНовыйНомер():

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

Методу можно передать префикс строкой: УстановитьНовыйНомер("Э") добавит его перед порядковым номером. У справочников аналогичный метод — УстановитьНовыйКод(), он принимает префикс, родителя и владельца.

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

Нумерация в больших базах: длина, блокировки, скорость

В базах с интенсивным вводом документов нумерация становится узким местом, и вот почему.

Выделение следующего номера — операция последовательная: чтобы выдать номер N+1, платформа должна знать текущий максимум. При одновременной записи многими пользователями на это ставится блокировка, и запись документов начинает «ждать очередь».

Что помогает:

  • 🔹 Периодическая нумерация вместо сквозной. Чем короче период (месяц вместо года), тем меньше документов в одной последовательности и тем короче может быть номер.
  • 🔹 Короткая длина номера — ровно под годовой (или месячный) объём с запасом, не больше. Это экономит и место, и время сравнения строк.
  • 🔹 Разумный контроль уникальности. Полностью отключать его в типовой конфигурации не стоит — именно он защищает от дублей; но понимать, что проверка уникальности тоже стоит ресурсов, полезно.

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

Как проверить и свести нумерацию

Чтобы убедиться, что с нумерацией всё в порядке, не нужны сторонние инструменты — хватит консоли запросов (Все функции → Стандартные → Консоль запросов, если она доступна, или внешняя обработка).

Поиск дублей номеров в пределах одного вида документов:

ВЫБРАТЬ
    Док.Номер КАК Номер,
    КОЛИЧЕСТВО(*) КАК Количество
ИЗ
    Документ.РеализацияТоваровУслуг КАК Док
СГРУППИРОВАТЬ ПО
    Док.Номер
ИМЕЮЩИЕ
    КОЛИЧЕСТВО(*) > 1

Если результат пустой — дублей нет. Если строки есть, смотрите, не смешаны ли документы разных организаций без префиксов или разных узлов РИБ.

Быстрый визуальный аудит доступен и без запросов:

Проверка нумерации перед закрытием периода
Выполнено: 0 / 5

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

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

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