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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.07.2009, 10:55   #1  
LMA is offline
LMA
Участник
 
22 / 16 (1) ++
Регистрация: 16.09.2004
Адрес: Воронеж
Отчет по данным из нескольких компаний
Добрый день.
Ax 3.0 SP3, MS SQL 2005.
Имеется отчет с запросом из двух сгруппированных таблиц, соединенных по NotExistsJoin. Чтобы обойти компании, перекрываю fetch отчета:
X++:
public boolean fetch()
{
    boolean     ret;
;

    while select departmentDataArea
        where departmentDataArea.Department == department
    {
        changeCompany(departmentDataArea.Id)
        {
            if(this.queryRun())
            {
                  this.queryRun.query().dataSourceTable(TableNum(SalesPricingCD)).
                                   company(departmentDataArea.Id);
                  this.queryRun.query().dataSourceTable(TableNum(HistoryUpdateRetailPrice)).
                                   company(departmentDataArea.Id);
            }

            ret = super();

            if(!ret) return ret;
        }
    }
    return ret;
}
Чтобы не повторялись prompt-ы, внесены соответствующие изменения в другие методы.
Есть следующая проблема: при переходе к очередной компании (например к AMP после AL), меняется company только у первой таблицы, а у второй всегда остается одинаковой (привожу запрос из журнала трассировки операторов SQL):

SELECT COUNT(A.RECID),A.APPROVEUSERID FROM SALESPRICINGCD A WHERE ((A.DATAAREAID='amp') AND (A.STATUS=1)) AND NOT EXISTS (SELECT 'x' FROM HISTORYUPDATERETAILPRICE B WHERE ((B.DATAAREAID='al') AND (A.INVENTSERIALID=B.INVENTSERIALID))) GROUP BY A.DATAAREAID,A.APPROVEUSERID ORDER BY A.DATAAREAID,A.APPROVEUSERID OPTION(FAST 11)

В чем моя ошибка?
Старый 26.07.2009, 15:38   #2  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
Query (и соотвественно queryRun) должен переинициализироваться заново и внутри операции changeCompany при изменении компании. Зачем делать ...company(departmentDataArea.Id);? Если у вас компания и так уже меняется операцией changeCompany
Старый 26.07.2009, 22:48   #3  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Цитата:
Сообщение от Eldar9x Посмотреть сообщение
...
Зачем делать ...company(departmentDataArea.Id);? Если у вас компания и так уже меняется операцией changeCompany
Наверное как раз человек так пытался сделать, чтоб квери работала в новой компании без переинициализации.
__________________
Zhirenkov Vitaly
Старый 27.07.2009, 09:14   #4  
LMA is offline
LMA
Участник
 
22 / 16 (1) ++
Регистрация: 16.09.2004
Адрес: Воронеж
Цитата:
Сообщение от Eldar9x Посмотреть сообщение
Query (и соотвественно queryRun) должен переинициализироваться заново и внутри операции changeCompany при изменении компании.
Должны, но не делают этого. Почему первый источник меняет компанию, а второй нет?
Старый 27.07.2009, 09:17   #5  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
Цитата:
Должны, но не делают этого.
я имел ввиду, что это программист должен сделать .
Старый 27.07.2009, 09:55   #6  
LMA is offline
LMA
Участник
 
22 / 16 (1) ++
Регистрация: 16.09.2004
Адрес: Воронеж
Простите, не понимаю. Каким образом? Убить QueryRun?
Теги
ax3.0, sql, компания

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Отчет из нескольких запросов и их сохранение igorigor77 DAX: Программирование 2 11.12.2008 16:30
Как получить указатель на отчёт когда пользователь выбрал Печать на принтер в просмотрщике, в форму SysPrintForm? rkorchagin DAX: Программирование 10 17.04.2008 11:59
Произвольное объединение компаний для отчетов и операций в них gl00mie DAX: Программирование 11 07.08.2006 14:22
Общие остатки нескольких компаний Sequel DAX: Программирование 36 05.12.2005 16:33
Передача нескольких временных таблиц в отчет Pegiy DAX: Программирование 5 03.06.2004 17:44

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

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

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