При заполнении списка текущих дел. См. ТекущиеДелаПереопределяемый.ПриОпределенииОбработчиковТекущихДел.
// См. ТекущиеДелаПереопределяемый.ПриОпределенииОбработчиковТекущихДел.
Процедура ПриЗаполненииСпискаТекущихДел(ТекущиеДела) Экспорт
МодульТекущиеДелаСервер = ОбщегоНазначения.ОбщийМодуль("ТекущиеДелаСервер");
Если Не ПравоДоступа("Редактирование", Метаданные.Задачи.ЗадачаИсполнителя)
Или МодульТекущиеДелаСервер.ДелоОтключено("ЗадачиИсполнителя") Тогда
Возврат;
КонецЕсли;
Если Не ПолучитьФункциональнуюОпцию("ИспользоватьБизнесПроцессыИЗадачи") Тогда
Возврат;
КонецЕсли;
КоличествоЗадачИсполнителя = КоличествоЗадачИсполнителя();
// Процедура вызывается только при наличии подсистемы "Текущие дела", поэтому здесь
// не делается проверка существования подсистемы.
Разделы = МодульТекущиеДелаСервер.РазделыДляОбъекта(Метаданные.Задачи.ЗадачаИсполнителя.ПолноеИмя());
Если Пользователи.ЭтоСеансВнешнегоПользователя()
И Разделы.Количество() = 0 Тогда
Разделы.Добавить(Метаданные.Задачи.ЗадачаИсполнителя);
КонецЕсли;
Для Каждого Раздел Из Разделы Цикл
ИдентификаторМоихЗадач = "ЗадачиИсполнителя" + СтрЗаменить(Раздел.ПолноеИмя(), ".", "");
Дело = ТекущиеДела.Добавить();
Дело.Идентификатор = ИдентификаторМоихЗадач;
Дело.ЕстьДела = КоличествоЗадачИсполнителя.Всего > 0;
Дело.Представление = НСтр("ru = 'Мои задачи'");
Дело.Количество = КоличествоЗадачИсполнителя.Всего;
Дело.Форма = "Задача.ЗадачаИсполнителя.Форма.МоиЗадачи";
ЗначениеОтбора = Новый Структура("Выполнена", Ложь);
Дело.ПараметрыФормы = Новый Структура("Отбор", ЗначениеОтбора);
Дело.Владелец = Раздел;
Дело = ТекущиеДела.Добавить();
Дело.Идентификатор = "ЗадачиИсполнителяПросроченные";
Дело.ЕстьДела = КоличествоЗадачИсполнителя.Просроченные > 0;
Дело.Представление = НСтр("ru = 'просроченные'");
Дело.Количество = КоличествоЗадачИсполнителя.Просроченные;
Дело.Важное = Истина;
Дело.Владелец = ИдентификаторМоихЗадач;
Дело = ТекущиеДела.Добавить();
Дело.Идентификатор = "ЗадачиИсполнителяНаСегодня";
Дело.ЕстьДела = КоличествоЗадачИсполнителя.НаСегодня > 0;
Дело.Представление = НСтр("ru = 'сегодня'");
Дело.Количество = КоличествоЗадачИсполнителя.НаСегодня;
Дело.Владелец = ИдентификаторМоихЗадач;
Дело = ТекущиеДела.Добавить();
Дело.Идентификатор = "ЗадачиИсполнителяНаНеделю";
Дело.ЕстьДела = КоличествоЗадачИсполнителя.НаНеделю > 0;
Дело.Представление = НСтр("ru = 'на этой неделе'");
Дело.Количество = КоличествоЗадачИсполнителя.НаНеделю;
Дело.Владелец = ИдентификаторМоихЗадач;
Дело = ТекущиеДела.Добавить();
Дело.Идентификатор = "ЗадачиИсполнителяНаСледующуюНеделю";
Дело.ЕстьДела = КоличествоЗадачИсполнителя.НаСледующуюНеделю > 0;
Дело.Представление = НСтр("ru = 'на следующей неделе'");
Дело.Количество = КоличествоЗадачИсполнителя.НаСледующуюНеделю > 0;
Дело.Владелец = ИдентификаторМоихЗадач;
КонецЦикла;
КонецПроцедуры
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////