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