Показать сообщение отдельно
Старый 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.