gifts2017

Перенос/удаление пользователей ИБ и их настроек через COM-соединение

Опубликовал Muxomop Muxomop (Muxomop) в раздел Администрирование - Защита, права, пароли

Вы переезжаете в новую ИБ, а пользователей много? Или просто есть необходимость перенести пользователей из одной ИБ в другую. Или есть много баз и всех пользователей необходимо добавить в эти базы?

Доработанная обработка, облегчившая жизнь многим администраторам баз 1С.
Скажем НЕТ ручному переносу и удалению пользователей.

 

По роду деятельности необходимо постоянно добавлять новых пользователей в базы, а потом (в случае увольнения) удалять их. И если баз одна или две, то добавление юзеров и настройка их прав не составляет особых затруднений. Но если баз как минимум 10 и нужно добавить одного пользователя во все рабочие базы, то это навевает грусть и тоску...

После недолгих поисков была найдена чудо-обработка, которая значительно облегчила работу по переносу пользователей и сэкономила кучу времени.  Но поскольку в данной обработке нужно было вводить параметры подключения к базе каждый раз новые, то пришлось слегка доработать ее.

И вот результат

Возможности:

1. Загрузка списка баз из файла ibases.v8i;

2. Добавление/удаление пользователей по списку баз;

3. Установка нового пароля для создаваемых пользователей;

4. Сохранение/восстановление настроек;

5. Поддержка 8.2+;

6. Перенос старого пароля (работает только для 8.2+);

7. Перенос настроек, дополнительных прав пользователя.

 

В обработке есть контекстное меню, с помощью которого можно снять/установить фильтры и выбрать всех пользователей.

Тестировалось на УПП 1.3 для Украины, платформа 8.2+. На других конфигурациях не тестировалась, но должно работать.

Навеяно обработками:

http://infostart.ru/public/69104/

Огромное спасибо Valerich

Upd 01.03.2011: Добавлена возможность переносить существующий пароль (функция работает только для баз-получателей на 8.2).

Upd 04.04.2011: В реквизит "ИдентификаторПользователяИБ" справочника "Пользователи" записывается UUID пользователя (актуально для УПП, пользователи выделяются другим шрифтом). Мелкие исправления формы.

Upd 10.10.2011: Исправлена ошибка, в некоторых случаях не переносились все роли пользователей.

Upd 25.05.2012: Исправлена ошибка, в некоторых случаях не заполнялся список баз из файла ibases.v8i.

Upd 20.08.2012: По многочисленным просьбам трудящихся добавлена возможность переноса настроек пользователя из регистра сведений "Настройки пользователей". Добавлена опциональная возможность переноса элементов справочника "Пользователи" через XML-файл (при этом переносятся полные копии элементов). Доработана встроенная справка.

Upd 20.02.2013: Добавлен вывод группы пользователя.

Upd 20.03.2014: Добавлена платформа 8.3 в список выбора. Исправлена ошибка с переносом настроек пользователя. Доработана встроенная справка.

Upd 14.05.2014: Исправлена ошибка открывания встроенной справки в режиме предприятия.

Upd 10.12.2014: Добавлена возможность переноса дополнительных прав пользователя.

Upd 04.04.2016: Исправлена ошибка переноса настроек и доп. прав пользователя при отключенных соответствующих флажках. Мелкие исправления формы.

Оставляйте ваши отзывы и пожелания в комментариях

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
ПереносУдалениеПользователейИБ.epf
.epf 36,70Kb
05.04.16
1119
.epf v_04_04_16 36,70Kb 1119 Скачать

См. также

PowerTools от 1 000
Подписаться Добавить вознаграждение

Комментарии

1. red 80 (red80) 25.02.11 21:51
А чем она лучше стандартной обработки Выгрузки-загрузки справочника Пользователей в XML формате?
2. BigB (BigB) 26.02.11 23:16
3. Muxomop Muxomop (Muxomop) 28.02.11 18:30
BigB пишет:

(0) Она пароли переносит?

Нет, не переносит. Но зато позволяет установить новый пароль.
4. Muxomop Muxomop (Muxomop) 28.02.11 18:32
red80 пишет:

А чем она лучше стандартной обработки Выгрузки-загрузки справочника Пользователей в XML формате?

Быстрее переносит, т.к. запускаешь обработку только из базы-донора и нажимаешь кнопку. А стандартную нужно открывать в каждой базе-приемнике.
5. BigB (BigB) 01.03.11 08:57
Muxomop пишет:
Нет, не переносит. Но зато позволяет установить новый пароль.

С диска ИТС переносит с паролями.
Как объяснить пятидесяти пользователям, что им установлен новый пароль?
Переносить надо с паролями.
RodinMax; Muxomop; +2 Ответить
6. Muxomop Muxomop (Muxomop) 01.03.11 11:33
Доделал обработку, теперь есть возможность переносить пароли. Правда работает только для баз-приемников на 8.2.
7. OBEH (OBEH) 03.03.11 04:12
Цитирую "а потом (в случае увольнения) удалять их".
По моему, это какое то недоразумение. Как можно удалять
пользователей из базы? А как же документы внесенные ими?
- "Объект не найден"?
8. Сергей Ожерельев (Поручик) 03.03.11 08:07
(7) Незнание матчасти detected. Не путай пользователей ИБ, сиречь информационной базы, с элементами справочника Пользователи. В документах указывается элементы указанного справочника, вот их удалять не стоит.
www2000; Muxomop; +2 Ответить
9. Muxomop Muxomop (Muxomop) 03.03.11 12:12
(7) Поручик прав. Удаляются только пользователи ИБ, а элементы справочника "Пользователи" помечаются на удаление.
10. OBEH (OBEH) 03.03.11 14:21
Ну вот. Выходит "вот их удалять не стоит"
11. Валерий Дубовой (Valerich) 17.03.11 11:51
Немного не понял, почему можно перенести пароль "только для баз-приемников на 8.2."... В 8.1 тоже можно записывать пароль, но я не знаю как его прочитать (существующий). любой новый установить не проблема.
12. Muxomop Muxomop (Muxomop) 28.03.11 14:25
(11) Имелось ввиду что можно перенести существующий пароль. Это возможно только в 8.2 т.к. разработчики добавили функционал для чтения пароля в платформу (если быть совсем точным, то читается хеш пароля, поскольку пароли в чистом виде в базе не хранятся). А устанавливать новый пароль можно начиная с 8.0
13. andreysan (andreysan) 09.04.11 20:04
Большое спаисбо за обработку
Очень сильно помогла.
Есть небольшое замечание.
У меня в СправочникПользователи элементы расположены вне группы
поэтому Ваша обработка вылетает с ошибкой .
предлагаю в модуле формы стр ~ 392 сделать дополнительную проверку :

если не( ТекущийПользователь.Родитель.Ссылка.Пустая()) тогда
Родитель = СправочникПользователи.НайтиПоНаименованию(ТекущийПользователь.Родитель.Наименование);

Если СокрЛП(Родитель.Code) <> "" Тогда
ПользовательИБПриемника.Parent = Родитель;
Иначе
Сообщить("В базе-приемнике не найдена папка пользователей """+ТекущийПользователь.Родитель.Наименование+"""!", СтатусСообщения.БезСтатуса);
КонецЕсли;
конецесли;

Еще раз огромное СПАСИБО .
14. Muxomop Muxomop (Muxomop) 11.04.11 10:22
(13) Спасибо за комментарий. Обработку подправил, можно скачать заново.
15. Nadin_.ka (SotNick) 22.09.11 15:44
Отличная обработка! И аналогов я не нашла. Спасибо!
16. Vladimir !!! (java) 23.09.11 00:49
автору респект, спасла обработка.


огроммное человечесское спасибо!!!
17. Alexander (aigaig) 21.11.11 09:08
Огромное спасибо за обработку.Очень помогла.
18. Akio Тимофеев (Akio) 23.11.11 15:58
19. Cthutq Иванов (ewqewqewq) 08.12.11 16:04
Спасибо только, что перенес 5 пользователей в 2 базы. Надеюсь баги не появятся. Пока тфу тфу все работает.
20. Muxomop Muxomop (Muxomop) 08.12.11 19:22
(19) ewqewqewq, Во время тестов переносил по 10 пользователей в 30 баз, все было без сбоев
21. navic navic (navic) 15.12.11 12:32
Спасибо, очень нужная обработка.
22. Irina Semiranova (avenira_) 29.12.11 19:30
Ура! То, что нужно! Сейчас особенно актуально в связи с переходом всех бюджетников с ББУ на БГУ. Проблема с переносом пользователей решена, осталось решить проблему с переносом настроек пользователей. На этом сайте пока нашла обработку только для клиент-серверного варианта... будем искать...

Автору спасибо и плюс, конечно!
23. Alexander Grey (alex.msk) 16.01.12 13:06
Респект автору. Не пришлось писать самому.
Плюсанул.
24. Александр Крынецкий (echo77) 05.10.12 12:13
Не работает.

При попытке соедиения с COM-сервером произошла следующая ошибка:
{Форма.Форма.Форма(160)}: Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V82.COMConnector.1): База данных не обнаружена
Прикрепленные файлы:
25. Muxomop Muxomop (Muxomop) 08.10.12 11:06
(24) echo77, Проверьте параметры аутентификации ОС для пользователя в базе, к которой происходит подключение. На тестовой базе проверил, все работает
Прикрепленные файлы:
26. Игорь Корик (prettyfly) 22.10.12 10:42
Отличная обработка, тем не менее еще остается вопрос с предоставлением доступа к информационным базам(ibases) всей куче скопированных пользователей. Есть какие-нибудь идеи по автоматизации этого процесса, с учетом того что у разных пользователей может быть доступ к разным базам?
27. Muxomop Muxomop (Muxomop) 22.10.12 15:58
(26) prettyfly, в домене можно с помощью батника копировать каждому пользователю файлик ibases (при входе в систему, например), со стороны 1С это вряд-ли получится сделать.
28. Игорь Корик (prettyfly) 24.10.12 11:41
Возможно кому-то пригодится в дополнение к этой обработке, приложение для управления информационными базами пользователей через группы в AD http://infostart.ru/public/147404/
29. andreysan (andreysan) 31.12.12 10:27
Большое человеческое спасибо за вашу обработку. Сэкономил много сил и времени
30. Иван Копытов (kivas) 11.02.13 13:16
обработка конечно очень хорошая, и со своей задачей справляется на ура, но вот где хоть какое нибудь заполнение галок для переноса?
бежать по 200 пользователям чтобы галки проставить трудоемко, а если как у меня надо из 200 пользователей перенести только 2 группы (~50) элементов и каждого открыть - проверит в той ли он группе - закрыть - поставить галку....
это плохо... очень плохо
но в целом +1
31. Muxomop Muxomop (Muxomop) 20.02.13 16:13
(30) kivas, Спасибо за комментарий, обработку доработал согласно ваших замечаний
32. andrey dyak (dyak84) 20.02.13 18:48
Автор подскажите ваша обработка будет работать в типовой УТ для украины. И будуш ли переносится дополнительный настройки пользователей. Зарание спасибо за ответ??????
33. Muxomop Muxomop (Muxomop) 20.02.13 19:08
(32) dyak84, Должна отработать, переносятся данные из регистра сведений "Настройки пользователей". Если такой регистр есть в УТ, то данные перенесутся.
34. Alex Steiner (OrsoBear) 27.02.13 08:42
Я так понимаю, что из 7.7 изначально нельзя пароли вытянуть.. заглянул в надежде, что нашелся умелец..
Но все равно спасибо!
35. Павел Богачев (pvb2003) 01.09.13 03:00
Увы , но на нестандартной конфигурации не работает ...
Прикрепленные файлы:
36. Muxomop Muxomop (Muxomop) 02.09.13 12:14
(35) pvb2003, Попробуйте подогнать структуру справочника "Пользователи" как в типовых решениях 1С
37. Альберт Шагал (Dolour) 25.11.13 21:05
Спасибо , сегодня запустил базу клиента ,а пользователи куда-то делись .Впервые такое вижу .
38. Muxomop Muxomop (Muxomop) 26.11.13 11:18
(37) Dolour, Пропали элементы справочника "Пользователи" или пользователи ИБ? Опишите порядок действий с обработкой перед "пропажей".
39. Альберт Шагал (Dolour) 26.11.13 15:46
Обработка тут не причем...Наоборот помогла, пользователи ИБ у меня пропали по неведомым пока причинам .
40. ninch (ninch) 15.03.14 15:27
Недавно пользовался вашей обработкой. Все замечательно. Большое спасибо. Но были некоторые трудности.
1. базы были файловые. Жмешь кнопку "выполнить перенос". Не хочет работать - вылетает с ошибкой. Оказалось, что на компе стоит 1С 8.3 и не важно что базы работают под 1С 8.2. В итоге пришлось указать в процедуре ПодключитсяКИнформационнойБазе()
ОбъектПодключения = "V83.COMConnector";
А было "V82.COMConnector".
2. при переносе настроек пользователей с регистра сведений (опция в обработке) в новой базе вносились настройки только последнего пользователя. Пришлось подправить в процедуре ВыполнитьПеренос() после строки
НаборЗаписей = РегСвНастройкиПользователей.СоздатьНаборЗаписей();
поставил строку
НаборЗаписей.Отбор.Пользователь.Установить(Пользователь);
после этого все ок. тоже самое судя по всему надо сделать в процедуре ВыполнитьПереносXML() - по аналогии.
3. очень не хватает описания как работать с этой обработкой. Пришлось все самому додумывать. И главное когда справку открываешь в 1с предприятии или в конфигураторе то все вылетает

41. Muxomop Muxomop (Muxomop) 18.03.14 12:45
(40) ninch, Спасибо за развернутый комментарий. Отвечу по пунктам:
1. Действительно проблема существует, если последней была установлена платформа 8.3. После переустановки платформы 8.2 проблема исчезает. (Привет разработчикам 1с). Добавлю в выбор платформу 8.3 в качестве временного решения проблемы.
2. Ошибка будет исправлена.
3. На моем компе (Win XP SP3, 8.2.19.80) справка в конфигураторе открывается без проблем. В режиме предприятия справка открывается, но после этого база вылетает с записью дампа. Еще проверил на компе, в котором установлены платформы 8.1 и 8.2, но нет 8.3: справка открывается без проблем в обоих режимах. Справку обновлю, возможно это решит проблему
42. Андрей Д. (bambr1975) 01.05.14 20:04
(41) Muxomop, чтобы справка не "вылетала" в режиме предприятия, откорректируйте синоним обработки "Перенос/удаление пользователей ИБ" - удалите оттуда слэш. Дело в том, что синоним объекта всегда выводится в заголовке html-документа, формирующего справку, а платформа эту ситуацию корректно не обрабатывает.
43. Muxomop Muxomop (Muxomop) 14.05.14 16:14
(42) bambr1975, Спасибо за дельный комментарий, обработку подправил
44. Сергей Иванов (xten) 04.08.14 12:18
45. Muxomop Muxomop (Muxomop) 04.08.14 16:41
(44) xten, Должно пойти, нужно выбирать версию платформы 8.3
46. Алексей Гафуров (Alex_grem) 13.11.14 11:32
Неплохо бы добавить перенос групп доступа и дополнительных прав пользователя для таких конфигураций как УПП или КА
47. Muxomop Muxomop (Muxomop) 10.12.14 17:56
(46) Alex_grem, Добавил возможность переноса доп. прав. Скачайте обновленную обработку
48. Oleg (Rebel2007) 27.12.14 05:55
В ЗУП 3.0 не работает, зря мани потратил
49. Muxomop Muxomop (Muxomop) 29.12.14 10:11
(48) Rebel2007, Обработку под управляемые формы планирую сделать во 2 кв. 2015 года. Мани вернуть не могу, т.к. их перевод временно отключен
50. Олег Голубев (ollega) 14.05.15 07:17
51. Павел А (Pavean) 31.07.15 14:28
(49) Muxomop, перевод на управляемые формы всё ещё в планах?
52. Назлыгуль Нургалиева (naziknazik333) 14.10.15 11:28
У меня почему то не работает в торговле 8.3. Пытаюсь перенести из демо версии в чистую, выдает ошибку.
53. Muxomop Muxomop (Muxomop) 16.10.15 13:55
(51) Pavean, Пока да, еще изучаю УФ и не готов выложить сырую обработку
54. Muxomop Muxomop (Muxomop) 16.10.15 13:56
(52) naziknazik333, Ошибку в студию. Обработка предназначена только для обычного приложения
55. Назлыгуль Нургалиева (naziknazik333) 16.10.15 15:46
Например обработчик требует от меня регистр сведений настройки пользователя. Хотя в ТК их нет.
56. Назлыгуль Нургалиева (naziknazik333) 16.10.15 16:33
{ВнешняяОбработка.ПереносУдалениеПользователейИБ.МодульОбъекта(118)}: Ошибка при вызове метода контекста (Выполнить)
Результат = Запрос.Выполнить();
по причине:
{(9, 2)}: Таблица не найдена "РегистрСведений.НастройкиПользователей"
<<?>>РегистрСведений.НастройкиПользователей КАК НастройкиПользователей
57. Михаил _ (mikele_bes) 23.10.15 11:53
В обработке нет загрузки/выгрузки выбранных пользователей в xml.

Логичнее было бы для сервера получать список баз из кластера серверов, имхо.
58. Михаил _ (mikele_bes) 23.10.15 13:14
И профили пользователей не переносятся...
59. Олег Шалимов (CaSH_2004) 19.12.15 03:46
Обработка хорошая - свою задачу делает
Однако она явно сырая: интерфейс какой-то сделанный "под себя" т.е. не очевидный - все нагромождено в кучу и настройки пользователей ИБ и пользователей БД: флаги "Дополнительные права пользователей" и "Настройки пользователей" - явно не на своем месте
С трудом разобрался что их нужно отключить чтобы просто кинуть пользователей ИБ, причем даже при отключенных флагах настройки с базы пытаются прочесться! пришлось лезть в код и блокировать по условию - странно как автор этого не учел.
Но и даже после этого пришлось каждого пользователя грузить отдельно т.к. после загрузки производится чтение данных БД - зачем непонятно

Вот и у (56) из-за этого ошибки
60. Василий Петров (sysadminresurs) 18.03.16 04:44
{ВнешняяОбработка.ПереносУдалениеПользователейИБ.МодульОбъекта(130)}: Значение не является значением объектного типа (Метаданные)
ПолноеИмя = СтрокаТЗ.Значение.Метаданные().ПолноеИмя();
Не переносится вываливается эта ошибка, есть идеи по поводу этой ошибки ?
Управление торговлей и взаимоотношениями с клиентами (CRM), редакция 1.1 (1.1.28.1) (http://solutions.1c.ru/catalog/trade-crm)
Платформа 8.2
61. Muxomop Muxomop (Muxomop) 18.03.16 17:45
(60) sysadminresurs, скорей всего в регистре сведений "Настройки пользователей" содержится какое-то значение настройки, по которому невозможно получить метаданные. Возможно это битая ссылка, возможно что-то другое. Если есть доступ к конфигуратору и отладчику, то можете самостоятельно вычислить глючную настройку. У меня доступа к вашей конфигурации нет, проверить не могу.
62. Muxomop Muxomop (Muxomop) 05.04.16 12:25
(56) naziknazik333, (59) CaSH_2004, (60) sysadminresurs, Обновил обработку, постарался учесть все ваши замечания
63. Дима Иванов (silex38) 02.08.16 09:55
При тестировании подключения пишет ошибку
ри попытке соедиения с COM-сервером произошла следующая ошибка:
{ВнешняяОбработка.ПереносУдалениеПользователейИБ.Форма.Форма.Форма(159)}: Ошибка при вызове конструктора (COMОбъект): -2147221164(0x80040154): Класс не зарегистрирован
что делать?
64. Muxomop Muxomop (Muxomop) 03.08.16 08:58
(63) silex38, Скорей всего обновили платформу, и слетела регистрация компоненты comcntr.dll. Нужно выполнить команду regsvr32 "C:\Program Files\1cv82\8.2.12.xxx\bin\comcntr.dll". Более подробно можно почитать по ссылке http://infostart.ru/public/152303/
65. Алексей Милов (milov.aleksey) 25.08.16 14:44
При переходе с ЗУП2.5проф на ЗУП3.1корп сначала создал тестовую базу переноса и завёл актуальных пользователей. Чтобы не заводить список снова в рабочем варианте пробовал перенести ЗУП3.1 -->ЗУП3.1, но ломалась на поиске по Коду пользователя. Оказалось, что длина Кода = 0, т.е. справочник только с Наименованием. Переписал поиск с кода на наименование пПользователи.Name.
Это характерно для многих справочников ЗУП3.0-3.1. Предлагаю делать попытку поиска сначала по Коду, затем по Наименованию или по-взрослому по идентификатору УИД.

Не перенеслись "Пользователи Windows", чтобы не привязывать доменные учётки. Разбираюсь дальше.
66. Алексей Милов (milov.aleksey) 25.08.16 14:51
(48) Rebel2007, Можно доработать: во-первых, в ЗУП3.0-3.1 многие справочники стали без Кода, точнее с нулевой длиной и линейный(без родителей). Нужно в конфе слделать спр.Сотрудники иерархическим, либо изменить запрос в обработке. Во-вторых, заменить поиск пользователя по Коду, на поиск по Наименованию. Код ниже:
//Перенос элемента спр. Пользователи
		//{-=Н=- по запросу № Перенос пользователей между ЗУП3.1, в новом справочнике пользователей поле Код нулевой длины, т.е. его нет
		//Милов А.В., 25 августа 2016 г. 12:39:20	
		//Цель:	Изменение функционала
		//---------------
		//-=Старый код=-
		//---------------
		//ТекущийПользователь = Справочники.Пользователи.НайтиПоКоду(пПользовательИБ.Имя);
		//ПользовательИБПриемника = СправочникПользователи.НайтиПоКоду(пПользовательИБ.Имя);
		//Если СокрЛП(ПользовательИБПриемника.Code) = "" Тогда
		//	Если НЕ СоздаватьПользователей Тогда
		//		Продолжить;
		//	КонецЕсли;			
		//	ПользовательИБПриемника = СправочникПользователи.CreateItem();
		//	ПользовательИБПриемника.Code = пПользовательИБ.Имя;
		//ИначеЕсли НЕ ЗаменятьПользователей Тогда 
		//	Продолжить;
		//ИначеЕсли СокрЛП(ПользовательИБПриемника.Code) <> "" Тогда
		//	ПользовательИБПриемника = ПользовательИБПриемника.GetObject();
		//КонецЕсли;
		//---------------
		//-=Новый код=-
		//---------------
		ТекущийПользователь = Справочники.Пользователи.НайтиПоНаименованию(пПользовательИБ.Имя);
		ПользовательИБПриемника = СправочникПользователи.НайтиПоНаименованию(пПользовательИБ.Имя);
		Если СокрЛП(ПользовательИБПриемника.Name) = "" Тогда
			Если НЕ СоздаватьПользователей Тогда
				Продолжить;
			КонецЕсли;		
			ПользовательИБПриемника = СправочникПользователи.CreateItem();
			ПользовательИБПриемника.Name = пПользовательИБ.Имя;
		ИначеЕсли НЕ ЗаменятьПользователей Тогда 
			Продолжить;
		ИначеЕсли СокрЛП(ПользовательИБПриемника.Name) <> "" Тогда
			ПользовательИБПриемника = ПользовательИБПриемника.GetObject();
		КонецЕсли;
		//-=К=-}
...Показать Скрыть
Прикрепленные файлы:
67. Александр Полтава (Патриот) 09.09.16 13:56
Прочитав
Добавлена опциональная возможность переноса элементов справочника "Пользователи" через XML-файл
я подумал, что данные будут переноситься файлом без ком соединения. Оказалось, нет.
68. Vitaly . (sonGodv) 30.11.16 12:56
На УТ11 не работает, так как у справочника пользователи нет реквизита "Код"
69. Muxomop Muxomop (Muxomop) 30.11.16 15:29
(68) Вариант решения проблемы можно глянуть в комментарии №66. Код обработки открыт. Когда появится свободное время обновлю обработку.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа