УИД базы 1С: какие бывают идентификаторы и как их сменить
Содержание
«Идентификатор базы данных 1С» — это не одно значение, а несколько разных. Чаще всего под его изменением понимают правку GUID в списке информационных баз: этот идентификатор хранит текстовый файл ibases.v8i, и меняют его в обычном блокноте, а не в конфигураторе. На сервере у базы есть свой идентификатор в кластере, а в распределённой базе — коды узлов обмена. Это три разные сущности, и путать их не стоит.
Разберём, чем отличаются эти идентификаторы базы данных, как изменить каждый в файловом и клиент-серверном варианте 1С 8.3 и что при этом произойдёт с лицензиями, кэшем и обменом РИБ.
ibases.v8i — смотрите раздел про файловый вариант.Чем отличаются идентификаторы базы в разных случаях
Прежде чем что-то менять, важно понять, какой именно идентификатор перед вами. От этого зависит и место правки, и риски.
| Идентификатор | Где хранится | Когда меняют |
|---|---|---|
| GUID записи в списке запуска | файл ibases.v8i у каждого пользователя | когда копия базы делит локальные настройки с рабочей |
| Идентификатор базы в кластере серверов | реестр кластера 1С на сервере | когда копию надо зарегистрировать как отдельную базу |
| Коды узлов обмена (РИБ) | внутри самой базы, в плане обмена | практически никогда вручную |
GUID записи в списке — локальная вещь. Он привязан к записи в вашем списке баз, а не к данным внутри 1Cv8.1CD. У каждого пользователя свой список, поэтому правка у одного человека не влияет на других.
Идентификатор в кластере живёт на сервере и описывает, как база зарегистрирована в кластере 1С:Предприятия. Клиент подключается к такой базе по строке вида Srvr="сервер:1541";Ref="имя_базы".
Отдельной команды «сменить идентификатор базы» в конфигураторе нет, поэтому искать её там бесполезно. Есть ещё идентификатор конфигурации поставщика — но это про саму конфигурацию, а не про базу данных.
Что сделать до смены идентификатора
Операция обратимая только при одном условии — если у вас есть чем откатиться.
Перед любой правкой сделайте резервную копию: для файловой базы — копию папки с 1Cv8.1CD, для серверной — выгрузку .dt или резервную копию средствами СУБД. Файл ibases.v8i тоже скопируйте отдельно.
Дальше:
- 📁 Определите, какой идентификатор меняете (помогает блок с вопросом выше).
- 🚪 Закройте все сеансы 1С на этой базе. Правки в списке баз затираются при закрытии программы, а перерегистрацию в кластере нельзя делать при активных пользователях.
- 🕘 Серверные операции планируйте на окно обслуживания. Завершение сеансов и перерегистрация оборвут работу всех, кто сейчас в базе.
- 📝 Для файловой базы запишите текущее значение
ID=перед правкой. Так откатитесь за секунду, даже если забыли сохранить копию файла.
Для правки списка баз монопольный доступ не нужен — это просто текстовый файл на вашем компьютере. Монополия нужна только для серверных процедур вроде загрузки .dt или изменения структуры.
Как изменить идентификатор в файловом варианте 1С
В файловом варианте «идентификатор базы», который реально можно поменять, — это GUID записи в списке запуска. Порядок такой:
- Закройте все окна 1С (и толстый, и тонкий клиент, и конфигуратор).
- Откройте файл списка баз в блокноте. Общий список текущего пользователя лежит здесь:
C:\Users\Имя\AppData\Roaming\1C\1CEStart\ibases.v8i(то же, что%APPDATA%\1C\1CEStart\ibases.v8i). - Найдите секцию с именем вашей базы — строку в квадратных скобках
[Имя базы], а под ней строкуID=.... - Сформируйте новый GUID. Удобно через PowerShell командой
[guid]::NewGuid().ToString()— она выдаёт готовое значение нужного формата. - Подставьте новый 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) и внутренний идентификатор в кластере. Напрямую этот идентификатор не правят — чтобы база стала «другой», её перерегистрируют.
Типичная причина — восстановили копию продуктивной базы для тестов, и нужно, чтобы кластер считал её отдельной базой. Порядок (строго в окно обслуживания):
- Сделайте резервную копию базы
СУБД или выгрузите
.dt. - Завершите сеансы пользователей на этой базе.
- В консоли администрирования (оснастка MMC) или через утилиту
racотмените регистрацию базы в кластере. В диалоге удаления выберите вариант, который оставляет базу данных СУБД, а не очищает и не удаляет её. - Зарегистрируйте базу заново с нужным именем, указав существующую базу СУБД (без создания новой).
Если работаете из командной строки, узнать идентификатор кластера можно командой 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 в списке запуска?
ibases.v8i — локальный идентификатор записи списка на вашем компьютере. Данные внутри базы и её структура не меняются, у других пользователей списки свои.Слетит ли программная лицензия после смены идентификатора базы?
Можно ли переименовать базу (`Ref`) в кластере без потери данных?
Нужно ли менять идентификатор, если я просто скопировал папку с файловой базой?
ID. Менять идентификатор нужно только когда вы продублировали уже существующую запись списка и две базы стали делить один GUID.Зачем вообще менять идентификатор базы в списке?
ID. После смены идентификатора у копии каждая база живёт со своими настройками.