|
![]() |
#1 |
Участник
|
Временные таблицы в отчете
Привет всем!!!
Есть такая проблема: для построения отчета использую временную таблицу (если использовать обычную таблицу - то никакой проблемы). В отчете группируются данные по подразделениям. При использовании временной таблицы "съедается" последняя строчка таблицы и соответственно отчет по ней не строиться, причем если делать выборку по значениям именно последней строки - отчет пишет что нет данных. У кого-нибудь есть идеи как это исправить или с чем это может быть связано? За ранее большое спасибо за любой ответ! |
|
![]() |
#2 |
Модератор
|
Проблема, скорее всего, в заполнении этой временой таблицы. Попробуйте запустить джоб или обозревателем (подпиленным) посмотреть на данные этой таблицы.
И еще: пожалуйста, не используйте временные таблицы для построения отчетов. С Уважением, Георгий |
|
![]() |
#3 |
Moderator
|
Интересно было бы взглянуть на метод fetch.
|
|
![]() |
#4 |
Участник
|
Цитата:
Сообщение от DreamCreator
Интересно было бы взглянуть на метод fetch.
![]() Цитата:
Сообщение от George Nordic
Проблема, скорее всего, в заполнении этой временой таблицы. Попробуйте запустить джоб или обозревателем (подпиленным) посмотреть на данные этой таблицы.
И еще: пожалуйста, не используйте временные таблицы для построения отчетов. Интересно то, что если на этой таблице поставить свойство temporary = No, то выводятся все значения, а если = Yes, то последнего нетю... ![]() А почему не стоит использовать временные таблицы? |
|
![]() |
#5 |
Участник
|
Цитата:
Сообщение от Прокопьева
А почему не стоит использовать временные таблицы?
![]() |
|
|
За это сообщение автора поблагодарили: axaLearner (1), DreamCreator (1). |
![]() |
#6 |
Участник
|
Цитата:
Сообщение от MironovI
Вы что, это же темповые данные, а не настоящие! - первый шаг к безалкогольному пиву и проч..
![]() ![]() Мне не нужно хранить эти данные как настоящие... ![]() |
|
![]() |
#7 |
Moderator
|
А вот примерно такие конструкции тоже вызовут сбой?
PHP код:
Цитата:
Сообщение от MironovI
Вы что, это же темповые данные, а не настоящие! - первый шаг к безалкогольному пиву и проч..
![]() ![]() ![]() |
|
![]() |
#8 |
Модератор
|
Я думаю, что он там не перекрыт
![]() |
|
![]() |
#9 |
Участник
|
В одном из дата методе отчета используется конструкция типа
tmpTable.setTmpData(tmpTable_DS); где tmpTable - экземпляр временной таблицы, tmpTable_DS - датасорс (аналогичная таблица). может быть где-то здесь намудрила? ![]() |
|
![]() |
#10 |
Участник
|
Цитата:
Сообщение от Прокопьева
В одном из дата методе отчета используется конструкция типа
tmpTable.setTmpData(tmpTable_DS); где tmpTable - экземпляр временной таблицы, tmpTable_DS - датасорс (аналогичная таблица). может быть где-то здесь намудрила? ![]() ![]() |
|
![]() |
#11 |
Microsoft Dynamics
|
Цитата:
Сообщение от Прокопьева
В одном из дата методе отчета используется конструкция типа
tmpTable.setTmpData(tmpTable_DS);
__________________
You should use Bing before asking dumb questions. |
|
![]() |
#12 |
Участник
|
Цитата:
Сообщение от Jabberwocky
Некорректная конструкция, setTmpData принимает параметр типа Common, а Вы передаете QueryBuildDataSource.... И вообще, советую не использовать временные таблицы в Query отчета, особенно если есть с ними join.... Если уж очень хочется использовать временную таблицу, перегружайте fetch.
![]() |
|
![]() |
#13 |
Участник
|
Знатоки, поясните плиз свою точку зрения почему советуете не использовать временные таблицы.
|
|
![]() |
#14 |
Участник
|
Выше же был приведен пример:
Временные таблицы в отчете |
|
![]() |
#15 |
Axapta
|
http://www.steenandreasen.com/download.asp
Там как раз глава про отчеты выложена. Советую прочитать. ![]() |
|
![]() |
#16 |
Сенбернар
|
Цитата:
Сообщение от oip
Там как раз глава про отчеты выложена.
![]() Кстати, 2 George Nordic : почему же все-таки вы не рекомендуете строить отчеты на временных таблицах? RecId экономим? Последний раз редактировалось RVS; 08.08.2006 в 11:49. |
|
![]() |
#17 |
Участник
|
Цитата:
Сообщение от RVS
Это там, где chinese edition?
![]() Кстати, 2 George Nordic : почему же все-таки вы не рекомендуете строить отчеты на временных таблицах? RecId экономим? Видимо просто автор в отпуске, поэтому работа стоит ![]() |
|
![]() |
#18 |
Microsoft Dynamics
|
Цитата:
Сообщение от RVS
почему же все-таки вы не рекомендуете строить отчеты на временных таблицах? RecId экономим?
Помнится, уже была на форуме ветка, где обсуждалось, почему Код: select table1 join tmpTable where table1.field1 == tmpTable.field1 Код: while select tmpTable { select table1 where table1.field1 == tmpTable.field1; }
__________________
You should use Bing before asking dumb questions. |
|
![]() |
#19 |
Сенбернар
|
Цитата:
Сообщение от Jabberwocky
А Вы попробуйте для примера построить запрос с join-ом временной таблицы с постоянной. Сообразить не успеете, как тяжеленные грабли ударят Вас по лбу...
![]() Цитата:
Поищите, поиск рулит...
![]() Итого, получается, что отчеты на временных таблицах строить все-таки можно. Таблицу формировать на сервере, принудительно. Пихать в нее все в "готовом виде" и выкладывать в отчет. Собственно, что и хотелось услышать. Спасибо. |
|
![]() |
#20 |
Модератор
|
Цитата:
Сообщение от RVS
George Nordic : почему же все-таки вы не рекомендуете строить отчеты на временных таблицах? RecId экономим?
В основном меня беспокоит проблема быстродействия. Еще - много непоняток и вопросов с тем, где эта таблица будет формироватся. Били случаи, когда люди переходили с 2 звенки на 3х звенку, и куча отчетов отрубалась. Далее, если таблица формируется на клиенте, то меня беспокоит то, что люди строят неоптимальные запросы и передают весь курсор целиком. Это дико большой траффик, и тормоза, соответственно. Я предпочитаю делать дисплей-методы, и получать информацию со многих таблиц благодаря им. Дисплей-метод кушать не просит. Временные таблицы, имхо, можно использовать только при невозможности построить запрос или слишком сложной / неявной строктуре джоинов. Ну, или когда пользователь "сам не знает, чего хочет" ![]() С Уважением, Георгий |
|