Как собрать список баз в 1С?
Есть на сервере несколько дисков с разбросанными файловыми БД 1С.
Планирую перенести всё на один диск, но вручную создавать список всех этих баз что-то совсем не хочется, их пара сотен.
Есть ли такой инструмент, который можно было бы натравить на диск с базами и он выдал готовый список баз, пригодный для открытия пользователями?
Дополнительно:
Есть вот такая прога
https://startmanager1c.ru/
вней имеется:
- Именно то что нужно! Благодарю!
Ответы:
Есть ли такой инструмент
Есть - написать скрипт.
Причём есть целых два пути.
1. пройти скриптом по профилям всех пользоватей, найти у каждого файл C:Users%USERNAME%AppDataRoaming1C1CEStartibases.v8i
Там прописаны базы, подключенные у этого пользователя.
Взять только строки с путями к базам, собрать в один файл, отсортировать с удалением дублей.
Получим все базы, которые подключены хотя бы у одного пользователя. Но не получим те, которые нахрен никому не нужны. Минус в том, что базы могут быть подцеплены пользователям не только на терминальном сервере, но и на компьютерах пользователей, придётся морочиться с групповой политикой для сбора данных с разных компьютеров. В таком случае проще второй вариант.
2. пройти скриптом по всем дискам сервера и поискать файлы 1Cv8.1CD - это собственно основной файл информационной базы; ведём список путей, по которым их нашли, задача решена.
- Всё описаное выше - это ручной труд.
- Константин Фролов, ну если для Вас 5 строк на powershell это ручной труд, то я даже не знаю чем в данном случае помочь
hint000, беда второго способа еще в том, что скрипт найдет все упоминания 1Cv8.1CD включая забытые разработчиками бэкапы, рабочие копии и т.п. Хотя и с первым может быть такая же беда, так что в любом случае, для качественного решения задачи, требуется гораздо больше ручного труда чем хочет ТС - Константин Фролов, ИТ это впринципе ручной труд…
- Константин Фролов, нанять человек, который сделает...АХ, да...это же надо кнопки нажать, написать человеку...опять же - ручной труд...подумаем еще...
- Константин Фролов, если скрипты не по зубам.. есть другой "ручной труд" - искать в ручную... что привлекательней?
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос

Для сбора списка баз данных в 1С можно воспользоваться следующим скриптом на языке программирования 1С (OneScript):
Перем БазыДанных; БазыДанных = ПолучитьСписокБазДанных(); // Вывод списка баз данных Для Каждого Элемента Из БазыДанных Цикл Сообщить(Элемент.Наименование); КонецЦикла; Функция ПолучитьСписокБазДанных() ТабличныйДокумент = Новый ТабличныйДокумент; ТабличныйДокумент.ДобавитьКолонку("Наименование"); // Получение списка баз данных СписокБаз = ПолучитьСписокБаз(); // Заполнение табличного документа Для Каждого База Из СписокБаз Цикл Строка = ТабличныйДокумент.Добавить(); Строка.Наименование = База.Наименование; КонецЦикла; Возврат ТабличныйДокумент; КонецФункции; Функция ПолучитьСписокБаз() // Здесь необходимо реализовать логику получения списка баз данных из системы 1С // Например, можно использовать COM-объекты или вызвать соответствующий метод API системы 1С КонецФункции;
В данном коде представлена функция ПолучитьСписокБазДанных(), которая возвращает список баз данных в виде табличного документа. Для получения списка баз данных необходимо реализовать логику в функции ПолучитьСписокБаз(). Можно воспользоваться COM-объектами или API системы 1С для получения списка баз данных.
После выполнения данного скрипта, вы получите список баз данных, который можно отобразить или обработать дальше по необходимости. Не забудьте адаптировать код под свои нужды и особенности системы 1С, с которой вы работаете.