Если хочется оставить форму выпадающего списка, то посмотрите как это реализовано например здесь
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;
}
в данном примере налагается дополнительный критерий, а вам надо добавить позиционирование