Не получается использовать объект
ШРИФТ с многократно изменяемыми полями. Функции
ВЫВЕСТИ получают параметр с заданными полями, но при выводе используются последние значения полей. На рисунке видно, со 2-й по 10 строку в цикле выводятся разные значения цвета и размера шрифта в функции
ВЫВЕСТИ, но выводятся все строки синим цветом с размером 12. Ниже, в строках с 11 по 20 , в другом цикле, используются 2 разных, однократно заданных в бланке шрифта. Там и вывод ожидаемый. Но иногда бывает удобней установить параметры шрифта по условию, а вывод общий сделать. Никак не заставить бланк так работать?
Код:
// Описания общих переменных и функций
ПЕРЕМ ШРИФТ: ш0,ш1,ш2
ВЫЧИСЛИТЬ
// Предрасчетная часть бланка
ВВЕСТИ
нст=2
ВСТАВИТЬ_СТРОКУ(нст,30)
ш1.цвет=цвКрасный
ш1.размер=15
ш2.цвет=цвСиний
ш2.размер=12
ЦИКЛ ДЛЯ (и=2,10) // в этом цикле поочередно меняем размер и цвет шрифта ш0,
//но при выводе все строки выводятся синим цветом, размером 12
ЕСЛИ ОСТ(и,2)=1 ТО
ш0.цвет=цвКрасный
ш0.размер=15
ИНАЧЕ
ш0.цвет=цвСиний
ш0.размер=12
КОНЕЦ_ЕСЛИ
ВЫВЕСТИ(1,нст,СТР(и)+" "+СТР(ш0.цвет)+" "+СТР(ш0.размер),ш0)
нст++
КОНЕЦ_ЦИКЛА
ЦИКЛ ДЛЯ (и=11,20) // в этом цикле используются шрифты с однократно заданными полями.
//Всё печатается, как ожидалось
ЕСЛИ ОСТ(и,2)=1 ТО
ВЫВЕСТИ(1,нст,СТР(и)+" "+СТР(ш1.цвет)+" "+СТР(ш1.размер),ш1)
ИНАЧЕ
ВЫВЕСТИ(1,нст,СТР(и)+" "+СТР(ш2.цвет)+" "+СТР(ш2.размер),ш2)
КОНЕЦ_ЕСЛИ
нст++
КОНЕЦ_ЦИКЛА
КОНЕЦ