AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.07.2008, 01:05   #1  
HorrR is offline
HorrR
Участник
 
340 / 30 (2) +++
Регистрация: 18.02.2008
Адрес: Киев
Управление курсором в темповом датасоурсе
Как переместить курсор темпового датасоурса на запись с определенным значением индексного поля? Формализирую: например, забивается дс темповыми данными где liftNo индексное поле. Показывать надо все записи, но указатель должен находиться на записи с определенным значением LiftNo.
__________________
Axapta has seduced me deadly!
Старый 29.07.2008, 06:31   #2  
/Antony/ is offline
/Antony/
Программист
 
14 / 12 (1) ++
Регистрация: 01.08.2007
Если я правильно понял вопрос, то это будет выглядеть примерно так:

X++:
tmpTable             tmpTable;   // объявляете курсор своей временной таблицы

tmpTable.liftNo = 1234;         // присваиваете полю liftNo значение, которое необх. найти

DataSourceName_ds.findRecord( tmpTable );  // датасорс позиционируется на записи с liftNo = 1234
// где DataSourceName - имя источника данных на вашей форме
Старый 29.07.2008, 11:16   #3  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1243 (44) ++++++++
Регистрация: 11.04.2008
X++:
tmpTable             tmpTable;   // объявляете курсор своей временной таблицы

tmpTable.liftNo = 1234;         // присваиваете полю liftNo значение, которое необх. найти

DataSourceName_ds.findRecord( tmpTable );  // датасорс позиционируется на записи с liftNo = 1234
// где DataSourceName - имя источника данных на вашей форме
Разве findRecord() ищет по индексному полю ?! Обычно необходимый курсор для позиционирования перевыбирается, т.е.
X++:
tmpTable             tmpTable;   // объявляете курсор своей временной таблицы

select firstonly tmpTable                   // !!! перевыбираем курсор
   where tmpTable.liftNo = 1234;         // присваиваете полю liftNo значение, которое необх. найти

DataSourceName_ds.findRecord( tmpTable );  // датасорс позиционируется на записи с liftNo = 1234
// где DataSourceName - имя источника данных на вашей форме
Старый 31.07.2008, 12:32   #4  
HorrR is offline
HorrR
Участник
 
340 / 30 (2) +++
Регистрация: 18.02.2008
Адрес: Киев
Хм, спасибо, пробовал то же самое, но почему-то не получилось, попробую ещё раз.
__________________
Axapta has seduced me deadly!
Старый 31.07.2008, 12:43   #5  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от DSPIC Посмотреть сообщение
X++:
tmpTable             tmpTable;   

select firstonly tmpTable                   // !!! перевыбираем курсор
   where tmpTable.liftNo = 1234;
Цитата:
Сообщение от HorrR Посмотреть сообщение
Хм, спасибо, пробовал то же самое, но почему-то не получилось, попробую ещё раз.
Возможно не получилось, потому что вышеприведенный код всегда вернет пустоту?

Вам нужно делать поиск не по новообъявленной переменной временной таблице, а именно по той, которая содержит ссылку на файл с данными
Или же расшарить его и на новую переменную с помощью метода
setTmpData()
Старый 31.07.2008, 15:48   #6  
HorrR is offline
HorrR
Участник
 
340 / 30 (2) +++
Регистрация: 18.02.2008
Адрес: Киев
Точно! Просто в прошлый раз поздно вечером не пришла таки трезвая мысль) Спасибо!
__________________
Axapta has seduced me deadly!
Старый 04.08.2008, 16:31   #7  
HorrR is offline
HorrR
Участник
 
340 / 30 (2) +++
Регистрация: 18.02.2008
Адрес: Киев
Хм, странно, однако, рекорд-то находится, но визуально в гриде не выделяется(
Рефреш дс"а не помог(
__________________
Axapta has seduced me deadly!
Старый 04.08.2008, 17:05   #8  
altap is offline
altap
MCTS
MCBMSS
 
26 / 18 (1) ++
Регистрация: 28.09.2005
Я так понимаю, что временная таблица заполняется и курсор устанавливается во время открытия формы? то есть она сразу должна открыться с определенной выделенной записью?
Если так, то вопрос: А в каком методе выполняете позиционирование курсора?
Старый 04.08.2008, 17:16   #9  
HorrR is offline
HorrR
Участник
 
340 / 30 (2) +++
Регистрация: 18.02.2008
Адрес: Киев
Именно так. в ране.
__________________
Axapta has seduced me deadly!
Старый 04.08.2008, 17:27   #10  
altap is offline
altap
MCTS
MCBMSS
 
26 / 18 (1) ++
Регистрация: 28.09.2005
Тогда непонятно. У меня работает примерно так:
В ините формы:
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);
}
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  
HorrR is offline
HorrR
Участник
 
340 / 30 (2) +++
Регистрация: 18.02.2008
Адрес: Киев
То-то и оно, что не понятно. Сначала думал, что вся соль в том, что этот темповый дейтасоурс джоинит ещё один не темповый, воссоздал примерную ситуацию с другой формой и другими таблицами - всё работает. Буду копать дальше( Спасибо за попытку помочь.
__________________
Axapta has seduced me deadly!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Управление Персоналом/Настройки/Источники данных Olga__ DAX: Функционал 3 05.04.2006 16:35
«Управление персоналом» Axapta 3.0? Yegor DAX: Функционал 2 21.07.2004 12:32
Группы маршрутизации и управление заданиями PSA DAX: Функционал 4 09.06.2004 16:38
Управление платежами xconsul DAX: Функционал 0 05.11.2003 12:28
Управление карантином Swetik DAX: Функционал 5 04.06.2003 15:06
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 23:59.