| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			 
			
			Стоит задача выводить данные постранично, то есть например 
		
		
		
		
		
		
		
	при одном запросе с 1 по 10, при втором с 10 по 20 и т.п. Можно ли для перемещения по записям в QueryRun использовать не метод Next, а перемещаться сразу на несколько записей (типа seek)? Если нельзя сделать так, то можно ли как-то задавать Range, чтобы выводить данные вышеописанным способом?  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			А не проще ли в ExecuteSection объявить счетчик и каждые 10 записей вызывать newPage()?
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Я не использую ReportRun. 
		
		
		
		
		
		
		
	Мне нужны только данные из запроса Query. А вообще получаю данные через COM Connector извне.  | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Ну неужели никто не в курсе, как работают стандартные гриды при скроллинге или гриды Enterprise Portale? 
		
		
		
		
		
		
		
	Они же умеют переходить на произвольную запись.  | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Вообще-то говоря, на формах и в отчетах используется не QueryRun напрямую, а классы FormDataSource (то, что на форме можно получить как *_DS).  
		
		
		
		
		
		
			Этот класс умеет кэшировать данные, полученные от сервера, на клиенте и позволяет использовать навигацию по ним в произвольном порядке, в том числе и выбирать постранично, переходить в начало или конец датасета, осуществлять поиск. Но все это делается в данных на клиенте, а не на сервере. Класс QueryRun представляет собой интерфейс к серверным курсорам, используемым Axapta'ой, и умеет двигаться лишь в прямом направлении по данным курсора (Next()) 
				__________________ 
		
		
		
		
	Axapta v.3.0 sp5 kr2  | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Хорошо, тогда если отвлечься от QueryRun, то каким образом можно реализовать исходную задачу: постраничное отображение данных? Как я понимаю через COM Connector класс FormDataSource я не смогу использовать. Или нет?
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Administrator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Однозначно в COM Connector нельзя использовать все классы (в т.ч.FormDataSource), так или иначе связанные с формой или отчетом (представьте себе что COM Connector выполняется на сервере (т.е. не имеет визуального интерфейса) и подходите с этих позиций). 
		
		
		
		
		
		
			QueryRun вас не устраивает. Аналог QueryRun (оператор select / next) вас очевидно также не устроит (он также построчно выбирает данные). Других условно говоря штатных средств в Аксапте нет. Проблему сможете решить - если в Аксапте в классе сами реализуете считывание (постраничное) данных, запоминание этих данных (куда-то) и передачу этого "куда-то" через интерфейс COM Connector с последующим разбором. Но это гм... думаю задачка не на 5 минут. 
				__________________ 
		
		
		
		
	Возможно сделать все. Вопрос времени  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: murad (1). | |
| Теги | 
| com connector, queryrun | 
| 
	
	 | 
	
		
  |