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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.02.2011, 12:25   #1  
Serj187 is offline
Serj187
Участник
 
8 / 10 (1) +
Регистрация: 03.05.2010
:) Переход к основной таблице
Доброго всем времени суток.
Помогите новичку! )))
Подскажите как настроить переход к основной таблице через MouseDblClick() ?
Старый 20.02.2011, 13:04   #2  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Для этого нужно решить две задачи.
1) Перехватить событие MouseDblClick
2) Программно инициировать событие перехода к основной таблице

Если со вторым пунктом совсем всё просто - нужно воспользваться методом jumpRef(), то с первым в некоторых случаях могут возникнуть определённые сложности.
mouseDblClick на аналитике в строках заказа
Открытие формы с MouseDoubleClick из другой формы
Выйти из ячейки грида после двойного клика
Старый 20.02.2011, 14:02   #3  
Serj187 is offline
Serj187
Участник
 
8 / 10 (1) +
Регистрация: 03.05.2010
Перейти к форме у меня получается без проблем, проблема в том что она уропно открывается начиная с первой строчки грида!
Старый 20.02.2011, 16:04   #4  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Покажите код
Старый 20.02.2011, 16:59   #5  
Serj187 is offline
Serj187
Участник
 
8 / 10 (1) +
Регистрация: 03.05.2010
X++:
public int mouseDblClick(int _x, int _y, int _button, boolean _Ctrl, boolean _Shift)
{
    int ret;
    formRun   formRun;

    ret = super(_x, _y, _button, _Ctrl, _Shift);

    formRun = classFactory.formRunClass(new args("AHolderEmplTable"));

    formRun.init();
    formRun.run();
    formRun.wait();


    return ret;
}
Только что бы открыть форму, просто для того что бы встать на конкретную запись в таблице я уже перепробывал кучу методов (все таки сказывается отсутствие опыта ))) ) и не один из них не сработал, я надеялся что Вы мне подскажете как это сделать правильно и что бы сработало. )))
Старый 20.02.2011, 21:35   #6  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от Serj187 Посмотреть сообщение
я надеялся что Вы мне подскажете как это сделать правильно и что бы сработало. )))
Правильно - это сделать так чтобы сработал стандартный механизм Dynalink. Чтобы он сработал нужно чтобы существовал relation между таблицами к которой вы переходите и той которая будет передана в formRun.аrgs().record().
Старый 20.02.2011, 21:57   #7  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1243 (44) ++++++++
Регистрация: 11.04.2008
Цитата:
Сообщение от Serj187 Посмотреть сообщение
Перейти к форме у меня получается без проблем, проблема в том что она уропно открывается начиная с первой строчки грида!
Вероятно, тебе помогут следующие методы:
args().lookupField(FieldNum(Table, Field));
args().lookupValue(Value);
(см. в поиске, очень много примеров, ещё тут)
Немного переделать код:
X++:
...
args args = new args("AHolderEmplTable"));

args().lookupField(FieldNum(Table, Field));
args().lookupValue(Value); 
...
formRun = classFactory.formRunClass(args);
...

Последний раз редактировалось DSPIC; 20.02.2011 в 21:59.
Старый 21.02.2011, 06:09   #8  
Serj187 is offline
Serj187
Участник
 
8 / 10 (1) +
Регистрация: 03.05.2010
Заработало !
Правда сделал немного иначе :

formRun.dataSource().findRecord(EmplTable::find(tmpAHolderSumCalc.EmplId));

Всем большое спасибо.
Старый 21.02.2011, 08:23   #9  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,326 / 3556 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от Serj187 Посмотреть сообщение
formRun.dataSource().findRecord(EmplTable::find(tmpAHolderSumCalc.EmplId));
Такая конструкция имеет обыкновение тормозить на большом объеме данных. Лучше воспользоваться советом от DSPIC
__________________
Возможно сделать все. Вопрос времени
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Не работает переход к основной таблице. samolalex DAX: Программирование 3 14.02.2011 16:13
Накладной расход, переход к основной таблице ZVV DAX: Программирование 0 03.03.2010 16:55
Переход к основной таблице договоров KolesOlya DAX: Программирование 12 11.04.2007 10:28
Переход на правильную запись при Переходе к основной таблице. - 2 Anais DAX: Программирование 2 01.11.2004 17:14
Переход на правильную запись при Переходе к основной таблице. Anais DAX: Программирование 11 29.06.2004 19:16

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

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

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