Где искать GUID информационной базы и других объектов 1С
Содержание
Чтобы узнать идентификатор 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С на этом компьютере.
- Нажмите
Win+R, вставьте%APPDATA%\1C\1CEStartи нажмите Enter. - Откройте файл
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 нужной версии платформы.
- Узнайте GUID кластера:
rac localhost:1545 cluster list
В выводе найдите строку cluster : — это идентификатор кластера.
- Получите список баз кластера с их GUID:
rac localhost:1545 infobase summary list --cluster=<GUID_кластера>
Для каждой базы команда выведет строки infobase : (это и есть GUID), name : и descr :. Найдите свою по полю name — оно совпадает с именем базы, которое пользователь указывает в строке Ref=.
- Если у кластера задан администратор, добавьте параметры
--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) хранят собственный идентификатор базы в константе. Его используют интернет-поддержка и проверка «база перемещена или это копия».
Как посмотреть:
- Включите команду «Все функции»:
Главное меню → Сервис → Параметры, флажок «Отображать команду “Все функции”». - Откройте
Главное меню → Все функции → Константы. - В списке констант наберите на клавиатуре слово «Идентификатор» — список отфильтруется.
Этот GUID не совпадает ни с ID из ibases.v8i, ни с GUID базы в кластере. Это три разные сущности.
GUID документа, контрагента, товара
У любого объекта ссылочного типа есть уникальный идентификатор. Быстрее всего достать его без программирования так:
- Откройте объект.
- Нажмите
Shift+F11или выберите в меню формы команду «Получить ссылку». - Скопируйте ссылку вида
e1cib/data/Справочник.Контрагенты?ref=80c1001e....
После ref= идут те же 32 символа GUID, но без дефисов и в другом порядке групп. Для обменов и API их использовать нельзя — нужен канонический вид. Его даёт код:
Сообщить(Строка(Ссылка.УникальныйИдентификатор()));
Выполнить его можно в типовой обработке консоли кода или запросов, если она подключена у вас как внешняя.
GUID пользователя информационной базы
Пользователь платформы тоже имеет идентификатор. Для текущего сеанса:
Сообщить(Строка(ПользователиИнформационнойБазы.ТекущийПользователь().УникальныйИдентификатор));
Он пригодится при разборе журнала регистрации и при сопоставлении пользователей между базами.
Консоль администрирования серверов: что там видно
Оснастка «Администрирование серверов 1С Предприятия» работает через агент сервера (порт 1540). Она удобна, чтобы найти базу по имени и посмотреть её сеансы и блокировки.
Порядок действий:
- Запустите консоль и раскройте
Центральные серверы 1С:Предприятия → <имя сервера> → Кластеры → <кластер> → Информационные базы. - Найдите базу по имени. Имя здесь то же, что в параметре
Ref=у пользователя. - Откройте узел «Сеансы» базы, если нужно понять, кто в ней работает.
В окне свойств базы консоль показывает имя, описание, сервер СУБД и имя базы данных. GUID оттуда достать неудобно, поэтому порядок такой: в консоли уточняете точное имя базы, затем по имени находите GUID через rac или 1CV8Clst.lst.
💡 Если консоль не открывается с ошибкой регистрации оснастки, перерегистрируйте radmin.dll нужной версии платформы командой regsvr32 из-под администратора. Версия radmin.dll должна совпадать с версией сервера.
Почему идентификатор не находится или не совпадает
Лицензии: идентификатор здесь ни при чём
Когда спрашивают «идентификатор лицензии», обычно имеют в виду регистрационный номер комплекта и пин-код. Файлы активированных программных лицензий лежат в C:\ProgramData\1C\licenses с расширением .lic. Посмотреть их список удобно утилитой лицензирования:
ring license list
Подробности по конкретной лицензии выводит ring license info --name <имя_из_списка>. Лицензия привязана к параметрам компьютера, поэтому после замены оборудования её активируют заново тем же пин-кодом из комплекта, а не «меняют идентификатор».
Не копируйте .lic-файлы с другого компьютера. Лицензия на чужом оборудовании не пройдёт проверку, а база не запустится.