|
Программное изменение шрифта в макете | ☑ | ||
---|---|---|---|---|
0
ghostrid3r
14.02.13
✎
13:22
|
Добрый день подскажите пожалйста как програмно изменить шрифт в макете для родителя номенклатуры ( сделать его курсивом). При этом неизвестно точно в какой строке будет стоять родитель, он может быть в первой в 20, 50 и т.д.(как пример). Есть цикл который обходит выборку с итогами по родителю, и как только он попал на родителя ему нужно изменить шрифт. вывели родителя и опять изменили шрифт на обычный. Цикл вывода в макет.
Пока ВыборкаРодитель.Следующий() Цикл ОбластьМеню.ТекущаяОбласть.Шрифт = Новый Шрифт(,,Истина, Истина); ОбластьМеню.Параметры["Наименование" + НомерСтроки] = ?(ВыборкаРодитель.Родитель.Наименование = "Продукты питания", "Дополнительные блюда", ВыборкаРодитель.Родитель.Наименование); Выборка = ВыборкаРодитель.Выбрать(); Пока Выборка.Следующий() Цикл ОбластьМеню.ТекущаяОбласть.Шрифт = Новый Шрифт(,,Ложь, Ложь); НомерСтроки = НомерСтроки + 1; ОбластьМеню.Параметры["Выхлоп" + НомерСтроки] = Выборка.Количество; ОбластьМеню.Параметры["цена" + НомерСтроки] = Выборка.ценарозн; ОбластьМеню.Параметры["Наименование" + НомерСтроки] = Выборка.Номенклатура.Наименование; КонецЦикла; НомерСтроки = НомерСтроки + 3; КонецЦикла; ЭлементыФормы.Результат.Вывести(ОбластьМеню); ЭлементыФормы.Результат.Вывести(ОбластьПодвал); |
|||
1
Галахад
гуру
14.02.13
✎
13:23
|
Проще итоги выводить в другой области.
|
|||
2
SherifSP
14.02.13
✎
13:26
|
(0) Нельзя так, есть только 1 метод
|
|||
3
ghostrid3r
14.02.13
✎
13:26
|
(1) в какой другой области? просто нужно чтобы в макет вывелся родитель а след строки под ним номенклатура. далее когда другой родитель отделился 2 пустыми строками и так далее.
|
|||
4
SherifSP
14.02.13
✎
13:27
|
(0) Это вывести рядом с выводимой областью еще 1 область с теми же параметрами и вручную присвоить шрифт этой области, выводить ее в зависимости со своим условием
|
|||
5
Галахад
гуру
14.02.13
✎
13:30
|
(3) Ну или как вариант.
Вначале вывести область, а уж затем ее украшать. |
|||
6
НЕА123
14.02.13
✎
13:44
|
(0)
ЭлементыФормы.Результат.Вывести(ОбластьМеню); ЭлементыФормы.Результат.Вывести(ОбластьПодвал); это разве вне цикла? |
|||
7
goleaff2006
14.02.13
✎
13:47
|
делай проверку при выводе Номенклатура.родитель .пустая и меняй шрифт.
|
|||
8
НЕА123
14.02.13
✎
13:49
|
ОбластьМенюРОдитель = ПолучитьОбласть("областьМеню")
ОбластьМенюРОдитель.Область().Шрифт = Новый Шрифт(,,Истина, Истина); ОбластьМенюЭл = ПолучитьОбласть("областьМеню") ОбластьМенюЭл.Область().Шрифт = Новый Шрифт(,,Ложь, Ложь); и лучше перед циклом |
|||
9
Evrepid
14.02.13
✎
14:09
|
2 (7) Не совсем так, Т.к. группа может быть не на 0-м уровне, а значительно ниже.
Надо искать по более сложному признаку, например по ЭтоГруппа() для иерархии групп и подчиненность если иерархия элементов. Как то так. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |