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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.09.2013, 08:45   #1  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,499 / 1097 (39) ++++++++
Регистрация: 22.07.2003
Адрес: МО
Цитата:
Сообщение от Eldar9x Посмотреть сообщение
Ясно, спасибо. А каким образом привязать userConnection к запросу (к Query) ?
Можно попробовать сделать как обычно, userConnection привязать к курсору, а курсор привязать к QueryRun.
Старый 10.09.2013, 12:45   #2  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,499 / 1097 (39) ++++++++
Регистрация: 22.07.2003
Адрес: МО
Цитата:
Сообщение от raz Посмотреть сообщение
Можно попробовать сделать как обычно, userConnection привязать к курсору, а курсор привязать к QueryRun.
Рабочий пример. НО! Решить проблему не поможет, решение есть выше.

X++:
static void edd_testUserConnection(Args _args)
{
    UserConnection          userConnection;
    InventTable             inventTable;
    InventSum               inventSum;
    
    Query                   query;
    QueryBuildDataSource    qbds;
    QueryBuildRange         qdr;
    QueryRun                queryRun;
    
    boolean                 useAlterConnection = true;
    int                     i;
    ;
    query = new Query();
    qbds  = query.addDataSource(tableNum(InventSum));
    qdr   = qbds.addRange(fieldNum(InventSum, ItemId));
    qbds.addSelectionField(fieldNum(InventSum, PhysicalInvent), SelectionField::Sum);
    qbds.addSortField(fieldNum(InventSum, ItemId));
    qbds.orderMode(OrderMode::GroupBy);

    if (useAlterConnection)
    {
        userConnection = new UserConnection();
        inventSum.setConnection(userConnection);
    }
    
    while select inventTable
    {
        i++;
        
        qdr.value(queryValue(inventTable.ItemId));
        
        queryRun = new QueryRun(query);
        queryRun.setCursor(inventSum);
        queryRun.next();
        
        inventSum = queryRun.getNo(1);
    
        info(strfmt("%1: %2", inventTable.ItemId, inventSum.PhysicalInvent));
        
        sleep(1000);
        
        if (i >= 20)
        {
            break;
        }
    }
}
ЗЫ. Результат видно в активных пользователях.
Теги
остатки на дату

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Связывание источников данных в запросах r25 DAX: Программирование 10 17.04.2013 22:45
Создание снимков изменений в базе данных Ace of Database DAX: Программирование 17 01.11.2011 12:34
Скрипт для переноса данных Ax3.0 (Oracle) - Ax2009 (MSSQL) someOne DAX: Программирование 2 14.06.2011 14:53
Невозможно выполнить команду языка определения данных в () iHomer13 DAX: Программирование 8 18.07.2008 10:56
Как проверить целостность данных ledenezz DAX: База знаний и проекты 5 07.12.2007 05:35
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

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

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