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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.04.2018, 18:38   #1  
kitty is offline
kitty
Участник
 
364 / 26 (1) +++
Регистрация: 24.05.2005
Подменить lookup для DirPartyRecId referenceControl
Есть форма, основанная на временной таблице.
Среди ее полей есть DirPartyRecId, DirPartyNumber. На форме с помощю Reference group вместо DirPartyRecId пользователю показывается DirPartyName.
Нужно изменить стандартный лукап,выпадающий на DirPartyRecId. В новом лукапе должны показываться только записи DirOrganization, а колонками должны быть
1) CountryRegionId из первичного адреса(то есть, в запросе для лукапа нужен join c LogisticsPostalAddress по доп условию на DirPartyLocation, IsPrimary = true)
2) OrgNumber(из DirOrganization)
3) Name (из DirParty).
Пользователь должен иметь фозможность фильтровать по колонкам лукапа

Я сделала View с нужным запросом и его использую с sysTableLookup. Но не могу понять, как это "привинтить" к referenceControl формы. Я переопределила lу контрола на форме методookup() и там вызываю свой лукап. Но, вижу, через дебаггер, что в методе sysTableLookup -> performFormLookup() вариант referenceControl принципе не рассматривается.....поэтому лукап не создается

Нашла еще пример в DirUtility-> namelookup(), но там используется не sysTableLookup, а по сути создается новый FormRun...

Можно ли в принципе как-то решить задачу через sysTableLookup ? (Сontrol для DirPartyName это по сути же FormStringControl, поэтому я лелею надежду), или это возможно только через новую Form в AOT? Может, еще есть варианты?

Замечание: Такой же лукап мне нужно будет использовать в другой функциональности, где на форме диалога пользователь выбирает запись из DirParty и по ней запускается обработка. Там сейчас поле диалога основано на DirPartyRecId и автосоздается аксаптой стандартный лукап. Мне нужно заменить его на такой же , как описан выше. То есть, с CountryRegionId, OrgNumber, Name

Спасибо

Последний раз редактировалось kitty; 06.04.2018 в 18:42.
Старый 06.04.2018, 22:10   #2  
skuull is offline
skuull
Участник
Most Valuable Professional
Лучший по профессии 2014
 
700 / 752 (27) +++++++
Регистрация: 08.03.2013
Адрес: ХЗ
Для reference group надо перекрывать lookupReference метод и использовать SysReferenceTableLookup класс, перекрестные ссылки по которому дадут вам примеры.
За это сообщение автора поблагодарили: kitty (1).
Старый 09.04.2018, 17:09   #3  
kitty is offline
kitty
Участник
 
364 / 26 (1) +++
Регистрация: 24.05.2005
Спасибо
У меня сейчас есть referenceGroup control. На нем- resolveReference и lookupReference. Лукап основан на View (назвается MyViewName , состоит из нескольких таблиц). Открывается этот лукап , что я создаю в lookupReference , корректно. Но вот привыборе любой записи в нем выдеается ошибка. "Found MyViewName record instead of an expected DirPartyTable record. Check to see if an override of the resolveReference method is returning a record from the correct table."
Дебаггер в resolveReference видно, что даже не заходит. Если методв на соотвествующем поле DS разместить. то такая же ошибка ..
Смотрю примеры в стандарте -все сделано также, за тем исключением, что не вижу примеров с View в lookupReference. Везде испоьзутся та же таблица, что и ожидается в referenceGroup
Почему lookupReference может не находиться ?
AX2012 R3

UPD: Кажется, поняла. Нужно создать в моем случае наследника от SysReferenceTableLookup и создавать для него Controller c resolveReference ()

Последний раз редактировалось kitty; 09.04.2018 в 17:45.
Старый 09.04.2018, 19:30   #4  
kitty is offline
kitty
Участник
 
364 / 26 (1) +++
Регистрация: 24.05.2005
Не помогло (
Видимо, с помощью View нельзя решить задачу.
Сделала в итоге через отдельную lookup форму. View ушло в топку

Последний раз редактировалось kitty; 09.04.2018 в 20:11.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
stoneridgesoftware: Creating a Default Lookup Form with Filter in Dynamics AX Blog bot DAX Blogs 0 29.07.2016 02:37
vasantharivali: Filter Second lookup based on First Value – Ax 2012 SSRS Blog bot DAX Blogs 0 24.09.2014 13:11
Kashperuk Ivan: Lookup form returning more than one value Blog bot DAX Blogs 0 29.01.2010 18:05
palleagermark: Use keyboard lookup in Product Builder enumerated fields Blog bot DAX Blogs 0 18.08.2009 23:06
Создание Lookup формы Maxim Gorbunov DAX: База знаний и проекты 9 26.06.2007 16:44

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

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

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