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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.10.2008, 22:08   #1  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,480 / 1255 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Настройка - параметры - использование данных - сбросить - уверен - все пучком.

Было неднократно.

С Уважением,
Георгий
За это сообщение автора поблагодарили: DreamCreator (2).
Старый 14.10.2008, 09:31   #2  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
Спасибо, все получилось!
Цитата:
Сообщение от AndyD Посмотреть сообщение
При упаковке Query сохраняется информация об объекте AOT, на основе которого он был создан.
Когда происходит вызов new QueryRun(Query), для Query вызывается метод Init(), который перетирает ранее восстановленный из контейнера range.
Я тоже подозревал init()

Цитата:
Сообщение от AndyD Посмотреть сообщение
Варианта решения два - в Init() проверять range и инициализировать только если value() пустой.
Не пройдет - т.к. range не пустой для ежедневной пакетной выгрузки и скорее всего пользователь,если сам запустит,
тоже не оставит его пустым, а если оставит, то специально.

Цитата:
Сообщение от AndyD Посмотреть сообщение
Либо, не пересоздвать QueryRun, а заменять в нем Query
X++:
if(this.isInBatch())
    queryRun.query(unPackedQuery);
Спасибо, сработало!! А решение было так близко!

Цитата:
Сообщение от miklenew Посмотреть сообщение
Перед if(класс.promt()) вызываю класс.SaveLast().
Спасибо! Для enun-ов буду иметь в виду!

Цитата:
Сообщение от George Nordic Посмотреть сообщение
Настройка - параметры - использование данных - сбросить - уверен - все пучком.
Я сначала тоже на кэш думал Оказывается query как объект AOT ведет себя особенно!
Старый 14.10.2008, 09:51   #3  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2499 (89) +++++++++
Регистрация: 20.08.2005
Цитата:
Сообщение от DreamCreator Посмотреть сообщение
Не пройдет - т.к. range не пустой для ежедневной пакетной выгрузки и скорее всего пользователь,если сам запустит,
тоже не оставит его пустым, а если оставит, то специально.
Хм.
А если так проверять?
X++:
if(qbr && !qbr.value())
    qbr.value(SysQuery::range(systemDateGet() - 2 , systemDateGet()));
И вообще, не понятно, зачем вообще его инициализировать в Query.
В RunBase для этого есть метод InitParmDefault(), который вызывается только при отсутствии упакованных данных.
__________________
Axapta v.3.0 sp5 kr2
Старый 14.10.2008, 10:16   #4  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
Цитата:
Сообщение от AndyD Посмотреть сообщение
Хм.
А если так проверять?
X++:
if(qbr && !qbr.value())
    qbr.value(SysQuery::range(systemDateGet() - 2 , systemDateGet()));
И вообще, не понятно, зачем вообще его инициализировать в Query.
В RunBase для этого есть метод InitParmDefault(), который вызывается только при отсутствии упакованных данных.
Для рабочей задачи была цель один раз запустить пакет который бы исполнялся каждый вечер и делал выборку за период
[текущая дата - 2, текущая дата] - для этого подходило решение с инициализацией параметров Query в init пока не обратили
внимание не некорректную работу в пакетном режиме при задании иных пользовательских параметров.

Понятно что можно было налету в методе run подставлять нужный период, но хотелось сделать все явно и компактно - в одном объекте query.

Сейчас думаю разбить логику пакетной обработки на ежедневную (с фиксированным периодом) и особую, при которой пользователь сам вводит нужные ему
параметры.

InitParmDefault - попробовал, буду использовать!
Теги
ax3.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Изменить план выполнения запроса Sequel DAX: Администрирование 2 29.05.2008 15:46
Быстродействие запроса Antonuch DAX: Программирование 1 25.01.2008 15:58
Оптимизация запроса oleg_e DAX: Программирование 16 11.01.2008 10:22
Теория: Создание отчета в виде Запроса Arahnid DAX: Программирование 6 14.11.2007 16:37
Ускорение выполнения запроса Oracle + MS Axapta Горбунов Дмитрий DAX: Программирование 17 15.11.2005 18:13

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

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

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