C 5.5 ШВС
Руками формирую отчет для заполнения бланка.
Сперва - Первая деталь заполняет весь лист одиночными полями.
Затем в середине листа заполняю таблицу.
Т.е. в цикле вывожу вторую деталь по числу строк.
Выставляю координату первой строки таблицы по Y для печати второй
детали - печатаю первую строку
Для последовательной печати остальных строк выставляю Y в 0 для этой
же, второй детали - печатаю остальные строки.
Вывожу отчет и вижу:
первая строка - в начале листа (т.е. Y как бы 0, хотя координату
выставлял)
остальные строки - там где положено в таблице, в центре листа, по
порядку.
Привожу код
report REPORT,AT(0,0,210,292),PAPER(PAPER:A4),PRE(RPT),FONT('Arial Cyr',10,,FONT:regular),MM
page1 DETAIL,AT(,,210,290),USE(?Page1),FONT(,10,COLOR:Black,FONT:bold),ABSOLUTE
....
T_line DETAIL,AT(5,,210,6),USE(?T_line),FONT(,9,,FONT:regular)
STRING(@n2),AT(4,1,4,4),USE(pn_d1v),RIGHT,FONT(,10,COLOR:Black,,CHARSET:ANSI),#ORIG(pn_d1v)
STRING(@s40),AT(17,1,77,4),USE(D1V:NAME),LEFT(2),FONT(,,COLOR:Black,,CHARSET:ANSI),#ORIG(D1V:NAME)
STRING(@s14),AT(140,1,33,5),USE(d1v_dsdn),CENTER,FONT(,,COLOR:Black,,CHARSET:ANSI),#ORIG(d1v_dsdn)
END
code
....
print(rpt:page1)
....
set(d1v:fnp_k,d1v:fnp_k)
pn_d1v = 0
loop
next(d1v)
if errorcode(); break.
pn_d1v += 1
if pn_d1v = 1 !для первой строки
SETTARGET(Report)
?t_line{prop:at,2} = 146
SETTARGET
elsif pn_d1v = 2 !для второй и последующих
SETTARGET(Report)
?t_line{prop:at,2} = 0
SETTARGET
.
print(rpt:t_line)
.
Report - печать детали по координатам
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Re: Report - печать детали по координатам
Clarion 6.3 ШВС
Есть один DETAIL. Надо его размножить на одном листе. Пробовал с SETTARGET - ничего не получается. все печатается только по последним координатам.
Есть один DETAIL. Надо его размножить на одном листе. Пробовал с SETTARGET - ничего не получается. все печатается только по последним координатам.
Re: Report - печать детали по координатам
Код: Выделить всё
elsif pn_d1v = 2 !для второй и последующих
elsif pn_d1v >= 2
и можно попробовать
Report $ ?t_line{prop:at,2} = 146
Не понятно зачем размножать детайл ? он сам размножается .
Re: Report - печать детали по координатам
Нужно сначала напечатать еще один правее первого, а потом также внизу, т.е. 4 на листе.