|  25.01.2011, 16:20 | #1 | 
| Участник | Отчеты 
			
			Доброго времени суток. Есть таблица из 4 полей. Необходимо получать отчет лишь по определенным записям, я создал на каждое поле Display метод такого типа: X++: Table _table; ; select * from _table where _table.field == this.field; return _table.field_2; | 
|  | 
|  25.01.2011, 16:38 | #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. | 
|  | 
|  25.01.2011, 16:47 | #3 | 
| северный Будда | 
			
			Чего-то я не понял Если запуск по нажатию MenuItemButton, то что означает конструкция "this.field"? Никаких полей у класса нет. Может быть всё-таки имеется в виду простой button? 
				__________________ С уважением, Вячеслав | 
|  | 
|  25.01.2011, 16:53 | #4 | 
| Участник | 
			
			Видимо методы у AngelDominantes табличные.
		 
				__________________ С уважением, Александр. | 
|  | 
|  25.01.2011, 22:54 | #5 | 
| Участник | 
			
			Да методы табличные, немного разобрался и понял, что в Display методы не передается указатель с грида, точнее я не знаю как его оттуда вытащить, если в init() отчета его возможно получить, то как его передать или использовать именно в Display?
		 | 
|  | 
|  25.01.2011, 23:45 | #6 | 
| Участник | Цитата: Вы писали: Цитата: Забудем на время про дисплей-методы (ведь их использование никоим образом не влияет на решение этой задачи). Каким образом у вас работает "отчёт"? В его методе init есть цикл для обхода записей таблицы? Он основан на Query? Перекрыт ли метод fetch? | 
|  | 
|  26.01.2011, 00:27 | #7 | 
| Участник | Цитата: 
		
			Сообщение от S.Kuskov
			   Так. Сдаётся мне, что у вас полный сумбур в голове Вы писали: Для чего вы сделали эти дисплей методы? Забудем на время про дисплей-методы (ведь их использование никоим образом не влияет на решение этой задачи). Каким образом у вас работает "отчёт"? В его методе init есть цикл для обхода записей таблицы? Он основан на Query? Перекрыт ли метод fetch? | 
|  | 
|  26.01.2011, 08:59 | #8 | 
| Участник | Цитата: Дисплей метод - это аналог вычисляемых полей; они не имеют параметров, а работают лишь в контексте вызывающего курсора (this); при помощи их невозможно ограничить выборку Цитата: | 
|  | 
|  26.01.2011, 09:27 | #9 | 
| Участник | Цитата: 
		
			Сообщение от S.Kuskov
			   Разберитесь с тем, что такое дисплей-методы (сейчас у вас неправильное представление о них). Дисплей метод - это аналог вычисляемых полей; они не имеют параметров, а работают лишь в контексте вызывающего курсора (this); при помощи их невозможно ограничить выборку Читали morphx.pdf? | 
|  | 
|  26.01.2011, 09:41 | #10 | 
| Участник | |
|  | 
|  27.01.2011, 11:17 | #11 | 
| Участник | Цитата: X++: public boolean fetch() { QueryRun qr; Boolean ret; qr = new QueryRun(element); qr.next(); .... | 
|  | 
|  27.01.2011, 11:42 | #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). | |
|  27.01.2011, 11:44 | #13 | 
| Участник | |
|  | 
|  27.01.2011, 11:49 | #14 | 
| MCP | |
|  | 
|  27.01.2011, 12:06 | #15 | 
| Участник | Цитата: 
		
			Сообщение от kornix
			   В этой теме есть примеры   PHP код: 
			 | 
|  | 
|  27.01.2011, 12:14 | #16 | 
| Гость | 
			
			Заодно правописание -ТСЯ и -ТЬСЯ тут запости, вдруг тоже кому пригодится
		 | 
|  | 
| Теги | 
| query, отчет, report | 
|  | 
|  Похожие темы | ||||
| Тема | Ответов | |||
| Изменить отчеты | 2 | |||
| Фин отчеты: может ли работать по нескольким компаниям сразу | 3 | |||
| Шаблонные отчеты | 2 | |||
| Отчеты по клиентам | 2 | |||
| CrystalReport и внутренние отчеты | 7 | |||
| 
 |