Пытаюсь сделать чтото вроде этого
 
(Таблица lookupBankPrintName_UAI - временная)
 
X++:
client static void lookupPrintName(FormStringControl    ctrl,
                                   PaymSpec             _paymSpec
                                   )
{
    SysTableLookup          sysTableLookup;
    lookupBankPrintName_UAI lookupTableLocal;
    BankGroup               bankGroupLocal;
    ;
 
    bankGroupLocal = BankGroup::find(_paymSpec);
 
    if(bankGroupLocal.KNB)
    {
        lookupTableLocal.clear();
        lookupTableLocal.BankPrintName = bankGroupLocal.KNB;
        lookupTableLocal.insert();
    }
 
    if(bankGroupLocal.NB1)
    {
        lookupTableLocal.clear();
        lookupTableLocal.BankPrintName = bankGroupLocal.NB1;
        lookupTableLocal.insert();
    }
 
    if(bankGroupLocal.ShortName)
    {
        lookupTableLocal.clear();
        lookupTableLocal.BankPrintName = bankGroupLocal.ShortName;
        lookupTableLocal.insert();
    }
 
    sysTableLookup = SysTableLookup::newParameters(tableNum(lookupBankPrintName_UAI), ctrl);
    sysTableLookup.addLookupfield(fieldNum(lookupBankPrintName_UAI, BankPrintName));
    sysTableLookup.parmTmpBuffer(lookupTableLocal);
 
    sysTableLookup.performFormLookup();
}лукап получился но работает правильно только если первый раз откываешь, потом начинают исчезать строки, либо если с самого начала в этом контроле уже есть значение.