Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PowerBuilder Новый топик    Ответить
 Динамическая загрузка Nested reports  [new]
AVGritsenko
Member

Откуда:
Сообщений: 37
1) Имею приложение PB клиент- сервер
Хочу отчеты записывать в базу и грузить динамически чтобы реже менять версию клиенской части

Все проходит кроме nested reports
dw.create('текст dw',errmess) - это понятно
а для nested?

По моим наблюдениям nested reports для скомпилированного приложения грузятся автоматически из pbd

2) Вообще говоря эти nested нужны только по одной причине, чтобы не дублировать заголовок первой страницы на последующих листах.
МБ кто знает как это сделать в datawindow другим способом?
6 авг 05, 14:54    [1769352]     Ответить | Цитировать Сообщить модератору
 Re: Динамическая загрузка Nested reports  [new]
Anatoly Moskovsky
Member

Откуда: Odessa
Сообщений: 6610
Возможно это поможет:
подключение ДВ
7 авг 05, 13:43    [1769718]     Ответить | Цитировать Сообщить модератору
 Re: Динамическая загрузка Nested reports  [new]
Локшин Марк
Member

Откуда: Воронеж
Сообщений: 3154
AVGritsenko
Вообще говоря эти nested нужны только по одной причине, чтобы не дублировать заголовок первой страницы на последующих листах.

Так для этого и композит подойдет.
8 авг 05, 14:00    [1770162]     Ответить | Цитировать Сообщить модератору
 Re: Динамическая загрузка Nested reports  [new]
AVGritsenko
Member

Откуда:
Сообщений: 37
Почитал дискуссию нашел - рекомендацию
datawindowchild.Create(syntax)

НО у меня это дает ошибку компиляции, ну нет метода Create
у datawindowchild

А у вас это как проходило или все это на уровне непроверенных идей?
Подскажите пожалуйста.
18 авг 05, 00:13    [1797141]     Ответить | Цитировать Сообщить модератору
 Re: Динамическая загрузка Nested reports  [new]
Филипп
Member

Откуда: Boston, MA, USA (c 1989 ) б. Москва
Сообщений: 1880
datawindowchild.MODIFY("CREATE + syntax massaged properly")
18 авг 05, 00:23    [1797150]     Ответить | Цитировать Сообщить модератору
 Re: Динамическая загрузка Nested reports  [new]
AVGritsenko
Member

Откуда:
Сообщений: 37
Так не работает
errmess=nreport.MODIFY("CREATE "+ string(bb))

где bb== srd, те

$PBExportHeader$dw_ttn_12d_cntr2.srd
$PBExportComments$ТТН форма тогр-12 с контролем связи с приходом Usd
release 9;
datawindow(units=0 timer_interval=0 color=1090519039 processing=0 HTMLDW=no print.printername="" print.documentname="" print.orientation = 1 print.margin.left = 110 print.margin.right = 0 print.margin.top = 120 print.margin.bottom = 160 print.paper.source = 0 print.paper.size = 9 print.canusedefaultprinter=yes print.prompt=no print.buttons=no print.preview.buttons=no print.cliptext=no print.overrideprintjob=no print.collate=yes hidegrayline=no )
header(height=272 color="536870912" )
summary(height=864 color="536870912" )

и тд

Что надо вырезать фрагмент?
18 авг 05, 12:29    [1798285]     Ответить | Цитировать Сообщить модератору
 Re: Динамическая загрузка Nested reports  [new]
PL99
Member

Откуда: Moscow
Сообщений: 1367
AVGritsenko
Что надо вырезать фрагмент?
Да. Удалить строки, начинающиеся с $
18 авг 05, 12:53    [1798449]     Ответить | Цитировать Сообщить модератору
 Re: Динамическая загрузка Nested reports  [new]
AVGritsenko
Member

Откуда:
Сообщений: 37
В чем фишка то
Если кто знает дайте реальный текст(пример) который работает


----так пробовал не работает
errmess=nreport.MODIFY("CREATE "+ syntax)

где syntax=
datawindow(units=0 timer_interval=0 color=1090519039 processing=0 HTMLDW=no print.printername="" print.documentname="" print.orientation = 1 print.margin.left = 110 print.margin.right = 0 print.margin.top = 120 print.margin.bottom = 160 print.paper.source = 0 print.paper.size = 9 print.canusedefaultprinter=yes print.prompt=no print.buttons=no print.preview.buttons=no print.cliptext=no print.overrideprintjob=no print.collate=yes hidegrayline=no )
header(height=272 color="536870912" )
summary(height=864 color="536870912" )

и тд

----так пробовал не работает

----и так пробовал не работает
nreport.MODIFY("CREATE objectname("+ syntax+")")

По мануалу
CREATE control (settings)
Adds control to the DataWindow object (such as text, computed fields, and bitmaps). Settings is a list of properties and values using the format you see in exported DataWindow syntax. To create an control, you must supply enough information to define it.
18 авг 05, 15:06    [1799105]     Ответить | Цитировать Сообщить модератору
 Re: Динамическая загрузка Nested reports  [new]
Anatoly Moskovsky
Member

Откуда: Odessa
Сообщений: 6610
PL99
AVGritsenko
Что надо вырезать фрагмент?
Да. Удалить строки, начинающиеся с $

Еще удалить строку с "Release"
Но не только.
Надо преобразовать все строки до Table() к виду:
datawindow.units=0 datawindow.timer_interval=0 ...
Table() оставляем как есть.
Далее объекты приводим к виду:
CREATE column(
Все что ниже объектов (всякие htmltable, htmlgen ) можно удалить, если не нужны, либо по аналогии с datawindow() .
18 авг 05, 15:07    [1799116]     Ответить | Цитировать Сообщить модератору
 Re: Динамическая загрузка Nested reports  [new]
Anatoly Moskovsky
Member

Откуда: Odessa
Сообщений: 6610
Для тех кто будет заниматься преобразованием аргумента Create() в аргумент Modify() высылаю написанный мной когда-то парсер DW.
Не могу гарантировать что поддерживается все, но на тех DW с которыми я встречался работает.

Я выдрал его из проекта, поэтому если чего-то не будет хватать, скажите сюда.

Ну и поделитесь тем что получилось, если вдруг :))

К сообщению приложен файл (dwparser.zip - 13Kb) cкачать
18 авг 05, 15:26    [1799201]     Ответить | Цитировать Сообщить модератору
 Re: Динамическая загрузка Nested reports  [new]
AVGritsenko
Member

Откуда:
Сообщений: 37
Спасибо конечно,
но это длинный ход и не факт что надежный.

Но блин, неужели не могли сделать стандартно?

почему
datawindow.create('текст dw',errmess) работает
а
datawindowchild.create('текст dw',errmess) не работает?!
18 авг 05, 15:34    [1799232]     Ответить | Цитировать Сообщить модератору
 Re: Динамическая загрузка Nested reports  [new]
AVGritsenko
Member

Откуда:
Сообщений: 37
Не успел ответить - уже и парсер

СПАСИБО ОГРОМНОЕ
попробуем
18 авг 05, 15:35    [1799237]     Ответить | Цитировать Сообщить модератору
 Re: Динамическая загрузка Nested reports  [new]
AVGritsenko
Member

Откуда:
Сообщений: 37
По поводу парсера - он конечно что- то делает
но довольно долго и не очень понятн

МБ есть другой ход,
например создать обычное dw describe ом взять из него что надо и
и применить к datawindowchild?

Кстати как спросить у describe полное описание dw не перебирая все его
потроха?
20 авг 05, 23:38    [1805186]     Ответить | Цитировать Сообщить модератору
 Re: Динамическая загрузка Nested reports  [new]
Anatoly Moskovsky
Member

Откуда: Odessa
Сообщений: 6610
AVGritsenko
По поводу парсера - он конечно что- то делает
но довольно долго и не очень понятно

Так никто не мешает переписать на С.
Заодно и понятнее станет :))

Кстати как спросить у describe полное описание dw не перебирая все его
потроха?

Describe("Datawindow.syntax")
21 авг 05, 01:30    [1805229]     Ответить | Цитировать Сообщить модератору
 Re: Динамическая загрузка Nested reports  [new]
AVGritsenko
Member

Откуда:
Сообщений: 37
Это понятно, я про формат для modify
по каждому свойству
22 авг 05, 15:40    [1807356]     Ответить | Цитировать Сообщить модератору
 Re: Динамическая загрузка Nested reports  [new]
Mykola
Member

Откуда:
Сообщений: 615
view ide powerbuilder:
File -> New select tabpage Tool select DataWindow syntax
22 авг 05, 17:46    [1807973]     Ответить | Цитировать Сообщить модератору
Все форумы / PowerBuilder Ответить