Показать сообщение отдельно
Старый 08.10.2007, 14:04   #1  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Как сделать хитрый лукап
Есть проблема не знаю как решить. Может кто-то знает.
На форме есть контрол. Строковый.
У него перекрыт лукап. Суть перекрытия создать лукап в зависимости от названия.
Т.е.
Field1 Field2
SalesId Лукап SalesId
ItemId Лукап ItemId
Field2 просто строковый. Если. подкидываю совсем другие EDT. И вызываю лукап.
X++:
public void lookup()
{
    object                  formBuildControl;
    ;
    //создание dictfieldCurr
    ------------------
    formBuildControl = element.GetformBuildControl(SSLDialogForms::type2formControlType(dictfieldCurr.basetype()));
        formBuildControl.extendedDataType(dictfieldCurr.typeId());
 
    formBuildControl.lookup();
}
То всё работает только на тех EDT. У которых есть relation.
Но если у расширенного типа нет relation. Он ничего не открывает. Как обмануть Axapty.
1) Есть таблица без relation. ->Поле->EDT без relation. Лукапа нет.
2) Таблица с relation->Поле->EDT без relation. Лукап есть.
Вот хотелось бы чтоб лукап не с расширенного типа создавался, а с поля таблицы. Т.е. учитывался и EDT и релайшен поля (fieldnum) на основе которого создаётся лукап. Ведь когда открываем паспортом записи эти две информации складываются.