|
ЦветФона в ПолеТекстовогоДокумента |
☑ |
0
RX4
13.01.12
✎
15:36
|
8.2, внешний отчет, вывод в ПолеТекстовогоДокумента на Форме отчета;
Возникает ошибка "Поле объекта не обнаружено (ЦветФона)"
строкаОблЦена = Макет.ПолучитьОбласть("Строка|ОбластьТипЦен");
строкаОблЦена.Параметры.Цена = строкаТЗ.Цена;
Если РазницаВЦене > 0.02 Тогда строкаОблЦена.ЦветФона = ЦветЗеленый
ИначеЕсли РазницаВЦене < 0.02 Тогда строкаОблЦена.ЦветФона = ЦветКрасный
КонецЕсли;
Возможно ли менять в ПолеТекстовогоДокумента ЦветФона по условию? Как?
|
|
1
Mort
13.01.12
✎
15:38
|
В поле текстового докмента нельзя. В форматированный документ разве что выводить.
|
|
2
RX4
13.01.12
✎
15:41
|
Жалко. Все работает,
попросили только цены раскрасить по условию,
и прийдется выводить в отдельный табличный документ.
|
|
3
MatrosoV AleXXXand_R
13.01.12
✎
15:43
|
Сохранить цвет в переменную ТекЦвет, а потом после вывода секции получить область уже из табличного документа, и установить цвет фона из этой переменной
|
|
4
RX4
13.01.12
✎
15:46
|
(3) Да при чем здесь переменная ?
Для области на ПолеТекстовогоДокумента свойство ЦветФона недоступно.
|
|
5
MatrosoV AleXXXand_R
13.01.12
✎
15:52
|
Я вот про что написал. Примерно сделать вот так -
ТабДокумент.Вывести(строкаОблЦена);
Область = ТабДокумент.Область(ТабДокумент.ВысотаТаблицы()-1,ТабДокумент.ШиринаТаблицы()-1,ТабДокумент.ВысотаТаблицы(),ТабДокумент.ШиринаТаблицы());
Область.ЦветФона = ТекЦвет;
|
|
6
RX4
13.01.12
✎
15:55
|
Возникает ошибка "Поле объекта не обнаружено (ЦветФона)"
|
|
7
Mort
13.01.12
✎
15:56
|
(5) Тему внимательно прочитай.
|
|
8
Mort
13.01.12
✎
15:57
|
(5) Плюс в твоём случае пишется проще:
Область = ТабДокумент.Вывести(строкаОблЦена);
Область.ЦветФона = ТекЦвет;
|
|
9
RX4
13.01.12
✎
15:59
|
Да, если вывод идет в ТабличныйДокумент - вопроса нет.
|
|
10
Mort
13.01.12
✎
15:59
|
+(8) Хотя не, так всю область закрасит, в крайнюю ячейку добираться нужно через ТабДок, но в любом случае координаты надежнее брать из выведенной области (Лево, Верх)
|
|
11
RX4
13.01.12
✎
17:02
|
прикольно, но работает вот так:
РазницаВЦене = строкаТЗ.Цена - НормЦена;
строкаОблЦена.Параметры.Цена = строкаТЗ.Цена;
Если РазницаВЦене > 0.02 Тогда строкаОблЦена.Область().ЦветФона = ЦветЗеленый
ИначеЕсли РазницаВЦене < -0.02 Тогда строкаОблЦена.Область().ЦветФона = ЦветКрасный
Иначе строкаОблЦена.Область().ЦветФона = WebЦвета.Белый;
КонецЕсли;
ТабДок.Присоединить(строкаОблЦена);
Причем работает и при выводе в ТабличныйДокумент,
и при выводе в ПолеТабличногоДокумента.
|
|