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