![]() |
|
программное изменение печатной формы | ☑ | ||
---|---|---|---|---|
0
Zoopst
31.05.12
✎
15:04
|
Всем добрый день!
Есть печатная форма с табличной частью. Надо, в зависимости от определенного условия, либо выделить жирным строку таблицы, либо оставить как в макете. Помогите это реализовать. Мой код почему-то не работает, хотя в отладчике параметры шрифта меняются ... Область = Макет.ПолучитьОбласть("Элемент"); НовыйШрифт = Новый Шрифт (Область.ТекущаяОбласть.Шрифт,,,Истина); // получили такой же шрифт, но жирный // Выборка номенклатуры. Пока ВыборкаСтрок.Следующий() Цикл Если ВыборкаСтрок.Параметр>0 Тогда Область.ТекущаяОбласть.Шрифт = НовыйШрифт; КонецЕсли; Область.Параметры.Заполнить(ВыборкаСтрок); ТабДокумент.Вывести(Область); КонецЦикла; ... Что не так? |
|||
1
Buster007
31.05.12
✎
15:08
|
мне кажется, что надо сначала вывести, а потом менять шрифт.
|
|||
2
Buster007
31.05.12
✎
15:09
|
+(1) но после вывода, получать область по параметру Область будет неверно
|
|||
3
Wobland
31.05.12
✎
15:10
|
так работает:
Область2.Область("R1C7").ЦветФона=?(Выборка.Отдел>0, ЖёлтыйЦвет, БелыйЦвет); ТабДок.Вывести(Область2); |
|||
4
Zoopst
31.05.12
✎
15:36
|
Область2.Область("R1C7").ЦветФона=?(Выборка.Отдел>0, ЖёлтыйЦвет, БелыйЦвет);
так работает но криво. вместо раскрашивания текущей ячейки добавляет ряд строк и в последней раскрашивает |
|||
5
Wobland
31.05.12
✎
15:48
|
(4) врёшь ведь. у меня R1
|
|||
6
Zoopst
31.05.12
✎
15:48
|
никто не в курсе почему теперь лишние строки добавляются и шрифт меняется только в последней
а текущая строка как есть так и осталась |
|||
7
Zoopst
31.05.12
✎
15:49
|
Область = Макет.ПолучитьОбласть("Элемент");
НовыйШрифт = Новый Шрифт (Область.ТекущаяОбласть.Шрифт,,,Истина); // получили такой же шрифт, но жирный // Выборка номенклатуры. Пока ВыборкаСтрок.Следующий() Цикл Область.Параметры.Заполнить(ВыборкаСтрок); //Область.Параметры.НомерСтроки = Ном; Если ВыборкаСтрок.ЗаголовокПеречня=1 Тогда Область.Область("R7C3").Шрифт = НовыйШрифт; КонецЕсли; ТабДокумент.Вывести(Область); КонецЦикла; При таком варианте в ячейке R7C3 шрифт меняется, но не в текущей строке таблицы а в новой строке, которая добавляется после текущей |
|||
8
Wobland
31.05.12
✎
15:52
|
(7) а в седьмой. а в области у тебя одна строка
|
|||
9
Zoopst
31.05.12
✎
16:00
|
вроде получилось
надо было вместо Область.ТекущаяОбласть.Шрифт = НовыйШрифт; писать Область.Область().Шрифт = НовыйШрифт; меняется для всей строки. Правда непонятно как с отдельными ячейками быть |
|||
10
Zoopst
31.05.12
✎
16:01
|
Вот непонятно почему
Область.Область().Шрифт = НовыйШрифт; отрабатывает нормально, а Область.Область("R7C3").Шрифт = НовыйШрифт; добавляет лишние пустые строки |
|||
11
Wobland
31.05.12
✎
16:03
|
(10) перевести (8)?
|
|||
12
Zoopst
31.05.12
✎
16:12
|
???
получается так текст11 текст12 текст13 текст14 текст15 <пустая строка> <пустая строка> <пустая строка> <пустая строка> <пустая строка> <пустая строка с измененным шрифтом в ячейке> текст21 текст22 текст23 текст24 текст25 <пустая строка> <пустая строка> <пустая строка> <пустая строка> <пустая строка> <пустая строка с измененным шрифтом в ячейке> |
|||
13
Zoopst
31.05.12
✎
16:13
|
всего строк в таблице 9 колонок 5
почему добавляется 6 строк и в 6-й меняется шрифт |
|||
14
Wobland
31.05.12
✎
16:17
|
(13) смотри на количество строк в _области_. у тебя седьмой строки там нет, оно тебе и добавляет. ты ж седьмую просил ;)
|
|||
15
Zoopst
31.05.12
✎
16:27
|
Ага. теперь все нормально
Спасибо |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |