Что касается отсутствия параметров в lookupreference
В стандартных местах, например, так:
X++:
dialogFromAccount = dialog.addFieldValue(extendedtypestr(MainAccountRecId), fromAccountRecId, "@SYS135766");
dialogFromAccount.registerOverrideMethod(methodstr(FormReferenceControl, resolveReference), methodstr(LedgerExchAdj, mainAccountResolveReference), this);
dialogFromAccount.registerOverrideMethod(methodstr(FormReferenceControl, lookupReference), methodstr(LedgerExchAdj, mainAccountLookupReference), this);
X++:
public Common mainAccountLookupReference(FormReferenceControl _formReferenceControl)
{
return MainAccount::lookupReference(_formReferenceControl);
}
т.е. лукап вполне с параметром