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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.12.2012, 10:09   #1  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,347 / 996 (38) +++++++
Регистрация: 03.04.2002
Цитата:
Сообщение от bodeaux Посмотреть сообщение
Здравствуйте.
Подскажите, пожалуйста, возможна ли передача параметров в табличный метод, который используется как дисплейный на некоторой форме.
Теоретически можно, наверное. Но не стоит. Если поведение метода зависит от состояниф формы, то и определяться он должен на форме. Иначе его же потом могут на другую форму или отчет drag&drop-нуть. И эта форма не будет знать, что нужно какие-то параметры передавать.
__________________
Isn't it nice when things just work?
За это сообщение автора поблагодарили: bodeaux (1).
Старый 14.12.2012, 10:25   #2  
bodeaux is offline
bodeaux
Участник
Аватар для bodeaux
 
35 / 10 (1) +
Регистрация: 08.10.2012
Адрес: Екатеринбург
Цитата:
Сообщение от macklakov Посмотреть сообщение
Теоретически можно, наверное. Но не стоит. Если поведение метода зависит от состоянию формы, то и определяться он должен на форме. Иначе его же потом могут на другую форму или отчет drag&drop-нуть. И эта форма не будет знать, что нужно какие-то параметры передавать.
Да, согласен, что удобнее было повесить этот метод на DS формы.
Но при обращении вычислении значений поля, метод обращается к данным из курсора DS, следовательно, значения всех display-полей в столбце (при наличии нескольких отображенных строк) будут одинаковыми в каждый момент времени. Ясно, что необходимо, чтобы каждая ячейка вычислялась по своей строке, но я не знаю, как этого добиться, если display метод объявлен на DS формы.
Может быть, вы сможете объяснить, как добиться желаемого поведения.
__________________
Axapta 3.0 SP 4
Старый 14.12.2012, 10:29   #3  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,448 / 1792 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от bodeaux Посмотреть сообщение
Да, согласен, что удобнее было повесить этот метод на DS формы.
Но при обращении вычислении значений поля, метод обращается к данным из курсора DS, следовательно, значения всех display-полей в столбце (при наличии нескольких отображенных строк) будут одинаковыми в каждый момент времени. Ясно, что необходимо, чтобы каждая ячейка вычислялась по своей строке, но я не знаю, как этого добиться, если display метод объявлен на DS формы.
Может быть, вы сможете объяснить, как добиться желаемого поведения.
Элементарно. Внутри дисплейного метода датосорса нужно работать не с текущим курсором а с тем курсором, который передаётся в дисплейный метод как входящий параметр
Старый 14.12.2012, 11:05   #4  
bodeaux is offline
bodeaux
Участник
Аватар для bodeaux
 
35 / 10 (1) +
Регистрация: 08.10.2012
Адрес: Екатеринбург
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Элементарно. Внутри дисплейного метода датосорса нужно работать не с текущим курсором а с тем курсором, который передаётся в дисплейный метод как входящий параметр

Я правильно понимаю, что если в свойствах поля указаны
X++:
DataMethod: myMethod
DataSource:  myDS (  myTable)
, то объявление функции на myDS в виде

X++:
public real myMethod( myTable   currentMyTable){}
приведет к тому, что в переменную currentMyTable будет попадать курсор текущей записи?
__________________
Axapta 3.0 SP 4
Старый 14.12.2012, 11:10   #5  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,448 / 1792 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от bodeaux Посмотреть сообщение
Я правильно понимаю, что если в свойствах поля указаны
X++:
DataMethod: myMethod
DataSource:  myDS (  myTable)
, то объявление функции на myDS в виде

X++:
public real myMethod( myTable   currentMyTable){}
приведет к тому, что в переменную currentMyTable будет попадать курсор текущей записи?
Текущей - в смысле, той значение которой в данный момент вычисляется. В отличии от значения DS, которым всегда будет являтся активная на данный момент строка.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Не обновляется display метод на форме kit22 DAX: Программирование 7 15.08.2012 11:04
Ax 3.0 SP 3. Интересный факт с передачей параметров во внутренний метод lev DAX: Программирование 1 02.12.2011 18:20
Display метод временной таблицы выполняется в компании DAT S.Kuskov DAX: Программирование 4 15.04.2011 20:11
Передача переменного числа параметров в метод lemchey_white DAX: Программирование 16 14.12.2009 21:21
Передача массива VARIANTов в Automation метод Maximin DAX: Программирование 0 09.10.2002 19:31

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

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

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