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

Откуда:
Сообщений: 53
Есть отчет который представляет собой композитное окно с вложенными в него композитными отчетами, которые в свою очередь также содержать композитные отчеты. Т.е. есть отчет в котором до исходного DW (грид) можно добраться только после прохождения двух композитных окон. Обращение к компьюте филду.
Пишу вот такой обращение, вываливается ошибка что типа неправильно задан то-ли тип то-ли вообще нет такого компонента.


long ll_perem

ll_perem = dw_rep.object.dw_1.object.d_nested1.object.dw_2.object.d_nested2.OBJECT.com_sumoplat[1]


Как правильно это сделать?
22 мар 11, 09:53    [10406715]     Ответить | Цитировать Сообщить модератору
 Re: Как получить данные из несколькораз вложенных друг в друга отчетов?  [new]
Локшин Марк
Member

Откуда: Воронеж
Сообщений: 3154
katysha,

Если это композит, то используйте функцию GetChild(...) вместо точечной нотации.
22 мар 11, 10:26    [10406910]     Ответить | Цитировать Сообщить модератору
 Re: Как получить данные из несколькораз вложенных друг в друга отчетов?  [new]
katysha
Member

Откуда:
Сообщений: 53
Локшин Марк,

если не затруднит, то можно примерчик кинуть, а то я еще в РВ не очень хорошо разбираюсь и такой функцией не пользовалась
22 мар 11, 10:29    [10406923]     Ответить | Цитировать Сообщить модератору
 Re: Как получить данные из несколькораз вложенных друг в друга отчетов?  [new]
Локшин Марк
Member

Откуда: Воронеж
Сообщений: 3154
katysha
если не затруднит, то можно примерчик кинуть, а то я еще в РВ не очень хорошо разбираюсь и такой функцией не пользовалась

F1->GetChild->Examples
22 мар 11, 10:46    [10407031]     Ответить | Цитировать Сообщить модератору
 Re: Как получить данные из несколькораз вложенных друг в друга отчетов?  [new]
katysha
Member

Откуда:
Сообщений: 53
в общем ничего так не получилось пришлось другим путем идти.

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

спасибо
22 мар 11, 17:15    [10410198]     Ответить | Цитировать Сообщить модератору
 Re: Как получить данные из несколькораз вложенных друг в друга отчетов?  [new]
Локшин Марк
Member

Откуда: Воронеж
Сообщений: 3154
katysha,

К композиту в композите может, что и требовалось в исходном письме.
22 мар 11, 17:59    [10410501]     Ответить | Цитировать Сообщить модератору
 Re: Как получить данные из несколькораз вложенных друг в друга отчетов?  [new]
katysha
Member

Откуда:
Сообщений: 53
Локшин Марк,

Я и не спорю. На один уровень вложенности можно спуститься, а нужно на два , то есть к полю DW расположенному в композите и еще раз в композите (
автор
до исходного DW (грид) можно добраться только после прохождения двух композитных окон
автор
).

по крайней мере у меня не получилось так до него добраться
8 апр 11, 14:14    [10491496]     Ответить | Цитировать Сообщить модератору
 Re: Как получить данные из несколькораз вложенных друг в друга отчетов?  [new]
spas2001
Member

Откуда: Тамбов--->Москва-->Тамбов-->Москва-->Тамбов
Сообщений: 2010
И на два спускались, не думаю, что за это время что-то изменилось
8 апр 11, 15:24    [10492074]     Ответить | Цитировать Сообщить модератору
 Re: Как получить данные из несколькораз вложенных друг в друга отчетов?  [new]
Ork_pb
Member

Откуда:
Сообщений: 9
spas2001,

Доброго времени суток.
А примерчик можно?
9 апр 11, 16:06    [10495599]     Ответить | Цитировать Сообщить модератору
 Re: Как получить данные из несколькораз вложенных друг в друга отчетов?  [new]
spas2001
Member

Откуда: Тамбов--->Москва-->Тамбов-->Москва-->Тамбов
Сообщений: 2010
Свои примеры я уже не помню где, но когда-то подсмотрел на страничке Гребенюка
Вопрос: Доступ ко вложенным отчетам в composite DW

Пусть dw_composit_window -- название переменной композитного отчета, который
содержит отчет, свойство name которого d_inside_window. В d_inside_window
есть метка city_code_t, у которого нижеследющий текст меняет свойство text:

DWObject InsideReport
InsideReport = dw_composit_window.object.d_inside_window
InsideReport.object.city_code_t.text = "!!!"

Практически то же самое:

DWObject InsideReport
InsideReport = dw_composit_window.object.d_inside_window
DWObject InsideInsideReport
InsideInsideReport = InsideReport.object.d_inside_inside_window
InsideInsideReport.object.city_code_t.text = "!!!"

Или такой, хотя смотрится уродливо:

dw_composit_window.object.d_inside_window.object.d_inside_inside_window.obje
ct.city_code_t.text = "!!!"

(На предыдущие ответы есть жалобы на ошибку во время выполнения)

Есть такой ответ:
У нас старый проект. (PB 5.0.4) Так в нем нормально работает следующий код
--dw_report - композит
--dw_header - отчет
DataWindowChild dw_h
dw_report.GetChild('dw_header', dw_h)
dw_h.InsertRow(0)
dw_h.SetItem( 1, 'address', 'Мой адрес не дом и не улица')
dw_h.Modify("address.Height=80")

Лично у меня на pb7.0.3 заработала такая комбинация:
(смысл в том, что dwo присваивается не сам вложенный отчет, а один из его контролов)
dwobject dwo
dw_main.settransobject(SQLCA)
dw_main.retrieve()
dw_main.object.t_1.text="aaa" // item in main dw
// ---- вот здесь вся фишка ---------
dwo=dw_main.object.dw_1.object.user_t
dwo.text="bbb" // item in child dw
// ------------------------------

t_1 - текст в основном dw
user_t - текст во вложенном dw
10 апр 11, 17:19    [10497784]     Ответить | Цитировать Сообщить модератору
 Re: Как получить данные из несколькораз вложенных друг в друга отчетов?  [new]
spas2001
Member

Откуда: Тамбов--->Москва-->Тамбов-->Москва-->Тамбов
Сообщений: 2010
Да простит меня маэстро, за коверканье его фамилии:)
Страничка Эдуарда Гребенюкова
10 апр 11, 17:22    [10497787]     Ответить | Цитировать Сообщить модератору
 Re: Как получить данные из несколькораз вложенных друг в друга отчетов?  [new]
Ork_pb
Member

Откуда:
Сообщений: 9
spas2001,

Спасибо.
10 апр 11, 19:58    [10498138]     Ответить | Цитировать Сообщить модератору
 Re: Как получить данные из несколькораз вложенных друг в друга отчетов?  [new]
katysha
Member

Откуда:
Сообщений: 53
spas2001,

спасибо за столь подробное объяснение!
11 апр 11, 09:37    [10499079]     Ответить | Цитировать Сообщить модератору
Все форумы / PowerBuilder Ответить