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



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

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

 

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

//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.2024: Исправлена ошибка переноса настроек и доп. прав пользователя при отключенных соответствующих флажках. Мелкие исправления формы.

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

82 Comments

  1. red80

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

    Reply
  2. BigB

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

    Reply
  3. Muxomop
    BigB пишет:

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

    Нет, не переносит. Но зато позволяет установить новый пароль.

    Reply
  4. Muxomop
    red80 пишет:

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

    Быстрее переносит, т.к. запускаешь обработку только из базы-донора и нажимаешь кнопку. А стандартную нужно открывать в каждой базе-приемнике.

    Reply
  5. BigB
    Muxomop пишет:

    Нет, не переносит. Но зато позволяет установить новый пароль.

    С диска ИТС переносит с паролями.

    Как объяснить пятидесяти пользователям, что им установлен новый пароль?

    Переносить надо с паролями.

    Reply
  6. Muxomop

    Доделал обработку, теперь есть возможность переносить пароли. Правда работает только для баз-приемников на 8.2.

    Reply
  7. OBEH

    Цитирую «а потом (в случае увольнения) удалять их».

    По моему, это какое то недоразумение. Как можно удалять

    пользователей из базы? А как же документы внесенные ими?

    — «Объект не найден»?

    Reply
  8. Поручик

    (7) Незнание матчасти detected. Не путай пользователей ИБ, сиречь информационной базы, с элементами справочника Пользователи. В документах указывается элементы указанного справочника, вот их удалять не стоит.

    Reply
  9. Muxomop

    (7) Поручик прав. Удаляются только пользователи ИБ, а элементы справочника «Пользователи» помечаются на удаление.

    Reply
  10. OBEH

    Ну вот. Выходит «вот их удалять не стоит»

    Reply
  11. Valerich

    Немного не понял, почему можно перенести пароль «только для баз-приемников на 8.2.»… В 8.1 тоже можно записывать пароль, но я не знаю как его прочитать (существующий). любой новый установить не проблема.

    Reply
  12. Muxomop

    (11) Имелось ввиду что можно перенести существующий пароль. Это возможно только в 8.2 т.к. разработчики добавили функционал для чтения пароля в платформу (если быть совсем точным, то читается хеш пароля, поскольку пароли в чистом виде в базе не хранятся). А устанавливать новый пароль можно начиная с 8.0

    Reply
  13. andreysan

    Большое спаисбо за обработку

    Очень сильно помогла.

    Есть небольшое замечание.

    У меня в СправочникПользователи элементы расположены вне группы

    поэтому Ваша обработка вылетает с ошибкой .

    предлагаю в модуле формы стр ~ 392 сделать дополнительную проверку :

    если не( ТекущийПользователь.Родитель.Ссылка.Пустая()) тогда

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

    Если СокрЛП(Родитель.Code) <> «» Тогда

    ПользовательИБПриемника.Parent = Родитель;

    Иначе

    Сообщить(«В базе-приемнике не найдена папка пользователей «»»+ТекущийПользователь.Родитель.Наименование+»»»!», СтатусСообщения.БезСтатуса);

    КонецЕсли;

    конецесли;

    Еще раз огромное СПАСИБО .

    Reply
  14. Muxomop

    (13) Спасибо за комментарий. Обработку подправил, можно скачать заново.

    Reply
  15. SotNick

    Отличная обработка! И аналогов я не нашла. Спасибо!

    Reply
  16. java

    автору респект, спасла обработка.

    огроммное человечесское спасибо!!!

    Reply
  17. aigaig

    Огромное спасибо за обработку.Очень помогла.

    Reply
  18. Akio

    спасибо! помогло ))

    Reply
  19. ewqewqewq

    Спасибо только, что перенес 5 пользователей в 2 базы. Надеюсь баги не появятся. Пока тфу тфу все работает.

    Reply
  20. Muxomop

    (19) ewqewqewq, Во время тестов переносил по 10 пользователей в 30 баз, все было без сбоев

    Reply
  21. navic

    Спасибо, очень нужная обработка.

    Reply
  22. avenira_

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

    Автору спасибо и плюс, конечно!

    Reply
  23. alex.msk

    Респект автору. Не пришлось писать самому.

    Плюсанул.

    Reply
  24. echo77

    Не работает.

    При попытке соедиения с COM-сервером произошла следующая ошибка:

    {Форма.Форма.Форма(160)}: Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V82.COMConnector.1): База данных не обнаружена
    Reply
  25. Muxomop

    (24) echo77, Проверьте параметры аутентификации ОС для пользователя в базе, к которой происходит подключение. На тестовой базе проверил, все работает

    Reply
  26. prettyfly

    Отличная обработка, тем не менее еще остается вопрос с предоставлением доступа к информационным базам(ibases) всей куче скопированных пользователей. Есть какие-нибудь идеи по автоматизации этого процесса, с учетом того что у разных пользователей может быть доступ к разным базам?

    Reply
  27. Muxomop

    (26) prettyfly, в домене можно с помощью батника копировать каждому пользователю файлик ibases (при входе в систему, например), со стороны 1С это вряд-ли получится сделать.

    Reply
  28. prettyfly

    Возможно кому-то пригодится в дополнение к этой обработке, приложение для управления информационными базами пользователей через группы в AD http://infostart.ru/public/147404/

    Reply
  29. andreysan

    Большое человеческое спасибо за вашу обработку. Сэкономил много сил и времени

    Reply
  30. kivas

    обработка конечно очень хорошая, и со своей задачей справляется на ура, но вот где хоть какое нибудь заполнение галок для переноса?

    бежать по 200 пользователям чтобы галки проставить трудоемко, а если как у меня надо из 200 пользователей перенести только 2 группы (~50) элементов и каждого открыть — проверит в той ли он группе — закрыть — поставить галку….

    это плохо… очень плохо

    но в целом +1

    Reply
  31. Muxomop

    (30) kivas, Спасибо за комментарий, обработку доработал согласно ваших замечаний

    Reply
  32. dyak84

    Автор подскажите ваша обработка будет работать в типовой УТ для украины. И будуш ли переносится дополнительный настройки пользователей. Зарание спасибо за ответ??????

    Reply
  33. Muxomop

    (32) dyak84, Должна отработать, переносятся данные из регистра сведений «Настройки пользователей». Если такой регистр есть в УТ, то данные перенесутся.

    Reply
  34. OrsoBear

    Я так понимаю, что из 7.7 изначально нельзя пароли вытянуть.. заглянул в надежде, что нашелся умелец..

    Но все равно спасибо!

    Reply
  35. pvb2003

    Увы , но на нестандартной конфигурации не работает …

    Reply
  36. Muxomop

    (35) pvb2003, Попробуйте подогнать структуру справочника «Пользователи» как в типовых решениях 1С

    Reply
  37. Dolour

    Спасибо , сегодня запустил базу клиента ,а пользователи куда-то делись .Впервые такое вижу .

    Reply
  38. Muxomop

    (37) Dolour, Пропали элементы справочника «Пользователи» или пользователи ИБ? Опишите порядок действий с обработкой перед «пропажей».

    Reply
  39. Dolour

    Обработка тут не причем…Наоборот помогла, пользователи ИБ у меня пропали по неведомым пока причинам .

    Reply
  40. ninch

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

    1. базы были файловые. Жмешь кнопку «выполнить перенос». Не хочет работать — вылетает с ошибкой. Оказалось, что на компе стоит 1С 8.3 и не важно что базы работают под 1С 8.2. В итоге пришлось указать в процедуре ПодключитсяКИнформационнойБазе()

    ОбъектПодключения = «V83.COMConnector»;

    А было «V82.COMConnector».

    2. при переносе настроек пользователей с регистра сведений (опция в обработке) в новой базе вносились настройки только последнего пользователя. Пришлось подправить в процедуре ВыполнитьПеренос() после строки

    НаборЗаписей = РегСвНастройкиПользователей.СоздатьНаборЗаписей();

    поставил строку

    НаборЗаписей.Отбор.Пользователь.Установить(Пользователь);

    после этого все ок. тоже самое судя по всему надо сделать в процедуре ВыполнитьПереносXML() — по аналогии.

    3. очень не хватает описания как работать с этой обработкой. Пришлось все самому додумывать. И главное когда справку открываешь в 1с предприятии или в конфигураторе то все вылетает

    Reply
  41. Muxomop

    (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: справка открывается без проблем в обоих режимах. Справку обновлю, возможно это решит проблему

    Reply
  42. bambr1975

    (41) чтобы справка не «вылетала» в режиме предприятия, откорректируйте синоним обработки «Перенос/удаление пользователей ИБ» — удалите оттуда слэш. Дело в том, что синоним объекта всегда выводится в заголовке html-документа, формирующего справку, а платформа эту ситуацию корректно не обрабатывает.

    Reply
  43. Muxomop

    (42) bambr1975, Спасибо за дельный комментарий, обработку подправил

    Reply
  44. xten

    На 8.3 пойдет?

    Reply
  45. Muxomop

    (44) xten, Должно пойти, нужно выбирать версию платформы 8.3

    Reply
  46. Alex_grem

    Неплохо бы добавить перенос групп доступа и дополнительных прав пользователя для таких конфигураций как УПП или КА

    Reply
  47. Muxomop

    (46) Alex_grem, Добавил возможность переноса доп. прав. Скачайте обновленную обработку

    Reply
  48. Rebel2007

    В ЗУП 3.0 не работает, зря мани потратил

    Reply
  49. Muxomop

    (48) Rebel2007, Обработку под управляемые формы планирую сделать во 2 кв. 2015 года. Мани вернуть не могу, т.к. их перевод временно отключен

    Reply
  50. ollega

    Спасибо! Отработало ОК!

    Reply
  51. Pavean

    (49) перевод на управляемые формы всё ещё в планах?

    Reply
  52. naziknazik333

    У меня почему то не работает в торговле 8.3. Пытаюсь перенести из демо версии в чистую, выдает ошибку.

    Reply
  53. Muxomop

    (51) Pavean, Пока да, еще изучаю УФ и не готов выложить сырую обработку

    Reply
  54. Muxomop

    (52) naziknazik333, Ошибку в студию. Обработка предназначена только для обычного приложения

    Reply
  55. naziknazik333

    Например обработчик требует от меня регистр сведений настройки пользователя. Хотя в ТК их нет.

    Reply
  56. naziknazik333

    {ВнешняяОбработка.ПереносУдалениеПользователейИБ.МодульОбъекта(118)}: Ошибка при вызове метода контекста (Выполнить)

    Результат = Запрос.Выполнить();

    по причине:

    {(9, 2)}: Таблица не найдена «РегистрСведений.НастройкиПользователей»

    <<?>>РегистрСведений.НастройкиПользователей КАК НастройкиПользователей

    Reply
  57. mikele_bes

    В обработке нет загрузки/выгрузки выбранных пользователей в xml.

    Логичнее было бы для сервера получать список баз из кластера серверов, имхо.

    Reply
  58. mikele_bes

    И профили пользователей не переносятся…

    Reply
  59. CaSH_2004

    Обработка хорошая — свою задачу делает

    Однако она явно сырая: интерфейс какой-то сделанный «под себя» т.е. не очевидный — все нагромождено в кучу и настройки пользователей ИБ и пользователей БД: флаги «Дополнительные права пользователей» и «Настройки пользователей» — явно не на своем месте

    С трудом разобрался что их нужно отключить чтобы просто кинуть пользователей ИБ, причем даже при отключенных флагах настройки с базы пытаются прочесться! пришлось лезть в код и блокировать по условию — странно как автор этого не учел.

    Но и даже после этого пришлось каждого пользователя грузить отдельно т.к. после загрузки производится чтение данных БД — зачем непонятно

    Вот и у (56) из-за этого ошибки

    Reply
  60. sysadminresurs

    {ВнешняяОбработка.ПереносУдалениеПользователейИБ.МодульОбъекта(130)}: Значение не является значением объектного типа (Метаданные)

    ПолноеИмя = СтрокаТЗ.Значение.Метаданные().ПолноеИмя();

    Не переносится вываливается эта ошибка, есть идеи по поводу этой ошибки ?

    Управление торговлей и взаимоотношениями с клиентами (CRM), редакция 1.1 (1.1.28.1) (http://solutions.1c.ru/catalog/trade-crm)

    Платформа 8.2

    Reply
  61. Muxomop

    (60) sysadminresurs, скорей всего в регистре сведений «Настройки пользователей» содержится какое-то значение настройки, по которому невозможно получить метаданные. Возможно это битая ссылка, возможно что-то другое. Если есть доступ к конфигуратору и отладчику, то можете самостоятельно вычислить глючную настройку. У меня доступа к вашей конфигурации нет, проверить не могу.

    Reply
  62. Muxomop

    (56) naziknazik333, (59) CaSH_2004, (60) sysadminresurs, Обновил обработку, постарался учесть все ваши замечания

    Reply
  63. silex38

    При тестировании подключения пишет ошибку

    ри попытке соедиения с COM-сервером произошла следующая ошибка:

    {ВнешняяОбработка.ПереносУдалениеПользователейИБ.Форма.Форма.Форма(159)}: Ошибка при вызове конструктора (COMОбъект): -2147221164(0x80040154): Класс не зарегистрирован

    что делать?

    Reply
  64. Muxomop

    (63) silex38, Скорей всего обновили платформу, и слетела регистрация компоненты comcntr.dll. Нужно выполнить команду regsvr32 «C:Program Files1cv828.2.12.xxxincomcntr.dll». Более подробно можно почитать по ссылке http://infostart.ru/public/152303/

    Reply
  65. milov.aleksey

    При переходе с ЗУП2.5проф на ЗУП3.1корп сначала создал тестовую базу переноса и завёл актуальных пользователей. Чтобы не заводить список снова в рабочем варианте пробовал перенести ЗУП3.1 —>ЗУП3.1, но ломалась на поиске по Коду пользователя. Оказалось, что длина Кода = 0, т.е. справочник только с Наименованием. Переписал поиск с кода на наименование пПользователи.Name.

    Это характерно для многих справочников ЗУП3.0-3.1. Предлагаю делать попытку поиска сначала по Коду, затем по Наименованию или по-взрослому по идентификатору УИД.

    Не перенеслись «Пользователи Windows», чтобы не привязывать доменные учётки. Разбираюсь дальше.

    Reply
  66. milov.aleksey

    (48) Rebel2007, Можно доработать: во-первых, в ЗУП3.0-3.1 многие справочники стали без Кода, точнее с нулевой длиной и линейный(без родителей). Нужно в конфе слделать спр.Сотрудники иерархическим, либо изменить запрос в обработке. Во-вторых, заменить поиск пользователя по Коду, на поиск по Наименованию. Код ниже:

    //Перенос элемента спр. Пользователи
    //{-=Н=- по запросу № Перенос пользователей между ЗУП3.1, в новом справочнике пользователей поле Код нулевой длины, т.е. его нет
    //Милов А.В., 25 августа 2016 г. 12:39:20
    //Цель: Изменение функционала
    //—————
    //-=Старый код=-
    //—————
    //ТекущийПользователь = Справочники.Пользователи.НайтиПоКоду(пПользовательИБ.Имя);
    //ПользовательИБПриемника = СправочникПользователи.НайтиПоКоду(пПользовательИБ.Имя);
    //Если СокрЛП(ПользовательИБПриемника.Code) = «» Тогда
    // Если НЕ СоздаватьПользователей Тогда
    //  Продолжить;
    // КонецЕсли;
    // ПользовательИБПриемника = СправочникПользователи.CreateItem();
    // ПользовательИБПриемника.Code = пПользовательИБ.Имя;
    //ИначеЕсли НЕ ЗаменятьПользователей Тогда
    // Продолжить;
    //ИначеЕсли СокрЛП(ПользовательИБПриемника.Code) <> «» Тогда
    // ПользовательИБПриемника = ПользовательИБПриемника.GetObject();
    //КонецЕсли;
    //—————
    //-=Новый код=-
    //—————
    ТекущийПользователь = Справочники.Пользователи.НайтиПоНаименованию(пПользовательИБ.Имя);
    ПользовательИБПриемника = СправочникПользователи.НайтиПоНаименованию(пПользовательИБ.Имя);
    Если СокрЛП(ПользовательИБПриемника.Name) = «» Тогда
    Если НЕ СоздаватьПользователей Тогда
    Продолжить;
    КонецЕсли;
    ПользовательИБПриемника = СправочникПользователи.CreateItem();
    ПользовательИБПриемника.Name = пПользовательИБ.Имя;
    ИначеЕсли НЕ ЗаменятьПользователей Тогда
    Продолжить;
    ИначеЕсли СокрЛП(ПользовательИБПриемника.Name) <> «» Тогда
    ПользовательИБПриемника = ПользовательИБПриемника.GetObject();
    КонецЕсли;
    //-=К=-}

    Показать

    Reply
  67. Патриот

    Прочитав

    Добавлена опциональная возможность переноса элементов справочника «Пользователи» через XML-файл

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

    Reply
  68. sonGodv

    На УТ11 не работает, так как у справочника пользователи нет реквизита «Код»

    Reply
  69. Muxomop

    (68) Вариант решения проблемы можно глянуть в комментарии №66. Код обработки открыт. Когда появится свободное время обновлю обработку.

    Reply
  70. user665952_a.karuna

    подскажите, возникла потребность переноса параметров Active Directory с ексель файла в базу на упр режиме.

    порядка 400 пользователей, лень в ручную заносить)

    Reply
  71. Muxomop

    (70) возможно вам подойдет это http://infostart.ru/public/156207/ или ищите в каталоге «Загрузка пользователей»

    Reply
  72. ЛЛ Юрий

    Скачал обработку. Ошибки:

    1. Настройки пользователей: Не удалось получить метаданные настройки «Основная организация» ()!

    2. При попытке соедиения с COM-сервером произошла следующая ошибка:

    {ВнешняяОбработка.ПереносУдалениеПользователейИБ.Форма.Форма.Форма(159)}: Ошибка при вызове конструктора (COMОбъект): -2147221164(0x80040154): Класс не зарегистрирован

    Но я выбрал «Использовать XML», зачем работать с СОМ соединением тогда.

    Reply
  73. Muxomop

    (72) Обработка всегда переносит/удаляет пользователей через СОМ-соединение. Опция «Использовать XML» нужна для переноса абсолютно точных копий элементов справочника «Пользователи» (актуально для РИБ). Т.е. при установленной галке выбранные пользователи записываются в XML-файл, обработка подключается через СОМ к базе-получателю, читает файл с пользователями и создает элементы справочника «Пользователи». При снятой галке «Использовать XML» обработка подключается через СОМ к базе-получателю, читает данные пользователей напрямую из базы-отправителя и создает элементы справочника «Пользователи».

    По вашим ошибкам:

    1. Возможно в базе битая ссылка в настройке «Основная организация» у какого-то пользователя, поэтому обработке не удалось получить метаданные по этой настройке. Ничего страшного не произошло. Данная настройка не будет перенесена в новую базу.

    2. Скорей всего обновили платформу, и слетела регистрация компоненты comcntr.dll. Нужно выполнить команду regsvr32 «C:Program Files1cv88.3.хх.xxxincomcntr.dll». Более подробно можно почитать по ссылке http://infostart.ru/public/152303/

    Reply
  74. DWZ2
    Reply
  75. DWZ2

    (74) п.1 бывает, когда в регистре сведений «НастройкиПользователей» резурс значение равен «Неопределено»

    Reply
  76. DWZ2

    В модуле формы в строке 473

    Пользователь = СправочникПользователи.НайтиПоНаименованию(пПользовательИБ.Имя);

    вроде по коду надо искать или нет?

    Reply
  77. DWZ2

    и в строке 541 тоже 🙁

    Reply
  78. DWZ2

    (74)

    2. «В базе-приемнике не найдена папка пользователей»

    по п. 2 рекомендую в модуле формы в строке 444 заменить

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

    на

    Если СокрЛП(Родитель.Code) = «» Тогда
    // DWZ — создадим группу. В справочнике всего 2 уровня,
    // поэтому делаем просто, без рекурсии
    Родитель=СправочникПользователи.CreateFolder();
    
    Родитель.Code=ТекущийПользователь.Родитель.Код;
    Родитель.Description=ТекущийПользователь.Родитель.Наименование;
    
    Родитель.Записать();
    КонецЕсли;
    ПользовательИБПриемника.Parent = Родитель.Ref;

    Показать

    Reply
  79. DWZ2

    (75) рекомендую в модуле ОБЪЕКТА в строках 130 и 188 добавить в условие

    Если СтрокаТЗ.ТипЗначения = Тип(«Булево»)
    ИЛИ СтрокаТЗ.ТипЗначения = Тип(«Строка»)
    ИЛИ СтрокаТЗ.ТипЗначения = Тип(«Дата»)
    ИЛИ СтрокаТЗ.ТипЗначения = Тип(«Число»)
    ИЛИ СтрокаТЗ.Значение = Неопределено Тогда
    Reply
  80. DWZ2

    (74)

    3. Настройки пользователя NNN не найдено значение XXX для настройки YYY в базе-приемнике!

    По п. 3 рекомендую рекурсивную выгрузку справочника «Пользователи» наподобие всеми любимой «Конвертации» (пока НЕ сделал)

    Кстати, ещё не раскрыта тема перекачки Хранилищ настроек 😉

    Руки дойдут, сделаю. Но не буду возражать, если это сделает автор или кто-то ещё.

    Вот что у меня вышло. Может, надо кому.

    P.S. Выгрузку в XML убрал, всё равно это фикция, только людей путает.

    P.P.S. Жаль, здесь не работает автоматическое royalty для автора оригинала.

    Reply
  81. Muxomop

    (80) Добрый день. Рад, что вам помогла обработка. Хотел сделать уточнение, что выгрузка XML нужна для однотипных баз с унифицированными справочниками (в т.ч. пользователи).

    Reply
  82. DWZ2

    (81)Насколько я понимаю:

    1) Через XML выгружаются ТОЛЬКО пользователи.

    2) Загрузка всё равно идёт через COM-соединение, после чего XML-файл уничтожается и использовать его нельзя, поэтому утрачивается основное преимущество выгрузки в XML — загрузка на другой машине.

    3) Через XML, в отличие от COM-соединения, выгружаются пользователи вместе с группами, но этот момент я поправил.

    4) Через XML выгружается голый справочник «Пользователи», без рекурисвной выгрузки взаимосвязей, в отличие, например, от обработки «Конвертация».

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

    P.S. Чтобы 2 раза не вставать — в УПП дополнительные права могут быть назначены, не только на пользователей, но на их группы, в этом случае при перекачке дополнительных прав обработка не проверяет этот случай, ругается, что что не может перенести дополнительные права, и пользователи недовольны. Надо бы добавить обработку этого случая, но Заказчик уже вынес свой вердикт, поэтому мне лень 😉

    Reply

Leave a Comment

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