| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			Временная таблица
			 
			
			Здраствуйте! Есть такой алгоритм: 
		
		
		
		
		
		
		
		
			X++: while queryRun.next() { 1 = queryRun.get(1) if ( != 1.1) { textBuffer.appendText(1(1, 2..)) } = 1.1; select 2 where .....; ttsbegin; while select 1 .1 = 2.1; .2 = 1.2; .3 = 1.3; .insert(); } ttscommit; .. Сейчас под отладчиком я ни каких данных в ней не вижу! Спасибо! Последний раз редактировалось JuniorAx; 06.09.2011 в 13:47.  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			хм... сначала стоит разобраться в написании "вышестоящего" запроса и там получать агрегированные данные? 
		
		
		
		
		
		
		
		
			Если вы все же решили пойти непростым путем, то X++: void myMethod(TmpTable _tmpTable) {; while select sum(myField) from _tmpTable { // to do } } Последний раз редактировалось denni; 06.09.2011 в 13:54. Причина: поиск и матчасть в помощь :)  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: JuniorAx (1). | |
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Идея я думаю не сложная!?  
		
		
		
		
		
		
		
	Заполняем на каждом шаге поля врем. таблицы нужными данными, а как только if становиться верным берем нужные поля этой таблицы, формируем строку с результатами и запихиваем её в буфер! Через while select sum(..) не получиться сделать, там в условии есть поле Dimension[n] т.е. делаю это через qbds! как в этом случае передать туда таблицу? т.е. я же не могу написать qbds.addDataSource(tablenum(_tmpTable))!!! Сейчас написал так: X++: qbds.addDataSource(tablenum(TmpTable)) selectionfield::sum ..  | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Посмотрите тут
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	http://www.axdevposts.blogspot.com Пришел, уведел.... отойди, дай другому увидеть!  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: JuniorAx (1). | |
| 
			
			 | 
		#5 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Всем Спасибо! QueryRun.setCursor(TmpTable) помогло!
		 
		
		
		
		
		
		
		
		
			Последний раз редактировалось JuniorAx; 06.09.2011 в 14:48.  | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			попробовал, агрегация по полю-массиву не работает, хотя и условие и группировка работает: 
		
		
		
		
		
		
			X++: LedgerTrans ledgerTrans;
    ;
    while select maxof(Dimension[1])
        from ledgerTrans
        group by Dimension[2]
        where ledgerTrans.Dimension[3] != ''
    {
        abs(1);
    }maxOf генерирует ошибку. Но если речь идет об условии, все должно работать... Какая у вас версия? 
				__________________ 
		
		
		
		
		
			http://www.axdevposts.blogspot.com Пришел, уведел.... отойди, дай другому увидеть! Последний раз редактировалось plumbum; 06.09.2011 в 15:28. Причина: Версия системы  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: S.Kuskov (1). | |
| 
			
			 | 
		#8 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 X++: str dim; // допустим получаем значение с поля на форме LedgerTrans _ledgerTrans; while select _ledgerTrans where _ledgerTrans.Dimension[2] == dim; Axapta 3.0.SP5  | 
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
X++: str dim;X++: name dim;  . Или создайте свой строковый расширенный тип и опишите переменную dim под ним.Да есть такая беда не глатает аксаптовский sql переменные описанные как str в выражении where, он просит конкретный расширенный тип. 
				__________________ 
		
		
		
		
		
			-Ты в гномиков веришь? -Нет. -А они в тебя верят, смотри, не подведи их. Последний раз редактировалось Pustik; 06.09.2011 в 16:27.  | 
| 
	
 | 
| 
			
			 | 
		#10 | 
| 
			
			 Участник 
		
			
	 | 
	
	|
| 
	
 | 
|
| За это сообщение автора поблагодарили: Pustik (2), JuniorAx (1). | |
| 
			
			 | 
		#11 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
 . По моему это было бы правильно.
		
				__________________ 
		
		
		
		
	-Ты в гномиков веришь? -Нет. -А они в тебя верят, смотри, не подведи их.  | 
| 
	
 |