Имя: Пароль:
1C
 
Условное оформление в СКД программно
0 myr4ik07
 
20.07.15
16:01
Привет.
ТекстЗапроса = ТекстЗапроса +"
            |    ТЧЗапасы.Номенклатура,
            |    NULL КАК Сумма,
            |    __Документ.Ссылка,
            |    NULL КАК Контрагент,
            |    __Документ.Комментарий,
            |    __Документ.Организация,
            |    __Документ.Дата,     
            |    __Документ.Автор,
            |    __Документ.СтруктурнаяЕдиница,
            |    __Документ.СтруктурнаяЕдиницаПолучатель
            |ИЗ
            |    Документ."+ИмяДокумента+".Запасы КАК ТЧЗапасы
            |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ."+ИмяДокумента+" КАК __Документ
            |        ПО ТЧЗапасы.Ссылка = __Документ.Ссылка
            |            И (__Документ.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания)
            |            И (__Документ.ПометкаУдаления = ЛОЖЬ)
            |";
СхемаКомпоновкиДанных.НаборыДанных.НаборДанных.Запрос = ТекстЗапроса;
    
    ПоместитьВоВременноеХранилище(СхемаКомпоновкиДанных, АдресСКД);
    
    ИсточникНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСКД);
    КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
    КомпоновщикНастроек.Инициализировать(ИсточникНастроек);
    КомпоновщикНастроек.ЗагрузитьНастройки(Отчет.КомпоновщикНастроек.ПолучитьНастройки());
        
    СтруктураОтчета = КомпоновщикНастроек.Настройки.Структура;
    СтруктураОтчета.Очистить();
    
    ВыбранныеПоля    = КомпоновщикНастроек.Настройки.Выбор.Элементы;
    ВыбранныеПоля.Очистить();
    
    ПоляПолядка    = КомпоновщикНастроек.Настройки.Порядок.Элементы;
    ПоляПолядка.Очистить();
    
    Элемент = ВыбранныеПоля.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));
    Элемент.Использование    = Истина;
    Элемент.Поле            = Новый ПолеКомпоновкиДанных("Ссылка");
    Элемент.Заголовок        = "Документ";
    
    Элемент = ВыбранныеПоля.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));
    Элемент.Использование    = Истина;
    Элемент.Поле            = Новый ПолеКомпоновкиДанных("Контрагент");
    Элемент.Заголовок        = "Контрагент";
        
    Элемент = ВыбранныеПоля.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));
    Элемент.Использование    = Истина;
    Элемент.Поле            = Новый ПолеКомпоновкиДанных("СтруктурнаяЕдиница");
    Элемент.Заголовок        = "СкладОрдер";
    
    Элемент = ВыбранныеПоля.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));
    Элемент.Использование    = Истина;
    Элемент.Поле            = Новый ПолеКомпоновкиДанных("СтруктурнаяЕдиницаПолучатель");
    Элемент.Заголовок        = "СкладПолучатель";
    
    Элемент = ВыбранныеПоля.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));
    Элемент.Использование    = Истина;
    Элемент.Поле            = Новый ПолеКомпоновкиДанных("Комментарий");
        
    Элемент = ВыбранныеПоля.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));
    Элемент.Использование    = Истина;
    Элемент.Поле            = Новый ПолеКомпоновкиДанных("Автор");
    Элемент.Заголовок        = "Ответственный";
    
    //---------------------
    
    ТекущаяВеткаСтруктуры = СтруктураОтчета;
    
    ГруппировкаОтчета = ТекущаяВеткаСтруктуры.Добавить(Тип("ГруппировкаКомпоновкиДанных"));
    ГруппировкаОтчета.Имя = "Ссылка";
    ГруппировкаОтчета.Использование = Истина;
                
    ПолеГруппировки = ГруппировкаОтчета.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных"));
    ПолеГруппировки.ТипГруппировки = ТипГруппировкиКомпоновкиДанных.Элементы;
    ПолеГруппировки.Использование = Истина;
    ПолеГруппировки.Поле = Новый ПолеКомпоновкиДанных("Ссылка");
...........
ну и т.д., не могу разобраться, хочу что бы когда Ссылка = Документ.Поступление товаров тогда один цвет, когда другой документ тогда другой цвет, как это программно реализовать будьте добры, дайте пример