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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.10.2011, 10:01   #1  
mikki_messer is offline
mikki_messer
Участник
 
91 / 20 (1) +++
Регистрация: 20.04.2010
Адрес: Ростов-на-Дону
Проблема с позиционированием курсора в датасурсе
Коллеги, имею следующую проблему с датасурсом.
Есть форма CustTable, на вкладке "адреса" отображается таблица Address, приджойненная к таблице CustTable, тип соединения delayed. При нажатии кнопки F5 на вкладке "адреса" курсор автоматически становится на самую первую строку в табличной части. Аналогичный эффект возникает при выполнении команды
Address_ds.research(true); т.е. на исходную запись курсор не возвращается.
Как бороться/что я делаю не так?
AX2009 SP1, MS SQL 2008 Enterprise
Старый 20.10.2011, 10:37   #2  
tricky is offline
tricky
Участник
 
140 / 64 (3) ++++
Регистрация: 03.05.2005
Адрес: Гуково
На сколько я помню - это штатное поведение системы: при research() подчиненного DS вызывается executeQuery() основного DS - который, в свою очередь, вызывает executeQuery() подчиненного же. Позиционироваться на нужную запись, нужно в executeQuery() подчиненного DS после super(). Кажется так.
Старый 20.10.2011, 10:44   #3  
Zick-Zibn is offline
Zick-Zibn
Участник
 
78 / 38 (2) +++
Регистрация: 28.05.2004
Адрес: Moscow
В DAX 2009 по F5 выполняется операция обновления, для восстановления используется сочетание клавиш Ctrl+F5.
Старый 20.10.2011, 10:50   #4  
mikki_messer is offline
mikki_messer
Участник
 
91 / 20 (1) +++
Регистрация: 20.04.2010
Адрес: Ростов-на-Дону
Цитата:
Сообщение от tricky Посмотреть сообщение
На сколько я помню - это штатное поведение системы: при research() подчиненного DS вызывается executeQuery() основного DS - который, в свою очередь, вызывает executeQuery() подчиненного же. Позиционироваться на нужную запись, нужно в executeQuery() подчиненного DS после super(). Кажется так.
Фокус в том, что я вызываю research(true), т.е. с указанием того, что нужно вернуться на исходную строку. Во всех остальных формах работает, в этой - не хочет.
Старый 20.10.2011, 10:50   #5  
mikki_messer is offline
mikki_messer
Участник
 
91 / 20 (1) +++
Регистрация: 20.04.2010
Адрес: Ростов-на-Дону
Цитата:
Сообщение от Zick-Zibn Посмотреть сообщение
В DAX 2009 по F5 выполняется операция обновления, для восстановления используется сочетание клавиш Ctrl+F5.
Спасибо, я знаю.
Старый 20.10.2011, 11:42   #6  
Veter is offline
Veter
Участник
Аватар для Veter
 
18 / 35 (2) +++
Регистрация: 23.06.2011
Адрес: Минск
здравствуйте,
попробуйте перекрыть на датасорсе Address метод executeQuery как показано ниже (у меня отработал):

public void executeQuery()
{
Address record;
;
record.data(Address);
super();
this.findRecord(record);
}
п.с. да вот еще, у меня таблица адреса связана через 2 таблицы и инер джойном - так что пришлось перекрыть этот метод и на них тоже
__________________
Все в порядке - идем ко дну! (к/ф Экипаж счастливой "Щуки")

Последний раз редактировалось Veter; 20.10.2011 в 11:47.
За это сообщение автора поблагодарили: mikki_messer (1).
Старый 20.10.2011, 12:13   #7  
GBH is offline
GBH
MCITP
Аватар для GBH
MCP
MCBMSS
Ex AND Project
 
140 / 28 (1) +++
Регистрация: 28.06.2007
X++:
this.findRecord(record);
Только надо помнить, что на форме с большим количеством записей этот метод очень не эффективен по быстродействию.
Старый 20.10.2011, 12:59   #8  
tricky is offline
tricky
Участник
 
140 / 64 (3) ++++
Регистрация: 03.05.2005
Адрес: Гуково
Цитата:
Сообщение от mikki_messer Посмотреть сообщение
Фокус в том, что я вызываю research(true), т.е. с указанием того, что нужно вернуться на исходную строку. Во всех остальных формах работает, в этой - не хочет.
Да, точно, не обратил внимание на "true". Ну тогда дикое предположение: в свойствах таблицы Adress установлен PrimaryIndex?
Старый 20.10.2011, 16:14   #9  
mikki_messer is offline
mikki_messer
Участник
 
91 / 20 (1) +++
Регистрация: 20.04.2010
Адрес: Ростов-на-Дону
Цитата:
Сообщение от tricky Посмотреть сообщение
Да, точно, не обратил внимание на "true". Ну тогда дикое предположение: в свойствах таблицы Adress установлен PrimaryIndex?
Таки да, установлен. Сейчас протестирую, попробую снять...
Старый 20.10.2011, 16:23   #10  
tricky is offline
tricky
Участник
 
140 / 64 (3) ++++
Регистрация: 03.05.2005
Адрес: Гуково
Не не надо, тогда точно не заработает
Старый 20.10.2011, 16:44   #11  
mikki_messer is offline
mikki_messer
Участник
 
91 / 20 (1) +++
Регистрация: 20.04.2010
Адрес: Ростов-на-Дону
Цитата:
Сообщение от GBH Посмотреть сообщение
X++:
this.findRecord(record);
Только надо помнить, что на форме с большим количеством записей этот метод очень не эффективен по быстродействию.
Да, это точно, у нас адресов много, так что вариант оставим на крайний случай
Старый 21.10.2011, 08:52   #12  
GBH is offline
GBH
MCITP
Аватар для GBH
MCP
MCBMSS
Ex AND Project
 
140 / 28 (1) +++
Регистрация: 28.06.2007
Цитата:
Да, это точно, у нас адресов много, так что вариант оставим на крайний случай
Лучше совсем не использовать.
Вот тема про позиционирование:
Позиционирование в гриде

Там приведен пример:
X++:
  element.args().lookupField(fieldNum(SalesTable, SalesId));
element.args().lookupValue(queryValue("хочу сюда!"));
SalesTable_ds.executeQuery();[
Я его использую, по индексу работает очень даже шустро.

Последний раз редактировалось GBH; 21.10.2011 в 08:55.
За это сообщение автора поблагодарили: mikki_messer (1), Veter (1).
Старый 21.10.2011, 11:33   #13  
mikki_messer is offline
mikki_messer
Участник
 
91 / 20 (1) +++
Регистрация: 20.04.2010
Адрес: Ростов-на-Дону
Цитата:
Сообщение от GBH Посмотреть сообщение
Лучше совсем не использовать.
Вот тема про позиционирование:
Позиционирование в гриде

Там приведен пример:
X++:
  element.args().lookupField(fieldNum(SalesTable, SalesId));
element.args().lookupValue(queryValue("хочу сюда!"));
SalesTable_ds.executeQuery();[
Я его использую, по индексу работает очень даже шустро.
Спасибо, заработало!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Проблема с выгрузкой отчетов Reporting Services в AX2009 oleg_e DAX: Администрирование 14 18.01.2012 19:08
Проблема с поиском в InventTrans после changeCompany (DAX4) Raven Melancholic DAX: Программирование 11 13.03.2008 14:02
Проблема с созданием объекта Lelya DAX: Администрирование 33 27.06.2005 16:38
Проблема импорт Usr слоя из одной компании в другую Pavel Pustovalov DAX: Администрирование 6 12.08.2004 23:24
Проблема: русские шрифты в отчетах, формируемых на сервере. Anais DAX: Администрирование 3 17.11.2003 13:20
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 08:07.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.