Доступность процессов и задач по предмету всем участникам рабочей группы документа

0. 18 15.02.21 00:00 Сейчас в теме
Простой способ сделать задачи и процессы доступными всем участникам рабочей группы документа. Для этого нужно добавить дополнительный обработчик бизнес-события, который будет срабатывать по виду события "Старт процесса". Актуально, если используете комплексные процессы, и не все участники видят задачи друг друга.

Перейти к публикации

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Rokky78 39 04.08.21 14:47 Сейчас в теме
Идея отличная.
Подобные статьи попадались и раньше, но не думал, что это так востребовано на нашем предприятии. Оказалось - да.
Еще некоторые подробности - в личном сообщении.
Capitullo; +1 Ответить
2. Capitullo 18 05.08.21 11:19 Сейчас в теме
(1) Код в публикации поправил, спасибо за замечания!
3. Rokky78 39 05.08.21 11:52 Сейчас в теме
Посмотрев как работает обработчик, решил немного ограничить запись. Дело в том что в таком виде для каждого процесса (и основного комплексного и вложенных в него) создаются достаточно много записей в регистре. Поскольку потребность видеть все процессы была у отдела кадров, решил сделать фильтр именно по ним.
В самом начале определил массив в котором собрал роли, группы и пользователей ОК,

	ПользовательИванова = Справочники.Пользователи.ПолучитьСсылку(Новый УникальныйИдентификатор("3a219092-f819-11ea-b67d-0cc47a283a95"));
	ПользовательПетрова = Справочники.Пользователи.ПолучитьСсылку(Новый УникальныйИдентификатор("0420e2c1-7522-11e8-994d-0cc47a283a95"));
	ПользовательСидорова = Справочники.Пользователи.ПолучитьСсылку(Новый УникальныйИдентификатор("f54cf259-7517-11e8-994d-0cc47a283a95"));
	РабочаяГруппаРГ_Кадры = Справочники.РабочиеГруппы.ПолучитьСсылку(Новый УникальныйИдентификатор("f7aa1aca-0455-11e9-81cd-0cc47a283a95"));
	РольКадровик = Справочники.ПолныеРоли.ПолучитьСсылку(Новый УникальныйИдентификатор("fc485390-56d0-11e9-9fa3-0cc47a283a95"));
	
	МассивКадры = Новый Массив;
	МассивКадры.Добавить(ПользовательИванова);
	МассивКадры.Добавить(ПользовательПетрова);
	МассивКадры.Добавить(ПользовательСидорова);
	МассивКадры.Добавить(РабочаяГруппаРГ_Кадры);
	МассивКадры.Добавить(РольКадровик);
Показать


Затем проверяю входит ли участник рабочей группы основного предмета в этот массив.

		Для Каждого УчастникПоПредмету Из УчастникиПоПредмету Цикл
			
			Если МассивКадры.Найти(УчастникПоПредмету.Участник) = Неопределено Тогда	//Если не кадровик - не добавляем участника
				Продолжить;
			КонецЕсли;
4. Capitullo 18 05.08.21 12:03 Сейчас в теме
(3) Дополню для читающих, в данном примере если заменить МассивКадры на одну роль (можно создать служебную полную роль чтобы использовать ее только для предоставления доступа) и добавить туда всех пользователей, перечисленных в массиве, тогда в случае добавления новых сотрудников не придется обработкой перезаполнять регистр Участники Процессов, чтобы предоставить доступ к старым процессам и задачам для новых сотрудников, достаточно будет их добавить в полную роль и они сразу увидят все процессы и задачи как прочие участники этой роли.
Оставьте свое сообщение
Вакансии
Автор новостей об 1С, налогах и бухучете на INFOSTART.RU
Санкт-Петербург
По совместительству

Бизнес-аналитик 1С
Санкт-Петербург
зарплата от 150 000 руб. до 200 000 руб.
Полный день

Программист, аналитик, эксперт 1С
Санкт-Петербург
По совместительству

Программист 1С
Нижний Новгород
зарплата от 170 000 руб.
Полный день

Программист 1С
Екатеринбург
зарплата от 120 000 руб. до 130 000 руб.
Полный день