Администрирование · 9 мин
Как получить GUID информационной базы 1С
Как узнать GUID (уникальный идентификатор) информационной базы 1С: через консоль кластера, утилиту rac, COM-соединение и обработку. Пошаговые инструкции и типичные ошибки.
GUID (уникальный идентификатор) информационной базы 1С требуется при настройке внешних подключений, интеграций через COM и веб-сервисы, при работе с планами обмена, а также при диагностике ситуаций, когда две базы оказались копиями друг друга. Идентификатор присваивается базе при создании и не меняется при обновлении конфигурации, переносе на другой сервер или смене имени.
Получить GUID можно несколькими способами: через консоль администрирования кластера серверов 1С, через утилиту командной строки rac, через COM-соединение и программно из встроенного языка. Выбор способа зависит от типа базы (файловая или клиент-серверная) и от того, есть ли у вас права администратора кластера.
Важно понимать: GUID информационной базы — это не идентификатор объекта конфигурации и не GUID ссылки на элемент справочника. Это отдельный идентификатор, который платформа хранит на уровне самой базы, и штатной кнопки «показать GUID» в пользовательском интерфейсе нет.
Что такое GUID базы и когда он нужен
GUID информационной базы — это 36-символьный идентификатор вида 12345678-1234-1234-1234-1234567890ab, который платформа 1С генерирует при создании базы. Он используется механизмами обмена данными для определения, с какой именно базой настроена синхронизация, и внешними системами для однозначной идентификации подключения.
Типичные ситуации, когда нужен GUID базы:
- настройка обмена данными и проверка, не «переехала» ли база-корреспондент;
- проверка, является ли база копией другой базы (у копии GUID совпадает с оригиналом);
- настройка интеграций, где внешняя система привязывается к конкретной базе;
- диагностика ошибок вида «база данных не является узлом распределенной ИБ» или конфликтов при восстановлении из копии.
Способ 1: консоль администрирования кластера серверов
Самый простой способ для клиент-серверной базы — посмотреть GUID в консоли администрирования серверов 1С (MMC-оснастка). Способ подходит, если у вас есть доступ к серверу и права администратора кластера.
- 1Откройте консоль «Администрирование серверов 1С:Предприятия» на сервере или на машине администратора
- 2Разверните нужный кластер и ветку «Информационные базы»
- 3Найдите базу по имени и откройте её свойства (двойной щелчок или контекстное меню)
- 4Скопируйте значение поля «Идентификатор информационной базы» — это и есть GUID
Если в списке много баз с похожими именами, ориентируйтесь на имя базы данных в СУБД и строку подключения, а не только на отображаемое имя — имена в консоли кластера могут не совпадать с именами в списке баз пользователей.
Обратите внимание: изменять GUID в свойствах базы не следует, если вы точно не понимаете последствий. Смена идентификатора «отвяжет» базу от настроенных обменов и может нарушить работу интеграций.
Способ 2: утилита командной строки rac
Для автоматизации и работы без графической консоли используется штатная утилита rac из каталога bin сервера 1С. Она позволяет запросить сведения об информационной базе, включая её идентификатор.
Сначала получите список баз кластера, затем — подробную информацию по нужной. В выводе команды будет поле с идентификатором базы.
rac infobase summary list --cluster=<ид_кластера>
rac infobase info --cluster=<ид_кластера> --infobase=<ид_базы>Идентификатор кластера можно узнать командой rac cluster list. Если на кластере установлена аутентификация, добавьте параметры --cluster-user и --cluster-pwd. Утилита удобна для скриптов мониторинга: GUID можно получать и сравнивать автоматически, например чтобы контролировать, что рабочая база не была заменена копией.
Способ 3: через COM-соединение
Универсальный способ, который работает и для файловых баз, — подключиться через COM-коннектор и прочитать свойство идентификатора базы. Для этого на компьютере должна быть установлена платформа 1С той же версии и разрядности, что и база, а у пользователя — права на подключение.
Пример кода на встроенном языке 1С, который подключается к другой базе и возвращает её GUID:
Коннектор = Новый COMObject("V83.COMConnector");
СтрокаПодключения = "File=""C:\Bases\Trade"";Usr=""Администратор"";";
Соединение = Коннектор.Connect(СтрокаПодключения);
ГУИДБазы = Соединение.InfoBaseID;
Сообщить(ГУИДБазы);
Для серверной базы строка подключения выглядит как Srvr="Server1";Ref="BaseName";. Свойство InfoBaseID возвращает строку с GUID без фигурных скобок. Этот же приём работает из скриптов на PowerShell, VBScript или любого языка, поддерживающего COM.
Способ 4: программно из самой базы
Во встроенном языке нет прямой функции «получить GUID текущей базы», но есть обходной путь: база может подключиться сама к себе через COM и прочитать InfoBaseID. Строку подключения к текущей базе возвращает функция СтрокаСоединенияИнформационнойБазы().
Коннектор = Новый COMObject("V83.COMConnector");
Соединение = Коннектор.Connect(СтрокаСоединенияИнформационнойБазы());
ГУИД = Соединение.InfoBaseID;
Такой код обычно оформляют как небольшую внешнюю обработку с кнопкой «Получить GUID» — её может запустить администратор или пользователь с достаточными правами. Учтите, что COM-подключение требует наличия клиента платформы на том компьютере, где выполняется код, поэтому на тонком и веб-клиенте способ не сработает.
Как проверить, что базы — копии, по GUID
Практическая ценность GUID в том, что у базы и её копии (созданной через копирование файла 1Cv8.1CD или восстановление бэкапа СУБД) идентификаторы совпадают. Это позволяет быстро отличить копию от независимой базы.
Порядок проверки: получите GUID обеих баз любым из способов выше и сравните строки посимвольно, без учёта регистра и фигурных скобок. Совпадение означает, что одна база является копией другой. Различие — что базы созданы независимо, даже если конфигурации и данные похожи.
Эта проверка особенно важна перед настройкой обмена: если в качестве узла обмена ошибочно указать копию рабочей базы, синхронизация будет работать некорректно или приведёт к дублированию данных.
Как проверить результат
36 символов с дефисами, шестнадцатеричные цифры
Пустая строка, ошибка COM или текст исключения
GUID различаются — базы независимы
GUID совпадают, хотя базы должны быть разными — одна является копией другой
GUID стабилен при повторных запросах
Идентификатор меняется между запросами — проверьте, к той ли базе вы подключаетесь
Ограничения и частые проблемы
Для файловой базы нет штатного инструмента просмотра GUID без запуска платформы: идентификатор хранится внутри файла 1Cv8.1CD в недокументированном формате, и извлекать его сторонними средствами небезопасно. Используйте COM-подключение или обработку.
При работе через COM помните о лицензиях: каждое COM-подключение занимает клиентскую лицензию, а при массовых обращениях это может привести к ошибкам «не найдено свободной лицензии». Закрывайте соединение после получения данных.
Если база была создана путём копирования и вам нужно, чтобы она стала самостоятельной, простое получение GUID не поможет — идентификатор придётся менять осознанно, с перенастройкой всех обменов. Такую операцию лучше выполнять на тестовой копии и только с резервной копией.
Как выбрать способ
FAQ
Меняется ли GUID базы при обновлении конфигурации или платформы?
Нет. Идентификатор присваивается при создании базы и сохраняется при обновлениях конфигурации, смене версии платформы и переносе на другой сервер. Он изменится только при явной смене идентификатора администратором.
Можно ли узнать GUID файловой базы, открыв файл 1Cv8.1CD?
Штатного и безопасного способа нет: формат файла недокументирован. Правильный путь — подключиться к базе через COM-коннектор или запустить обработку внутри базы и прочитать InfoBaseID.
Чем GUID базы отличается от GUID ссылки на объект?
GUID ссылки идентифицирует конкретный объект (элемент справочника, документ) внутри базы. GUID информационной базы идентифицирует базу целиком и один для всех объектов в ней. Это разные уровни идентификации.
Занимает ли получение GUID через COM лицензию 1С?
Да, COM-подключение расходует клиентскую лицензию на время сеанса. После получения идентификатора соединение следует сразу освобождать, особенно при работе из скриптов в цикле.
Две базы показывают одинаковый GUID — это нормально?
Это означает, что одна база является копией другой (создана копированием файла или восстановлением бэкапа). Для обменов и интеграций это риск: внешние системы будут считать их одной базой. Если базы должны быть независимыми, идентификатор одной из них нужно осознанно сменить.
Что важно запомнить
GUID базы 1С проще всего посмотреть в свойствах информационной базы в консоли кластера. Для файловых баз и автоматизации используйте COM-соединение со свойством InfoBaseID или утилиту rac. Совпадение GUID у двух баз означает, что одна — копия другой; менять идентификатор без необходимости не следует.