2 вопроса о Report

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
AlexRS
Новичок
Сообщения: 6
Зарегистрирован: 16 Февраль 2009, 11:16

2 вопроса о Report

Сообщение AlexRS »

1. Есть док-нт (Form) на полстраницы А4. Нужно разместить два этих док-та на странице.
Как это сделать стандартными средствами типа копирования ?
2. Возился с Form и в нём возник раздел Report. И никак не удаляется, хотя и не мешает
работе. Через Embeds удалил из этого Report все поля и строки. Но сам Report не даёт себя удалить.
Занова генерить Form не хочется. Да и для "познания" интересно ;)
lsgsoftware
Ветеран
Сообщения: 311
Зарегистрирован: 08 Июль 2005, 22:04

Re: 2 вопроса о Report

Сообщение lsgsoftware »

Была некоторое время у меня такая проблемка.Тоже искал способы перекопировать.
Но ничего не получилось,а время поджимало.Вот я взял,да и перепрограммировал эту форму
слева и справа.Ну что,форма осталась как бы одна,но все работает.
Igor
Бывалый
Сообщения: 75
Зарегистрирован: 08 Июль 2005, 11:03
Откуда: Королев

Re: 2 вопроса о Report

Сообщение Igor »

Была задачка печати ветеренарных справок на фирменных бланках.
Вот я делал так.(вроде штатные средства)
!DATA секция
SpisControl QUEUE,PRE(SPC)
ID SHORT
END
! Вставка
ThisWindow.OpenReport

! после PARENT ( ReturnValue = PARENT.OpenReport())
! вставка
LOOP I# = 1 TO RECORDS(SpisControl)
GET(SpisControl,I#)
TmpControl# = CREATE(0,CREATE:string,?DETAIL)
GetFont(SPC:ID,TypeFace",Size#,Color#,Style#,CharSet#)
GetPosition(SPC:ID,x#,y#,w#,h#)
SetPosition(TmpControl#,x#+5800,y#,w#,h#)
SetFont(TmpControl#,TypeFace",Size#,Color#,Style#,CharSet#)
REPORT $ TmpControl#{PROP:TEXT} = SPC:ID{prop:text}
UNHIDE(TmpControl#)
END
FREE(SpisControl)
SETTARGET
Igor
Бывалый
Сообщения: 75
Зарегистрирован: 08 Июль 2005, 11:03
Откуда: Королев

Re: 2 вопроса о Report

Сообщение Igor »

Пардон
вот полная
FREE(SpisControl)
SETTARGET(Report,?Detail)
LOOP
ThisField= 0{PROP:NextField,ThisField}
IF ~ThisField THEN BREAK.
IF ThisField{prop:TYPE} = CREATE:string
IF ~CLIP(ThisField{prop:text}) = ''
SPC:ID = ThisField
ADD(SpisControl)
IF ERROR() THEN STOP(ERROR()) .
END
END
END
LOOP I# = 1 TO RECORDS(SpisControl)
GET(SpisControl,I#)
TmpControl# = CREATE(0,CREATE:string,?DETAIL)
GetFont(SPC:ID,TypeFace",Size#,Color#,Style#,CharSet#)
GetPosition(SPC:ID,x#,y#,w#,h#)
SetPosition(TmpControl#,x#+5800,y#,w#,h#)
SetFont(TmpControl#,TypeFace",Size#,Color#,Style#,CharSet#)
REPORT $ TmpControl#{PROP:TEXT} = SPC:ID{prop:text}
UNHIDE(TmpControl#)
END
FREE(SpisControl)
SETTARGET
Ответить