Показать сообщение отдельно
Старый 24.07.2013, 09:49   #1  
user_ax is offline
user_ax
Участник
Аватар для user_ax
 
599 / 39 (3) +++
Регистрация: 07.10.2012
Адрес: ZP
Вывод дисплей методов в lookup форме
Доброе утро, уважаемые разработчики АХ.

Собственно, вопрос указан в заголовке темы. Имеется лукап поле на форме, в котором должны быть 2 значения. Эти значения я беру display-методами. Однако лукап не работает лишь с 2 методами, ему необходимо хотя бы одно поле, то есть addLookupField. Если я добавлю хотя бы одно поле - лукап отлично отрабатывает.
Подскажите, в чём загвоздка. Буду рад любым советам. Заранее спасибо!

X++:
public void lookup()
{
    Query query = new Query();
    QueryBuildDataSource qbds_vendsp,qbds_vendsplist,qbds_purchl;
    PurchLine      purchl = PurchLine_ds.cursor();
    SysTableLookup sysTableLookup = SysTableLookup::newParameters(tablenum(PurchLine),this);

    ;
  
    // 3776 23.07.2013 ->
    sysTableLookup.addLookupMethod(tablemethodstr(PurchLine, SpQtyFree));
    sysTableLookup.addLookupMethod(tablemethodstr(PurchLine, idsp));
   //Если закомментировать addLookupField, выдаёт ошибку "Ошибка времени выполнения: FormRun(Объект), метод selectMode вызван с недопустимыми параметрами"
    sysTableLookup.addLookupfield(fieldnum(PurchLine, ItemId));
    // 3776 23.07.2013 <-

    // 3776 23.07.2013 ->
    qbds_purchl = query.addDataSource(tablenum(PurchLine));
    qbds_vendsp = qbds_purchl.addDataSource(tablenum(VendSpListJour));
    qbds_vendsp.addLink(fieldnum(PurchLine,InternalSp),fieldnum(VendSpListJour,InternalSp));
    if (purchTable.RContractAccount)
    {
        qbds_vendsp.addRange(fieldnum(VendSpListJour,RcontractAccount)).value(SysQuery::value(purchTable.RContractAccount));
        qbds_vendsp.addRange(fieldnum(VendSpListJour,SpClosed)).value('0');
        qbds_purchl.addRange(fieldnum(PurchLine,ItemId)).value(SysQuery::value((purchl.ItemId)));
    }
    else
    {
        qbds_vendsp.addRange(fieldnum(VendSpListJour, idSp)).value(SysQuery::valueEmptyString());
    }
    // 3776 23.07.2013 <-


    sysTableLookup.parmQuery(query);

    sysTableLookup.performFormLookup();

Последний раз редактировалось user_ax; 24.07.2013 в 09:52.
За это сообщение автора поблагодарили: wojzeh (1).