24.10.2007, 06:06 | #1 |
Участник
|
LookUp. На основе предыдущего значения.
Здравия,
Есть lookup по itemid, который вызывает lookup форму, содержащую ветки классификатора слева и названия номенклатур справа, которые сортируются по выбранным веткам. Пользователи для одной формы (подсчеты) попросили сделать так, чтобы при вбивании номенклатуры этот lookup появлялся в положении той номенклатуры, которую они вбили до этого... В общем вопрос дурацкий: Как обратиться к этой lookup форме и передать ей параметры. Пытался перекрыть метод lookup... Как теперь вызвать inventitemlookup да так чтобы она не ругалась и по ее завершении значения возвращались... :-) Спасибо за идеи и код заранее :-) |
|
24.10.2007, 10:15 | #2 |
MCT
|
Если хочется оставить форму выпадающего списка, то посмотрите как это реализовано например здесь
X++: ... public void performFormLookup(FormRun _p1, FormControl _formControl) { super(hrmApplication::hrmRecruitingIdLookup(_p1), _formControl); } X++: static formRun hrmRecruitingIdLookup(FormRun lookupFormRun) { formDataSource formDataSource; query formquery; ; formDataSource = lookupFormRun.objectSet(); formQuery = formDataSource.query(); formQuery.dataSourceNo(1).addRange(fieldNum(HRMRecruitingTable, status)).value(queryValue(HRMRecruitingStatus::Started)); return lookupFormRun; } |
|
24.10.2007, 10:33 | #3 |
Axapta
|
Не надо этой форме ничего передавать. Сохраняйте просто в СисЛастВэлью предыдущее выбранное в этой форме значение и все.
См. pack, unpack, savelast, getlast... |
|
24.10.2007, 12:22 | #4 |
Мрачный тип
|
|
|
24.10.2007, 12:26 | #5 |
Axapta
|
А что на гриде? Какая разница? Сохранение происходит в самой лукап-форме.
|
|