AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.04.2015, 15:07   #1  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Как передать для Thread временные таблицы?
Ax2009. Как передать в новую нить (Thred) содержимое временной таблицы?

У меня пока единственная идея - это конвертация содержимого таблицы в нечто более примитивное. Например, в контейнер через buf2con() / con2buf(). Но, может есть варианты без конвертации?

PS: GlobalCache - не работает, поскольку в новом Thread получаю чистый (новый) GlobalCache

Пока работаю так:

X++:
// Вызов Thread
void run()
{
    Thread      thread;
    Container   conHeader;
    ;

    while select headerData
    {
        conHeader += [global::buf2con(headerData)];
    }
    thread = new Thread();
    thread.setInputParm([conHeader]);
    thread.removeOnComplete(true);
    thread.run(classnum(MyClass), staticmethodstr(MyClass, runThread));
    thread.waitUntilSignaled();
    infolog.import(thread.getOutputParm());
}

// Обработка
static void runThread(Thread _thread)
{
    container   packedArgs;
    container   conHeader;
    container   conValue;
    int         nextI;

    MyClass  report;
    TmpTable     headerData;
    ;

    report = new MyClass();

    packedArgs = _thread.getInputParm();
    conHeader = conPeek(packedArgs, 1);
    for (nextI = 1; nextI <= conLen(conHeader); nextI++)
    {
        conValue = conPeek(conHeader, nextI);
        global::con2buf(conValue, headerData);
        headerData.insert();
    }
    // Метод через setTmpData() актуализирует временную таблицу в контексте класса
    report.setHeaderData(headerData);

    // Выполнение
    report.run();

    _thread.setOutputParm(infolog.copy(1,infolog.num()));

}
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Теги
ax2009, thread, временная таблица

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Временные таблицы и их временные файлы AraraT® DAX: Прочие вопросы 6 12.04.2010 00:39
Временные таблицы в отчете Прокопьева DAX: Программирование 25 02.10.2006 14:54
Не страшно ли временные таблицы временно сделать постоянными? Gustav DAX: Программирование 11 09.02.2006 11:04
Временные таблицы в отчетах konfet DAX: Программирование 5 19.01.2005 11:32
Временные таблицы vasiliy DAX: Программирование 6 09.11.2004 11:04

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 18:37.