Работа с несколькими базами данных в 1С:Предприятие требует четкой организации и контроля. Администраторам и IT-специалистам часто необходимо сохранять список подключенных баз в файл — для документирования, резервного копирования или автоматизации задач. Без правильного экспорта этой информации легко потерять актуальные данные о расположении баз, их версиях или параметрах подключения.

В этой статье мы разберем 5 проверенных способов сохранения списка баз 1С — от ручных методов через интерфейс платформы до автоматизированных скриптов на 1С:Предприятие 8.3 и 8.2. Вы узнаете, как экспортировать данные в форматы TXT, CSV и XML, а также как интегрировать этот процесс в регулярные задачи администрирования. Особое внимание уделено скрытым параметрам конфигурационного файла 1CEStart.cfg, которые позволяют получить расширенную информацию о базах.

1. Ручной экспорт через список баз 1С

Самый простой способ — использовать встроенный интерфейс запуска 1С:Предприятия. Этот метод не требует дополнительных инструментов и подходит для разовых задач.

Откройте окно запуска 1С (обычно через ярлык 1CEnterprise 8.3 на рабочем столе). В списке баз данных нажмите правой кнопкой мыши на любую базу и выберите пункт Список баз.... В открывшемся окне:

  • 📋 Нажмите Файл → Сохранить список... в верхнем меню.
  • 💾 Выберите папку для сохранения и укажите формат файла (по умолчанию — TXT).
  • 📄 В полученном файле будут перечислены все базы с указанием названия, пути к каталогу и типа расположения (файловый или клиент-серверный).

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

💡

Если в списке баз отображаются не все подключения, проверьте настройки видимости в 1CEStart.cfg или обновите список через кнопку Обновить в окне управления базами.

2. Экспорт через конфигурационный файл 1CEStart.cfg

Файл 1CEStart.cfg хранит полную информацию о всех зарегистрированных базах данных на компьютере. Его можно найти по пути:

C:\Users\<ИмяПользователя>\AppData\Roaming\1C\1CEStart\1CEStart.cfg

Чтобы экспортировать данные из этого файла:

  1. Закройте все сеансы 1С:Предприятия.
  2. Скопируйте файл 1CEStart.cfg в безопасное место (например, на рабочий стол).
  3. Откройте его в любом текстовом редакторе (Notepad++, VS Code или даже стандартном Блокноте).
  4. Найдите секцию [Common] — в ней перечислены все базы с детальными параметрами.

Пример содержимого для одной базы:

[Base_1]

Name=Бухгалтерия (основная)

Connect=File="C:\Bases\Buh"

App=Auto

[Base_2]

Name=Зарплата

Connect=Srvr="sr-01";Ref="Zarplata"

Что делать если файл 1CEStart.cfg отсутствует?

Если файл не найден, проверьте:

- Правильность пути (AppData — скрытая папка, включите отображение скрытых файлов в проводнике).

- Права доступа к папке (запустите проводник от имени администратора).

- Версию платформы: в 1С 7.7 используется другой механизм хранения списка баз (1CV7.MD).

3. Автоматизированный экспорт с помощью скрипта на 1С

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

Создайте внешнюю обработку или добавьте следующий код в любую конфигурацию:

Процедура ЭкспортироватьСписокБаз()

ПутьКФайлу = "C:\Export\СписокБаз.csv";

Текст = Новый ЗаписьТекста(ПутьКФайлу, КодировкаТекста.UTF8);

// Получаем список баз из реестра

СписокБаз = ПолучитьСписокБаз1С();

// Записываем заголовки

Текст.ЗаписатьСтроку("Название;Тип;Путь;Сервер;ИмяБазы");

Для Каждого База Из СписокБаз Цикл

ТипПодключения = ?(НЕ База.Сервер Пустой, "Клиент-сервер", "Файловый");

Текст.ЗаписатьСтроку(СтрШаблон("%1;%2;%3;%4;%5",

База.Название,

ТипПодключения,

База.Путь,

База.Сервер,

База.ИмяБазыНаСервере));

КонецЦикла;

Текст.Закрыть();

Сообщить("Экспорт завершен! Файл сохранен по пути: " + ПутьКФайлу);

КонецПроцедуры

Функция ПолучитьСписокБаз1С()

СписокБаз = Новый Массив;

// Здесь реализуется чтение из реестра или 1CEStart.cfg

// ...

Возврат СписокБаз;

КонецФункции

Для работы этого кода потребуется доработать функцию ПолучитьСписокБаз1С(), чтобы она считывала данные из реестра Windows или файла 1CEStart.cfg. Готовые реализации можно найти на Инфостарте или в типовой библиотеке 1С++.

📊 Какой формат файла вы предпочитаете для экспорта списка баз?
TXT
CSV
XML
JSON
Другой

4. Использование командной строки и PowerShell

Для автоматизации на уровне операционной системы можно использовать скрипты PowerShell или командную строку. Этот метод удобен для интеграции в задачи планировщика Windows.

Пример скрипта на PowerShell для экспорта списка баз из 1CEStart.cfg:

$configPath = "$env:APPDATA\1C\1CEStart\1CEStart.cfg"

$outputPath = "C:\Export\BasesList.csv"

Проверяем существование файла

if (Test-Path $configPath) {

# Чтение конфигурационного файла

$content = Get-Content $configPath -Raw

# Извлечение данных о базах (упрощенный парсинг)

$bases = Select-String -Pattern "\[Base_\d+\]" -InputObject $content | ForEach-Object {

$baseSection = $_.Line

$baseName = (Select-String -Pattern "Name=(.+)" -InputObject $content | Where-Object { $_.Line -match $baseSection }).Matches.Groups[1].Value

$basePath = (Select-String -Pattern 'Connect=File="(.+)"' -InputObject $content | Where-Object { $_.Line -match $baseSection }).Matches.Groups[1].Value

$baseServer = (Select-String -Pattern 'Connect=Srvr="(.+?)";Ref="(.+?)"' -InputObject $content | Where-Object { $_.Line -match $baseSection })

[PSCustomObject]@{

Name = $baseName

Type = if ($basePath) { "File" } else { "Server" }

Path = $basePath

Server = if ($baseServer) { $baseServer.Matches.Groups[1].Value }

RefName = if ($baseServer) { $baseServer.Matches.Groups[2].Value }

}

}

# Экспорт в CSV

$bases | Export-Csv -Path $outputPath -Delimiter ";" -NoTypeInformation -Encoding UTF8

Write-Host "Экспорт завершен! Файл сохранен по пути: $outputPath"

} else {

Write-Host "Файл 1CEStart.cfg не найден!"

}

Этот скрипт можно запускать по расписанию через Планировщик задач Windows, чтобы регулярно обновлять список баз. Для работы на сервере 1С потребуется адаптировать скрипт под чтение данных из кластера серверов.

Создать папку для экспорта (например, C:\Export)

Проверить права доступа к файлу 1CEStart.cfg

Установить PowerShell 5.1 или новее

Настроить задачу в Планировщике задач (если нужно регулярное выполнение)

Протестировать скрипт вручную перед автоматизацией-->

5. Экспорт списка баз с сервера 1С:Предприятие

Если базы расположены на сервере 1С:Предприятия, для экспорта списка можно использовать консоль администрирования сервера (rac.exe) или командлеты PowerShell из модуля 1C-Enterprise.

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

rac cluster list --cluster=<ИмяКластера> --output=file --file=<ПутьКФайлу>

Для работы с этой командой:

  1. Откройте командную строку от имени администратора.
  2. Перейдите в папку с утилитой rac.exe (обычно C:\Program Files\1cv8\<версия>\bin).
  3. Выполните команду, указав имя кластера и путь для сохранения.

Результат будет сохранен в формате JSON или TXT (в зависимости от версии сервера). Для преобразования в CSV можно использовать дополнительные утилиты или скрипты.

💡

Экспорт через rac.exe позволяет получить актуальную информацию о базах прямо с сервера, включая статус работоспособности и версию платформы.

6. Альтернативные методы: реестр Windows и WMI

Список баз 1С также хранится в реестре Windows. Этот метод полезен, если файл 1CEStart.cfg поврежден или отсутствует.

Путь в реестре:

HKEY_CURRENT_USER\Software\1C\1CEnterprise\8.3\IBases

Чтобы экспортировать данные из реестра:

  1. Откройте regedit.exe (Редактор реестра).
  2. Перейдите по указанному пути.
  3. Щелкните правой кнопкой по папке IBases и выберите Экспортировать.
  4. Сохраните файл в формате REG, затем конвертируйте его в CSV с помощью скрипта.

Для автоматизации можно использовать WMI (Windows Management Instrumentation). Пример запроса на PowerShell:

Get-ChildItem -Path "HKCU:\Software\1C\1CEnterprise\8.3\IBases" | ForEach-Object {

$baseName = (Get-ItemProperty -Path $_.PSPath).Name

$baseConnect = (Get-ItemProperty -Path $_.PSPath).Connect

[PSCustomObject]@{

Name = $baseName

ConnectString = $baseConnect

}

} | Export-Csv -Path "C:\Export\BasesFromRegistry.csv" -Delimiter ";" -Encoding UTF8

💡

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

Сравнение методов экспорта списка баз 1С

Метод Сложность Форматы Автоматизация Дополнительная информация
Ручной экспорт через интерфейс Низкая TXT Нет Минимальные данные (название, путь)
1CEStart.cfg Средняя TXT, CSV (после обработки) Да (через скрипты) Полные параметры подключения
Скрипт на 1С Высокая CSV, XML, JSON Да Гибкая настройка выгружаемых данных
PowerShell / CMD Средняя CSV, TXT, JSON Да Интеграция с планировщиком
Консоль rac.exe Высокая JSON, TXT Да Данные с сервера (статус, версия)

Выбор метода зависит от ваших задач:

  • 🔹 Для разового экспорта подойдет ручной метод или работа с 1CEStart.cfg.
  • 🔹 Для регулярного резервного копирования оптимально использовать PowerShell-скрипты или консоль rac.exe.
  • 🔹 Если нужна максимальная детализация (например, для аудита), комбинируйте данные из 1CEStart.cfg и реестра Windows.
💡

Для серверных установок 1С рекомендуется комбинировать экспорт через rac.exe (для актуального списка баз) и скрипты 1С (для получения дополнительных метаданных).

Частые ошибки и их решения

При экспорте списка баз могут возникать типичные проблемы. Вот наиболее распространенные и способы их устранения:

⚠️ Внимание: Если после обновления платформы 1С список баз стал неполным, проверьте совместимость версий конфигурационного файла. В некоторых случаях требуется перенос данных из старого 1CEStart.cfg в новый.
  • 🚫 Файл 1CEStart.cfg не обновляется: Удалите его вручную — при следующем запуске 1С он будет создан заново с актуальными данными.
  • 🚫 Скрипт PowerShell не находит базы: Проверьте путь к файлу (учитывайте скрытую папку AppData) и права доступа.
  • 🚫 Ошибка при экспорте через rac.exe: Убедитесь, что служба сервера 1С запущена, и вы используете правильное имя кластера.
  • 🚫 В реестре отсутствует раздел IBases: Возможно, базы зарегистрированы для другого пользователя или в другой версии платформы (проверьте ветку HKEY_USERS).

Если вы работаете с 1С:Предприятие 8.2, учитывайте, что структура 1CEStart.cfg может отличаться. В старых версиях часть параметров хранилась в реестре под другим путем:

HKEY_CURRENT_USER\Software\1C\1Cv8\8.2\IBases
⚠️ Внимание: При миграции с 8.2 на 8.3 список баз не переносится автоматически. Используйте утилиту 1Cv8Mig82.exe из комплекта поставки или экспортируйте данные вручную перед обновлением.

FAQ: Ответы на частые вопросы

Можно ли экспортировать список баз вместе с версиями платформы?

Да, но не все методы предоставляют эту информацию. Версии платформы хранятся в реестре Windows по пути HKEY_LOCAL_MACHINE\SOFTWARE\1C\1C Enterprise 8.3\Platforms. Вы можете объединить данные из 1CEStart.cfg и реестра в одном скрипте.

Как экспортировать список баз с сервера 1С:Предприятие, если нет доступа к rac.exe?

Используйте 1С:Консоль администрирования сервера (графический интерфейс) или подключитесь к кластеру через OScript или OneScript с использованием библиотеки 1Script.Enterprise. Пример кода:

ПодключитьБиблиотеку("1Script.Enterprise");

Сервер = Новый Сервер1С("имя_сервера");

СписокБаз = Сервер.ПолучитьСписокБаз();

Для Каждого База Из СписокБаз Цикл

Сообщить(База.Имя + " - " + База.Версия);

КонецЦикла;

Можно ли автоматически обновлять список баз в файле при добавлении новой базы?

Да, для этого настройте задачу в Планировщике задач Windows, которая будет запускать скрипт экспорта при изменении файла 1CEStart.cfg. Используйте триггер При изменении файла и укажите путь к конфигурационному файлу.

Как экспортировать список баз в формате XML?

Для экспорта в XML модифицируйте скрипт на 1С или PowerShell. Пример для PowerShell:

$bases | Export-Clixml -Path "C:\Export\BasesList.xml"

Или используйте ЗаписьXML в скрипте 1С:

ЗаписьXML = Новый ЗаписьXML;

ЗаписьXML.ОткрытьФайл("C:\Export\BasesList.xml");

ЗаписьXML.ЗаписатьОбъект(СписокБаз);

ЗаписьXML.Закрыть();

Что делать, если в списке баз отображаются устаревшие подключения?

Очистите кэш 1С и обновите список баз:

  1. Удалите файл 1CEStart.cfg.
  2. Запустите 1С с ключом /ClearCache.
  3. В окне списка баз нажмите Обновить или добавьте базы вручную через Добавить.

Если проблема сохраняется, проверьте настройки групповой политики (в корпоративных сетях список баз может управляться централизованно).