Страница 1 из 1
2 вопроса о Report
Добавлено: 31 Январь 2011, 23:50
AlexRS
1. Есть док-нт (Form) на полстраницы А4. Нужно разместить два этих док-та на странице.
Как это сделать стандартными средствами типа копирования ?
2. Возился с Form и в нём возник раздел Report. И никак не удаляется, хотя и не мешает
работе. Через Embeds удалил из этого Report все поля и строки. Но сам Report не даёт себя удалить.
Занова генерить Form не хочется. Да и для "познания" интересно

Re: 2 вопроса о Report
Добавлено: 01 Февраль 2011, 17:20
lsgsoftware
Была некоторое время у меня такая проблемка.Тоже искал способы перекопировать.
Но ничего не получилось,а время поджимало.Вот я взял,да и перепрограммировал эту форму
слева и справа.Ну что,форма осталась как бы одна,но все работает.
Re: 2 вопроса о Report
Добавлено: 01 Февраль 2011, 19:38
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
Re: 2 вопроса о Report
Добавлено: 01 Февраль 2011, 19:42
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