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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.11.2008, 13:05   #1  
Peppi is offline
Peppi
Участник
 
31 / 11 (1) +
Регистрация: 22.10.2008
Заполнение wmsLocationId на основе LocationId
Здравствуйте, я создала таблицу, в которой есть поля LocationId, wmsLocationId и ToLocationId, TowmsLocationId, тогда при выборе LocationId, выпадающий список wmsLocationId заполняется автоматически. Но при выборе ToLocationId, хочу, чтобы и TowmsLocationId заполнилось исходя из ToLocationId, но он заполняется на основе LocationId. Как можно сделать так, чтобы он был привязан к ToLocationId? Или лучше вообще ссылки на InventDim сделать, содержащие пару LocationId, wmsLocationId и ToLocationId, TowmsLocationId соответственно?
Старый 02.11.2008, 19:53   #2  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Можно попробовать добавить две двойные связи на нужные вам пары полей на таблице (связь с таблицей ячеек, понятно), но не факт что они подхватятся, смотря какая версия Аксапты.

Скорее всего вам нужно использользовать метод performFormLookup (например на поле датасорса формы) и там задать нужные условия. (В АОТ море примеров такого подхода)
__________________
Zhirenkov Vitaly
Старый 03.11.2008, 18:44   #3  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Дорвался до Аксапты, решил проверить...
Оказывается, был не прав - в этом случае причина совсем другая и указанными мною выше методами её не решить.

Тут вся проблема в том, что ячейка выбирается при помощи формы WMSLocationIdLookup (как указано в EDT). И, соответсвенно, и в связи, и в performFormLookup можно пихать, что угодно, всё равно WMSLocationIdLookup всё "испортит".

Так что нужно либо как-то подравнивать эту форму под ваши нужды, либо просто переписать лукап метод на этом поле в датасорсе, например так навскидку (перекрыт метод lookup() поля ToWMSLocationId датасорса на форме):
X++:
public void lookup(FormControl _formControl, str _filterStr)
{
    SysTableLookup          sysTableLookup = SysTableLookup::newParameters(tableNum(wmsLocation), _formControl);
    Query                   query = new Query();
    QueryBuildDataSource    queryBuildDataSource = query.addDataSource(tableNum(wmsLocation));

    ;

    queryBuildDataSource.addRange(fieldNum(wmsLocation,InventLocationId)).value(QueryValue(ZVVTest2.ToInventLocationId));

    sysTableLookup.addLookupfield(fieldNum(wmsLocation, inventLocationId), true);
    sysTableLookup.addLookupfield(fieldNum(wmsLocation, wmsLocationId), true);

    sysTableLookup.parmQuery(query);
    sysTableLookup.performFormLookup();
}
__________________
Zhirenkov Vitaly
За это сообщение автора поблагодарили: evv (1).
Старый 05.11.2008, 15:11   #4  
Peppi is offline
Peppi
Участник
 
31 / 11 (1) +
Регистрация: 22.10.2008
Спасибо большое за помощь! Я только недавно стала работать с аксаптой, потихоньку надеюсь и разберусь во всем! Еще раз спасибо
За это сообщение автора поблагодарили: aidsua (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Генерация веб-формы на основе отчёта Pawlik DAX: Программирование 0 12.01.2006 11:04
Создание нескольких экземпляров Word на основе шаблона axaLearner DAX: Программирование 5 03.01.2005 16:12
"Закупка на основе заказов" или "сводное планирование" Hamster DAX: Функционал 2 17.02.2004 01:47

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

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

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