|
|
#1 |
|
Участник
|
Отчеты
Доброго времени суток.
Есть таблица из 4 полей. Необходимо получать отчет лишь по определенным записям, я создал на каждое поле Display метод такого типа: X++: Table _table; ; select * from _table where _table.field == this.field; return _table.field_2; |
|
|
|
|
#2 |
|
Участник
|
Вы в свойствах вашей кнопки MenuItemButton указали DataSource?
В методе init() вашего отчета нужно сделать проверку на наличие переданного курсора из grid'а и указать фильтр, который будет служить связкой между таблицей и записью из grid'а. Примерно так: X++: public void init() { Args parameters; ; super(); parameters = element.args(); if(!parameters.record()) throw error('Отчет должен вызываться с параметрами!'); else if(parameters.record().TableId == tablenum( )) = parameters.record(); this.query().dataSourceTable(tableNum( )).addRange(fieldNum( , )).value( . ); } P.S. Для того, чтобы не отображалась форма запроса(SysQueryForm) при запуске отчета, нужно в свойствах Query отчета Interactive поставить в No.
__________________
С уважением, Александр. Последний раз редактировалось samolalex; 25.01.2011 в 17:13. |
|
|
|
|
#3 |
|
северный Будда
|
Чего-то я не понял
Если запуск по нажатию MenuItemButton, то что означает конструкция "this.field"? Никаких полей у класса нет. Может быть всё-таки имеется в виду простой button?
__________________
С уважением, Вячеслав |
|
|
|
|
#4 |
|
Участник
|
Видимо методы у AngelDominantes табличные.
__________________
С уважением, Александр. |
|
|
|
|
#5 |
|
Участник
|
Да методы табличные, немного разобрался и понял, что в Display методы не передается указатель с грида, точнее я не знаю как его оттуда вытащить, если в init() отчета его возможно получить, то как его передать или использовать именно в Display?
|
|
|
|
|
#6 |
|
Участник
|
Цитата:
Вы писали: Цитата:
Забудем на время про дисплей-методы (ведь их использование никоим образом не влияет на решение этой задачи). Каким образом у вас работает "отчёт"? В его методе init есть цикл для обхода записей таблицы? Он основан на Query? Перекрыт ли метод fetch? |
|
|
|
|
#7 |
|
Участник
|
Цитата:
Сообщение от S.Kuskov
Так. Сдаётся мне, что у вас полный сумбур в голове
Вы писали: Для чего вы сделали эти дисплей методы? Забудем на время про дисплей-методы (ведь их использование никоим образом не влияет на решение этой задачи). Каким образом у вас работает "отчёт"? В его методе init есть цикл для обхода записей таблицы? Он основан на Query? Перекрыт ли метод fetch? |
|
|
|
|
#8 |
|
Участник
|
Цитата:
Дисплей метод - это аналог вычисляемых полей; они не имеют параметров, а работают лишь в контексте вызывающего курсора (this); при помощи их невозможно ограничить выборку Цитата:
|
|
|
|
|
#9 |
|
Участник
|
Цитата:
Сообщение от S.Kuskov
Разберитесь с тем, что такое дисплей-методы (сейчас у вас неправильное представление о них).
Дисплей метод - это аналог вычисляемых полей; они не имеют параметров, а работают лишь в контексте вызывающего курсора (this); при помощи их невозможно ограничить выборку Читали morphx.pdf? |
|
|
|
|
#10 |
|
Участник
|
|
|
|
|
|
#11 |
|
Участник
|
Цитата:
X++: public boolean fetch() { QueryRun qr; Boolean ret; qr = new QueryRun(element); qr.next(); .... |
|
|
|
|
#12 |
|
MCP
|
Цитата:
Сообщение от AngelDominantes
К примеру следующий код:
X++: public boolean fetch() { QueryRun qr; Boolean ret; qr = new QueryRun(element); qr.next(); .... Последний раз редактировалось kornix; 27.01.2011 в 11:45. |
|
|
|
| За это сообщение автора поблагодарили: AngelDominantes (1). | |
|
|
#13 |
|
Участник
|
|
|
|
|
|
#14 |
|
MCP
|
|
|
|
|
|
#15 |
|
Участник
|
Цитата:
Сообщение от kornix
В этой теме есть примеры
![]() PHP код:
|
|
|
|
|
#16 |
|
Гость
|
Заодно правописание -ТСЯ и -ТЬСЯ тут запости, вдруг тоже кому пригодится
|
|
|
| Теги |
| query, отчет, report |
|
|
Похожие темы
|
||||
| Тема | Ответов | |||
| Изменить отчеты | 2 | |||
| Фин отчеты: может ли работать по нескольким компаниям сразу | 3 | |||
| Шаблонные отчеты | 2 | |||
| Отчеты по клиентам | 2 | |||
| CrystalReport и внутренние отчеты | 7 | |||
|