Имя: Пароль:
1C
1С v8
Получение области строки в процедуре ПриКомпоновкеРезультата
,
0 first_may
 
30.05.15
13:09
Добрый день.

Использую поцедуру ПриКомпоновкеРезультата что бы выводить отчет самому.

В процессе вывода
    //Основной цикл вывода отчета
    Пока Истина Цикл
        // получим следующий элемент результата компоновки
        ЭлементРезультата = ПроцессорКомпоновки.Следующий();

при некотором условии хочу шрифт строки сделать красным, но не получается получить область.

Пробую
                            Для Кл = 1 По ДокументРезультат.ШиринаТаблицы Цикл
                                Для Ст = ДокументРезультат.ВысотаТаблицы По ДокументРезультат.ВысотаТаблицы Цикл
                                    ТекОблать = ДокументРезультат.ПолучитьОбласть(Ст, Кл, Ст, Кл);
                                    ТекОблать.ТекущаяОбласть.ЦветТекста = Новый Цвет(255, 0, 0);
                                КонецЦикла;
                            КонецЦикла;

но ничего не получается. Подскажите пожалуйста.
1 Zhuravlik
 
30.05.15
13:58
(0) Почему не условным оформлением?
2 first_may
 
30.05.15
14:36
(1) пробовал, не получается. может быть когда в этой процедуре пишешь

СтандартнаяОбработка = Ложь

то условное форматирование не работает?
3 Armando
 
30.05.15
15:58
(2) работает. что за условие?
4 first_may
 
30.05.15
16:03
(3) вот.. в цикле
    //Основной цикл вывода отчета
    Пока Истина Цикл
        // получим следующий элемент результата компоновки
        ЭлементРезультата = ПроцессорКомпоновки.Следующий();

делаю проверку и меняю значение текста в колонке
ЭлементРезультата.ЗначенияПараметров.Получить(7).Значение = ЭлементРезультата.ЗначенияПараметров.Получить(7).Значение + " (уволен)";


Дальше в СКД на вкладке условное оформление добавляю:

Оформление - Условие - Оформляемые поля
Цвет текста - Сотрудник.Наименование Содержит "уволен" - Номенклатура, СерийныйНомер, Комментарий, СистемныеПоля.НомерПоПорядку

Ничего не меняется.
5 Armando
 
30.05.15
16:17
(4) епт конечно не будет работать
6 first_may
 
30.05.15
16:22
(5) а как надо сделать?
7 Armando
 
30.05.15
16:23
Надо сделать так, чтоб проверку можно было выполнить в условном оформлении
8 first_may
 
30.05.15
16:27
в коде что то надо написать?
9 Armando
 
30.05.15
16:44
Почему "(уволен)" нельзя дописать сразу в запросе? тогда условное оформление будет работать
10 first_may
 
30.05.15
16:49
(9) потому что "уволен" я прибавляю тогда, когда получаю этот флажок из другой базы. именно поэтому и и использую процедуру ПриКомпоновкеРезультата с условием
СтандартнаяОбработка = Ложь
11 first_may
 
30.05.15
16:54
поэтому и хочу получить область, что бы изменить шрифт.
12 Armando
 
30.05.15
17:34
"уволен" я прибавляю тогда, когда получаю этот флажок из другой базы.

нельзя это делать в вычисляемом поле, используя функцию общего модуля?
13 first_may
 
30.05.15
17:37
(12) я не знаю как это сделать? есть пример?
14 first_may
 
30.05.15
18:04
(12) "используя функцию общего модуля" - это про какой модуль?
15 Armando
 
30.05.15
18:10
16 first_may
 
30.05.15
18:20
(15) я делаю
1 пишу свою функцию
2 "Если компоновка данных выполняется при помощи стандартных средств объекта Отчет" - понимаю я так и буду делать
3 как в скд вызвать мою функцию?
17 first_may
 
30.05.15
18:23
(15) а получить все таки область табличного документа и покрасить его - нельзя так? :)
18 RomanYS
 
30.05.15
18:47
(10) получи всех уволенных заранее, засунь их в параметр
19 first_may
 
30.05.15
18:57
(18) то есть
1 получаю уволенные и передаю как параметр эту таблицу
2 в запросе скд проверяю сотрудник входит в этот список или нет - получаю флажок
3 в условном оформлении проверяю этот флаг и окрашиваю

можно попробовать
20 first_may
 
30.05.15
23:03
(18) СПАСИБО, ПОЛУЧИЛОСЬ!!!

ТЕМА ЗАКРЫТА.