К статье
Практический материал

Разработка и Конфигурация · 11 мин

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

Как увеличить количество знаков в номере документа 1С: настройка длины в конфигураторе, нумераторы, префиксы, риски изменения и проверка результата.

Количество знаков в номере документа 1С определяется на уровне конфигурации: у объекта «Документ» в конфигураторе есть свойство «Длина номера». Когда номеров становится больше, чем позволяет текущая длина (например, автоинкремент дошёл до 99999 при длине 5), нумерация либо сбрасывается, либо начинает вести себя непредсказуемо — и требуется увеличить разрядность.

Важно понимать: в типовых конфигурациях на управляемых формах (Бухгалтерия 3.0, Управление торговлей 11, ERP) номер документа обычно строковый, потому что содержит префикс организации или информационной базы. Длина строки и порядок присвоения номера управляются не только свойствами объекта, но и механизмом префиксации, а в некоторых конфигурациях — отдельными нумераторами.

Изменение длины номера — это модификация конфигурации, поэтому оно требует снятия объекта с поддержки (или применения расширения), обновления конфигурации базы данных и понимания последствий для обменов, печатных форм и отчётов. Ниже разобраны все способы и их ограничения.

Где задаётся длина номера документа

Основное свойство находится в конфигураторе: откройте ветку «Документы», выберите нужный вид документа, вызовите палитру свойств (правый клик → «Свойства»). В группе «Нумерация» находятся три параметра: «Длина номера», «Периодичность» и «Контроль уникальности».

Длина номера указывается в символах. Если тип номера строковый (стандарт для типовых конфигураций), длина включает и префикс: при длине 11 и префиксе «00БП-» на собственно числовую часть остаётся 6 знаков. Это частая причина проблемы — пользователь видит «короткий» числовой номер, хотя фактическая длина поля больше.

Тип номера (число или строка) также задаётся в свойствах. Числовой номер не поддерживает префиксы и в типовых решениях почти не используется. Менять тип номера у существующего документа с данными крайне не рекомендуется — это приведёт к потере или искажению существующих номеров.

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

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

Откройте конфигуратор, войдите под пользователем с правами администратора. Если конфигурация на поддержке, потребуется включить возможность изменения: «Конфигурация» → «Поддержка» → «Настройка поддержки» → «Включить возможность изменения». Для типовых конфигураций предпочтительнее работать через расширение, об этом ниже.

Порядок действий в конфигураторе
  1. 1
    Сделайте резервную копию базы (выгрузка .dt)
  2. 2
    Откройте конфигуратор и включите возможность изменения конфигурации
  3. 3
    Найдите нужный вид документа и откройте палитру свойств
  4. 4
    Увеличьте значение «Длина номера» с учётом префикса
  5. 5
    Проверьте, не используется ли нумератор — тогда измените длину у всех связанных документов
  6. 6
    Выполните «Конфигурация» → «Обновить конфигурацию базы данных»
  7. 7
    Создайте тестовый документ и проверьте присвоение номера

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

Учёт префикса при расчёте длины

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

Пример: префикс «00АА-» занимает 5 символов. Если требуется 8-значная числовая часть, длина номера должна быть не менее 13. Если планируется обмен с несколькими базами, где префиксы могут отличаться, закладывайте длину с запасом.

Проверить фактический префикс можно в пользовательском режиме: откройте любой документ нужного вида и посмотрите его номер, а также зайдите в настройки нумерации (в Бухгалтерии 3.0 — «Администрирование» → «Параметры учета» / префикс ИБ задаётся в настройках синхронизации).

Изменение через расширение конфигурации

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

Порядок работы: «Конфигурация» → «Расширения конфигурации» → «Создать». Добавьте в расширение нужный документ («Добавить в расширение»), откройте его свойства и измените длину номера, если свойство доступно для редактирования. Затем обновите конфигурацию базы данных.

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

Сравнение подходов

Изменение в основной конфигурации

Гарантированно работает, но объект снимается с полной поддержки — обновления типового релиза потребуют ручного сопоставления

Расширение конфигурации

Сохраняет поддержку и простое обновление, но доступность свойства «Длина номера» зависит от версии платформы

Смена периодичности или префиксов

Не требует изменения конфигурации: нумерация в пределах месяца или с префиксом по организации снижает риск исчерпания номеров

Нумераторы и сквозная нумерация

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

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

Также учитывайте периодичность нумератора: «В пределах года», «В пределах месяца», «Непериодический». Чем короче период, тем меньше номеров расходуется в каждом интервале — иногда переход на помесячную нумерацию решает проблему без изменения длины.

Риски и проверка результата

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

Особое внимание — обменам с сайтом, ЭДО и другими базами 1С. Если на принимающей стороне длина номера меньше, документы с «длинными» номерами будут отклоняться или терять часть номера. Сначала увеличьте длину во всех связанных базах, потом запускайте обмен.

Контрольные точки

Как проверить результат

Создание нового документа
Норма

Номер присваивается с нужным количеством знаков, префикс на месте

Тревожный признак

Номер обрезан, префикс пропал или появляется ошибка уникальности

Старые документы
Норма

Номера ранее созданных документов не изменились

Тревожный признак

Часть номеров обрезана или отображается иначе, чем до обновления

Обмен данными
Норма

Документы с новыми номерами выгружаются и загружаются без ошибок

Тревожный признак

В протоколе обмена ошибки формата или отказ в загрузке

Печатные формы
Норма

Номер полностью помещается в поле бланка

Тревожный признак

Номер обрезан на печати или налезает на другие поля

Типичные ошибки и ограничения

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

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

Типичные ошибки
01
Увеличили длину без учёта префикса — числовая часть осталась короткой
02
Не синхронизировали длину у документов с общим нумератором — ошибки при записи
03
Не обновили длину в базе-приёмнике — обмен отклоняет документы
04
Забыли про код в ПриУстановкеНовогоНомера, обрезающий номер до старой длины
05
Выполнили реструктуризацию без копии — при сбое данные восстанавливать неоткуда

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

Итог

Что важно запомнить

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

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

Можно ли увеличить длину номера без конфигуратора, в пользовательском режиме?

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

Что произойдёт со старыми документами после увеличения длины?

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

Номер дошёл до максимума, а конфигурацию менять нельзя. Что делать?

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

Почему после увеличения длины номер всё равно обрезается?

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

Влияет ли изменение длины номера на обновление типовой конфигурации?

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

Можно ли сделать разную длину номера для разных организаций в одной базе?

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