Похоже что это зависит от версии ядра Axapta: различное поведение
FormStringControl.text() и
FormStringControl.valueStr() в некоторых случаях.
На релизе
#1951.3730/514-193 SP3/OP023-71 lookup из проекта отрабатывает корректно (с позиционированием по тексту), на прочих имеющихся SP4 и SP5(kr2) - эффект повторяется.
В Axapta 3.0 SP6 это пофиксено следующим образом:
Classes\SysTableLookup.formRun()
X++:
...
switch (callingControl.handle())
{
case classNum(FormStringControl):
callingStringControl = callingControl;
args.lookupValue(callingStringControl.hasChanged() ? callingStringControl.text() : callingStringControl.valueStr());
break;
}
...