Как удалить информационную базу из интерфейса выбора и сервера 1С:Предприятие

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

Метод 1: Работа с файлом списка информационных баз (ibases.v8i)

Самый простой способ убрать базу из интерфейса конкретного пользователя — это отредактировать файл ibases.v8i. Именно в этом файле хранится перечень всех баз, которые пользователь видит при запуске программы. Рассмотрим этот процесс по шагам.

Выясним, где находится этот файл. По умолчанию в операционных системах Windows он располагается по пути: %APPDATA%\1C\1CEStart\ibases.v8i. Чтобы быстро попасть в эту папку, можно нажать комбинацию клавиш Win+R, ввести указанный путь и нажать Enter.

Разберем структуру этого файла. Каждая информационная база представлена в нем отдельным блоком данных. Пример типичной записи выглядит следующим образом:


[БухгалтерияПредприятия]
Connect=Srvr="ServerName";Ref="BaseName";
ID=12345678-1234-1234-1234-1234567890ab
Order=1
Folder=/
External=0
ClientConnectionLevel=Normal
CacheLocation=Local
App=Auto
WA=1

Чтобы база исчезла из интерфейса, нам необходимо найти блок, начинающийся с названия нужной базы в квадратных скобках, и полностью удалить все строки до начала следующего блока. Если мы работаем в корпоративной среде, проанализируем ситуацию с «Общими информационными базами». Иногда пути к спискам баз прописаны в файле 1ceStart.cfg. В этом случае удаление базы из локального ibases.v8i не поможет, так как при следующем запуске система снова подтянет список из сетевого ресурса. В такой ситуации необходимо редактировать первоисточник — файл .v8i, расположенный на сервере.

Метод 2: Использование утилиты командной строки RAC

Для администраторов серверных версий 1С наиболее эффективным инструментом является утилита rac (Remote Administration Client). Она позволяет управлять кластером серверов без использования графической консоли MMC. Рассмотрим подробнее, как с ее помощью удалить базу.

Проанализируем основные команды. Для удаления информационной базы используется команда infobase drop или infobase unregister. Разберем разницу между ними:

  1. Unregister — база просто исключается из списка кластера 1С. Сама база данных на сервере СУБД (например, в MS SQL или PostgreSQL) остается нетронутой.
  2. Drop — происходит полное удаление регистрации в 1С и физическое уничтожение базы данных на сервере СУБД.

Посмотрим на пример команды для удаления базы из кластера:


rac infobase --cluster=00000000-0000-0000-0000-000000000000 unregister --infobase=11111111-1111-1111-1111-111111111111

Где --cluster — это уникальный идентификатор вашего кластера, а --infobase — идентификатор базы, которую нужно удалить. Чтобы узнать эти идентификаторы, предварительно воспользуемся командами rac cluster list и rac infobase summary list. Этот метод идеально подходит для написания скриптов автоматизации, когда требуется массово «вычищать» временные или тестовые базы из интерфейса и серверного списка.

Метод 3: Программное удаление через COM-соединение

Если нам необходимо реализовать удаление баз непосредственно из кода 1С (например, через внешнюю обработку администратора), мы можем воспользоваться объектом V83.COMConnector. Этот метод позволяет программно подключаться к агенту сервера 1С.

Разберем примерный алгоритм действий:

  1. Создаем объект V83.COMConnector.
  2. Вызываем метод ConnectAgent для подключения к серверу.
  3. Получаем список кластеров и выбираем нужный.
  4. Используем метод GetInfoBases, чтобы найти требуемую базу по имени.
  5. Вызываем метод удаления.

Посмотрим на пример логики кода:


Connector = Новый COMОбъект("V83.COMConnector");
AgentConnection = Connector.ConnectAgent("ServerName");
Clusters = AgentConnection.GetClusters();
// Предположим, работаем с первым кластером
CurrentCluster = Clusters.GetValue(0);
AgentConnection.Authenticate(CurrentCluster, "Admin", "Password");

InfoBases = AgentConnection.GetInfoBases(CurrentCluster);
Для Каждого IB Из InfoBases Цикл
    Если IB.Name = "TargetBaseName" Тогда
        // Удаляем базу из списка кластера
        AgentConnection.DropInfoBase(CurrentCluster, IB, 0); // 0 - без удаления базы в SQL
    КонецЕсли;
КонецЦикла;

Важно помнить, что при использовании метода DropInfoBase третий параметр определяет судьбу данных: 0 — оставить базу в СУБД, 1 — уничтожить физическую базу данных.

Метод 4: Удаление публикации на веб-сервере

В ситуациях, когда пользователи работают через браузер (веб-клиент), удаление из интерфейса сводится к управлению публикациями на веб-сервере Apache или IIS. Если база опубликована, она доступна по URL и видна в соответствующих списках веб-интерфейса.

Для удаления публикации воспользуемся утилитой webinst. Рассмотрим пример команды:


webinst -delete -apache24 -wsdir BaseVirtualDirectory -dir "C:\inetpub\wwwroot\BaseName"

После выполнения этой команды запись о базе будет удалена из конфигурационных файлов веб-сервера (например, из httpd.conf или default.vrd), и она перестанет отображаться в интерфейсе доступа через браузер.

Метод 5: Использование консоли администрирования (MMC)

Для тех, кто предпочитает графический интерфейс, самым наглядным способом остается стандартная оснастка «Администрирование серверов 1С:Предприятия». Проанализируем этот путь:

  1. Запустим консоль администрирования.
  2. Раскроем дерево серверов до раздела «Информационные базы».
  3. Найдем в списке нужную базу.
  4. Нажмем правую кнопку мыши и выберем пункт «Удалить».

Обратите внимание: система обязательно выдаст диалоговое окно с вопросом о сохранении базы данных в составе сервера СУБД. Чтобы просто скрыть базу из интерфейса 1С и списка кластера, но сохранить данные, выберите вариант «Оставить». Если же база больше не нужна совсем, выбирайте вариант «Удалить», что приведет к необратимому уничтожению данных в SQL.

Метод 6: Централизованное управление через GPO

В крупных организациях ручное удаление баз у каждого пользователя невозможно. В таких случаях мы используем групповые политики Active Directory. Разберем, как это работает. Администратор создает скрипт (например, на PowerShell или VBScript), который при входе пользователя в систему анализирует содержимое его ibases.v8i и удаляет из него лишние строки. Это гарантирует, что даже если пользователь вручную добавит какую-то базу, при следующем входе она будет удалена из его интерфейса согласно корпоративным стандартам.

Также можно управлять поведением окна запуска через реестр Windows. Параметры интерфейса запуска часто хранятся в ветке HKEY_CURRENT_USER\Software\1C\1Cv8\3.0. Изменение ключей в этой ветке позволяет тонко настраивать отображение списка баз для всех пользователей домена одновременно.

Подводя итог, мы видим, что задача «удаления базы из интерфейса» имеет множество решений. Выбор конкретного метода зависит от того, нужно ли вам просто скрыть базу от пользователя, полностью исключить ее из кластера сервера или физически уничтожить данные в СУБД. Всегда рекомендуем делать резервные копии файлов настроек и баз данных перед выполнением любых операций удаления.

← На главную