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

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С
Санкт-Петербург
зарплата от 150 000 руб. до 200 000 руб.
Полный день

Программист 1С
Москва
зарплата от 150 000 руб. до 180 000 руб.
Полный день

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

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

Администратор 1C
Москва
зарплата до 110 000 руб.
Полный день