Групповой перенос пользователей 1c между базами

Групповое изменение и перенос пользователей 1c между базами

 

Назначение:

1. Групповое создание, обновление, удаление пользователей методом переноса из эталонной базы (пароли переносятся только для файловых баз)

2. Перенос основных настроек пользователей

3. Перенос настроек отчетов

Требования к конфигурации:

1. В конфигурациях БД должны быть идентичные роли, иначе у новых пользователей роли останутся пустыми

2. Обработка запускается в БД, где уже настроен список пользователей. Данная БД будет являться эталоном.

Логика работы:

1. Создание: поиск по имени; если найден — то ничего не делаем и переходим к следующему пользователю; если не найден — создаем

2. Обновление: поиск по имени; если найден — обновляем реквизиты; если не найден — то ничего не делаем и переходим к следующему пользователю

3. Удаление: поиск по имени; если найден — удаляем; если не найден — то ничего не делаем и переходим к следующему пользователю. Плюс, если поставлен флаг «Удалять пользователей, в имени которых содержится», то ищем вхождения подстроки в имя (к регистру не чувствителен), а далее как написано выше.

4. Перенос основных настроек пользователей:
 Сначала проверяется существование объектов (Справочник.Пользователи + РегистрСведений.НастройкиПользователей + ПланВидовХарактеристик.НастройкиПользователей). Если все есть — то переносим, если нет — выводится сообщение, что какой-то из объектов отсутствует в источнике или приемнике, поэтому настройки не перенесены.

5. Перенос настроек отчетов пользователей:
 Сначала проверяется существование объектов (Справочник.Пользователи + Справочник.ГруппыПользователей + Справочник.СохраненныеНастройки). Если все есть — то переносим, если нет — выводится сообщение, что какой-то из объектов отсутствует в источнике или приемнике, поэтому настройки отчетов не перенесены.

6.  Пароль перенесется, если в таблице «Пользователи» стоит галочка «Перенести пароль»,  иначе пароль будет взят из поля «Новый пароль».

Порядок работы:

1. Запускать в толстом клиенте (неуправляемая форма) в эталонной базе 

2. Заполнить пользователя и пароль администратора баз

3. Заполнить необходимые параметры

4. Выбрать файл со списком баз, заполнить таблицу баз. Обрабатываться будут те базы, где в строках стоят галочки

5. Заполнить таблицу пользователей текущей базы. Обрабатываться будут те пользователи, где в строках стоят галочки  «V».  Пароль перенесется, если у пользователя стоит галочка «Перенести пароль», иначе пароль будет взят из поля «Новый пароль». 

6. Запустить необходимое действие

Изменения от 08.02.2014:

1. Добавлена возможность переноса основных настроек (Справочник.Пользователи + РегистрСведений.НастройкиПользователей + ПланВидовХарактеристик.НастройкиПользователей)

2. Добавлена возможность переноса настроек отчетов (Справочник.Пользователи + Справочник.ГруппыПользователей + Справочник.СохраненныеНастройки + ХранилищеЗначений)

 

  Изменения от 15.02.2014:

1. Исправлена ошибка. Добавлена возможность выбора в таблице «Пользователи»: либо переносить старый пароль, либо задавать новый. В старой версии всегда переносился, даже если задавали новый

12 Comments

  1. xten

    Вот это дело!

    Reply
  2. TrinitronOTV

    а настройки пользователя из эталонной базы тоже перенесуться в выбираемые базы, где необходимы такие же пользователи?

    Reply
  3. flexornail

    (2) TrinitronOTV,

    В этой версии обработки настройки не переносятся. Есть обработка, где переносятся настройки, но она поэтому становится неуниверсальной, так как не во всех конфигурациях есть регистры СохраненныеНастройки, НастройкиПользователей, справочник СохраненныеНастройки и объект ХранилищеНастроек. Хотя сделаю как опцию и в ближайшее время перезалью.

    Reply
  4. flexornail

    (2) TrinitronOTV,

    Добавил возможность переноса основных настроек пользователей и сохраненных настроек отчетов.

    Reply
  5. pvb2003

    > пароли не переносятся

    Очень жаль — без этого как то не то …

    Reply
  6. flexornail

    (5) pvb2003,

    Обработку и описание исправил. Сейчас пароль перенесется, если в таблице «Пользователи» стоит галочка «Перенести пароль», иначе пароль будет взят из поля «Новый пароль».

    Reply
  7. uri1978

    В обработке переносятся основные настройки пользователей только примитивных типов (строка, число, булево)?

    Reply
  8. flexornail

    (7) uri1978,

    да, строка, число, булево, дата

    Reply
  9. uri1978

    Жаль. Только для этого и качал. Решил не тратить время и воспользоваться Вашим кодом. В итоге пришлось писать самому перенос настроек с типом справочник и перечисление.

    Reply
  10. y-ha

    Необходимо сделать выбор версии платформы. А то все базы уже под 8.3, а в коде жестко прописанo

    V8 = Новый COMObject(«V82.COMConnector»);

    Ну и сохранение настроек было бы неплохо.

    Обработку прерывания пользователем — а то ждать пока все базы пройдут как-то не хорошо.

    Так же подозреваю есть ошибка с пользователями для входа, написанными по-русски. Выдается ошибка:

    Ошибка открытия базы [Бух2.0 Организация]. Проверьте путь к базе, пользователя и пароль!!!

    С БП3 обработка не справилась, хотя и не ругнулась на ошибки. По факту пользователей не увидел в базе.

    Reply
  11. spo

    Добрый день.

    Подскажите под платформу 8.3 будет обновлена данная обработка?

    Reply
  12. y-ha

    Еще дополнение! У кого пароль для подключения к базам больше 10 символов — обработка урежет его до 10 символов! Будьте бдительны!

    А так с небольшими танцами и допиливанием справилась с БП3 в режиме запуска обычного приложения под 8.3

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *