Делегирование задач в 1С: Документооборот на время отпуска сотрудника
Задачи пользователя - Адаптация типовых решений
Задача состояла в том, чтобы на время отпуска задачи по документам вида 1 (в определенной папке видов внутренних документов) попадали одному из исполнителей, все остальное должно уходить другому
Проблема состояла в том, что эскалация задач не отработала должным образом, поэтому решение пришло через подписки бизнес-событий. Решение:
1. Открываем справочник "Дополнительные обработчики"
Создаем новый элемент "делегирование с 1 по 16 августа"

2. В код обработки вставляем код:

3. На закладке "вид события" добавляем элемент

Ниже код обработчика:
Попытка
Если ТипЗнч(Событие.Источник) = Тип("ЗадачаСсылка.ЗадачаИсполнителя") Тогда
ИмяИсполнителя = строка(Событие.Источник.Исполнитель);
РольИсполнителя = строка(Событие.Источник.РольИсполнителя);
Если найти(ИмяИсполнителя,"ФИО1")>0 или найти(РольИсполнителя,"HRM_Corp_Руководитель Управление компенсаций и льг")>0 Тогда
ПапкаДокументаФОТ = Справочники.ВидыВнутреннихДокументов.НайтиПоНаименованию("Информационно-справочная документация/Information and reference documents");
ТЧпредмет= Событие.Источник.предметы[0].предмет;
Если ЗначениеЗаполнено(ТЧпредмет) и ЗначениеЗаполнено(ПапкаДокументаФОТ) Тогда
Если ЗначениеЗаполнено(ТЧпредмет.виддокумента) Тогда
Если ТЧпредмет.виддокумента.ПринадлежитЭлементу(ПапкаДокументаФОТ) Тогда
ИнфоОПеренаправлении = Новый Структура;
ИнфоОПеренаправлении.Вставить("Исполнитель", справочники.пользователи.найтипонаименованию("ФИО2"));
ИнфоОПеренаправлении.Вставить("Комментарий", "#422871");
ИнфоОПеренаправлении.Вставить("РольИсполнителя", Неопределено);
Результат = БизнесПроцессыИЗадачиСервер.ПеренаправитьЗадачу(Событие.Источник, ИнфоОПеренаправлении);
иначе
ИнфоОПеренаправлении = Новый Структура;
ИнфоОПеренаправлении.Вставить("Исполнитель", справочники.пользователи.найтипонаименованию("ФИО3"));
ИнфоОПеренаправлении.Вставить("Комментарий", "#422871");
ИнфоОПеренаправлении.Вставить("РольИсполнителя", Неопределено);
Результат = БизнесПроцессыИЗадачиСервер.ПеренаправитьЗадачу(Событие.Источник, ИнфоОПеренаправлении);
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Исключение
ЗаписьЖурналаРегистрации("ИнформационнаяБаза.ОбновлениеИБ",
УровеньЖурналаРегистрации.Ошибка, , ,
"Выполнено " + ОписаниеОшибки());
КонецПопытки;
Вступайте в нашу телеграмм-группу Инфостарт
Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.