
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
01.10.2005, 15:08
|
|||
|---|---|---|---|
Проблемка с композитным DW |
|||
|
#18+
Здравствуйте, уважаемые форумчане! Помогите, пожалуйста, разобраться в одной проблеме. Имеется композитный DW, состоящий из двух репортов (1 - шапка отчета, 2 - детальные данные). DW имеет Retrieve-аргумент, с помощью которого осуществляется выборка одной строки, и построение по этому аргументу шапки и детальных данных. С недавнего времени нужно организовать выборку не одной строки, а нескольких. Я это сделал без изменения DW, организовав циклический Retrieve (cхематический пример, без проверок и прочего): Dec{0} ia_arg[n] //массив Retrieve-аргументов, перед. в DW //(раньше была просто переменная) Long ll_count, i=0 this.SetRedraw(false) ll_count=UpperBound(ia_arg) do if ll_count=i then EXIT i++ this.dw_1.Retrieve(ia_arg ) loop while true this.SetRedraw(true) При этом в элементе управления DW для события RetrieveStart поставил RETURN 2. Этими действиями я хотел добиться накопление выводимых в DW данных, а не их перезапись для нового Retrieve-а. Получается же совсем не так: количество выводимых записей, действительно, равняется размерности массива, но берется как бы последний Retrieve, и умножается на количество записей, т.е. складывается ощущение, что выполняется только Retrieve для последнего элемента массива n-раз. Буду благодарен, если услышу Ваши ответы и советы по этому поводу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.10.2005, 17:11
|
|||
|---|---|---|---|
|
|||
Проблемка с композитным DW |
|||
|
#18+
а не проще изменить ретрайв аргумент на массив!? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.10.2005, 22:35
|
|||
|---|---|---|---|
Проблемка с композитным DW |
|||
|
#18+
Нет, не проще. Дело в том, что данный DW уже используется в другой подсистеме именно в таком виде, и не хочется там ничего менять - ведь тогда прийдется вносить изменения при необходимости в два разных места в программе. Да и плодить DW - тоже не выход... ;-))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.10.2005, 15:19
|
|||
|---|---|---|---|
Проблемка с композитным DW |
|||
|
#18+
Проще всего всего использовать datastore, а строки просто копировать в репорт. А то ,как-бы это помягче сказать, простых путей мы не ищем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.10.2005, 16:42
|
|||
|---|---|---|---|
|
|||
Проблемка с композитным DW |
|||
|
#18+
Код: plaintext Передается в dw_1 массив-то, а не скаляр (если корректно прописана эта строка). Что хватается в этом случае, зависит от реализации. Возможно, как раз -последний элемент массива. Вообще говоря, надо прислушаться к советам предыдущих "форумчан" и не заниматься извращениями (они хороши совершенно при других обстоятельствах) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
04.10.2005, 21:39
|
|||
|---|---|---|---|
Проблемка с композитным DW |
|||
|
#18+
Форумчане - большое спасибо за помощь. Проблемка решилась. Действительно, Guest, следовало написать this.dw_1.Retrieve(ia_args ) - это моя очепятка здесь - в программе именно так и было указано. Проблема оказалась не в этом - достаточно было убрать вызов функций SetRedraw - и все заработало как нужно (правда почему - все равно не понимаю) ;-))) Всем спасибо и до скорого! ;-))) С уважением, Amberit. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.10.2005, 11:53
|
|||
|---|---|---|---|
|
|||
Проблемка с композитным DW |
|||
|
#18+
Amberitдостаточно было убрать вызов функций SetRedraw - и все заработало как нужно (правда почему - все равно не понимаю) ;-))) а че тут не понятного, для события RetrieveStart поставил RETURN 2 это для того и нужно, чтоб не перерисовывать DW, а вы после этого сами перерисовку вызывали. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=15&mobile=1&tid=1338093]: |
0ms |
get settings: |
12ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
72ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 247ms |
| total: | 407ms |

| 0 / 0 |
