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

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

Как установить префикс кода справочника в 1С

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

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

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

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

Как работает префикс и автонумерация кодов в 1С

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

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

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

Установка префикса через настройки обмена данными

В типовых конфигурациях (1С:Бухгалтерия, 1С:Управление торговлей, 1С:ERP и других) префикс задаётся централизованно. Путь может немного отличаться между версиями, но общая логика такая: откройте раздел «Администрирование», найдите подсистему «Обмен данными» или «Синхронизация данных» и в настройках укажите поле «Префикс информационной базы».

Порядок действий в типовой конфигурации
  1. 1
    Откройте раздел «Администрирование» → «Обмен данными» (или «Синхронизация данных»).
  2. 2
    Найдите поле «Префикс информационной базы» (иногда «Префикс этой информационной базы»).
  3. 3
    Введите короткий уникальный префикс, например «ЦБ» или «Ф1».
  4. 4
    Сохраните настройку и создайте тестовый элемент справочника.
  5. 5
    Проверьте, что код нового элемента начинается с заданного префикса.

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

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

Программная установка префикса для конкретного справочника

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

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

Процедура ПриУстановкеНовогоКода(СтандартнаяОбработка, Префикс)

Префикс = "ТМЦ";

КонецПроцедуры

Если нужно полностью контролировать код, установите СтандартнаяОбработка = Ложь и сформируйте код вручную через УстановитьНовыйКод() или прямым присваиванием. Но помните: при отключении стандартной обработки вся ответственность за уникальность кодов ложится на ваш алгоритм.

Префикс по группе или виду элемента

Частая задача — разные префиксы для разных групп внутри одного справочника. Например, у номенклатуры типа «Товар» префикс «ТВ», а у «Услуга» — «УС». В обработчике ПриУстановкеНовогоКода реквизиты элемента уже доступны, поэтому можно построить условие:

Процедура ПриУстановкеНовогоКода(СтандартнаяОбработка, Префикс)

Если ВидНоменклатуры = Перечисления.ВидыНоменклатуры.Услуга Тогда

Префикс = "УС";

Иначе

Префикс = "ТВ";

КонецЕсли;

КонецПроцедуры

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

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

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

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

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

Код нового элемента
Норма

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

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

Префикс отсутствует или номер начинается заново

Старые элементы
Норма

Сохранили прежние коды

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

Коды изменились без отдельной обработки перенумерации

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

Элементы из разных баз имеют разные префиксы

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

Встречаются одинаковые коды из разных баз

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

Типичные ошибки при работе с префиксами

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

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

Когда префикс не нужен и какие есть альтернативы

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

Маршрут решения

Как выбрать действие

Несколько баз обмениваются даннымиЗадайте уникальный префикс каждой базе в настройках обмена данными
Нужны разные префиксы по группам одного справочникаПереопределите префикс в обработчике ПриУстановкеНовогоКода
Одиночная база без интеграцийОставьте стандартную нумерацию без префикса
Код используется во внешних системах как идентификаторЗафиксируйте формат кода и не меняйте префикс без согласования

Альтернатива префиксу — использование отдельного реквизита для принадлежности (например, «Организация» или «Подразделение») вместо кодирования информации в коде. Это гибче: реквизит можно менять без перенумерации, а код остаётся простым порядковым номером.

Итог

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

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

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

Почему префикс не появляется в коде нового элемента?

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

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

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

Какой длины должен быть префикс?

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

Что делать, если автонумерация сбилась после ручного ввода кода?

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

Влияет ли смена префикса на обмен данными?

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

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

Штатный префикс информационной базы применяется и к справочникам, и к документам одновременно. Если нужно разделить поведение, для конкретного вида документов или справочника переопределите нумерацию в обработчике ПриУстановкеНовогоНомера или ПриУстановкеНовогоКода соответственно.