Управление списками баз 1С
Есть разные способы масштабирования списка и настроек баз в 1С и для простого офиса с одним доменом, и для структуры с большим количеством доменов. Далее будет подробно описан способ, благодаря которому система получает необходимую гибкость и не приходится использовать дополнительные скрипты.
Распространенные проблемы
1. Рост числа пользователей, из-за чего уходит много времени на создание новой базы или изменение настроек подключения у старой базы.
2. Рост числа баз, что накладывается на рост количества пользователей и приводит к появлению головной боли у администратора.
3. Непонятные названия баз, например «new3_baza3_copy» с привязанными к ней отчетами и СОМ соединениями. Если вдруг администратор увольняется или даже ушел на больничный, приходящему ему на смену специалисту сложно разобраться в системе с такими названиями.
4. Постоянная ротация пользователей, когда новые пользователи не знают, какие им нужны базы. Это может быть связано со сменой должности или подразделения сотрудника, из-за чего меняются его обязанности и меняется доступ к базам.
5. Повышенная нагрузка из-за дополнительных скриптов. Например, когда написанный непонятно кем, когда и на чем скрипт без комментариев к нему сканирует всю Active Directory леса в поиске определенного имени группы.
6. Многие решения масштабирования настроек не дают возможности сохранить индивидуальный список баз 1С пользователя, в то же время используя определенный набор баз по умолчанию.
7. Кластеры 1С или сервера баз данных, есть ли между ними разница? Этими вопросами задаются специалисты технической поддержки, которым непонятно, что именно следует прописывать у пользователя, так как версий 1С существует много, как и разных баз данных.
Мы описали одним из самых распространенных проблем при работе с большим количеством баз данных в 1С, а далее будет подробно рассмотрено решение, позволяющее избавиться от всех этих сложностей.
Инвентаризация
На начальном этапе следует определиться с точной структурой системы и с тем, за что конкретно отвечает каждая из баз. Можно просто взять табличный редактор и записать в нем подробную информацию, получив примерно такой список, какой представлен на картинке ниже.
Группы Active Directory для баз 1С
Затем следует перейти к созданию групп для баз в Active Directory, сразу указывая в описании используемые сервер баз данных и кластер. Благодаря этому в структуре Active Directory будет подробная информация о каждой из баз. Если указать имя базы в названии группы Active Directory, это заметно облегчает нахождение группы для определенной базы в больших инфраструктурах. Выделяете пользователей, выбираете добавление в группу и указываете нужное имя базы данных, чтобы все они оказались там. При таком подходе вашим коллегами или тем, кто придет к ним на смену, сразу будет видно где находится база и за какую базу отвечает конкретная группа AD.
Важно помнить, что для обеспечения доступа к файловому ресурсу с хранящимися конфигурациями v8i всех необходимых баз помимо создания группы AD для каждой базы требуется создание дополнительной группы AD «_Базы 1С – Доступ к файлу конфигурации 1CBases.cfg». В эту группу включаются все группы Active Directory для баз 1С, в том числе новые. Также в ее состав должна войти группа Domain Computers, которая даст возможность заходит на файловый ресурс учетным записям ПК.
Файлы конфигураций 1С
В файлах конфигурации .v8i хранятся настройки подключения к базам с указанием кластера 1С и имени базы в этом кластере. Следует запустить 1С и проверить наличие сформированного списка баз. Обнаружив его, следует прописать имена красиво и понятно в таком формате:
Организация — Конфигурация — Версия конфигурации
Данные файлы именуются по имени базы и сохраняются с одном каталоге. При отсутствии первоначального списка, можно создать одну запись в списке, которая станет эталоном. С этой записи делаются копии файлов конфигурации с занесением в них необходимой информации напрямую, то есть просто сохраняя нужный текст в файле. Получится файл со следующим содержимым:
Если избавить файл от лишних строк, получается такое содержимое:
В результате такой работы должно получиться количество v8i файлов конфигурации, равное числу баз. После этого выполняется редактирование общего файла конфигурации баз для 1С, в котором по умолчанию идет совсем не список баз.
Вносим необходимые изменения, указав в этом файле пути до всех
файлов конфигурации v8i баз 1С.
Учитывая, что обращение к файлам v8i работает, как и с простой сетевой папкой на файловом сервере, так и с DFS ресурсом, получается сбалансировать нагрузки и повысить отказоустойчивость системы. При этом теперь в системе имеется каталог с файлами конфигурации v8i для каждой из баз, а также общий файл конфигурации с прописанными путями до файлов v8i.
Файловый или DFS ресурс
Затем создается каталог, куда помещаются файлы конфигурации v8i для подключения к каждой конкретной базе и общий список баз – файл 1CEStart.cfg:
Каталог называем Sync-1CBases.
Если говорит о проставлении доступа к общему ресурсу, подход к данному вопросу может быть разным. Некоторые проставляют доступ Everyone – Full control, дальше управляя доступом уже на уровне файловой системы, что делать проще. Но можно отсечь доступ еще на уровне файловой системы, благодаря чему не создается дополнительная нагрузка на файловый сервер, вызванная лишними проверками возможности доступа к ресурсу.
На скриншоте ниже представлена схема предоставления доступа к сетевому ресурсу с правами на чтение группе «_Базы 1С – Доступ к файлу конфигурации 1CBases.cfg».
После этого можно переходить к настройке безопасности на уровне файловой системы, для чего сначала сбрасываются настройки по умолчанию на объекты каталога Sync-1CBases. Следует отключить наследователей разрешений, оставив «SYSTEM», локальных администраторов и администраторов домена. При наличии леса, можно добавить делегированных администраторов или администраторов предприятия. Полученный результат применяется с наследованием и добавляется группа AD «_Базы 1С – Доступ к файлу конфигурации 1CBases.cfg» с правом на чтение только этого каталога, без наследования. Благодаря этим действиям появляется возможность добраться до корня папки с получением списка файлов в каталоге.
Дальше на файл 1CEStart.cfg выдается право на чтение только группе AD «_Базы 1С – Доступ к файлу конфигурации 1CBases.cfg»
После этого каждому файлу конфигурации базы v8i выдается доступ для своей группы доступа AD
Последний шаг повторяется для каждого из файлов конфигурации v8i баз данных, пока они не закончатся.
Групповые политики
Использование групповых политик позволяет значительно облегчить жизнь при работе с 1С даже в малых офисах, не говоря уже о больших компаниях. При создании новой групповой политики делается ссылка на корень домена с указанием, что она работает только с Domain Computers
Так как у пользователя нет прав на изменение файла конфигурации, находящегося по адресу C:\ProgramData\1C\1CEStart\, за него это делает компьютер. Соответственно список баз подключается не по пользователю, а непосредственно к ПК. Редактирование групповой политики следует осуществлять с учетом данного нюанса.
В данном случае решается задача по замене локального файла на файл, взятый с общего ресурса. Это должны делать только компьютеры с установленной 1С, для чего задаются условия выполнения групповой политики через Item Level Targeting.
Сначала проверяется, установлена ли 1С на компьютере
Данная проверка очень проста, она подходит для редакций операционных систем х64 и х86, не делая различий между клиентскими и серверными операционными системами.
В то же время условия проверки могут легко меняться, если применить такие настройки к конкретным подразделениям организации, учитывая условия доступа к сетевым ресурсам и другие параметры. Благодаря таким манипуляциям получается существенно сузить условия, при которых срабатывает определенная групповая политика. Приведение файла в соответствие осуществляется при загрузке компьютера или через определенный временной интервал.
Пользователь
Остался завершающий этап настройки системы, подразумевающий добавление пользователя в группы AD
После этого выполняется вход пользователя в систему с запуском 1С, во время которого считывается файл конфигурации и осуществляется подключение всех файлов v8i, к которым у пользователя имеется доступ.
Получается следующий результат:
Это и было целью всех настроек. Отметим, что при реализации данного решения не затрагивается файл C:\Users\%username%\AppData\Roaming\1C\1CEStart\ibases.v8i с хранящимися в нем базами, которые прописаны самим пользователем. Но с помощью групповых политик его всегда можно «обнулить», очистив список баз у пользователя.
Заключение
Это лишь примерный алгоритм действий по устранению проблем масштабирования и получению гибкой системы подключения баз 1С. Возможны и многие дополнительные решения, помогающие в тех или иных вопросах. Например, изменение настроек для автоматического создания файла v8i, добавления его в cfg и создания группы AD для базы 1C. Либо изменение способа доставки cfg файла на компьютер, когда в конфигурации ПК меняются права доступа к этому файлу, а пользователь уже с своими правами перезаписывает его.
Благодаря такой настройке, не имеет никакого значения, какое количество пользователей в системе и сколько баз в ней. Все будет работать быстро и можно настроить обнуление списка локальных баз у пользователя, чтобы ненужные базы не мешали ему в работе. Теперь наличие непонятных названий не станет поводом для мозгового штурма, так как у администратора всегда есть полная информация о базе. Частая ротация тоже перестает быть проблемой, так как при получении заявки на подключение к базе она легко выполняется, а при смене места или подразделения доступ к базе теряется сразу после сброса прав. Такая система содержит только полезную информацию, она работает без дополнительных скриптов и легко поддерживается. В ней не будет никакой путаницы с кластерами 1С и серверами баз данных.