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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.01.2010, 15:52   #8  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,715 / 1204 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Не уверен, насчет AX3.0, но в AX2.5 параметр (args) - это не есть источник данных. Как правило, это всего-лишь дополнительный "фильтр", накладываемый на главный DataSource формы. Точнее, дополнительный DynaLink. Да и то, только в том случае, если установлено свойство AutoQuery = Yes

Чтобы понять, что происходит, посмотрите текущий Query по форме (хотя, в Ax3.0 это сделать проблематично) сразу после открытия формы

В общем, при передаче в качестве параметра строки таблицы увидите, что в запросе по форме для главной таблицы формы (в данном случае PurchLine) будет добавлен DynaLink к той таблице, которая была передана в качестве параметра.

Естесственно, DynaLink от PurchLine к таблице PurchTable будет организован по PurchId. Поскольку выбрана конкретная запись PurchTable, то и будут "отфильтрованы" только записи данной закупки

А вот как организовать DynaLink между PurchLine и PurchLine? Да никак! Вот и не будет никакой "фильтрации".

Точнее, организация DynaLink в этом случае в форме PurchLine выполняется в методе LinkActive. Но он "заточен" под вполне конкретную связь с прикрепленной закупкой. С произвольной строкой PurchLine, скорее всего, как раз и будут отображены почти все строки всех закупок

Собственно, решение сводится к тому, чтобы через args() передать еще какой-либо признак по значению которого сделать ветвление кода в LinkActive. Т.е. да, как параметр передано значение PurchLine, но вместо организации Link надо просто наложить фильтр.

Или просто передать как параметр RecId, но опять же, писать код в форме PurchLine
За это сообщение автора поблагодарили: Gustav (6).
Теги
args, dynalink, formdatasource, formrun

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Почему может не передаваться args().record() ? egorych DAX: Программирование 5 03.11.2009 13:43
Как заставить работать TopEdge? KingPeas DAX: Программирование 1 06.11.2007 17:19
args.dataset() и args.record().tableid - могут ли отличаться? gl00mie DAX: Программирование 5 06.08.2007 13:21
Как заставить работать hideToolbar() exceptor DAX: Программирование 3 13.02.2007 14:58
Как заставить работать xRecord.suppressWarnings() Logger DAX: Программирование 13 29.08.2005 16:22

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

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

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