|  29.07.2008, 01:05 | #1 | 
| Участник | Управление курсором в темповом датасоурсе 
			
			Как переместить курсор темпового датасоурса на запись с определенным значением индексного поля? Формализирую: например, забивается дс темповыми данными где liftNo индексное поле. Показывать надо все записи, но указатель должен находиться на записи с определенным значением LiftNo.
		 
				__________________ Axapta has seduced me deadly!   | 
|  | 
|  29.07.2008, 06:31 | #2 | 
| Программист | 
			
			Если я правильно понял вопрос, то это будет выглядеть примерно так: X++: tmpTable tmpTable; // объявляете курсор своей временной таблицы tmpTable.liftNo = 1234; // присваиваете полю liftNo значение, которое необх. найти DataSourceName_ds.findRecord( tmpTable ); // датасорс позиционируется на записи с liftNo = 1234 // где DataSourceName - имя источника данных на вашей форме | 
|  | 
|  29.07.2008, 11:16 | #3 | 
| Боец | X++: tmpTable tmpTable; // объявляете курсор своей временной таблицы tmpTable.liftNo = 1234; // присваиваете полю liftNo значение, которое необх. найти DataSourceName_ds.findRecord( tmpTable ); // датасорс позиционируется на записи с liftNo = 1234 // где DataSourceName - имя источника данных на вашей форме X++: tmpTable tmpTable; // объявляете курсор своей временной таблицы select firstonly tmpTable // !!! перевыбираем курсор where tmpTable.liftNo = 1234; // присваиваете полю liftNo значение, которое необх. найти DataSourceName_ds.findRecord( tmpTable ); // датасорс позиционируется на записи с liftNo = 1234 // где DataSourceName - имя источника данных на вашей форме | 
|  | 
|  31.07.2008, 12:32 | #4 | 
| Участник | 
			
			Хм, спасибо, пробовал то же самое, но почему-то не получилось, попробую ещё раз.
		 
				__________________ Axapta has seduced me deadly!   | 
|  | 
|  31.07.2008, 12:43 | #5 | 
| Участник | Цитата: Цитата:  Вам нужно делать поиск не по новообъявленной переменной временной таблице, а именно по той, которая содержит ссылку на файл с данными Или же расшарить его и на новую переменную с помощью метода setTmpData() | 
|  | 
|  31.07.2008, 15:48 | #6 | 
| Участник | 
			
			Точно! Просто в прошлый раз поздно вечером не пришла таки трезвая мысль) Спасибо!
		 
				__________________ Axapta has seduced me deadly!   | 
|  | 
|  04.08.2008, 16:31 | #7 | 
| Участник | 
			
			Хм, странно, однако, рекорд-то находится, но визуально в гриде не выделяется( Рефреш дс"а не помог( 
				__________________ Axapta has seduced me deadly!   | 
|  | 
|  04.08.2008, 17:05 | #8 | 
| MCTS | 
			
			Я так понимаю, что временная таблица заполняется и курсор устанавливается во время открытия формы? то есть она сразу должна открыться с определенной выделенной записью? Если так, то вопрос: А в каком методе выполняете позиционирование курсора? | 
|  | 
|  04.08.2008, 17:16 | #9 | 
| Участник | 
			
			Именно так. в ране.
		 
				__________________ Axapta has seduced me deadly!   | 
|  | 
|  04.08.2008, 17:27 | #10 | 
| MCTS | 
			
			Тогда непонятно. У меня работает примерно так: В ините формы: X++: public void init() { Table2 __Table2 ; super(); //Инициализируем временную таблицу __Table2.Field1 = '1'; __Table2.Field2 = 1; __Table2.insert(); __Table2.Field1 = '2'; __Table2.Field2 = 2; __Table2.insert(); __Table2.Field1 = '3'; __Table2.Field2 = 3; __Table2.insert(); //Укажем датасурсу курсор с данными Table2.setTmpData(__Table2); //выберем конкретную запись select __Table2 where __Table2.Field2 == 2; //сохраним в переменной _Table2.data(__Table2); } ран: X++: public void run() { super(); Table2_ds.findRecord(_Table2); } X++: public class FormRun extends ObjectRun { Table2 _Table2; } может быть есть еще какие-то условия? Последний раз редактировалось altap; 04.08.2008 в 17:29. | 
|  | 
|  04.08.2008, 17:30 | #11 | 
| Участник | 
			
			То-то и оно, что не понятно. Сначала думал, что вся соль в том, что этот темповый дейтасоурс джоинит ещё один не темповый, воссоздал примерную ситуацию с другой формой и другими таблицами - всё работает. Буду копать дальше( Спасибо за попытку помочь.
		 
				__________________ Axapta has seduced me deadly!   | 
|  |