Префикс базы 1С: где настроить, как изменить и не сломать обмен данными
Содержание
Префикс информационной базы в 1С задаётся в разделе Администрирование → Синхронизация данных — это поле «Префикс информационной базы», куда вписывают один-два символа. Изменить его можно в любой момент, прав администратора достаточно, перезапуск сервера не нужен.
Частое заблуждение: «поменяю префикс — и все документы перенумеруются». Нет. Новый префикс подставляется только в номера и коды объектов, созданных после изменения. Старые документы сохранят свои прежние номера — программа не пересчитывает нумерацию задним числом.
У номера документа два источника префикса: общий префикс всей базы и префикс узла плана обмена. В базе без синхронизации работает только первый — те самые один-два символа из настроек. Поэтому прежде чем менять значение, стоит понять, участвует ли база в обмене.
Зачем базе префикс и из чего он складывается
Префикс — это буквы в начале номера документа или кода элемента справочника. Номер вида ЦБ-000000147 читается так: ЦБ — префикс, остальное — порядковый счётчик. Нужен он ровно для одной задачи: чтобы при обмене данными между несколькими базами их номера не сталкивались.
Полный префикс объекта в типовых конфигурациях на библиотеке стандартных подсистем складывается из двух частей:
- 🏢 Префикс информационной базы — общий для всей базы, обычно 2 символа. Его вы и настраиваете вручную.
- 🔁 Префикс узла обмена — добавляется к объектам, которые пришли из другого узла распределённой базы (РИБ) или синхронизации.
Если обмен не настроен, узлового префикса нет, и в номерах виден только общий префикс базы. Два разных узла обмена обязаны иметь разные префиксы — иначе их документы получат одинаковые номера и при синхронизации начнётся путаница.
Префикс подставляется не только в номера документов, но и в коды элементов справочников, которые нумеруются автоматически (например, коды новых контрагентов или номенклатуры, если нумерация ведётся программой). Логика одна и та же: буквы впереди, счётчик следом.
Префикс влияет только на внешний вид и уникальность номера. На сам документ, его проводки и движения он никак не действует — это чисто идентификатор.
Где посмотреть и задать префикс информационной базы
Основной путь в типовых конфигурациях (Бухгалтерия предприятия 3.0, ЗУП 3.1, Управление торговлей 11):
Администрирование → Синхронизация данных → поле «Префикс информационной базы».
Если поля не видно, включите в этом же разделе флажок «Синхронизация данных» — часть настроек появляется только после него. Это единственная оговорка по интерфейсу: расположение самого раздела Администрирование одинаково во всех перечисленных конфигурациях.
Чтобы понять, какой префикс уже используется, не открывая настройки, достаточно взглянуть на номер любого недавнего документа — буквы в его начале и есть текущий префикс базы.
Длина поля ограничена: больше двух символов система не примет. Это сделано специально — номер имеет фиксированную длину, и чем длиннее префикс, тем меньше разрядов остаётся под счётчик. Допустимы и кириллица, и латиница, но держитесь одного регистра и одного алфавита по всем базам обмена, чтобы префиксы было легко различать глазами.
Выбирая символы, берите узнаваемую пару: инициалы организации, код филиала, первые буквы названия базы. Так по одному взгляду на номер в журнале понятно, из какой базы пришёл документ. Нейтральные сочетания вроде АА или 01 формально сработают, но смысл префикса — быстро опознавать источник — при них теряется.
Как изменить префикс в файловой и серверной базе
Процедура смены префикса одинакова для файловой и клиент-серверной базы — значение хранится внутри базы как обычная настройка, а не в файле конфигурации. Разница только в том, на что обратить внимание при многопользовательской работе (об этом ниже).
Порядок действий:
- Войдите в базу под пользователем с правами администратора.
- Откройте
Администрирование → Синхронизация данных. - В поле «Префикс информационной базы» сотрите старое значение и впишите новое — один-два символа.
- Нажмите кнопку записи/закрытия формы настроек.
- Создайте пробный документ и убедитесь, что его номер начинается с нового префикса.
Перезагружать платформу, останавливать службу сервера 1C:Enterprise или захватывать базу в монопольном режиме для этого не требуется. Монопольный доступ нужен при обновлении структуры базы, загрузке .dt и тестировании — смена константы к таким операциям не относится.
В многопользовательской базе смена срабатывает для всех сразу, перезаходить коллегам не нужно. Но учтите: сотрудник, который создаст документ сразу после изменения, увидит номер уже с новым префиксом. Чтобы это не вызвало вопросов, предупредите пользователей заранее или меняйте значение в нерабочее время.
Смена префикса через код для технического специалиста
Префикс информационной базы хранится в константе ПрефиксИнформационнойБазы. Задать её программно можно одной строкой на встроенном языке:
Константы.ПрефиксИнформационнойБазы.Установить("БП");
Выполнить этот код можно через механизм «Функции для технического специалиста» (включается в настройках программы для пользователя с правами администратора) либо внешней обработкой, которая выполняет произвольный код. В Конфигураторе менять префикс не нужно и бессмысленно — это данные базы, а не метаданные.
Проверить текущее значение из того же механизма можно обратным вызовом:
Сообщить("Текущий префикс: " + Константы.ПрефиксИнформационнойБазы.Получить());
Это удобно, когда нужно быстро снять префиксы сразу с нескольких баз — например, при аудите узлов обмена — и сверить их между собой, не открывая настройки в каждой базе по отдельности.
Код в целом полезен, когда префикс надо проставить сразу в нескольких базах по единому шаблону или зафиксировать в сценарии первичной настройки развёртывания. Результат тот же, что и через интерфейс: значение меняется, старые номера остаются прежними. Для разовой правки одной базы код не даёт никаких преимуществ перед обычным полем — выбирайте его только там, где операция повторяется.
Запуск произвольного кода в рабочей базе — операция администратора. Проверьте строку перед выполнением и делайте это на базе, где понимаете последствия. Для разовой смены префикса надёжнее и безопаснее обычное поле в настройках.
Влияние смены префикса на обмен и синхронизацию
Самое важное правило при обмене: префиксы всех узлов должны оставаться уникальными. Если настроена распределённая база или синхронизация между конфигурациями, у каждой базы (узла) — свой префикс. Совпадение префиксов двух узлов приводит к одинаковым номерам у разных документов, и при обмене вы получите визуальную путаницу, а в отдельных случаях — конфликты загрузки.
Что происходит при смене префикса в базе, которая уже участвует в обмене:
- Объекты, уже выгруженные в другие узлы, сохраняют старые номера — менять их задним числом система не будет.
- Новые объекты получат новый префикс и так же уйдут в обмен.
- Внутренний идентификатор (GUID) объекта при смене префикса не меняется, поэтому связи между базами не рвутся — обмен опознаёт объект по идентификатору, а не по номеру.
Отсюда практический вывод: префикс лучше задавать до первого обмена. Если всё же меняете его на работающей синхронизации — сверьтесь со списком узлов и убедитесь, что новое значение не занято ни одной из баз. В узлах РИБ, помимо общего префикса базы, у документов может присутствовать и префикс узла — его задают при настройке плана обмена, и его тоже держат уникальным по каждому узлу.
Пример. Два филиала ведут учёт в одной распределённой базе. Центральной базе задают префикс ЦБ, филиалу — ФЛ. Тогда накладная, созданная в центре, получит номер ЦБ-000000001, а созданная в филиале — ФЛ-000000001. Номера не пересекаются, и при обмене каждый документ легко отличить по его происхождению прямо в списке. Если бы обоим узлам поставили один и тот же префикс, в объединённой базе появились бы две накладные ЦБ-000000001 — внешне одинаковые, и разобраться, какая из какого филиала, стало бы заметно сложнее.
Что произойдёт со старыми номерами документов
Короткий ответ: ничего. Смена префикса не запускает перенумерацию.
Детали, которые важно учитывать:
- Все ранее созданные документы и элементы справочников сохраняют старые номера и коды. Печатные формы, которые вы уже распечатали или отправили, переделывать не нужно.
- Счётчик нумерации привязан к периоду и префиксу. После смены префикса первый новый документ в периоде может получить небольшой номер (например,
НВ-000000001) — это нормально, номер уникален как строка целиком. - В одной базе могут одновременно жить документы со старым и новым префиксом — это не ошибка, а естественное следствие смены.
| Что меняется | Что остаётся как было |
|---|---|
| Номера и коды новых объектов | Номера всех ранее созданных документов |
| Внешний вид будущих печатных форм | Уже распечатанные и отправленные формы |
| — | Проводки, движения, суммы, идентификаторы (GUID) |
Если вам нужно именно привести старые документы к новому префиксу, штатного «переключателя» для этого нет. Массовая перенумерация — отдельная рискованная операция, которую делают групповой обработкой под контролем специалиста и только с резервной копией базы. В большинстве задач она не требуется: старые и новые номера спокойно сосуществуют.
Когда префикс менять не нужно
Смена префикса — не косметическая процедура, и затевать её без причины не стоит. Есть ситуации, когда менять значение не нужно вовсе:
- 🚫 База работает в одиночку, без обмена. Тогда префикс нужен только чтобы номера выглядели аккуратно. Если он вас устраивает — не трогайте; уникальность внутри одной базы обеспечивает счётчик, а не буквы.
- 🚫 Хочется «навести порядок» в старых номерах. Смена префикса это не решает — старые документы не перенумеруются, а в базе появится разнобой из двух префиксов.
- 🚫 Не нравится вид печатной формы. Расположение и состав реквизитов печатной формы настраиваются отдельно; к префиксу это отношения не имеет.
А вот когда менять действительно стоит: при подключении базы к обмену или синхронизации, где её префикс совпал с чужим, либо при разворачивании новой базы филиала из копии центральной — копия унаследует префикс оригинала, и его нужно сменить, чтобы номера филиалов не слились.
Типичные ошибки при смене префикса
Несколько ситуаций, с которыми сталкиваются на практике:
- Ждут, что перенумеруются старые документы. Не перенумеруются. Если нужна единая нумерация «с нуля» — это другая задача (новая база или специальная обработка), а не смена префикса.
- Задают одинаковый префикс двум базам обмена. Самая болезненная ошибка: номера начинают дублироваться между узлами. Перед вводом значения проверьте префиксы всех узлов синхронизации.
- Пытаются вписать длинный префикс. Поле не примет больше двух символов — ограничение жёсткое, обойти его через настройки нельзя.
- Ищут настройку в Конфигураторе. Префикс — это данные, его меняют в режиме «1С:Предприятие», а не в Конфигураторе.
- Меняют префикс на пике работы. В многопользовательской базе выберите время, когда новые документы почти не создают: так проще убедиться, что новый префикс подхватился, и не смущать пользователей сменой нумерации в середине дня.
Если после смены новый документ по-прежнему создаётся со старым префиксом — скорее всего, настройка не записалась или вы смотрите на документ, созданный до изменения. Создайте новый документ и проверьте его номер ещё раз.