|
Условие при выводе отчета |
☑ |
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
|
На СКД гораздо проще естественно было бы
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший