Настройка префиксов узлов в распределённой базе и обменах 1С

· 9 мин

Содержание

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

Ситуация знакома тем, кто разворачивал РИБ по филиалам: центр и две точки работают автономно, а раз в сутки обмениваются данными. Если во всех трёх базах счёт на оплату №1 создаётся как просто «1», после обмена в центральной базе окажется три разных документа с одинаковым номером. Префикс разводит их: Ц-000000001, СП-000000001, МС-000000001.

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

Что делает префикс и почему без него РИБ не живёт

Префикс — это короткая метка базы (узла обмена). Программа добавляет её в начало каждого нового номера и кода, которые создаются в этой базе. Внешне номер документа выглядит так: [префикс]-[порядковый номер].

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

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

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

Стоит различать два механизма обмена, где встречается префикс. РИБ (распределённая информационная база) — это обмен между копиями одной и той же конфигурации с иерархией «центр — периферия», при котором переносятся и данные, и изменения конфигурации. Универсальная «Синхронизация данных» через формат EnterpriseData связывает разные конфигурации (например, УТ и Бухгалтерию). Префикс нужен в обоих случаях и настраивается одинаково — важно лишь, чтобы метки узлов не совпадали.

Что подготовить до настройки

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

Удобно привязывать префикс к смыслу базы: Ц или ЦБ — центральная, СП — Санкт-Петербург, МС — Москва. Главное — чтобы символы не повторялись между узлами.

Проверьте и подготовьте следующее.

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

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

Для наглядности полезно заранее расписать схему узлов таблицей. Пример для сети из трёх баз:

УзелРольПрефиксЧто нумерует
Головной офисцентральныйЦдокументы и коды головной базы
Филиал СПбпериферийныйСПдокументы и коды питерской базы
Филиал МосквапериферийныйМСдокументы и коды московской базы

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

Задаём префикс в режиме «1С:Предприятие»

В типовых конфигурациях (БП 3.0, ЗУП 3.1, УТ 11, ERP, КА) префикс настраивается без Конфигуратора — через подсистему синхронизации данных. Пути немного отличаются по конфигурациям.

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

Порядок действий одинаковый.

  1. Откройте раздел синхронизации по пути из таблицы.
  2. Включите флажок «Синхронизация данных», если он ещё не стоит.
  3. В поле «Префикс этой информационной базы» впишите префикс текущей базы — 1 или 2 символа.
  4. Запишите настройку.

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

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

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

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

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

Основное, что настраивается в Конфигураторе:

  • План обмена — объект метаданных, описывающий состав данных и узлы. Для РИБ у плана обмена включают свойство «Распределённая информационная база». Тогда вместе с данными между узлами переносятся и изменения конфигурации.
  • Начальный образ — периферийную базу не создают заново, а формируют из центральной командой создания начального образа. Образ уже содержит структуру, данные и настройку узла.
  • Префикс как реквизит узла — в самописных обменах добавляют реквизит плана обмена (например, «Префикс») и заполняют его для каждого узла.

Само подставление префикса в номер делается кодом в событиях объекта. У документов это обработчик ОбработкаЗаполнения или специальное событие установки номера, у справочников — установки кода. В типовых конфигурациях на БСП за это отвечает отдельная подсистема префиксации, и вручную в Конфигураторе ничего дописывать не нужно — достаточно задать значение префикса в режиме Предприятия (см. раздел выше).

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

Порядок развёртывания периферийной базы в классической РИБ выглядит так.

  1. В центральной базе создайте в плане обмена узел для будущего филиала и задайте ему префикс.
  2. Сформируйте для этого узла начальный образ — командой создания начального образа в форме узла. Образ создаётся как файловая база или в серверном варианте.
  3. Разверните начальный образ на стороне филиала — это и есть периферийная база. Её узел «ЭтотУзел» уже содержит заданный префикс.
  4. Настройте расписание обмена с обеих сторон и выполните первую синхронизацию.

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

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

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

После установки префикса каждый новый номер и код в базе получает метку в начале. Разберём на примере.

Было (без префикса):

Счёт на оплату № 000000045
Контрагент № 00-000123

Стало (префикс базы — СП):

Счёт на оплату № СП-000000045
Контрагент № СП-000123

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

Что важно помнить про нумерацию:

  • Префикс занимает место в поле номера. Если исходно поле было узким, порядковая часть становится короче.
  • Нумерация справочников (коды элементов) префиксуется так же, как документы.
  • В ряде конфигураций к префиксу базы может добавляться префикс периода (например, двузначный год). Тогда номер выглядит как СП-26000001. Это настраивается отдельно и не всегда включено.

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

Для самопроверки можно открыть журнал документов после настройки и убедиться, что новые документы пошли с нужной меткой. Старые при этом останутся как были — это нормально.

Проверить настройку удобно так: создайте в каждой базе по одному тестовому документу (например, заказ или счёт) и сравните их номера. Если префиксы разные — Ц-...001 в центре и СП-...001 в филиале — после обмена эти документы не перезапишут друг друга. Если же в обеих базах документ получил одинаковую метку, значит, где-то префикс пустой или совпал, и настройку нужно поправить до первой боевой синхронизации. Тестовые документы потом можно пометить на удаление.

Ошибки при настройке префиксов и как их обойти

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

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

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

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

Сколько символов можно задать в префиксе?
Один или два символа. Этого достаточно, чтобы развести десятки узлов. Больше система обычно не принимает, да и длинный префикс съедает разрядность порядкового номера.
Можно ли использовать кириллицу в префиксе?
Да, поле принимает и кириллицу, и латиницу. Главное — чтобы префиксы узлов не совпадали. Удобно брать осмысленные буквы: Ц — центр, СП, МС — города.
Что будет, если оставить префикс пустым?
База будет нумеровать документы без метки. Пока обмена нет — ничего страшного. Но как только включится синхронизация с другой базой, где префикс тоже пуст, номера начнут совпадать и дублироваться при загрузке.
Префикс меняет номера уже введённых документов?
Нет. Префикс применяется только к объектам, созданным после его установки. Ранее введённые документы и коды остаются со старыми номерами.
Нужен ли Конфигуратор, чтобы задать префикс в типовой базе?
Нет. В типовых конфигурациях на БСП префикс задаётся в режиме «1С:Предприятие» через раздел синхронизации данных. Конфигуратор нужен только для самописных обменов или изменения структуры плана обмена.