| 
			
			 | 
		#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 | |||
| Опции темы | Поиск в этой теме | 
| Опции просмотра | |
		
  |