AXForum  
Go Back   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Forgotten Your Password?
Register Forum Rules FAQ Members List Today's Posts Search

 
 
Thread Tools Search this Thread Display Modes
Old 13.07.2004, 14:59   #1  
Shirmin Oleg is offline
Shirmin Oleg
Участник
 
89 / 35 (2) +++
Join Date: 26.03.2004
display метод на форме
Есть форма с одним dataSourc'oм, на dataSourc'e создан display метод:
PHP Code:
display SettleStatus_ZZZ payment_settlestatus()
{
  
SettleStatus_ZZZ settlestatus;
  
CustTrans _custTrans this.cursor();
  if(
_custTrans.Closedsettlestatus SettleStatus_ZZZ::FullSettle;
  else if(!
_custTrans.Closed && _custTrans.SettleAmountCur != 0settlestatus SettleStatus_ZZZ::NotFullSettle;
  else if(!
_custTrans.Closed && _custTrans.SettleAmountCur == 0settlestatus SettleStatus_ZZZ::NotSettle;

  return 
settlestatus;

Т.е, мне нужно последовательно перебрать записи, но в отладчике видно, что строка, получаемая по
PHP Code:
 this.cursor(); 
всегда - первая строка.
Подскажите, пожалуйста, как получить доступ к строке, которая выводится в Grid на момент срабатывания метода.
Old 13.07.2004, 15:03   #2  
Лютый is offline
Лютый
Участник
Лютый's Avatar
 
18 / 10 (1) +
Join Date: 12.07.2004
Location: Екатеринбург
display SettleStatus_ZZZ payment_settlestatus(CustTrans _custTrans)
{
SettleStatus_ZZZ settlestatus;
if(_custTrans.Closed) settlestatus = SettleStatus_ZZZ::FullSettle;
else if(!_custTrans.Closed && _custTrans.SettleAmountCur != 0) settlestatus = SettleStatus_ZZZ::NotFullSettle;
else if(!_custTrans.Closed && _custTrans.SettleAmountCur == 0) settlestatus = SettleStatus_ZZZ::NotSettle;

return settlestatus;
}

Axapta автоматически передаст параметр в display метод
Old 13.07.2004, 15:06   #3  
axLog is offline
axLog
Участник
 
286 / 10 (1) +
Join Date: 01.03.2004
Что-то я не понял, у Вас датасорс именно CustTrans ? таки не надо тогда никаких this.cursor() !
Old 13.07.2004, 15:11   #4  
Shirmin Oleg is offline
Shirmin Oleg
Участник
 
89 / 35 (2) +++
Join Date: 26.03.2004
Так тоже не получается... То, что передает Ахарта - это опять только первая строка.
Old 13.07.2004, 15:24   #5  
dn is offline
dn
Участник
Самостоятельные клиенты AX
 
486 / 159 (6) ++++++
Join Date: 26.03.2003
Location: Москва
А можно всё-таки уточнить задачу?
Если нужно, чтобы корректно выводилось дисплей поле в Grid, то в дисплей методе расположенном на источнике данных необходимо явно указать параметр - табличную переменную. Что в принципе уже и написали.
А если задача
Quote:
последовательно перебрать записи
, то может стоит использовать while select ?..
Old 13.07.2004, 15:31   #6  
dn is offline
dn
Участник
Самостоятельные клиенты AX
 
486 / 159 (6) ++++++
Join Date: 26.03.2003
Location: Москва
Отладчик плохо работает с дисплей методом. Он зацикливается на обновлении первой строки. Попробуй выводить в инфолог информацию о строке, без использования отладчика.
Old 13.07.2004, 15:38   #7  
Shirmin Oleg is offline
Shirmin Oleg
Участник
 
89 / 35 (2) +++
Join Date: 26.03.2004
Уточняю: при заполнении Grid'a записями нужно в этих самых записях (которые ещё не отображены) посмотреть некоторые поля, и в зависимости от их значений установить значание переменной, которая возвращается методом.
Под "последовательно перебрать записи" я подразумевал что в момент вывода строки можно же как-то получить к ней доступ, а не перебор "ручками".
Прошу прощения за некорректность формулировки.
Old 13.07.2004, 15:47   #8  
dn is offline
dn
Участник
Самостоятельные клиенты AX
 
486 / 159 (6) ++++++
Join Date: 26.03.2003
Location: Москва
Quote:
Изначально опубликовано Shirmin Oleg
Уточняю: при заполнении Grid'a записями нужно в этих самых записях (которые ещё не отображены) посмотреть некоторые поля, и в зависимости от их значений установить значание переменной, которая возвращается методом.
Отображаемая запись как раз и будет в табличной переменной, указанной в качестве параметра метода. Обращайся на здоровье к её полям внутри своего метода.
Old 13.07.2004, 15:55   #9  
Shirmin Oleg is offline
Shirmin Oleg
Участник
 
89 / 35 (2) +++
Join Date: 26.03.2004
Quote:
Отладчик плохо работает с дисплей методом.
Infolog показывает то же самое - recId у записи не меняется.
Quote:
Отображаемая запись как раз и будет в табличной переменной, указанной в качестве параметра метода. Обращайся на здоровье к её полям внутри своего метода.
Запись есть, но это всегда первая запись. И у всех записей, кот. выведены в Grid значение display поля одно и то же - как у первой записи. А если выделить другую запись, то для неё выведется правильное значение, но оно же появится и для всех других.
Old 13.07.2004, 16:04   #10  
dn is offline
dn
Участник
Самостоятельные клиенты AX
 
486 / 159 (6) ++++++
Join Date: 26.03.2003
Location: Москва
Попробуй перезайти в Аксапту, почистить кэш и т.п.
Короче это должно работать как ни крути ...
p.s.
Посмотри как на форме LedgerTable реализован метод accountBalance()
Old 13.07.2004, 16:30   #11  
Shirmin Oleg is offline
Shirmin Oleg
Участник
 
89 / 35 (2) +++
Join Date: 26.03.2004
А теперь, внимание, правильный ответ:

PHP Code:
display SettleStatus_ZZZ payment_settlestatus(CustTrans _custTrans)
{
  
SettleStatus_ZZZ settlestatus;

  if(
_custTrans.Closedsettlestatus SettleStatus_ZZZ::FullSettle;
  else if(!
_custTrans.Closed && _custTrans.SettleAmountCur != 0settlestatus SettleStatus_ZZZ::NotFullSettle;
  else if(!
_custTrans.Closed && _custTrans.SettleAmountCur == 0settlestatus SettleStatus_ZZZ::NotSettle;
  
  return 
settlestatus;

Всем спасибо за Ваши ответы.
Old 13.07.2004, 16:58   #12  
dn is offline
dn
Участник
Самостоятельные клиенты AX
 
486 / 159 (6) ++++++
Join Date: 26.03.2003
Location: Москва
;)
Ну и в чем же отличие от ответа во втором постинге этой ветки?
Tags
display метод, x++

 

Similar Threads
Thread Thread Starter Forum Replies Last Post
Grid и display-метод Russland DAX: Программирование 20 09.04.2007 09:25
Display метод на форме PavelSR DAX: Программирование 15 01.06.2006 13:50
Можно ли в display методе узнать для какого FormControl'а этот метод вызван? Dudnik Anton DAX: Программирование 3 01.02.2006 12:22
display метод с параметром Андре DAX: Программирование 5 11.01.2006 19:04
Display-метод формы Paul_ST DAX: Программирование 6 11.02.2004 12:14

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Рейтинг@Mail.ru
All times are GMT +3. The time now is 11:26.
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Contacts E-mail, Advertising.