Имя: Пароль:
1C
1С v8
Условие при выводе отчета
, ,
0 GaikA_13rus
 
22.01.14
09:53
Здравствуйте. Помогите пожалуйста, сделала отчет руками с небольшим запросом из справочника "Договоры контрагентов". Выводятся колонки: 1-номер договора, 2-срок его действия и 3-разность дат между текущей датой и сроком действия. Как поставить условие, что если в 3ей колонке выводится дата меньше 30, то выделить эту строку цветом.
1 Fuas4
 
22.01.14
09:54
Если на скд, то условное оформление поможет
2 Wobland
 
22.01.14
09:54
это называется условное оформление. интуитивно всё должно быть понятно
3 GaikA_13rus
 
22.01.14
10:24
Не могу найти. Форму создавала руками без СКД и конструкторов. Данные выводятся в табличную часть, через макет.
4 sapphire
 
22.01.14
10:25
(3) У формы есть свойство "Условное оформление"
5 Fuas4
 
22.01.14
10:27
Еще можно круто закостылить: создать такую же строку, только цветную. И по условию выводить ту или ту. ...Щас меня какахами закидают :)
6 Wobland
 
22.01.14
10:28
(3) самое время открыть для себя СКД
7 GaikA_13rus
 
22.01.14
10:28
8 Fuas4
 
22.01.14
10:30
(7) Правда, учи СКД. Лучше щас потратить больше времени, чем потом свои такие отчеты переписывать
9 GaikA_13rus
 
22.01.14
10:30
(5) А как правильно написать это условие?



Если ОбластьТаблицы.Параметры.ДоПереподписи < 30
Тогда
ОбластьТаблицы.Область("C2").ЦветТекста = Новый Цвет(255,0,0);
КонецЕсли;


Написала так, работает только спервой строкой в выводимом отчете.
10 sapphire
 
22.01.14
10:34
(7) Естестсвенно, в УФ - УО есть :)
11 Fuas4
 
22.01.14
10:34
(9) Ну если уж жечь, то делай прям в макете еще одну строку. Там цвет нужный ставь и Если ОбластьТаблицы.Параметры.ДоПереподписи < 30
Тогда
ОбластьТаблицы = макет.ПолучитьОбласть("МояЦветнаяОбласть"); Иначе
ОбластьТаблицы = макет.ПолучитьОбласть("МояНеЦветнаяОбласть");
КонецЕсли;
12 sapphire
 
22.01.14
10:35
(9) Можно и так
13 sapphire
 
22.01.14
10:35
(11) Ну и чем это лучше?
14 Fuas4
 
22.01.14
10:36
(13) Ничем, я за СКД
15 vhl
 
22.01.14
10:38
К = 1;
Пока Выборка.Следующий() Цикл

К=К+1;
Если ОбластьТаблицы.Параметры.ДоПереподписи < 30 Тогда
ОбластьТаблицы.Область("C"+Формат(к,"ЧГ=")).ЦветТекста = Новый Цвет(255,0,0);
КонецЕсли;

КонецЦикла;
16 vhl
 
22.01.14
10:39
На СКД гораздо проще естественно было бы