Страница 1 из 1

Report - печать детали по координатам

Добавлено: 03 Апрель 2008, 7:20
ASE
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)
.

Re: Report - печать детали по координатам

Добавлено: 20 Сентябрь 2012, 21:21
George
Clarion 6.3 ШВС
Есть один DETAIL. Надо его размножить на одном листе. Пробовал с SETTARGET - ничего не получается. все печатается только по последним координатам.

Re: Report - печать детали по координатам

Добавлено: 21 Сентябрь 2012, 10:14
BOB

Код: Выделить всё

elsif pn_d1v = 2 !для второй и последующих
если и последующих то тогда
elsif pn_d1v >= 2

и можно попробовать
Report $ ?t_line{prop:at,2} = 146

Не понятно зачем размножать детайл ? он сам размножается .

Re: Report - печать детали по координатам

Добавлено: 21 Сентябрь 2012, 11:08
George
Нужно сначала напечатать еще один правее первого, а потом также внизу, т.е. 4 на листе.