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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.03.2021, 13:22   #8  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,342 / 3563 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от mazzy Посмотреть сообщение
как лучше это сделать так, чтобы не сломать остальную функциональность аксапты?
Поделюсь опытом, как это делал я.
Вариант 1. Стандартная форма, нестандартный вызов. Например, вызываем форму InventTrans из своей формы, в которой есть строки с номенклатурами. В этом случае в своей форме в методе jumRef пишем что-то типа
X++:
    Args                 args;
    Query                query;
    QueryBuildDataSource qbds;
    ;
    query = new Query();
    qbds = query.addDataSource(tableNum(InventTransOrigin));
    qbds.addRange(fieldNum(InventTransOrigin, InventTransId)).value(queryValue(_inventTransId));
    args = new Args();
    args.initialQuery(InitialQueryParameter::createByQuery(query));
    MenuFunction::runClient(menuitemDisplayStr(InventTrans), MenuItemType::Display, true, args);
Класс InitialQueryParameter появился в АХ с тех пор, как появилось Избранное и стало возможно в избранном менять запрос. Т.е. с 4.0

Для некоторых случаев есть уже готовые методы типа
X++:
InventJournalFormTable::jumpRefReferenceId(inventJournalTable.JournalId);
Еще есть вариант (если нужно чего-то сделать с датасорсами) - написать код по аналогии с формой SysTableBrowser, там достучаться до датасорса и уже с ним чего-то делать

Вариант 2. Стандартная / малоизмененная форма, свой вызов. Добавили новое поле в форму CustTable и хотим по нему сделать свой переход. Тогда есть 2 решения - либо как в Варианте 1, либо на init формы / датасорса уже открываемой формы анализировать методы класса Args: caller / lookupField / record / lookupValue, которые уж несложно заполнить из jumpRef-а вызываемой формы
__________________
Возможно сделать все. Вопрос времени

Последний раз редактировалось sukhanchik; 09.03.2021 в 13:52.
Теги
reffield

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Фильтрование записей при "переходе к основной таблице" demID DAX: Программирование 10 18.11.2015 12:52
Баг на форме "Проводки по сопоставлению" S.Kuskov DAX: Программирование 12 29.04.2009 19:19
Через map узнать fieldId Dron AKA andy DAX: Программирование 6 20.02.2004 18:18
Объединить несколько полей таблицы в одном поле Grid-а на форме? storer DAX: Программирование 2 12.11.2003 14:08
"Пустое" значение Enum в веб-форме LedgerVoucher DAX: Программирование 4 25.07.2002 12:35

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

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

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