Показать сообщение отдельно
Старый 14.02.2014, 07:05   #1  
Vasiliusis is offline
Vasiliusis
Участник
 
225 / 13 (1) ++
Регистрация: 30.01.2013
Проблема с временной таблице в lookup
Добрый день!
Есть код, который должен при некотором условии выполнять вставку данных в таблицу, которая хранится на сервере, НО которую в коде я делаю временной. После этого, эти данные должны выпадать в lookup'е
X++:
public void lookup()
{
    TableObj              tempTable1, table1;
    SysTableLookup              sysTableLookup;


    ;
    //Делаем таблицу временной
    tempTable1.setTmp();

    sysTableLookup = SysTableLookup::newParameters(tablenum(TableObj), this);

    //Добавляем столбцы
    sysTableLookup.addLookupfield(fieldnum(TableObj, CustAccount));
    sysTableLookup.addLookupfield(fieldnum(TableObj, Name));
    sysTableLookup.addLookupfield(fieldnum(TableObj, Desc));



    ttsbegin;
    //перебираем
    while select * from table1
        order by CustAccount desc
        {
                if (table1.CustAccount == 'Target')
                {
                    
                    tempTable1.data(table1);
                    tempTable1.insert();
                    
                }

        }
     ttscommit;

    //BP Deviation Documented
    sysTableLookup.parmTmpBuffer(tempTable1);
    sysTableLookup.performFormLookup();

}
На условие выборки не смотрите, оно схематично (это чтобы вы мне через Query не советовали делать, в реальности выборка сложнее)

Так вот: проблема в том, что когда данные для выборки и вставки есть - они выводятся спокойно.
Но вот когда их нет - выводится полный набор столбцов из таблицы в БД. А должно быть по идее то пусто! В чем причина? как это исправить?


MS DAX 2009