Не задумывался как то... а контролы ограничены по типам
X++:
void performFormLookup()
{
FormStringControl callingStringControl;
FormIntControl callingIntControl;
FormInt64Control callingInt64Control;
FormDateControl callingDateControl;
;
if (!callingControl)
throw(error(Error::wrongUseOfFunction(funcname())));
switch (callingControl.handle())
{
case classnum(FormStringControl):
callingStringControl = callingControl;
callingStringControl.performFormLookup(this.formRun());
break;
case classnum(FormIntControl):
callingIntControl = callingControl;
callingIntControl.performFormLookup(this.formRun());
break;
case classnum(FormInt64Control):
callingInt64Control = callingControl;
callingInt64Control.performFormLookup(this.formRun());
break;
case classnum(FormDateControl):
callingDateControl = callingControl;
callingDateControl.performFormLookup(this.formRun());
break;
}
}