К статье
Практический материал

Администрирование · 10 мин

Как определить идентификатор информационной базы 1С

Как узнать идентификатор (GUID) информационной базы 1С: через конфигуратор, командную строку, код и файл списка баз. Пошаговые инструкции и ошибки.

Идентификатор информационной базы 1С (GUID, уникальный идентификатор) — это 36-символьная строка вида 123e4567-e89b-12d3-a456-426614174000, которую платформа присваивает базе при создании. Он нужен при настройке синхронизации данных, регистрации базы в кластере серверов 1С, подключении через COM-соединение, работе механизмов обмена и при разборе технологического журнала. Ошибка в идентификаторе приводит к тому, что обмен идёт не с той базой или соединение не устанавливается вовсе.

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

Ниже разобраны рабочие способы определения идентификатора для обоих режимов работы, приведены готовые фрагменты кода, команды и типичные ошибки, из-за которых администраторы путают GUID базы с другими идентификаторами платформы.

Когда и зачем нужен идентификатор базы

На практике GUID базы требуется в нескольких типовых сценариях. Первый — регистрация и поиск базы в кластере серверов 1С:Предприятие: в консоли кластера каждая база отображается именно с уникальным идентификатором, и по нему удобно искать нужную среди десятков одноимённых копий. Второй сценарий — настройка обменов данными и планов обмена, где узлы часто привязываются к конкретной базе.

Третья группа задач — интеграции: COM-соединения, веб-сервисы, внешние скрипты регламентных заданий, где в параметрах подключения нужно точно указать, с какой базой работать. Наконец, идентификатор встречается в технологическом журнале и в логах, и знание GUID помогает сопоставить события с конкретной базой.

Важно не путать идентификатор базы с идентификаторами объектов конфигурации, GUID элементов справочников и идентификатором сеанса — это разные сущности. GUID базы один на всю базу и не меняется при обновлении конфигурации, но меняется, если базу создать заново загрузкой из dt без сохранения идентификатора.

Способ 1: определить GUID через встроенный язык

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

Откройте базу в режиме «Предприятие» под пользователем с достаточными правами, запустите консоль кода (внешнюю обработку) и выполните следующий код:

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

Сообщить(Идентификатор);

В окне сообщений появится строка из 36 символов — это и есть GUID базы. Скопируйте его целиком, включая дефисы: при передаче в параметры подключения или в настройки обмена дефисы обязательны, а регистр букв значения не имеет.

Порядок действий через код
  1. 1
    Откройте базу в режиме 1С:Предприятие под пользователем с правами на выполнение внешних обработок
  2. 2
    Запустите консоль кода или создайте пустую внешнюю обработку с кнопкой
  3. 3
    Вставьте код: Сообщить(Строка(ИнформационнаяБазаУникальныйИдентификатор()))
  4. 4
    Выполните код и скопируйте GUID из окна сообщений
  5. 5
    Проверьте, что скопированы все 36 символов с дефисами

Если внешние обработки запрещены политикой безопасности, тот же вызов можно сделать из конфигуратора через пункт меню, выполнив код в отладке, либо временно добавив команду в любую форму. Ограничение способа одно: нужен работающий вход в базу, что невозможно, если база повреждена или заблокирована.

Способ 2: посмотреть идентификатор в консоли кластера серверов

Для клиент-серверных баз идентификатор виден напрямую в оснастке «Администрирование серверов 1С:Предприятия». Откройте консоль, разверните нужный кластер, перейдите в ветку «Информационные базы» и откройте свойства базы двойным щелчком. В диалоге свойств среди прочих параметров отображается уникальный идентификатор базы в кластере.

Этот способ удобен, когда баз много и имена совпадают: например, тестовая и рабочая копии называются одинаково, но GUID у них разные. Отсюда же удобно копировать идентификатор для скриптов администрирования и для поиска событий базы в технологическом журнале.

Учтите, что доступ к консоли кластера требует прав администратора кластера или сервера. Если консоль показывает пустой список баз, проверьте, что вы подключились к правильному серверу и порту агента, а также что служба агента сервера 1С запущена.

Способ 3: определить GUID через командную строку и утилиты

Администраторы кластера часто используют консольную утилиту rac из состава сервера 1С. Она позволяет получить список информационных баз вместе с их идентификаторами без открытия графической консоли, что удобно для скриптов и удалённого администрирования.

bash
rac infobase --cluster=<GUID_кластера> summary list

В выводе команды для каждой базы будет строка infobase с GUID — это и есть идентификатор базы в кластере. Чтобы получить детальную информацию по конкретной базе, выполните rac infobase info с указанием её идентификатора. Утилита rac располагается в каталоге установки сервера 1С, в подкаталоге bin соответствующей версии платформы.

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

Способ 4: файлы списка баз и служебные данные

В файле списка баз ibases.v8i, который лежит в профиле пользователя (обычно в %APPDATA%\1C\1CEStart), для каждой базы хранится параметр ID. Это идентификатор записи в списке баз на данном компьютере. Он часто совпадает с GUID базы, если запись создавалась штатно, но гарантии нет: при ручном редактировании файла или копировании списка значения могут расходиться.

Поэтому ibases.v8i стоит использовать как подсказку, а не как источник истины. Если задача критичная — например, настройка обмена между двумя базами — сверяйте значение из файла с результатом вызова ИнформационнаяБазаУникальныйИдентификатор() в самой базе.

Дополнительно GUID базы фигурирует в имени каталога служебных данных на сервере СУБД и в записях технологического журнала (поле с идентификатором базы). Это помогает при расследовании инцидентов: зная GUID, можно отфильтровать события только нужной базы.

Сравнение способов

Код во встроенном языке

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

Консоль кластера

Быстро для клиент-серверных баз, удобно при большом числе баз. Ограничение: нужны права администратора кластера.

Утилита rac

Подходит для скриптов и автоматизации на сервере. Ограничение: требует доступа к серверу и знания GUID кластера.

Файл ibases.v8i

Доступен без входа в базу. Ограничение: значение может не совпадать с реальным GUID базы, требует проверки.

Проверка результата и типичные ошибки

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

Контрольные точки

Как проверить результат

Формат строки
Норма

36 символов вида xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Тревожный признак

Другая длина, нет дефисов, посторонние символы

Совпадение источников
Норма

GUID из кода совпадает с GUID в консоли кластера

Тревожный признак

Значения различаются — возможно, смотрите разные регистрации базы

Назначение
Норма

Идентификатор один на всю базу и не меняется при обновлении

Тревожный признак

Значение меняется между объектами — это GUID элементов, а не базы

Типичные ошибки
01
Путать GUID базы с GUID кластера или сеанса — в настройках подключения указывается чужой идентификатор, и соединение не работает
02
Копировать идентификатор без дефисов или с обрезанным последним символом — строка становится невалидной
03
Брать ID из ibases.v8i без проверки — после ручного редактирования списка баз он может не совпадать с реальным GUID
04
Считать, что GUID сохраняется при выгрузке и загрузке dt в новую базу — загруженная копия получает новый идентификатор, и привязанные обмены ломаются

Отдельный риск — работа с копиями баз. Если тестовую базу создали копированием каталога или загрузкой dt, её GUID может совпадать с рабочей (при копировании файла) или отличаться (при загрузке dt). Совпадающий GUID у двух одновременно доступных баз опасен: механизмы, ориентирующиеся на идентификатор, могут перепутать базы. В такой ситуации идентификатор копии следует изменить штатными средствами.

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

Меняется ли идентификатор базы при обновлении конфигурации?

Нет. Обновление конфигурации, реструктуризация и обновление платформы не затрагивают GUID базы. Он меняется только при создании новой базы, в том числе при загрузке dt в пустую базу без специальных настроек сохранения идентификатора.

Где посмотреть GUID файловой базы без входа в неё?

Штатного инструмента для чтения идентификатора закрытой файловой базы нет. Можно ориентироваться на параметр ID в файле ibases.v8i, но его нужно перепроверить после входа в базу через вызов ИнформационнаяБазаУникальныйИдентификатор().

Почему GUID из кода и из консоли кластера различаются?

Обычно это значит, что база была перерегистрирована в кластере: старую регистрацию удалили и создали новую, а вы сравниваете данные разных источников или кэшированные значения. Уточните, какая регистрация актуальна, и используйте идентификатор из консоли кластера для серверных задач.

Опасно ли, что у рабочей и тестовой базы одинаковый GUID?

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

Можно ли узнать идентификатор базы через запрос к СУБД?

Прямого документированного способа нет: структура хранения служебных данных в таблицах СУБД не предназначена для ручного чтения. Для серверных баз используйте консоль кластера или утилиту rac — это безопасные и поддерживаемые способы.

Итог

Что важно запомнить

Идентификатор базы 1С — это GUID из 36 символов, присваиваемый при создании базы. Надёжные способы узнать его: вызов ИнформационнаяБазаУникальныйИдентификатор() из кода, свойства базы в консоли кластера и утилита rac для серверных баз. Значение из ibases.v8i требует проверки, а прямое редактирование файлов базы недопустимо.