УИД базы 1С: какие бывают идентификаторы и как их сменить

· 9 мин

Содержание

«Идентификатор базы данных 1С» — это не одно значение, а несколько разных. Чаще всего под его изменением понимают правку GUID в списке информационных баз: этот идентификатор хранит текстовый файл ibases.v8i, и меняют его в обычном блокноте, а не в конфигураторе. На сервере у базы есть свой идентификатор в кластере, а в распределённой базе — коды узлов обмена. Это три разные сущности, и путать их не стоит.

Разберём, чем отличаются эти идентификаторы базы данных, как изменить каждый в файловом и клиент-серверном варианте 1С 8.3 и что при этом произойдёт с лицензиями, кэшем и обменом РИБ.

Какой идентификатор базы вам нужно сменить?

Чем отличаются идентификаторы базы в разных случаях

Прежде чем что-то менять, важно понять, какой именно идентификатор перед вами. От этого зависит и место правки, и риски.

ИдентификаторГде хранитсяКогда меняют
GUID записи в списке запускафайл ibases.v8i у каждого пользователякогда копия базы делит локальные настройки с рабочей
Идентификатор базы в кластере серверовреестр кластера 1С на серверекогда копию надо зарегистрировать как отдельную базу
Коды узлов обмена (РИБ)внутри самой базы, в плане обменапрактически никогда вручную

GUID записи в списке — локальная вещь. Он привязан к записи в вашем списке баз, а не к данным внутри 1Cv8.1CD. У каждого пользователя свой список, поэтому правка у одного человека не влияет на других.

Идентификатор в кластере живёт на сервере и описывает, как база зарегистрирована в кластере 1С:Предприятия. Клиент подключается к такой базе по строке вида Srvr="сервер:1541";Ref="имя_базы".

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

Что сделать до смены идентификатора

Операция обратимая только при одном условии — если у вас есть чем откатиться.

Перед любой правкой сделайте резервную копию: для файловой базы — копию папки с 1Cv8.1CD, для серверной — выгрузку .dt или резервную копию средствами СУБД. Файл ibases.v8i тоже скопируйте отдельно.

Дальше:

  • 📁 Определите, какой идентификатор меняете (помогает блок с вопросом выше).
  • 🚪 Закройте все сеансы 1С на этой базе. Правки в списке баз затираются при закрытии программы, а перерегистрацию в кластере нельзя делать при активных пользователях.
  • 🕘 Серверные операции планируйте на окно обслуживания. Завершение сеансов и перерегистрация оборвут работу всех, кто сейчас в базе.
  • 📝 Для файловой базы запишите текущее значение ID= перед правкой. Так откатитесь за секунду, даже если забыли сохранить копию файла.

Для правки списка баз монопольный доступ не нужен — это просто текстовый файл на вашем компьютере. Монополия нужна только для серверных процедур вроде загрузки .dt или изменения структуры.

Как изменить идентификатор в файловом варианте 1С

В файловом варианте «идентификатор базы», который реально можно поменять, — это GUID записи в списке запуска. Порядок такой:

  1. Закройте все окна 1С (и толстый, и тонкий клиент, и конфигуратор).
  2. Откройте файл списка баз в блокноте. Общий список текущего пользователя лежит здесь: C:\Users\Имя\AppData\Roaming\1C\1CEStart\ibases.v8i (то же, что %APPDATA%\1C\1CEStart\ibases.v8i).
  3. Найдите секцию с именем вашей базы — строку в квадратных скобках [Имя базы], а под ней строку ID=....
  4. Сформируйте новый GUID. Удобно через PowerShell командой [guid]::NewGuid().ToString() — она выдаёт готовое значение нужного формата.
  5. Подставьте новый GUID в строку ID=, сохраните файл и запустите 1С.

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

  • Connect= — строка подключения: для файловой базы это путь File="...", для серверной — Srvr="...";Ref="...";.
  • ID= — тот самый GUID записи, который мы меняем.
  • OrderInList= и OrderInTree= — порядок базы в плоском списке и в дереве папок.
  • Folder= — папка списка, в которой отображается база.

Трогаем только строку ID=. Остальные строки оставляем как есть — они отвечают за подключение и внешний вид списка, а не за идентификатор.

Формат GUID строгий: пять групп шестнадцатеричных знаков 8-4-4-4-12, например 3f2504e0-4f89-41d3-9a0c-0305e82c3301.

Если формат нарушить (лишний символ, не те группы), база либо пропадёт из списка, либо launcher выдаст ошибку. Тогда верните старое значение ID= из резервной копии файла.

Если база попадает к вам из общего списка (администратор раздаёт его централизованно), правка личного ibases.v8i может не сработать: запись придёт заново из общего файла. Общий список подключается через файл 1CEStart.cfg параметром CommonInfoBases=, который указывает на расположение общего ibases.v8i. В этом случае идентификатор меняют в общем файле — но делать это должен тот, кто этим списком управляет, иначе правка затронет всех пользователей.

Что изменится после смены: база откроется с локальными настройками по умолчанию — панели разделов, недавние документы, сохранённые отборы списков могут сброситься, потому что клиент привязывает их к записи базы. Сами данные внутри базы не затрагиваются. Если задача была просто «развести» копию и рабочую базу, чтобы они не делили настройки, достаточно сменить ID только у копии.

Идентификатор базы в кластере серверов 1С

В клиент-серверном варианте база зарегистрирована в кластере, и у неё есть имя (Ref) и внутренний идентификатор в кластере. Напрямую этот идентификатор не правят — чтобы база стала «другой», её перерегистрируют.

Типичная причина — восстановили копию продуктивной базы для тестов, и нужно, чтобы кластер считал её отдельной базой. Порядок (строго в окно обслуживания):

  1. Сделайте резервную копию базы СУБД или выгрузите .dt.
  2. Завершите сеансы пользователей на этой базе.
  3. В консоли администрирования (оснастка MMC) или через утилиту rac отмените регистрацию базы в кластере. В диалоге удаления выберите вариант, который оставляет базу данных СУБД, а не очищает и не удаляет её.
  4. Зарегистрируйте базу заново с нужным именем, указав существующую базу СУБД (без создания новой).

Если работаете из командной строки, узнать идентификатор кластера можно командой rac cluster list. Дальнейшие действия с базами смотрите в rac help и справке по rac infobase — подкоманды и параметры наугад подставлять не стоит, легко ошибиться.

Остановка службы сервера 1С или принудительное завершение сеансов оборвут работу всех пользователей кластера, а не только этой базы. Делайте это только когда в базах никого нет.

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

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

Лицензии, кэш и обмен РИБ при смене идентификатора

Главный страх при смене УИД — «слетит лицензия». На том же компьютере этого не произойдёт.

  • 🔑 Программные лицензии 1С привязаны к набору параметров компьютера, а не к идентификатору базы. Смена ID в списке или перерегистрация базы на том же сервере лицензию не сбрасывает. Аппаратные ключи (USB) к базе тоже не привязаны.
  • 💻 Перенос на другой компьютер — отдельная история: там вопрос к привязке программной лицензии к оборудованию, а не к УИД базы. Это не одно и то же.
  • 🔄 В распределённой базе (РИБ) узлы различаются по коду, один узел — центральный. Коды узлов — часть протокола обмена, вручную их не меняют: так вы рассинхронизируете обмен. Если восстановили копию, которая входит в РИБ, отключите обмен в копии: не запускайте регламентное задание обмена и не используйте узлы РИБ для реальной передачи данных. Иначе копия начнёт слать данные как рабочий узел, и в продуктиве появятся конфликты и задвоения. Безопаснее держать тестовую копию полностью отвязанной от рабочего обмена.

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

Что проверить после смены идентификатора

Короткая проверка после правки избавляет от неприятных сюрпризов на следующий день:

  • ✅ База открывается, данные на месте, нужные документы и справочники видны.
  • ✅ Локальные настройки клиента (панели, избранное, отборы) при необходимости настроены заново — если они сбросились.
  • ✅ Для серверной базы: регламентные задания выполняются (не стоит галка «Блокировка регламентных заданий»), веб-публикация открывается, внешние подключения и COM работают.
  • ✅ Для копии в РИБ: убедитесь, что она не шлёт обмен в рабочий контур.
  • ✅ Если к базе подключаются по COM-соединению или из другой программы — проверьте, что там прописано актуальное имя или путь базы.

Если клиент после смены тормозит или выдаёт ошибки форм — очистите локальный кэш. Закройте все сеансы 1С и удалите вложенные папки кэша в каталоге %LOCALAPPDATA%\1C\1cv8 (каждая база лежит там в отдельной папке с GUID-именем).

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

Частые ошибки при смене идентификатора базы

  • ❌ Правят ibases.v8i при запущенной 1С — изменения затираются при закрытии программы. Сначала закройте все окна.
  • ❌ Нарушают формат GUID (лишний знак, не те группы) — база исчезает из списка или launcher выдаёт ошибку. Держите структуру 8-4-4-4-12 из шестнадцатеричных символов.
  • ❌ Путают GUID записи в списке с кодом узла РИБ или идентификатором конфигурации. Это три разные вещи, и правятся они в разных местах.
  • ❌ Оставляют восстановленную копию в активном обмене РИБ — получают задвоение движений и конфликты в рабочей базе.
  • ❌ Ждут, что лицензия «слетит» от смены УИД, и при этом забывают, что настоящая привязка к железу срабатывает при переносе базы на другой компьютер.
  • ❌ На сервере удаляют базу «с очисткой» вместо «оставить базу данных» — теряют данные. Внимательно читайте диалог удаления в консоли.

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

Изменится ли что-то внутри самой базы, если поменять ID в списке запуска?
Нет. GUID в ibases.v8i — локальный идентификатор записи списка на вашем компьютере. Данные внутри базы и её структура не меняются, у других пользователей списки свои.
Слетит ли программная лицензия после смены идентификатора базы?
На том же компьютере — нет. Программные лицензии привязаны к параметрам оборудования и ОС, а не к УИД базы. Перерегистрация базы в кластере на том же сервере активацию тоже не сбрасывает.
Можно ли переименовать базу (`Ref`) в кластере без потери данных?
Да. Отмените регистрацию базы в кластере, не удаляя саму базу СУБД, затем зарегистрируйте её снова с нужным именем, указав существующую базу СУБД. Данные остаются на месте. После этого поправьте строки подключения у клиентов.
Нужно ли менять идентификатор, если я просто скопировал папку с файловой базой?
Нет, если вы добавляете копию в список как новую базу — ей автоматически присвоится свой ID. Менять идентификатор нужно только когда вы продублировали уже существующую запись списка и две базы стали делить один GUID.
Зачем вообще менять идентификатор базы в списке?
Чаще всего — чтобы развести тестовую копию и рабочую базу, когда они делят локальные настройки и кэш клиента из-за совпадающего ID. После смены идентификатора у копии каждая база живёт со своими настройками.