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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.10.2008, 09:16   #1  
ena_ax is offline
ena_ax
Участник
 
254 / 46 (2) +++
Регистрация: 06.12.2006
Аналогичная проблема.
5000 строк в таблице LedgerTable.
При формировании отчета указываю условие запроса "!9*".

Генирируется честный запрос
SELECT * FROM LedgerTable WHERE ((AccountNum = N'00' OR AccountNum = N'10000000' OR AccountNum = N'10009990' OR AccountNum = N'10100000' OR AccountNum = N'10110000' OR AccountNum = N'10111010' OR AccountNum = N'10112000' OR AccountNum = N'10112010' OR AccountNum = N'10112028' OR AccountNum = N'10113000' OR AccountNum = N'10113010' OR AccountNum = N'10113028' OR AccountNum = N'10114000' OR AccountNum = N'10114010' OR
.......
и так далее перечисление по всем счетам, т.е. более 3000 счетов.

Как результат имеем ошибку: "Ошибка времени выполнения: Выполняемая операция генерирует оператор SQL, содержащий большое количество вложенных операторов. Разбейте данную операцию не несколько частей и повторите попытку.


Получается системная ошибка при использовании стандартных запросов.
Есть ли рецепты по решению этой проблемы?
Спасибо.
Старый 06.10.2008, 10:21   #2  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1296 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Тут только один выход. Менять запрос и вместо запихивания в range списка счетов переделывать на соединение с таблицей. Саму таблицу следует заполнять до вызова запроса.
Делал такую штуку. Если найду код, то до конца дня выложу.
Старый 06.10.2008, 10:29   #3  
Михаил Андреев is offline
Михаил Андреев
Участник
Компания АМАНД
Лучший по профессии 2009
 
1,300 / 239 (10) ++++++
Регистрация: 09.11.2001
Адрес: Химки, Московская область
Цитата:
Сообщение от Raven Melancholic Посмотреть сообщение
Тут только один выход. Менять запрос и вместо запихивания в range списка счетов переделывать на соединение с таблицей. Саму таблицу следует заполнять до вызова запроса.
Делал такую штуку. Если найду код, то до конца дня выложу.
Хм. Примерно так же в 3.0 сделан российский генератор финансовых отчётов. Мягко говоря, очень долго работает. Уверен, что в данном случае работает намного быстрее
А можно просто запрос переписать, чтобы "!9*" превращалась именно в NOT LIKE "9%" без расшифрования на отдельные счета.
__________________
Михаил Андреев
https://www.amand.ru
Теги
отчет, ошибка

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Вопрос по оборотно-сальдовой ведомости tusk DAX: Функционал 11 18.12.2007 16:18
Оборотно - сальдовые ведомости по поставщикам (AX 3.0 sp4) Тоба DAX: Прочие вопросы 11 29.08.2006 09:52
Ошибка (?) в периодических журналах ГК Anais DAX: Функционал 1 10.06.2005 13:20
Отрицательная сумма в оборотно-сальдовой ведомости на конец периода tolstjak DAX: Функционал 1 23.11.2004 18:36
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38

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

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

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