Как узнать и сменить префикс базы, чтобы номера документов не путались
Содержание
Префикс информационной базы в 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С:Предприятие.
Зато в Конфигураторе удобно разобраться, как механизм устроен в вашей конфигурации:
- Откройте
Конфигурация → Открыть конфигурацию. - В дереве метаданных раскройте ветку
Константыи найдитеПрефиксУзлаРаспределеннойИнформационнойБазы. В свойствах видно тип: строка фиксированной длины, у типовых конфигураций два символа. - В ветке
Общие → Функциональные опциинайдите опциюПрефиксИнформационнойБазы. Она ссылается на эту константу, и через неё к значению обращается подсистема префиксации. - Чтобы увидеть, какие объекты получают префикс, вызовите для константы контекстную команду
Поиск ссылок на объект.
Для РИБ есть отдельный нюанс. Коды узлов плана обмена и префикс базы связаны: при создании подчинённого узла префикс задаётся в помощнике настройки, и у главного и подчинённого узлов он обязан быть разным.
Если конфигурация доработана и номера ведут себя не так, как описано в статье, ищите в модулях объекта документа обработчик ПриУстановкеНовогоНомера. Именно там типовой код вызывает префиксацию, и именно там его часто переписывают при доработках.
Как получить префикс программно
Разработчику префикс нужен, например, чтобы вывести его в печатную форму, сформировать уникальный номер для внешней системы или проверить настройки перед обменом.
Самый прямой способ — прочитать константу на сервере:
&НаСервереБезКонтекста
Функция ПрефиксТекущейБазы()
Префикс = Константы.ПрефиксУзлаРаспределеннойИнформационнойБазы.Получить();
Если ПустаяСтрока(Префикс) Тогда
// Так же поступает подсистема префиксации: пустой префикс = "00"
Префикс = "00";
КонецЕсли;
Возврат СокрЛП(Префикс);
КонецФункции
Второй вариант — через функциональную опцию. Он не требует прав на чтение константы напрямую, потому что функциональные опции доступны всем пользователям:
Префикс = ПолучитьФункциональнуюОпцию("ПрефиксИнформационнойБазы");
Пример: собрать номер для выгрузки во внешнюю систему, чтобы номера из разных баз не пересекались.
&НаСервере
Функция ВнешнийНомер(Документ)
Префикс = ПолучитьФункциональнуюОпцию("ПрефиксИнформационнойБазы");
Если ПустаяСтрока(Префикс) Тогда
Префикс = "00";
КонецЕсли;
Возврат СтрШаблон("%1-%2-%3",
СокрЛП(Префикс),
Формат(Документ.Дата, "ДФ=yyyyMMdd"),
СокрЛП(Документ.Номер));
КонецФункции
Для документа от 15 марта с номером 00ЦО-000125 функция вернёт ЦО-20260315-00ЦО-000125.
Не записывайте константу кодом в рабочей базе «на всякий случай». Смена префикса меняет нумерацию всех будущих документов и может сломать сопоставление объектов при обмене.
Как изменить префикс информационной базы
Менять префикс приходится в трёх случаях: настраиваете первый обмен, две базы случайно получили одинаковый префикс, или база скопирована и копия стала самостоятельной рабочей базой.
Что проверить перед сменой
Порядок смены
- Откройте
Администрирование → Синхронизация данных(в УТ 11 — черезНСИ и администрирование). - Рядом с полем префикса воспользуйтесь командой изменения. В новых релизах БСП открывается отдельное окно смены префикса, в старых поле редактируется прямо в форме.
- Введите новый префикс. Безопасный выбор — две заглавные буквы или цифры без пробелов и дефиса:
ЦО,Ф1,02. - Если окно предлагает перенумеровать объекты, решите, нужна ли перенумерация, и укажите дату, начиная с которой менять номера.
- Сохраните изменения и создайте тестовый документ, например черновик заказа или счёта. Проверьте, что новый префикс попал в номер, и удалите черновик.
Если база участвует в обмене, после смены выполните синхронизацию вручную и проверьте, что вторая сторона приняла данные без ошибок сопоставления.
Перенумерацию документов за закрытый период не делайте. По номерам на бумаге и в выгруженных отчётах уже идут ссылки: счета-фактуры, акты, книга продаж. Новые номера в базе разойдутся с номерами, которые получил контрагент и налоговая.
Когда менять префикс не нужно
- ✅ База одна, обмена нет, и номера вида
0000-000125всех устраивают. - ✅ Обмен идёт только в одну сторону и вторая база сама таких документов не создаёт. Например, ЗУП передаёт в БП отражение зарплаты, а пересечься номерам негде.
- ✅ Нет явной причины, а на дворе середина года. Смена префикса запускает новую нумерацию, и в журнале появятся два ряда номеров.
Как префикс влияет на нумерацию документов
Номер документа в типовых конфигурациях собирается из трёх частей:
| Часть | Пример | Откуда берётся |
|---|---|---|
| Префикс организации | ТД | Карточка организации, поле «Префикс» |
| Префикс информационной базы | ЦО | Константа префикса базы |
| Порядковый номер | 000125 | Автонумерация платформы |
Итог: ТДЦО-000125. Если какой-то префикс пустой, вместо него подставляется 00: без обоих префиксов получается 0000-000125, без префикса организации — 00ЦО-000125.
Что происходит с нумерацией после смены
Платформа нумерует документы с учётом префикса: новый номер считается как следующий после максимального с таким же префиксом. Поэтому после смены ЦО на ОФ:
- 📄 старые документы остаются с номерами
00ЦО-…, если не запускалась перенумерация; - 🆕 первый новый документ получит
00ОФ-000001, а не00ОФ-000126; - 📅 периодичность нумерации (обычно в пределах года) сохраняется, префикс её не меняет.
Тот же принцип у кодов справочников. Если код справочника строковый и префиксируется, новые элементы получат коды с новым префиксом, а старые останутся как были.
Префикс организации и префикс базы — разные вещи
Их часто путают. Префикс организации отличает документы разных юрлиц внутри одной базы. Префикс базы отличает документы разных баз. Его задают один раз на всю базу, а префикс организации — в карточке каждой организации отдельно.
Если вам нужно, чтобы по номеру было видно, какая фирма выставила счёт, — настраивайте префикс организации. Если нужно, чтобы номера филиала не пересекались с номерами офиса при обмене, — префикс базы.
Ошибки, связанные с префиксом, и как их устранить
После загрузки копии базы из файла .dt для отладки сразу смените в ней префикс, например на ТС. Тогда тестовые документы на бумаге и в выгрузках никогда не спутают с настоящими.
Частые вопросы о префиксе базы
Сколько символов может быть в префиксе информационной базы?
Можно ли использовать в префиксе латиницу?
C и кириллическая С выглядят одинаково. Выберите один алфавит для всех баз обмена.Что будет, если удалить префикс?
00. Новые документы начнут нумероваться в ряду 00…-, параллельно с уже выпущенными.