Управляем списками баз 1С
Всем привет!
Сегодня хочу рассказать о том, как мы сделали удобную, масштабируемую систему управления списками баз 1С и перестали беспокоиться, что одним утром у пользователя откроется не та база. Эта работа абсолютна не видна никому из пользователей, но нам она сохранила много нервов и человеко-шагов.
В мире 1С есть проблема: централизованное управление списком баз. Сначала сотрудники бешают и прописывают базы новым пользователям или направляют инструкцию. Когда что-то меняется, сотрудники бегут и меняют пути к базам вручную. Мы решили, что хватит заниматься ерундой, тем более планировался переезд всех баз на новый сервер. Шел 2016 год….
План был прост:
- Понять что у кого сейчас настроено;
- Сгруппировать базы по смыслу и по доступу;
- Настроить централизованное хранение с разграничением прав доступа.
План был идеален! Но как понять у кого что настроено на 350 компьютерах? Дописали план.
Дано: 350 компьютеров и у каждого пользователя на этом компьютере есть свой индивидуальный список баз. Нужно списки собрать, распознать и удобно проанализировать. Попутно удалив лишние базы, установленные по недоразумению. Договорились с админами, что они напишут скрипт, который будет складывать все файлики:
%APPDATA%\1C\1CEStart\ibases.v8i - файл базы %APPDATA%\1C\1CEStart\1CEStart.cfg - файл настройки
в общую папку с именем файла в формате «ИМЯ КОМПЬЮТЕРА»-«ИМЯ ПОЛЬЗОВАТЕЛЯ»-1CEStart.cfg и «ИМЯ КОМПЬЮТЕРА»-«ИМЯ ПОЛЬЗОВАТЕЛЯ»-ibases.v8i
Собрав 700 файлов, нужно было получить все что внутри и разложить в таблицу для анализа: не вручную же это анализировать. Для этого написали небольшую программку. Распознали файлики и разложила в табличку вида:
Имя пользователя | Имя компьютера | Наименование | ID | Connect | Folder | Order in list | Order in tree | External | Уровень | Строка ДЗ | Массив предков | Client connection speed | App | WA | Version |
ivanov_i | IVANOV | База перед обновлением | 6696689c-2e1e-45b0-a7c5-5d48b7b6c52e | File=»\\Bases\Архив\База перед обновлением»; | /Архив | 4 784 639 | 17 664 | 1 |
Имя пользователя | Имя компьютера | Install components | Installed location | Use HWLicenses | App auto install last version | Common cfg location |
ivanov_i | IVANOV | 0 | 1 | \\srv\platf\1CESCmn.cfg |
Дальше сделали отчет, сгруппировали по полю Connect и вывели количество человек с каждой базой. Сразу стали понятны базы-победители:
Несмотря на победителей, пришлось пройти по всем базам. Увидели много курьезных ситуаций, когда пользователи самостоятельно пытались что-то добавить, но в названиях все путали.
После анализа, сформировали группы баз. Группы баз у нас получились примерно такие: Общие, Бухгалтерия, Зарплата, IT и т.д. Разработанный отчет помог подобрать пользователей по каждой группе, лишних, конечно, вычеркнули.
Дальше пошли по плану.
Подготовительная работа:
- Размещаем списки и файл cfg на двух серверах и публикуем через DFS folder, чтобы было отказоустойчиво.
- Создаем группы AD в соответствии с группами баз, добавляем в них Пользователей по таблице;
- Раздаем права на файлы группам.
Операции, которые проделываем один раз:
- При входе в систему у пользователя подменяем файл %APPDATA%\1C\1CEStart\1CEStart.cfg на пустой файл 1CEStart.cfg
- При входе в систему у пользователя подменяем файл %APPDATA%\1C\1CEStart\ibases.v8i на пустой файл ibases.v8i
Операции, которые надо делать каждый раз при входе:
- При входе в систему у всех пользователей подменяется файл %ALLUSERSPROFILE%\1C\1CEStart\1CEStart.cfg на файл с путем на централизованный.
Результаты:
Мы перешли на централизованное управление списком баз. Теперь операция перемещения любой базы с сервера на сервер проходит без лишней суеты и нервов. Все системно и удобно.
P.S. Кому нужна база-парсер — пишите в л/с.
Круто. Системно. Рационально.