Имя: Пароль:
1C
 
Построитель отчета и УсловноеОформление. Не раскрашиваются строки
0 Poez9
 
24.12.14
15:35
Есть старый отчет,написан с помощью построителя.
Требуется по условию раскрасить строки.
Вот такой текст:

Процедура ОтчетВывести()
    //{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПОСТРОИТЕЛЬОТЧЕТА_ВЫПОЛНИТЬ(Отчет)
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
    

    ПостроительОтчетаОтчет.Текст =
    "ВЫБРАТЬ
    |    Командировки.Командируемый КАК ФИОкомандируемого,
    |    РаботникиОрганизацийСрезПоследних1.Должность КАК ДолжностьКомандируемого,
    |    Командировки.ДатаНачала КАК ДатаНачалаКомандировки,
    |    Командировки.ДатаОкончания КАК ДатаОкончанияКомандировки,
    |    Командировки.ВремяОкончания КАК ВремяОкончанияКомандировки,
    |    Командировки.Инициатор КАК ИнициаторКомандировкиФИО,
    |    РаботникиОрганизацийСрезПоследних.Должность КАК ИнициаторКомандировкиДолжность,
    |    Командировки.Плановый,
    |    Командировки.ПриказНомер,
    |    Командировки.ПриказДата,
    |    Командировки.МестоКомандировки,
    |    Командировки.ЦельКомандировки,
    |    Командировки.ОтчетОКомандировке,
    |    Командировки.ОтметкаОСМ,
    |    Командировки.КомментарийОСМ,
    |    Командировки.УходВКомандировку КАК УходКПП,
    |    Командировки.ПриходИзКомандировки КАК ПриходКПП
    |ИЗ
    |    Документ.Командировки КАК Командировки
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций.СрезПоследних КАК РаботникиОрганизацийСрезПоследних
    |        ПО Командировки.Инициатор.ФизЛицо = РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо
    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций.СрезПоследних КАК РаботникиОрганизацийСрезПоследних1
    |        ПО Командировки.Командируемый.ФизЛицо = РаботникиОрганизацийСрезПоследних1.Сотрудник.Физлицо
    |ГДЕ
    |    Командировки.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
    |    И Командировки.Проведен = ИСТИНА" + ?(ЗначениеЗаполнено(Отдел),"
    |    И Командировки.КомандируемыйПодразделение = (&Отдел)","") + ?(ЗначениеЗаполнено(Сотрудник),"
    |    И Командировки.Командируемый =(&Сотрудник)","") + "
    |{ГДЕ
    |    Командировки.Командируемый}
    |УПОРЯДОЧИТЬ ПО
    |    ФИОкомандируемого
    |АВТОУПОРЯДОЧИВАНИЕ";
    
    ЭлементыФормы.ПолеТабличногоДокумента.Очистить();
    
    Условие = ПостроительОтчетаОтчет.УсловноеОформление.Добавить("ФИОкомандируемого","ФИОкомандируемого");
    Условие.Область.Добавить("ФИОкомандируемого", "ФИОкомандируемого", ТипОбластиОформления.Группировка);
    Условие.Отбор.Добавить("ФИОкомандируемого");
    Условие.Отбор["ФИОкомандируемого"].Использование = Истина;
    Условие.Отбор["ФИОкомандируемого"].Значение = Справочники.ЗаявкиСотрудники.НайтиПоКоду("000000290");
    Условие.Отбор["ФИОкомандируемого"].ВидСравнения = ВидСравнения.НеРавно;
    Условие.Оформление.ЦветФона.Значение = Новый Цвет(255,255,0);
    Условие.Оформление.ЦветФона.Использование = Истина;
    Условие.Использование = Истина;
    
  
    ПостроительОтчетаОтчет.Параметры.Вставить("ДатаНачала",(ДатаНачала));
    ПостроительОтчетаОтчет.Параметры.Вставить("ДатаОкончания", (ДатаОкончания));
    Если ЗначениеЗаполнено(Отдел) Тогда
        ПостроительОтчетаОтчет.Параметры.Вставить("Отдел", Отдел);
    КонецЕсли;
    Если ЗначениеЗаполнено(Сотрудник) Тогда
        ПостроительОтчетаОтчет.Параметры.Вставить("Сотрудник", Сотрудник);
    КонецЕсли;

    
    ПостроительОтчетаОтчет.ТекстЗаголовка = "Отчет
    |по командировкам
    |с " + Формат(ДатаНачала,"ДФ=dd.MM.yyyy") + " по " + Формат(ДатаОкончания,"ДФ=dd.MM.yyyy") + ?(ЗначениеЗаполнено(Отдел),"
    |по отделу: " + Отдел,"") + ?(ЗначениеЗаполнено(Сотрудник),"
    |по сотруднику: " + Сотрудник,"");
    ПостроительОтчетаОтчет.Выполнить();
    ПостроительОтчетаОтчет.РазмещениеИзмеренийВСтроках = ТипРазмещенияИзмерений.Вместе;
    ПостроительОтчетаОтчет.РазмещениеРеквизитовИзмеренийВСтроках = ТипРазмещенияРеквизитовИзмерений.Отдельно;
    ПостроительОтчетаОтчет.РазмещениеРеквизитовИзмеренийВКолонках = ТипРазмещенияРеквизитовИзмерений.Отдельно;
    ПостроительОтчетаОтчет.МакетОформления = ПолучитьМакетОформления(СтандартноеОформление.Лед);
    ПостроительОтчетаОтчет.Макет = ВнешнийОтчетОбъект.ПолучитьМакет("Отчет");
    ПостроительОтчетаОтчет.ОформитьМакет();
    ПостроительОтчетаОтчет.Вывести(ЭлементыФормы.ПолеТабличногоДокумента);
    ЭлементыФормы.ПолеТабличногоДокумента.АвтоМасштаб = Истина;
    ЭлементыФормы.ПолеТабличногоДокумента.ОриентацияСтраницы = ОриентацияСтраницы.Ландшафт;
    
    //}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ_ПОСТРОИТЕЛЬОТЧЕТА_ВЫПОЛНИТЬ
КонецПроцедуры


В результате вижу,что УсловноеОформление не работает.
Вот для понимания ситуации скрин
http://i.piccy.info/i9/27725dd5f907f788da845d95c466a219/1419424501/43046/847280/Bezymiannyi.jpg
1 Poez9
 
24.12.14
16:43
сам разобрался.
надо было оформление писать перед строчкой
ПостроительОтчетаОтчет.Вывести(ЭлементыФормы.ПолеТабличногоДокумента);
2 Лефмихалыч
 
24.12.14
16:44
я бы на СКД перевел, не приходя в сознание, да и всё
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн