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

Справочники и Данные · 10 мин

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

Как убрать код из справочника 1С: изменение длины и типа кода, отключение автонумерации, правка кода элемента вручную и через обработку, риски и проверка результата.

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

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

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

Почему код нельзя удалить полностью

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

Поэтому корректная постановка задачи — не «удалить код», а «сделать так, чтобы код не мешал работе». Это достигается настройкой видимости, длины, типа и правил нумерации. Попытки удалить колонку кода из таблицы напрямую средствами СУБД приведут к повреждению базы и ошибкам при обновлении конфигурации.

Скрыть код из списка и форм без изменения конфигурации

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

Для всех пользователей сразу настройку выполняет администратор в конфигураторе: в форме списка справочника у элемента, связанного с полем «Код», устанавливается свойство «Видимость» = Ложь. Аналогично код убирается из формы элемента, если он там не нужен.

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

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

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

Типовые рекомендации по выбору:

  • Числовой код удобен для компактных справочников без обмена — сортировка естественная, длины 5–9 знаков обычно достаточно.
  • Строковый код нужен, если база участвует в обмене: префиксы узлов добавляются к коду, поэтому закладывайте запас длины (например, 9–11 символов).
  • Уменьшение длины кода возможно только если существующие коды помещаются в новый размер, иначе платформа откажется сохранять изменения.

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

Отключить автонумерацию и контроль уникальности

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

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

Перенумеровать элементы и убрать «дыры» в кодах

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

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

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

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

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

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

Типичные ошибки
01
Перенумерация справочника в базе, участвующей в обмене по кодам, — приводит к дублям элементов после синхронизации.
02
Уменьшение длины кода без проверки существующих значений — платформа отклоняет изменение или усекает данные.
03
Снятие контроля уникальности «для удобства» — со временем появляются дубли, которые ломают отчёты и поиск.
04
Работа без резервной копии — откатить массовую перенумерацию штатными средствами невозможно.

Проверка результата после изменений

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

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

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

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

Список справочника, сортировка по коду
Норма

Коды последовательны, без дублей и пустых значений

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

Пропуски, повторы, коды со старыми префиксами

Документы со ссылками на справочник
Норма

Элементы отображаются и открываются корректно

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

Битые ссылки, «Объект не найден»

Обмен данными (если есть)
Норма

Синхронизация проходит без новых дублей

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

Задвоение элементов в узлах обмена

Когда лучше привлечь специалиста

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

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

Итог

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

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

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

Можно ли сделать код справочника нулевой длины?

Нет. Минимальная длина кода — 1 символ, полностью отказаться от кода платформа не позволяет. Если код не нужен пользователям, правильное решение — скрыть его из форм и списков, оставив минимальную длину и автонумерацию.

Почему после смены типа кода на числовой часть кодов стала нулевой?

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

Разъедутся ли документы, если перенумеровать справочник?

Нет. Документы хранят ссылку на элемент по внутреннему идентификатору, который при смене кода не меняется. Риск существует только для обменов, где сопоставление объектов настроено по коду, а не по уникальному идентификатору.

Как убрать префикс из кодов после обмена?

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

Можно ли изменить код элемента, если поле недоступно для редактирования?

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

Нужно ли тестирование и исправление после перенумерации?

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