![]() |
#1 |
Участник
|
Временные таблицы в отчете
Привет всем!!!
Есть такая проблема: для построения отчета использую временную таблицу (если использовать обычную таблицу - то никакой проблемы). В отчете группируются данные по подразделениям. При использовании временной таблицы "съедается" последняя строчка таблицы и соответственно отчет по ней не строиться, причем если делать выборку по значениям именно последней строки - отчет пишет что нет данных. У кого-нибудь есть идеи как это исправить или с чем это может быть связано? За ранее большое спасибо за любой ответ! |
|
![]() |
#2 |
Модератор
|
Проблема, скорее всего, в заполнении этой временой таблицы. Попробуйте запустить джоб или обозревателем (подпиленным) посмотреть на данные этой таблицы.
И еще: пожалуйста, не используйте временные таблицы для построения отчетов. С Уважением, Георгий |
|
![]() |
#3 |
Moderator
|
Интересно было бы взглянуть на метод fetch.
|
|
![]() |
#4 |
Модератор
|
Я думаю, что он там не перекрыт
![]() |
|
![]() |
#5 |
Участник
|
Цитата:
Сообщение от DreamCreator
Интересно было бы взглянуть на метод fetch.
![]() Цитата:
Сообщение от George Nordic
Проблема, скорее всего, в заполнении этой временой таблицы. Попробуйте запустить джоб или обозревателем (подпиленным) посмотреть на данные этой таблицы.
И еще: пожалуйста, не используйте временные таблицы для построения отчетов. Интересно то, что если на этой таблице поставить свойство temporary = No, то выводятся все значения, а если = Yes, то последнего нетю... ![]() А почему не стоит использовать временные таблицы? |
|
![]() |
#6 |
Участник
|
Цитата:
Сообщение от Прокопьева
А почему не стоит использовать временные таблицы?
![]() |
|
|
За это сообщение автора поблагодарили: axaLearner (1), DreamCreator (1). |
![]() |
#7 |
Участник
|
Цитата:
Сообщение от MironovI
Вы что, это же темповые данные, а не настоящие! - первый шаг к безалкогольному пиву и проч..
![]() ![]() Мне не нужно хранить эти данные как настоящие... ![]() |
|
![]() |
#8 |
Moderator
|
А вот примерно такие конструкции тоже вызовут сбой?
PHP код:
Цитата:
Сообщение от MironovI
Вы что, это же темповые данные, а не настоящие! - первый шаг к безалкогольному пиву и проч..
![]() ![]() ![]() |
|
![]() |
#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 |
Microsoft Dynamics
|
Пример из Developer's Guide:
Modifying the Fetch method on a report The Fetch method is the main loop of a report. The programmer may override the fetch method if there are very special constraints on which records to show. The Fetch method can be modeled in X++ as //Create a new query to fetch the records QueryRun qr = new QueryRun(element.query()); //Open the prompt dialog if(qr.prompt()) { //The user didn't press cancel while(qr.next()) { file = qr.get(file); //For all data sources send(file); } } If you want to print only records that satisfy some special constraint that is difficult to express as a range in the query, write the code above, and only allow Send to be called if the constraint (expressed as a function by the same name in the example below) is satisfied: while (qr.next()) { file = qr.get(file); //For all data sources if(constraint()) send(file); }
__________________
You should use Bing before asking dumb questions. |
|
![]() |
#17 |
Сенбернар
|
Цитата:
Сообщение от oip
Там как раз глава про отчеты выложена.
![]() Кстати, 2 George Nordic : почему же все-таки вы не рекомендуете строить отчеты на временных таблицах? RecId экономим? Последний раз редактировалось RVS; 08.08.2006 в 11:49. |
|
![]() |
#18 |
Axapta
|
А чем Вас "English edition" не устраивает?
|
|
![]() |
#19 |
Участник
|
Цитата:
Сообщение от RVS
Это там, где chinese edition?
![]() Кстати, 2 George Nordic : почему же все-таки вы не рекомендуете строить отчеты на временных таблицах? RecId экономим? Видимо просто автор в отпуске, поэтому работа стоит ![]() |
|
![]() |
#20 |
Сенбернар
|
Ч-ччерт, не туда посмотрел.
Виноват ![]() |
|