Где искать GUID информационной базы и других объектов 1С

· 9 мин

Содержание

Чтобы узнать идентификатор 1С, сначала решите, какой именно нужен. У файловой базы GUID записан в строке ID= файла %APPDATA%\1C\1CEStart\ibases.v8i, у серверной базы его выдаёт команда rac infobase summary list, а у любого справочника или документа — свойство Ссылка.УникальныйИдентификатор().

Частое заблуждение: «у базы один идентификатор, и он виден в окне “О программе”». На деле в 1С 8.3 их несколько, они живут в разных местах и друг с другом не совпадают. Ниже — где искать каждый и как не перепутать.

Какие идентификаторы бывают в 1С и зачем они нужны

Идентификатор в 1С почти всегда — GUID: 32 шестнадцатеричных символа в формате xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. Его просят администраторы, техподдержка сервисов, разработчики обменов. Путаница начинается, когда человек приносит не тот GUID.

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

💡 Если вас попросили «идентификатор базы» и не уточнили какой — спросите, для чего. Для поддержки сервера нужен GUID из кластера, для чистки кэша — ID из списка баз.

Отдельная история — лицензии. У программной лицензии нет GUID, который ищут в базе. Её опознают по регистрационному номеру комплекта и пин-коду, о них — в разделе про ошибки.

Идентификатор файловой базы: список баз и папки кэша

У файловой базы нет «паспорта» внутри файла 1Cv8.1CD, который удобно прочитать снаружи. Зато у каждой строки в окне запуска 1С есть свой ID. Он и нужен в 90% бытовых задач.

Шаг 1. Откройте файл списка баз

  1. Закройте все окна 1С на этом компьютере.
  2. Нажмите Win+R, вставьте %APPDATA%\1C\1CEStart и нажмите Enter.
  3. Откройте файл ibases.v8i Блокнотом.

Каждая база записана блоком такого вида:

[Бухгалтерия ООО Ромашка]
Connect=File="D:\Bases\Romashka";
ID=3f6c1a2e-8b47-4d0e-9c15-7a2b9e0d4c11
OrderInList=16384
Folder=/
OrderInTree=16384
External=0
ClientConnectionSpeed=Normal
App=Auto
WA=1
Version=8.3

Строка Connect показывает, где лежит база. Строка ID — её идентификатор в списке на этом компьютере.

Шаг 2. Найдите базу по пути, а не по имени

Имя в квадратных скобках пользователь может переименовать. Если в списке две «Бухгалтерии», ориентируйтесь на путь в Connect=File=.... Его же видно внизу окна запуска, когда выделяете базу.

Шаг 3. Сопоставьте ID с папками кэша

Платформа хранит настройки и кэш базы в папках с именем, равным этому ID:

  • 📁 %APPDATA%\1C\1cv8\<ID> — пользовательские настройки и часть кэша;
  • 📁 %LOCALAPPDATA%\1C\1cv8\<ID> — локальный кэш конфигурации.

Это главный практический приём: зная ID, вы чистите кэш одной конкретной базы, а не всех сразу.

Удаляйте папку кэша только при закрытой 1С. Вместе с папкой в %APPDATA% пропадут сохранённые настройки форм и отчётов этого пользователя.

Быстрый способ для всех баз сразу

Если баз в списке десятки, читать файл глазами долго. PowerShell выведет все пути и ID парами:

Select-String -Path "$env:APPDATA\1C\1CEStart\ibases.v8i" -Pattern '^(Connect|ID)='

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

Если базу добавили на другом компьютере

ID в ibases.v8i создаётся при добавлении базы в список. На соседнем компьютере у той же самой базы будет другой ID. Удалили базу из списка и добавили заново — ID тоже новый. Поэтому для учёта баз в организации он не годится: это идентификатор записи, а не данных.

GUID клиент-серверной базы на сервере 1С

В клиент-серверном варианте база зарегистрирована в кластере, и у неё есть постоянный GUID. Он не меняется при переименовании в списке пользователя и одинаков для всех клиентов.

Через утилиту rac

Для rac должен работать сервер администрирования ras. По умолчанию он слушает порт 1545. На сервере 1С откройте командную строку в папке bin нужной версии платформы.

  1. Узнайте GUID кластера:
rac localhost:1545 cluster list

В выводе найдите строку cluster : — это идентификатор кластера.

  1. Получите список баз кластера с их GUID:
rac localhost:1545 infobase summary list --cluster=<GUID_кластера>

Для каждой базы команда выведет строки infobase : (это и есть GUID), name : и descr :. Найдите свою по полю name — оно совпадает с именем базы, которое пользователь указывает в строке Ref=.

  1. Если у кластера задан администратор, добавьте параметры --cluster-user=<имя> и --cluster-pwd=<пароль>.

💡 Те же GUID пригодятся для просмотра сеансов конкретной базы: rac localhost:1545 session list --cluster=<GUID_кластера> --infobase=<GUID_базы>. Остальные параметры смотрите в справке rac help.

Через каталог srvinfo

Если ras не запущен, GUID видно прямо в файловой системе сервера. Откройте каталог данных кластера, по умолчанию C:\Program Files\1cv8\srvinfo\reg_1541.

  • 📄 1CV8Clst.lst — реестр кластера. Это текстовый файл, в нём рядом с именем каждой базы записан её GUID. Ищите по имени базы через Ctrl+F.
  • 📁 Подпапки с именами-GUID — сеансовые данные баз. Имя папки совпадает с GUID базы из реестра.

Ничего не правьте в 1CV8Clst.lst вручную и не удаляйте подпапки на работающем сервере. Испорченный реестр кластера означает недоступность всех баз. Если подпапку сеансовых данных всё же чистят, это делают в нерабочее время после остановки службы агента сервера: все пользователи при этом будут отключены.

Где лежит srvinfo, если не в стандартной папке

Путь задаётся параметром -d в командной строке службы агента. Откройте services.msc, найдите службу агента сервера 1С, на вкладке «Общие» посмотрите «Исполняемый файл». Значение после -d в кавычках и есть каталог srvinfo.

Идентификатор базы и объектов изнутри программы

Иногда доступа к серверу нет, а GUID нужен прямо сейчас. Часть данных доступна из самой 1С.

Строка соединения: какая это база вообще

Сначала убедитесь, что вы в нужной базе. Строку соединения возвращает встроенная функция:

Сообщить(СтрокаСоединенияИнформационнойБазы());

Результат вида File="D:\Bases\Romashka"; означает файловую базу , Srvr="srv1c";Ref="buh_romashka"; — серверную. Имя из Ref дальше ищете в выводе rac.

Идентификатор базы в типовых конфигурациях

Конфигурации на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) хранят собственный идентификатор базы в константе. Его используют интернет-поддержка и проверка «база перемещена или это копия».

Как посмотреть:

  1. Включите команду «Все функции»: Главное меню → Сервис → Параметры, флажок «Отображать команду “Все функции”».
  2. Откройте Главное меню → Все функции → Константы.
  3. В списке констант наберите на клавиатуре слово «Идентификатор» — список отфильтруется.

Этот GUID не совпадает ни с ID из ibases.v8i, ни с GUID базы в кластере. Это три разные сущности.

GUID документа, контрагента, товара

У любого объекта ссылочного типа есть уникальный идентификатор. Быстрее всего достать его без программирования так:

  1. Откройте объект.
  2. Нажмите Shift+F11 или выберите в меню формы команду «Получить ссылку».
  3. Скопируйте ссылку вида e1cib/data/Справочник.Контрагенты?ref=80c1001e....

После ref= идут те же 32 символа GUID, но без дефисов и в другом порядке групп. Для обменов и API их использовать нельзя — нужен канонический вид. Его даёт код:

Сообщить(Строка(Ссылка.УникальныйИдентификатор()));

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

GUID пользователя информационной базы

Пользователь платформы тоже имеет идентификатор. Для текущего сеанса:

Сообщить(Строка(ПользователиИнформационнойБазы.ТекущийПользователь().УникальныйИдентификатор));

Он пригодится при разборе журнала регистрации и при сопоставлении пользователей между базами.

Какой идентификатор вам нужен?

Консоль администрирования серверов: что там видно

Оснастка «Администрирование серверов 1С Предприятия» работает через агент сервера (порт 1540). Она удобна, чтобы найти базу по имени и посмотреть её сеансы и блокировки.

Порядок действий:

  1. Запустите консоль и раскройте Центральные серверы 1С:Предприятия → <имя сервера> → Кластеры → <кластер> → Информационные базы.
  2. Найдите базу по имени. Имя здесь то же, что в параметре Ref= у пользователя.
  3. Откройте узел «Сеансы» базы, если нужно понять, кто в ней работает.

В окне свойств базы консоль показывает имя, описание, сервер СУБД и имя базы данных. GUID оттуда достать неудобно, поэтому порядок такой: в консоли уточняете точное имя базы, затем по имени находите GUID через rac или 1CV8Clst.lst.

💡 Если консоль не открывается с ошибкой регистрации оснастки, перерегистрируйте radmin.dll нужной версии платформы командой regsvr32 из-под администратора. Версия radmin.dll должна совпадать с версией сервера.

Почему идентификатор не находится или не совпадает

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

Лицензии: идентификатор здесь ни при чём

Когда спрашивают «идентификатор лицензии», обычно имеют в виду регистрационный номер комплекта и пин-код. Файлы активированных программных лицензий лежат в C:\ProgramData\1C\licenses с расширением .lic. Посмотреть их список удобно утилитой лицензирования:

ring license list

Подробности по конкретной лицензии выводит ring license info --name <имя_из_списка>. Лицензия привязана к параметрам компьютера, поэтому после замены оборудования её активируют заново тем же пин-кодом из комплекта, а не «меняют идентификатор».

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

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

Меняется ли GUID серверной базы, если её переименовать?
Нет. Имя в кластере можно поменять, GUID останется прежним. Новый GUID появится, только если базу удалить из кластера и зарегистрировать заново.
Совпадает ли GUID базы в кластере с именем базы данных в SQL?
Нет. Имя базы на SQL Server или PostgreSQL задаётся при создании и хранится в свойствах базы в кластере отдельно от GUID.
Сохраняется ли идентификатор при выгрузке в .dt и загрузке в новую базу?
Константы типовой конфигурации и GUID объектов переносятся вместе с данными. GUID базы в кластере и ID в списке баз будут новыми.
Можно ли узнать ID базы без прав администратора компьютера?
Да. Файл ibases.v8i лежит в профиле самого пользователя, права администратора для его чтения не нужны.
Зачем поддержке GUID кластера, если есть GUID базы?
Почти все команды rac требуют указать кластер. Без его GUID команду для базы не выполнить.