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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.09.2005, 11:01   #1  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,713 / 1201 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
PHP код:
void new()
{
    
Query                query = new Query();
    
QueryBuildDataSource qbds;

    ;

    
qbds query.addDataSource(tablenum(RTG_PR_ManagementClientTable));
    
qbds.addSelectionField(fieldnum(RTG_PR_ManagementClientTableCode), SelectionField::MIN);
    
qbds.addSelectionField(fieldnum(RTG_PR_ManagementClientTableName), SelectionField::MIN);
    
qbds.addSelectionField(fieldnum(RTG_PR_ManagementClientTableCreditMax), SelectionField::MIN);
    
qbds.addSelectionField(fieldnum(RTG_PR_ManagementClientTableMaxPaymentDelay), SelectionField::MIN);
    
qbds.addSelectionField(fieldnum(RTG_PR_ManagementClientTableMaxPaymentDays), SelectionField::MIN);
    
qbds.addSelectionField(fieldnum(RTG_PR_ManagementClientTableWorkInNewConditions), SelectionField::MIN);
    
qbds.orderMode(OrderMode::GROUPBY);
    
qbds.addSortField(fieldnum(RTG_PR_ManagementClientTableCode));
    
qbds qbds.addDataSource(tablenum(CustTable));
    
qbds.relations(false);
    
qbds.clearLinks();
    
qbds.addLink(fieldnum(RTG_PR_ManagementClientTableCode), fieldnum(CustTableRTG_PR_ManagementClientCode));
    
qbds.addSelectionField(fieldnum(CustTableAccountNum), SelectionField::MIN);
    
qbds.addSelectionField(fieldid2ext(fieldnum(CustTableDimension), 1), SelectionField::MIN);
    
qbds.addSelectionField(fieldnum(CustTableRTG_SalesManagerGroupId), SelectionField::MIN);
    
qbds.addRange(fieldnum(CustTableAccountNum));
    
qbds.addRange(fieldid2ext(fieldnum(CustTableDimension), 1));
    
// RTG, 22.09.2005, МВБ -->
    
qbds.orderMode(OrderMode::GROUPBY);
    
qbds.addSortField(fieldnum(CustTableRTG_PR_ManagementClientCode));
    
// RTG, 22.09.2005, МВБ <--


    
queryRun = new QueryRun(query);

То, что выделено комментарием - это та самая "заплатка".

RTG_PR_ManagementClientTable - это таблица созданная уже в нашей копии AXAPTA. Не стандартный функционал.

MIN(code) - это просто перестраховка. На результат не должно влиять никак. Пробовал убирать MIN() - никаких изменений.

Я сам заходил под лигином пользователя и эффект был тот же. Т.е. даже не надо менять RANGE. Достаточно просто открыть SysQueryForm и ничего не меняя тут же нажать "Ok". Все. Group By - вылетает.

Получается, какие-то проблемы именно с SysQueryForm под логином некоторых пользователей.

Я уже делал инкрементную компиляцию RunBase и самой формы SysQueryForm - не помогает.

Проверяю, что же получилось в результате в метод main()

PHP код:
...
if 
myClass.prompt()
{
    
myClass.test_query()
    
//myClass.run()
}

void test_Query()
{
    ;
    
info(queryRun.query().DataSourceNo(1).toString());

Кроме того, проверял SQL профайлером, что реально получает сервер. Нет там GROUP BY и все тут.

Если бы это происходило у ВСЕХ пользователей, то было бы как-то понятно, что это где-то я ошибся. Но почему это происходит у некоторых?
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Динамическое изменение query для отчета Peppi DAX: Программирование 1 25.11.2008 06:59
Изменение query запроса в локальных настройках пользователя? 3oppo DAX: Программирование 16 09.04.2008 11:15
Dynamics AX Geek: Using query() Blog bot DAX Blogs 0 28.10.2006 16:40
Как вызвать изменение Query в DS1 не вызывая метод executeQuery? Morpheus DAX: Программирование 5 17.10.2006 10:26
Динамическое изменение Query() на форме makos DAX: Программирование 22 05.07.2006 16:28

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

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

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