Администрирование · 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С:Предприятие под пользователем с правами на выполнение внешних обработок
- 2Запустите консоль кода или создайте пустую внешнюю обработку с кнопкой
- 3Вставьте код: Сообщить(Строка(ИнформационнаяБазаУникальныйИдентификатор()))
- 4Выполните код и скопируйте GUID из окна сообщений
- 5Проверьте, что скопированы все 36 символов с дефисами
Если внешние обработки запрещены политикой безопасности, тот же вызов можно сделать из конфигуратора через пункт меню, выполнив код в отладке, либо временно добавив команду в любую форму. Ограничение способа одно: нужен работающий вход в базу, что невозможно, если база повреждена или заблокирована.
Способ 2: посмотреть идентификатор в консоли кластера серверов
Для клиент-серверных баз идентификатор виден напрямую в оснастке «Администрирование серверов 1С:Предприятия». Откройте консоль, разверните нужный кластер, перейдите в ветку «Информационные базы» и откройте свойства базы двойным щелчком. В диалоге свойств среди прочих параметров отображается уникальный идентификатор базы в кластере.
Этот способ удобен, когда баз много и имена совпадают: например, тестовая и рабочая копии называются одинаково, но GUID у них разные. Отсюда же удобно копировать идентификатор для скриптов администрирования и для поиска событий базы в технологическом журнале.
Учтите, что доступ к консоли кластера требует прав администратора кластера или сервера. Если консоль показывает пустой список баз, проверьте, что вы подключились к правильному серверу и порту агента, а также что служба агента сервера 1С запущена.
Способ 3: определить GUID через командную строку и утилиты
Администраторы кластера часто используют консольную утилиту rac из состава сервера 1С. Она позволяет получить список информационных баз вместе с их идентификаторами без открытия графической консоли, что удобно для скриптов и удалённого администрирования.
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, можно отфильтровать события только нужной базы.
Сравнение способов
Универсально для файловых и серверных баз, точный результат. Ограничение: нужен вход в базу и возможность выполнить код.
Быстро для клиент-серверных баз, удобно при большом числе баз. Ограничение: нужны права администратора кластера.
Подходит для скриптов и автоматизации на сервере. Ограничение: требует доступа к серверу и знания GUID кластера.
Доступен без входа в базу. Ограничение: значение может не совпадать с реальным GUID базы, требует проверки.
Проверка результата и типичные ошибки
После получения идентификатора убедитесь, что это именно GUID базы, а не другой идентификатор. Признаки корректного значения: длина 36 символов, четыре дефиса, шестнадцатеричные символы. Если строка длиннее, короче или содержит кириллицу — вы скопировали не то.
Как проверить результат
36 символов вида xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Другая длина, нет дефисов, посторонние символы
GUID из кода совпадает с GUID в консоли кластера
Значения различаются — возможно, смотрите разные регистрации базы
Идентификатор один на всю базу и не меняется при обновлении
Значение меняется между объектами — это GUID элементов, а не базы
Отдельный риск — работа с копиями баз. Если тестовую базу создали копированием каталога или загрузкой dt, её GUID может совпадать с рабочей (при копировании файла) или отличаться (при загрузке dt). Совпадающий GUID у двух одновременно доступных баз опасен: механизмы, ориентирующиеся на идентификатор, могут перепутать базы. В такой ситуации идентификатор копии следует изменить штатными средствами.
Частые вопросы
Меняется ли идентификатор базы при обновлении конфигурации?
Нет. Обновление конфигурации, реструктуризация и обновление платформы не затрагивают GUID базы. Он меняется только при создании новой базы, в том числе при загрузке dt в пустую базу без специальных настроек сохранения идентификатора.
Где посмотреть GUID файловой базы без входа в неё?
Штатного инструмента для чтения идентификатора закрытой файловой базы нет. Можно ориентироваться на параметр ID в файле ibases.v8i, но его нужно перепроверить после входа в базу через вызов ИнформационнаяБазаУникальныйИдентификатор().
Почему GUID из кода и из консоли кластера различаются?
Обычно это значит, что база была перерегистрирована в кластере: старую регистрацию удалили и создали новую, а вы сравниваете данные разных источников или кэшированные значения. Уточните, какая регистрация актуальна, и используйте идентификатор из консоли кластера для серверных задач.
Опасно ли, что у рабочей и тестовой базы одинаковый GUID?
Да, если обе базы доступны одновременно и участвуют в обменах или внешних подключениях: механизмы, привязанные к идентификатору, могут обратиться не к той базе. Для копии, созданной копированием файла, идентификатор рекомендуется сменить штатными средствами.
Можно ли узнать идентификатор базы через запрос к СУБД?
Прямого документированного способа нет: структура хранения служебных данных в таблицах СУБД не предназначена для ручного чтения. Для серверных баз используйте консоль кластера или утилиту rac — это безопасные и поддерживаемые способы.
Что важно запомнить
Идентификатор базы 1С — это GUID из 36 символов, присваиваемый при создании базы. Надёжные способы узнать его: вызов ИнформационнаяБазаУникальныйИдентификатор() из кода, свойства базы в консоли кластера и утилита rac для серверных баз. Значение из ibases.v8i требует проверки, а прямое редактирование файлов базы недопустимо.