Вообще, в любой версии для таких вещей делается свой лукап. Как его задействовать вопрос другой.
- Можно сделать отдельный EDT с отдельной формой лукапа и внутри неё анализировать откуда вызваны, что там есть в контексте.
- Можно создать программное формирование лукапа и как-то его вызывать, то есть, перехватывать событие вызова лукапа. На форме (в том числе, в указанной для наследника RunBase*) проблем нет, а вот в динамической форме наследника RunBase* все зависит от версии Аксапты и от загруженных дополнительных механизмов.
В любом случае, если нет отдельной формы, то в наследнике RunBase* должен быть создан метод, обрабатывающий событие вызова лукапа и нужно заставить ядро Аксы его вызвать.
- До DAX2012 вызов ядром метода зависил от наименования этого метода. Он должен был называться так, какое имя имеет контрол плюс добавление определенного суффикса.
- В стандарте до DAX2009 имя контрола было динамическое (что-то типа "Fld1_12"), его можно было посмотреть и создать метод, в котором было это имя (правда при изменении порядка полей или при каких-то изменениях наследников автоматическое имя менялось и вызов переставал работать). Но, Иван лет 15 назад выложил проект (в том числе на этом форуме), который позволяет назначать контролу постоянное имя и все будет работать.
- В DAX2009 в российской функциональности появилась возможность задавать для контрола постоянное имя и наименование обработчика нормально работало.
- В DAX2012 появился механизм назначения обработчиков событий контролов и проблема вообще ушла.
Опять же:
Если нужно назначение обработчиков событий контролов при динамическом построении диалога в наследниках RunBase* и версия Аксапты меньше, чем DAX2009, то, на мой взгляд (не претендую на истину, но посмотреть стоит) лучшим вариантом будет использование доработок от Ивана (логин на форуме kashperuk, но что-то не могу найти нужный проект)