И вот вам поставили консоль, и вы даже подключили сервера. Но... не все сервера рады показать вам списки своих баз. Вспоминаете вы, что версии-то у них разные.
Решаете вы и эту проблему. И теперь есть возможность запускать консоли разных версий и видеть соответствующие списки баз. Можно выдохнуть и открыть-таки настройки требуемой базы, чтобы понять в какой же базе SQL она лежит, разрешены ли в ней регламентные задания ну или что там еще вы хотели посмотреть изначально.
Но тут очередная беда подстерегает вас. Вы ведь не знаете заветную пару логин/ пароль администратора этой базы. И труды ваши были напрасны.
Актуальные задачи
Эту занимательную историю можно продолжать бесконечно. Для кого-то она покажется надуманной, а кто-то сможет дополнить ее еще новыми трудовыми этапами. Но все, кто сталкивался с поддержкой и обслуживанием различных кластеров с большим количеством баз рано или поздно озадачиваются вопросом получения сводной информацией о текущем состоянии всего этого зоопарка.
Это необходимо для оптимизации существующих ресурсов. Так, например, можно обнаружить в каталогах сервера приложений огромное количество папок с мало говорящими названиями в стиле GUID, но занимающих отнюдь не мало места на диске - это каталоги изначально связаны с конкретными базами, зарегистрированными на соответствующих кластерах. В какой то момент по разным причинам количество этих папок перестает соответствовать количеству зарегистрированных на текущий момент в кластере 1С баз и "лишние" папки можно/нужно удалять.
Полезно увидеть информацию о базах в разрезе кластеров, баз данных для понимания загруженности серверов; отобрать базы с "не выключенными" регламентными заданиями, базы с блокировкой подключений и пр. Вобщем посмотреть на это хозяйство сверху и принять.
Пример решения
Вся эта информация хранится в файликах 1CV8Clst.lst или 1CV8Reg.lst на серверах 1с в каталогах "...srvinfo". Подробней можно посмотреть на сайте ИТС здесь или здесь.
Путь к папкам "program files" можно получить из реестра (Shell.RegRead("HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionProgramFilesDir (x86)") и Shell.RegRead("HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionProgramW6432Dir")).
В зависимости от версии 1С, srvinfo может лежать либо в папке 1cv82 либо в 1cv8.
Доступ к этим файлам имеет, например пользователь, под которым запускается сервис сервера 1с. Т.е даже в случае отсутствия взаимопонимания с праведными администраторами есть возможность получить доступ к этим файликам из самой 1с, выполняя код на сервере. Тут стоит, однако оговориться, что выполнение кода на сервере не всегда гарантирует нам доступ к файлам с настройками. Если у кластера несколько рабочих серверов, то не факт, что серверный вызов будет на центральный сервер, где хранятся соответствующие настройки.
Соответственно имея ввиду вышесказанное можно написать обработку, которая найдет эти файлики, распарсит их и выведет всю необходимую информацию вам в виде отчета.
Так и родилась данная обработка.
Ограничения обработки
Данная обработка работает только на управляемых формах и на версиях 1C от 8.3.x.x
Режим использования синхронных вызовов расширений и внешних компонент: Использовать или Использовать с предупреждениями
Для возможности анализировать настройки удаленных серверов (по списку серверов) должен быть доступ к соответствующим папкам с настройками, а так же доступ к созданию объекта winmgmts и выполнению сценариев WSH, для компьютеров из указываемого списка либо под правами локального пользователя, либо под правами пользователя сервера приложений базы, из которой запускается обработка
Функционал обработки
-
Обработка анализирует файлы настроек кластеров различных версий 1С (8.2, 8.3)
-
Показывает несоответствие структуры каталога кластера и настроек конфигурационного файла (т.е. ситуации, когда фактически существует каталог, не связанный с базами кластера или наоборот, нет каталога для конкретной базы, прописаной в конфигурационном файле)
- По полученным данным есть возможность сформировать отчет, построенный на базе СКД со всеми вытекающими возможностями (группировки, фильтры, отборы и пр.).
- Код обработки открыт
Бонусом вы получаете универсальные алгоритмы, которые можно использовать при дальнейшей разработке
- программное формирование меню
- программное формирование отчета на базе СКД с внешним источником данных для управляемых форм.
- открытие сайта, почтового клиента, чтение ключей реестра Windows и пр...
P.S.
Если Ваш файл с настройками вдруг не распознался, Вы можете прислать мне этот файл с указанием релиза платформы кластера 1С, данные которого содержит этот файл, и я постараюсь :) добавить формат файла в обработку.
06.01.2022, релиз 1.1.4 | |
Доработан функционал |
|
Прочее | Проведен рефакторинг кода |
04.10.2021, релиз 1.1.3 | |
Доработан функционал | Добавлена возможность разбора файла настроек кластера релиза платформы 1С 8.3.18. |
27.05.2020, релиз 1.1.2 | |
Доработан функционал | Добавлена возможность указать список серверов для анализа настроек на удаленных компьютерах. |
Изменен функционал | Изменено название настроек при закрытии. В связи с чем старые настройки при открытии не будут восстановлены! |
Прочее | Проведен рефакторинг кода |
Полностью история изменений доступна по кнопке "О программе" меню "Информация".
Проверено на следующих конфигурациях и релизах:
- Управление торговлей, редакция 11, релизы 11.5.20.51