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

· 9 мин

Содержание

Префикс информационной базы в 1С 8.3 находится в разделе Администрирование → Синхронизация данных: поле с префиксом стоит в верхней части формы. В УТ 11 тот же пункт лежит в НСИ и администрирование → Администрирование → Синхронизация данных. Это два символа, которые программа подставляет в номер каждого нового документа и в код новых элементов справочников.

Если в форме поля не видно, префикс всё равно можно найти: через Все функции → Константы или кодом. Оба способа описаны ниже, как и порядок смены префикса без путаницы в нумерации.

Зачем базе префикс и где он используется

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

С префиксами номера разводятся сами:

  • 🏢 центральная база с префиксом ЦО выпускает 00ЦО-000125;
  • 🏬 база филиала с префиксом ФЛ выпускает 00ФЛ-000125;
  • 🔁 после обмена оба документа живут рядом, и по номеру сразу видно, где документ создан.

Префикс работает в конфигурациях на Библиотеке стандартных подсистем (БСП): Бухгалтерия предприятия 3.0, ЗУП 3.1, Управление торговлей 11, Комплексная автоматизация, ERP. Хранится он в константе ПрефиксУзлаРаспределеннойИнформационнойБазы, а механизм, который приклеивает его к номерам, называется «Префиксация объектов».

Префикс используют:

  • 🔄 обмен данными и синхронизация между разными программами (БП ↔ ЗУП, УТ ↔ БП);
  • 🌐 распределённая информационная база (РИБ), где у каждого узла свой префикс;
  • 📄 нумерация документов и кодов справочников в одной базе, если нужно отличать её номера от номеров другой базы, даже без обмена.

Если база одна и ни с чем не обменивается, префикс можно оставить пустым. Программа подставит вместо него 00, и номера будут вида 0000-000125.

Где найти префикс информационной базы в 1С 8.3 в пользовательском режиме

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

КонфигурацияГде найти префикс
Бухгалтерия предприятия 3.0Администрирование → Синхронизация данных
ЗУП 3.1Администрирование → Синхронизация данных
Управление торговлей 11НСИ и администрирование → Администрирование → Синхронизация данных

Через форму «Синхронизация данных»

  1. Откройте раздел из таблицы выше.
  2. В верхней части формы найдите поле с префиксом этой информационной базы. Там будут два символа, например БП или ЦО.
  3. Если поле серое или его нет, включите флажок «Синхронизация данных» в этой же форме. Сам флажок ничего не запускает: обмен начнёт работать только после настройки конкретной синхронизации.

Для просмотра нужны права администратора. У рядового пользователя раздела Администрирование в командной панели просто не будет.

Через «Все функции»

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

  1. Включите команду «Все функции»: Главное меню (☰) → Сервис → Параметры, флажок «Отображать команду “Все функции”».
  2. Откройте Главное меню → Все функции → Константы.
  3. Найдите в списке константу «Префикс узла распределенной информационной базы» и откройте её.

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

Менять значение прямо в константе через «Все функции» не стоит. Форма синхронизации при смене префикса выполняет проверки и обновляет связанные настройки обмена, а прямая запись в константу их обходит.

Что видно о префиксе в Конфигураторе

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

Зато в Конфигураторе удобно разобраться, как механизм устроен в вашей конфигурации:

  1. Откройте Конфигурация → Открыть конфигурацию.
  2. В дереве метаданных раскройте ветку Константы и найдите ПрефиксУзлаРаспределеннойИнформационнойБазы. В свойствах видно тип: строка фиксированной длины, у типовых конфигураций два символа.
  3. В ветке Общие → Функциональные опции найдите опцию ПрефиксИнформационнойБазы. Она ссылается на эту константу, и через неё к значению обращается подсистема префиксации.
  4. Чтобы увидеть, какие объекты получают префикс, вызовите для константы контекстную команду Поиск ссылок на объект.

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

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

Как получить префикс программно

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

Самый прямой способ — прочитать константу на сервере:

&НаСервереБезКонтекста
Функция ПрефиксТекущейБазы()

    Префикс = Константы.ПрефиксУзлаРаспределеннойИнформационнойБазы.Получить();

    Если ПустаяСтрока(Префикс) Тогда
        // Так же поступает подсистема префиксации: пустой префикс = "00"
        Префикс = "00";
    КонецЕсли;

    Возврат СокрЛП(Префикс);

КонецФункции

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

Префикс = ПолучитьФункциональнуюОпцию("ПрефиксИнформационнойБазы");

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

&НаСервере
Функция ВнешнийНомер(Документ)

    Префикс = ПолучитьФункциональнуюОпцию("ПрефиксИнформационнойБазы");
    Если ПустаяСтрока(Префикс) Тогда
        Префикс = "00";
    КонецЕсли;

    Возврат СтрШаблон("%1-%2-%3",
        СокрЛП(Префикс),
        Формат(Документ.Дата, "ДФ=yyyyMMdd"),
        СокрЛП(Документ.Номер));

КонецФункции

Для документа от 15 марта с номером 00ЦО-000125 функция вернёт ЦО-20260315-00ЦО-000125.

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

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

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

Что проверить перед сменой

Перед сменой префикса
Выполнено: 0 / 5

Порядок смены

  1. Откройте Администрирование → Синхронизация данных (в УТ 11 — через НСИ и администрирование).
  2. Рядом с полем префикса воспользуйтесь командой изменения. В новых релизах БСП открывается отдельное окно смены префикса, в старых поле редактируется прямо в форме.
  3. Введите новый префикс. Безопасный выбор — две заглавные буквы или цифры без пробелов и дефиса: ЦО, Ф1, 02.
  4. Если окно предлагает перенумеровать объекты, решите, нужна ли перенумерация, и укажите дату, начиная с которой менять номера.
  5. Сохраните изменения и создайте тестовый документ, например черновик заказа или счёта. Проверьте, что новый префикс попал в номер, и удалите черновик.

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

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

Когда менять префикс не нужно

  • ✅ База одна, обмена нет, и номера вида 0000-000125 всех устраивают.
  • ✅ Обмен идёт только в одну сторону и вторая база сама таких документов не создаёт. Например, ЗУП передаёт в БП отражение зарплаты, а пересечься номерам негде.
  • ✅ Нет явной причины, а на дворе середина года. Смена префикса запускает новую нумерацию, и в журнале появятся два ряда номеров.

Как префикс влияет на нумерацию документов

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

ЧастьПримерОткуда берётся
Префикс организацииТДКарточка организации, поле «Префикс»
Префикс информационной базыЦОКонстанта префикса базы
Порядковый номер000125Автонумерация платформы

Итог: ТДЦО-000125. Если какой-то префикс пустой, вместо него подставляется 00: без обоих префиксов получается 0000-000125, без префикса организации — 00ЦО-000125.

Что происходит с нумерацией после смены

Платформа нумерует документы с учётом префикса: новый номер считается как следующий после максимального с таким же префиксом. Поэтому после смены ЦО на ОФ:

  • 📄 старые документы остаются с номерами 00ЦО-…, если не запускалась перенумерация;
  • 🆕 первый новый документ получит 00ОФ-000001, а не 00ОФ-000126;
  • 📅 периодичность нумерации (обычно в пределах года) сохраняется, префикс её не меняет.

Тот же принцип у кодов справочников. Если код справочника строковый и префиксируется, новые элементы получат коды с новым префиксом, а старые останутся как были.

Префикс организации и префикс базы — разные вещи

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

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

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

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

После загрузки копии базы из файла .dt для отладки сразу смените в ней префикс, например на ТС. Тогда тестовые документы на бумаге и в выгрузках никогда не спутают с настоящими.

Частые вопросы о префиксе базы

Сколько символов может быть в префиксе информационной базы?
В типовых конфигурациях на БСП — два символа. Это ограничение длины константы, больше форма ввести не даст.
Можно ли использовать в префиксе латиницу?
Технически да, но в номерах смешение алфавитов путает: латинская C и кириллическая С выглядят одинаково. Выберите один алфавит для всех баз обмена.
Что будет, если удалить префикс?
Вместо него в номерах появится 00. Новые документы начнут нумероваться в ряду 00…-, параллельно с уже выпущенными.
Нужен ли префикс для файловой базы?
Тип базы роли не играет: файловая и клиент-серверная используют префикс одинаково. Важно только, обменивается ли база с другими.
Переносится ли префикс при выгрузке базы в .dt?
Да, это обычная константа, она входит в выгрузку. Поэтому копия базы получает тот же префикс, что и оригинал.