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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.09.2007, 17:40   #1  
Arahnid is offline
Arahnid
Участник
 
880 / 60 (4) ++++
Регистрация: 09.08.2005
Адрес: Moscow
Lookup ContactPersonLookup
Я хочу в него добавить еще один параметр для фильтра, кроме кода клиента

в init

X++:
//14/09/07
    if (sms)
    {
        buildParmNum = contactPerson_ds.query().dataSourceTable(tablenum(ContactPerson)).addRange(fieldnum(ContactPerson, SMS));
        buildParmNum.value(queryValue(SMS));
    }
X++:
void  sms(SMS  _sms)
{;
    sms = _sms;
}
в lookup к полю привязываю

X++:
public void lookup()
{
    ;
    super();

    if (LedgerJournalTrans.OffsetAccountType == LedgerJournalACType::Cust)
    {
       ContactPerson::lookupCustPerson(LedgerJournalTrans_RCashDocRepresPersonId1,
                                       LedgerJournalTrans.OffsetAccount,
                                       this,
                                       1);
    }

}
а в таблицу ContactPerson
X++:
client static void  lookupCustPerson(FormStringControl   _ctrl,
                                    CustAccount         _custAccount,
                                    FormStringControl   nameControl = null,
                                    int dismissed = 0,
                                    ContactPersonId     currentContactPersonId = '')
{
    Args    args;
    Object  formRun;
    ;

    args = new Args();
    args.name(formstr(ContactPersonLookup));
    args.caller(_ctrl);
    args.lookupValue(currentContactPersonId);
    formRun = classFactory.formRunClass(args);
    formRun.custAccount(_custAccount);
    formRun.SMS(dismissed);
    formRun.callingNameControl(nameControl);
    formRun.init();

    _ctrl.performFormLookup(formRun);
}

В результате в реквизите список открывается и тут же закрывается, что не так?



метод super() оставила в loockup

Последний раз редактировалось Arahnid; 14.09.2007 в 18:05.
Старый 14.09.2007, 18:36   #2  
kapitos is offline
kapitos
Участник
 
12 / 10 (1) +
Регистрация: 17.11.2003
Адрес: Санкт-Петербург
А Вы уверены, что super() в lookup() нужен, наверное его нужно в else для if-a
Старый 14.09.2007, 18:56   #3  
Arahnid is offline
Arahnid
Участник
 
880 / 60 (4) ++++
Регистрация: 09.08.2005
Адрес: Moscow
Да уже получилось.

X++:
public void lookup()
{
    ;


    if (LedgerJournalTrans.OffsetAccountType == LedgerJournalACType::Cust)
    {
       ContactPerson::lookupCustContactPerson(LedgerJournalTrans_RCashDocRepresPersonId1,
                                       LedgerJournalTrans.OffsetAccount,
                                       this,'',
                                       '1');
    }
    else
    {
         super();
    }
}
а я вначале сделала так
X++:
public void lookup()
{
    ;
         super();


    if (LedgerJournalTrans.OffsetAccountType == LedgerJournalACType::Cust)
    {
       ContactPerson::lookupCustContactPerson(LedgerJournalTrans_RCashDocRepresPersonId1,
                                       LedgerJournalTrans.OffsetAccount,
                                       this,'',
                                       '1');
    }
}
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
gatesasbait: How to define a custom lookup form for an extended datatype Blog bot DAX Blogs 0 09.07.2008 22:05
Создание Lookup формы Maxim Gorbunov DAX: База знаний и проекты 9 26.06.2007 16:44
Нагло глючит lookup Sada DAX: Программирование 1 08.06.2006 10:32
Динамические Lookup формы. Андрей Василюк DAX: База знаний и проекты 0 07.12.2001 07:07

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

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

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