Скопировать группы пользователя. Включает пользователя приемника в группы пользователей пользователя источника.
// Включает пользователя приемника в группы пользователей пользователя источника.
// Вызывается из обработчика формы ПриЗаписиНаСервере.
//
Процедура СкопироватьГруппыПользователя(Источник, Приемник) Экспорт
ВнешнийПользователь = (ТипЗнч(Источник) = Тип("СправочникСсылка.ВнешниеПользователи"));
Запрос = Новый Запрос;
Блокировка = Новый БлокировкаДанных;
Если ВнешнийПользователь Тогда
ЭлементБлокировки = Блокировка.Добавить("Справочник.ГруппыВнешнихПользователей");
Запрос.Текст =
"ВЫБРАТЬ
| ГруппыПользователейСостав.Ссылка КАК ГруппаПользователей
|ИЗ
| Справочник.ГруппыВнешнихПользователей.Состав КАК ГруппыПользователейСостав
|ГДЕ
| ГруппыПользователейСостав.ВнешнийПользователь = &Пользователь";
Иначе
ЭлементБлокировки = Блокировка.Добавить("Справочник.ГруппыПользователей");
Запрос.Текст =
"ВЫБРАТЬ
| ГруппыПользователейСостав.Ссылка КАК ГруппаПользователей
|ИЗ
| Справочник.ГруппыПользователей.Состав КАК ГруппыПользователейСостав
|ГДЕ
| ГруппыПользователейСостав.Пользователь = &Пользователь";
КонецЕсли;
Запрос.УстановитьПараметр("Пользователь", Источник);
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
ЭлементБлокировки.ИсточникДанных = РезультатЗапроса;
НачатьТранзакцию();
Попытка
Блокировка.Заблокировать();
Пока Выборка.Следующий() Цикл
ГруппаПользователейОбъект = Выборка.ГруппаПользователей.ПолучитьОбъект();
Строка = ГруппаПользователейОбъект.Состав.Добавить();
Если ВнешнийПользователь Тогда
Строка.ВнешнийПользователь = Приемник;
Иначе
Строка.Пользователь = Приемник;
КонецЕсли;
ГруппаПользователейОбъект.Записать();
КонецЦикла;
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
КонецПроцедуры
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
ДобавитьПользователяВГруппу (БСП)
УдалитьПользователяИзГруппы (БСП)
ОбновитьСоставыГруппПользователей (БСП)
СкопироватьНастройкиПользователя (БСП)
ЗаполнитьНомераКартинокПользователей (БСП)
ПоказатьПодробнуюИнформацию (БСП)
ПеремещениеПользователяВНовуюГруппу (БСП)
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)