Продвинутый курс. Домашнее задание №10

Заключительное задание по 1-му блоку.

Для выполнения рекомендуется изучить следующие главы 1-го блока.
Глава 10. Разработка управляемых форм.
Глава 11. Открытие управляемых форм.
Глава 12. Параметры управляемых форм.
Глава 13. Запись в управляемых формах.
Глава 14. Отображение и настройка списков.
Глава 15. Элементы формы.
Глава 16. Команды формы.
Глава 17. Программная модификация форм.
Глава 18. Оптимизация работы управляемых форм.
Глава 19. Сообщение пользователю.
Глава 20. Примеры работы с управляемыми формами.

К сожалению, у Вас недостаточно прав для просмотра этой записи. Если Вы еще не залогинены на сайте
залогиньтесь.

Если не активировали токен — посмотрите видео-инструкцию (видео N5)

Если вы залогинены, у Вас активирован токен доступа, но вы все равно видите эту запись —
напишите нам на e-mail поддержки.

комментариев 11 на “Продвинутый курс. Домашнее задание №10”

  1. Задание выполнил.
    Отбор в форме получился не сразу. Очень помог разбор домашнего задания.
    С установкой цветов оказалось легче.

    Обратная связь:

    1. Очень помог материал по управляемым формам,  было  много нового.
    2. По управляемым формам были затруднения и до сих пор не все ясно.
    3. Сейчас эта тема наиболее интересует и хотел бы ее увидеть в мастер-группе. 

  2. Задание выполнил.
    По условию задачи код конфигурации нельзя изменять, поэтому была создана внешняя обработка, которая запускается при открытии базы. Для этого база запускается с ключом командной строки /execute. При открытии формы обработки получается форма списка документа РеализацияТоваров, устанавливается отбор и условное оформления списка.
    В документе РеализацияТоваров был добавлен реквизит Цвет типа ПеречислениеСсылка.Цвета. Перечисление имеет три значения – красный, желтый, зеленый. Текст модуля формы обработки:
    <code>
    &НаКлиенте
    Процедура ПриОткрытии(Отказ)
    ФормаСписка = ПолучитьФорму(“Документ.РеализацияТоваров.ФормаСписка”);
    ОтборГруппа = ФормаСписка.Список.Отбор.Элементы.Добавить(Тип(“ГруппаЭлементовОтбораКомпоновкиДанных”));
    ОтборГруппа.Использование = Истина;
    ОтборГруппа.ИдентификаторПользовательскойНастройки = “Настройки”;
    ОтборГруппа.Применение = ТипПримененияОтбораКомпоновкиДанных.Элементы;
    ОтборГруппа.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли;
     
    ОтборПроведен = ОтборГруппа.Элементы.Добавить(Тип(“ЭлементОтбораКомпоновкиДанных”));
    ОтборПроведен.ИдентификаторПользовательскойНастройки = “Проведен”;
    ОтборПроведен.Использование = Истина;
    ОтборПроведен.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(“Проведен”);
    ОтборПроведен.ПравоеЗначение = Истина;
    ОтборПроведен.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
     
    ОтборДата = ОтборГруппа.Элементы.Добавить(Тип(“ГруппаЭлементовОтбораКомпоновкиДанных”));
    ОтборДата.Использование = Истина;
    ОтборДата.ИдентификаторПользовательскойНастройки = “Дата”;
    ОтборДата.Применение = ТипПримененияОтбораКомпоновкиДанных.Элементы;
    ОтборДата.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ;
    ТекДата = ТекущаяДата();
     
    ОтборДатаНачала = ОтборДата.Элементы.Добавить(Тип(“ЭлементОтбораКомпоновкиДанных”));
    ОтборДатаНачала.ИдентификаторПользовательскойНастройки = “ДатаНачала”;
    ОтборДатаНачала.Использование = Истина;
    ОтборДатаНачала.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(“Дата”);
    ОтборДатаНачала.ПравоеЗначение = НачалоДня(ТекДата);
    ОтборДатаНачала.ВидСравнения = ВидСравненияКомпоновкиДанных.БольшеИлиРавно;
     
    ОтборДатаОкончания = ОтборДата.Элементы.Добавить(Тип(“ЭлементОтбораКомпоновкиДанных”));
    ОтборДатаОкончания.ИдентификаторПользовательскойНастройки = “ДатаОкончания”;
    ОтборДатаОкончания.Использование = Истина;
    ОтборДатаОкончания.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(“Дата”);
    ОтборДатаОкончания.ПравоеЗначение = КонецДня(ТекДата);
    ОтборДатаОкончания.ВидСравнения = ВидСравненияКомпоновкиДанных.МеньшеИлиРавно;
     
    // раскрасим
    ДобавитьЭлементОформления(ФормаСписка.Список.УсловноеОформление, “Красный”, WebЦвета.Красный);
    ДобавитьЭлементОформления(ФормаСписка.Список.УсловноеОформление, “Желтый”, WebЦвета.Желтый);
    ДобавитьЭлементОформления(ФормаСписка.Список.УсловноеОформление, “Зеленый”, WebЦвета.БледноЗеленый);
     
    ФормаСписка.Открыть();
     
    Отказ = Истина;
    КонецПроцедуры
     
    &НаСервере
    Функция ПолучитьЦвет(Цвет)
     
    Если Цвет = “Красный” Тогда
    Возврат Перечисления.Цвета.Красный;
    ИначеЕсли Цвет = “Желтый” Тогда
    Возврат Перечисления.Цвета.Желтый;
    ИначеЕсли Цвет = “Зеленый” Тогда
    Возврат Перечисления.Цвета.Зеленый;
    КонецЕсли;
     
    КонецФункции
     
    &НаКлиенте
    Процедура ДобавитьЭлементОформления(Оформление, ЦветСтрока, Цвет)
     
    ЭлементОформления = Оформление.Элементы.Добавить();
    ЭлементОформления.Использование = Истина;
    ОтборКрасный = ЭлементОформления.Отбор.Элементы.Добавить(Тип(“ЭлементОтбораКомпоновкиДанных”));
    ОтборКрасный.Использование = Истина;
    ОтборКрасный.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(“Цвет”);
    ОтборКрасный.ПравоеЗначение = ПолучитьЦвет(ЦветСтрока);
    ОтборКрасный.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
    ЭлементОформления.Оформление.УстановитьЗначениеПараметра(“ЦветФона”, Цвет);
     
    КонецПроцедуры
    </code>
     
    Обратная связь:

    Практически весь материал был для меня новым.
    Проблем при изучении не возникло.
    Темы по оптимизации производительности.

  3. Задание выполнил.
    1) Создал обработку, в качестве основного реквизита использовал динамический список с основной таблицей реализаций. Основная идея – в обработке в ПриСозданииНаСервере() создаем отбор списка и добавляем в него сперва группу ИЛИ а в нее уже 1) отбор по сво-ву “Проведен” 2) Группа И в которой сидят отборы по >= Дата <
    <code>
    Отбор = Список.Отбор.Элементы.Добавить(Тип(“ГруппаЭлементовОтбораКомпоновкиДанных”));
    Отбор.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли;
    //отбор проведенных
    ЭлементОтбора = Отбор.Элементы.Добавить(Тип(“ЭлементОтбораКомпоновкиДанных”));
    ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(“Проведен”);
    ЭлементОтбора.ПравоеЗначение = Истина;
    ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;    
    ЭлементОтбора.Использование = Истина;
    //отбор по дате, сперва добавляем группу по “И”
    ГруппаОтбора = Отбор.Элементы.Добавить(Тип(“ГруппаЭлементовОтбораКомпоновкиДанных”));
    ГруппаОтбора.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ;
    //теперь добавляем элемент >=
    ЭлементОтбора = ГруппаОтбора.Элементы.Добавить(Тип(“ЭлементОтбораКомпоновкиДанных”));
    ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(“Дата”);
    ЭлементОтбора.ПравоеЗначение = НачалоДня(ТекущаяДата());
    ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.БольшеИлиРавно;    
    ЭлементОтбора.Использование = Истина;
    //добавляем элемент <
    ЭлементОтбора = ГруппаОтбора.Элементы.Добавить(Тип(“ЭлементОтбораКомпоновкиДанных”));
    ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(“Дата”);
    ЭлементОтбора.ПравоеЗначение = КонецДня(ТекущаяДата());
    ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Меньше;    
    ЭлементОтбора.Использование = Истина;
    </code>
    Для запуска обработки при старте системы в параметрах запуска ИБ прописал ключ /Execute (путь к обработке).
    2) Добавил Перечисление Цвета со значениями Красный, Синий, Желтый. Для реализации добавил реквизит Цвет, тип перечисление.
    Для раскраски использовал свойство динамического списка УсловноеОформление. Устанавливаю также в ПриСозданииНаСервере()
    <code>
    ЭлементОформления = Список.УсловноеОформление.Элементы.Добавить();
    //добавляем элемент отбора по цвету
    ЭлементОтбора = ЭлементОформления.Отбор.Элементы.Добавить(Тип(“ЭлементОтбораКомпоновкиДанных”));
    ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(“Цвет”);
    ЭлементОтбора.ПравоеЗначение = Перечисления.Цвета.Красный;
    ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;    
    ЭлементОтбора.Использование = Истина;
    //устанавливаем оформление
    ЭлементОформления.Оформление.УстановитьЗначениеПараметра(“ЦветФона”, WebЦвета.Красный);
    </code>
    Для остальных цветов аналогично.
    ==================================
    Обратная связь:
    1. Не скажу что узнал много нового, но кое-какие фишки все же попадались. До этого мало использовал критерии отбора, теперь наконец понял как это устроено. Понравилась глава по запросам.
    2. Затруднений не возникало. Честно говоря меня даже не покидало ощущение какой-то расслабленности, даже на базовом курсе нагрузка казалась сильнее, то ли это я так поумнел в процессе? :)
    3. Хотелось бы побольше информации по работе с различными СУБД, хотя наверно это выходит за рамки данного курса.

  4. Обратная связь.
    Что нового? Команды, новые “фишки” с запросами, построитель запроса, вопросы оптимизации и конечно работа с формами.
    Сейчас изучаю второй блок. Очень понравилась глава 9 “Кейсы”. Хотелось бы побольше таких  отступлений, чтобы потом не ломать голову, распутывая реализацию решения в типовой.

  5. Создала внешнюю обработку, на форме разместила динамический список, основная таблица – документ «Реализация». Документу Реализация добавлен реквизит «Цвет» , тип – перечисление «Цвет»
    В процедуре обработки «ПриСозданииНаСервере» добавила группу элементов отбора.
    ОтборДокументов=СписокДокументов.Отбор.Элементы.Добавить(тип(“ГруппаЭлементовОтбораКомпоновкиДанных”));
    ОтборДокументов.ТипГруппы=ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли;
    Этой группе добавила элемент отбора для проверки условия Проведен=истина.
    Этой же группе добавила новую группу элементов отбора
    ОтборДата=ОтборДокументов.Элементы.Добавить(Тип(“ГруппаЭлементовОтбораКомпоновкиДанных”));
    ОтборДата.ТипГруппы=ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ;
    В ней добавляю 2 элемента для проверки даты: >= НачалоДня(ТекущаяДата()) и <= КонецДня(ТекущаяДата())
    Для установки цвета добавила 3 элемента оформления для каждого цвета:
    Оформление1=СписокДокументов.УсловноеОформление.Элементы.Добавить();
    Оформление1.Использование=Истина;
    ОтборЦвет1=Оформление1.Отбор.Элементы.Добавить(Тип(“ЭлементОтбораКомпоновкиДанных”));
    ОтборЦвет1.ЛевоеЗначение= Новый ПолеКомпоновкиДанных(“Цвет”);
    ОтборЦвет1.ПравоеЗначение=Перечисления.Цвета.Желтый;
    ОтборЦвет1.ВидСравнения=ВидСравненияКомпоновкиДанных.Равно;
    Оформление1.Оформление.УстановитьЗначениеПараметра(“ЦветФона”, WebЦвета.Желтый);
    И так же для других цветов.
     
    Обратная связь:
     1. В каждом разделе было что-то новое.
    2. Сложности были по программированию сложных запросов. Пока преодолеть не удалось, нет времени на повторный пересмотр уроков. Буду возвращаться к этой теме позже.
    3.Любая тема будет интересна.

  6. Задание выполнил.
    Для удобства создал основной реквизит форма обработки типа ДинамическийСписок и основная таблица РеализацияТоваровУслуг (чтобы не привязыватся к имени основного реквизита списка документов в конфигурации и не заморачиваться с открытием формы). Т.к. требуется выбор варианта открытия (проведенные или текущей датой), то весь код расположил в событии ПриОтрытии (по уму надо было делать две формы: ФормаВыбораВарианта и ФормуСписка, что бы все отборы и оформление происходили ПриСозданииНаСервере в ФормеСписка после выбора варианта).  Имя обработки указал в дополнительных параметрах запуска для ключа /Execute.
    <code>
    &НаКлиенте
    Процедура ПриОткрытии(Отказ)
    СписокЗначений=Новый СписокЗначений;
    СписокЗначений.Добавить(“Дата”,”Только текущей датой”);
    СписокЗначений.Добавить(“Проведен”,”Только проведенные”);
    ВыбЭлемент =СписокЗначений.ВыбратьЭлемент(“Способ отбора”);
    Если ВыбЭлемент=Неопределено Тогда
    Отказ=Истина;
    Возврат
    КонецЕсли;
    Элемент=Список.Отбор.Элементы.Добавить(Тип(“ЭлементОтбораКомпоновкиДанных”));
    Элемент.Использование=Истина;
    Если ВыбЭлемент.Значение=”Проведен” Тогда
    Элемент.ВидСравнения=ВидСравненияКомпоновкиДанных.Равно;
    Элемент.ЛевоеЗначение=Новый ПолеКомпоновкиДанных(“Проведен”);
    Элемент.ПравоеЗначение=Истина;
    Иначе
    Дата=ТекущаяДата();
    Элемент.ВидСравнения=ВидСравненияКомпоновкиДанных.БольшеИлиРавно;
    Элемент.ЛевоеЗначение=Новый ПолеКомпоновкиДанных(“Дата”);
    Элемент.ПравоеЗначение=НачалоДня(Дата);
    Элемент=Список.Отбор.Элементы.Добавить(Тип(“ЭлементОтбораКомпоновкиДанных”));
    Элемент.Использование=Истина;
    Элемент.ВидСравнения=ВидСравненияКомпоновкиДанных.МеньшеИлиРавно;
    Элемент.ЛевоеЗначение=Новый ПолеКомпоновкиДанных(“Дата”);
    Элемент.ПравоеЗначение=КонецДня(Дата);
    КонецЕсли;

    ЭлементУсловногоОформления =Список.УсловноеОформление.Элементы.Добавить();
    ЭлементУсловногоОформления.Использование=Истина;
    ЭлементОтбора=ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип(“ЭлементОтбораКомпоновкиДанных”));
    ЭлементОтбора.ЛевоеЗначение=Новый ПолеКомпоновкиДанных(“ЦветДокумента”);
    ЭлементОтбора.ПравоеЗначение=ПредопределенноеЗначение(“Перечисление.ЦветаДокументов.Красный”);
    ЭлементОтбора.ВидСравнения=ВидСравненияКомпоновкиДанных.Равно;
    ЭлементыОформления=ЭлементУсловногоОформления.Оформление.Элементы;
    ЦветФона=ЭлементыОформления.Найти(“ЦветФона”);
    ЦветФона.Значение=Новый Цвет(255,0,0);
    ЦветФона.Использование=Истина;
    КонецПроцедуры

    </code>
    Для краткости опустил установку оформления для цветов зеленый, желтый.

  7. ДЗ выполнил!
    Т.к. по условию в док. Реализация услуг должен устанавливаться цвет, то сначала доработал конфигурацию – добавил новый реквизит Цвет с типом перечисление.цветаДокументов.
    Создал обработку “ЖурналРеализаций”, с динамическим списком у которого основная таблица документ РеализацияТоваров.
    Для выполнения условий по отбору и оформлению добавил в процедуре ПриСозданииНаСервере создание группы элементов отбора с типом “ГруппаИЛИ” и в эту группу добавил отборы по проведен и дате документа; а также добавил оформление в зависимости от значения реквизита документа Цвет.
    Для автоматического запуска внешней обработки при запуске системі использовал параметр                  /Execute.
    Обратная связь:
    – 1 глава была практически новым материалом для меня.
    –  наибольшие трудности возникли при проектировании сложных запросов, а преодолеть их мне помогло предварительная разработка схемы получения данных и многократный пересмотр уроков:)
     

  8. ДЗ выполнено.

    1. Создал внешнюю обработку, в ней управляемую форму. Изменил параметры запуска базы, указав после ключа /Execute полное имя обработки. На форме разместил динамический список, тип ОсновнойТаблицы – Документ.РеализацияТоваровУслуг. Отбор делаю в процедуре ПриСозданииНаСервере(). В коллекцию Список.Отбор.Элементы добавляю “ГруппаЭлементовОтбораКомпоновкиДанных”, тип группы = ГруппаИли. В получившейся группе получается две ветки отбора по коллекции Группа.Элементы.Добавить(Тип(“ЭлементОтбораКомпоновкиДанных”)) по:
    – значение отбора Проведен = истина.
    – значение отбора Дата >= НачалоТекущегоДня и <= КонецТекущегоДня

    2. Для документа РеализацияТоваровИУслуг создал реквизит Цвет типа перечисление “Цвета документов”со значениями Красный, Зеленый и Желтый. В процедуре ПриСозданииНаСервере() написал код для определения цвета текста документа по реквизиту документа Цвет. Для этого создал три элемента условного оформеления для каждого цвета. И далее, если для документа значение перечисления Желтый, то для значения Цвет подставляется оформление соответствующее желному цвету и т.д.

    Обратная связь
    1. Буквально в каждой главе открывал для себя что-то новое. Из совсем нового – до этого не сталкивался с обменом (только не помню, это материал 0-го блока или 1-го).
    2. Затруднений не возникло, материал очень подробно разобран.
    3. После просмотра видео-уроков вопросов не возникает, хочется попробовать все сделать самому, было бы время. Вероятно, если осилить все главы так, чтобы знания отложились в подкорке – станешь суперспецом :)

  9. 1.Совсем без вмешательства в конфигурацию можно обойтись только если передать в параметрах запуска указание на выполнение внешней обработки (параметр ключа Execute) по другому написаный код ен получит управления, раз так и было желательно сделал в точности так.
    Во внешней обработке на форме разместил димамический список для перечня документов “РеализацияТоваровИУслуг”
    Как вариант можно было указать в прямом запросе все условия отбора, но тогда будет несколько неправильно, т.к. пользователь
    не сможет их изменить поэтому сделал так как сделал по другому:

    Отбор1 = Список.Отбор.Элементы.Добавить(Тип(“ГруппаЭлементовОтбораКомпоновкиДанных”));
    Отбор1.ТипГруппы =  ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли;
    Отбор = Отбор1.Элементы.Добавить(Тип(“ЭлементОтбораКомпоновкиДанных”));
    Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(“Проведен”);
    и т.д. таким образом, что создан отбор верхняя группа отбора получилась ИЛИ в ней одно условие
    (проведённый документ) и подгруппа И у которой сделал 2 условия на текущую дату (>= и <=).

    2.В процедуре “ПриСозданииНаСервере” формы списка документа сделал следующее:
    2.1.Добавил новое оформелние, в отборе условие не указывал, установил в параметрах оформления: цвет текста – жёлтый.
    2.2.Добавил новое оформелние, условие отбора: номер “Равно” 231, оформление цвет текста – синий.
    2.3.аналогично 2.2. тоько номер “Равно” 448, оформление цвет текста – красный.
    Того-же результата можно было добиться настройкой списка в пользовательском режиме не написав ни 1 строки кода.
    Примечание: на самом деле в той учебной конф. нет документов вида “Реализация товаров” а у документа “РеализацияТоваровИУслуг” нет документов с номерами как в задаче, так что эксперементировал над другим видом документов с другими номерами, ну хотя это не принципиально.

    3.Практически весь материал новый.
    Наиболее сложно шли пакетные запросы и управляемые формы (возможно т.к. наследуются от СКД над которыми мне ещё работать и работать). Тут кроме практического решения задач других способов нет.
    Наверняка про оптимизацию ещё много чего можно раскрыть – хотелось-бы продолжения. И уже было в пожеланиях – про планирование и  проектирование конфигураций, тоже полезная тема.

  10. ДЗ выполнил.
    1.Создал внешнюю обработку. В ней создал пустую форму, в обработчике открытия которой вызываю ПолучитьФорму(“Документ.Реализация.ФормаСписка”). Далее для получаемой формы устанавливаю отбор для списка. В отборе в коллекцию Элементы добавляю “ГруппаЭлементовОтбораКомпоновкиДанных” (ГруппаИли), для группы – в ее коллекцию добавляю два элемента типа 
    “ЭлементОтбораКомпоновкиДанных” со значениями “Проведен” = Истина и “Дата” >=НачалоЭтогоДня. По всем добавляемым элементам выставляю Использование в истину, открываю форму списка и закрываю форму обработки. Обработка запускается с параметром командной строки /Execute.
    2.Задачу решил сделать с использованием произвольного количества цветов. Для чего создал обработку ВыборЦвета, в параметры формы которой передается массив выделенных строк из списка документов. Этот массив загружается во внутренний реквизит формы. Далее пользователь выбирает цвет выбранных строк и при нажатии на кнопку производится запись цвета в соотв.документы. Т.к. хранить цвет в БД в явном виде нет возможности, то пришлось сохранять в виде строки, предварительно преобразовав его в ЗначениеВСтрокуВнутр(Цвет). Далее для формы списка создал кнопку УстановитьЦвет, при нажатии на которую модально открывается форма обработки. При выборе цвета из обработки,  а также при создании формы списка выполняется процедура, в которой запросом по документам выбираются различные цвета. Далее в цикле по выборке получаю цвет как ЗначениеИзСтрокиВнутр(Выборка.Цвет), формирую список элементов оформления, и у каждого элемента оформления устанавливаю элемент отбора (“Цвет”=Выборка.Цвет).
    Обратная связь:
    1.Временные таблицы, Менеджер ВТ. Узнал, что это мощный и удобный инструмент. Ну и в остальном – масса нового.
    2.Затруднений не возникло.
    3.На ваш выбор.

  11. Создал внешнюю обработку, на форме которой разместил динамический список. В качестве основной таблицы динамического списка указал Документ.РеализацияТоваровИУслуг.
    Для того чтобы данная обработка открывалась пи запуске системы изменил настройки параметров запуска ИБ, указав в дополнительных параметрах запуска ключ /Execute и далее в кавычках полное имя моей обработки.
    Для реализации отбора в процедуре ПриСозданииНаСервере, сначала добавил группу элементов отбора компоновки данных у которой установил свойство ТипГруппы в ГруппаИЛИ. Далее уже в этой группе добавил элемент отбора, в котором реализовал сравнение вида: Проведен=Истина. Затем в этой же группе добавил новую группу типа ГруппаИ и вней добавил два элемента для Даты документа, первый на больше или равно НачалоДня(ТекущпяДата()), второй меньше или равно КонецДня(ТекущаяДата()).
    Создал перечисление «Цвета реализация» с тремя значениями «Красный», «Зеленый» и «Желтый». Добавил в документ реализация реквизит цвет типа созданного ранее перечисления.
    В той же процедуре ПриСозданииНаСервере обработки добавил три элемента условного оформления, каждый для своего цвета, отличающиеся только правым значением элементов отбора и вторым параметром метода УстановитьЗначениеПараметра.
    Обратная связь:

    Что нового я узнал в первом блоке или в чем поменялись взгляды после изучения материала?

    Практически весь материал для меня был новым.

    В какой теме были наибольшие затруднения, и что помогло их преодолеть?

    Затруднений при изучении не возникло, все излагается подробно и доступно.

    Какую тему, имеющую отношение к текущему блоку, вы  бы хотели подробнее раскрыть в мастер-группе?

    Вопросы оптимизации, методики поиска узких мест и повышения производительности конфигураций.