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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.02.2009, 20:39   #13  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,983 / 3273 (117) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Джобец
X++:
// GRD_fixQueryValue_pkoz    // pkoz 27.02.2009
static void Job463(Args _args)
{
    int         dd;
//    str         data;// = 27\02\2009;
    date        data = dateNull();
//    date        data = 27\02\2009;
    vendTable   vendTable;
    Query       Query;
    QueryRun    qr;

    str getRange()
    {
        ;
        //return date2strXpp(data);
        return
            strFMT( '((%1==%2))',
                        fieldStr(vendTable, modifiedDate),

                        //QueryValue(data) // с таким параметром кривая дата будет пр использовании расширенных запросов
                        date2strXpp(data) // а при таком все нормально
                        )
        ;
    }
    void qu(boolean _lit, boolean _ext, str _s)
    {
        boolean     good;
        ;
        //info("");
        Query = New Query();
        if (_lit)
            Query.literals(1);

        if (_ext)
            Query.addDataSource(tableNum(vendTable)).addRange(fieldNum(vendTable,
                //modifiedDate
                recId
                )).value(
                getRange()
                );
        else
            Query.addDataSource(tableNum(vendTable)).addRange(fieldNum(vendTable, modifiedDate)).value(QueryValue(data));

        info(Query.dataSourceNo(1).toString());
        qr = New QueryRun(Query);
        good = qr.next();
        info(strFMT("%3 Литералы %1, Расш запрос %2,  recId = %4", _lit, _ext, good ? "Есть результат" : "Нет результата", good ? qr.getNo(1).RecId : 0));
        info("");

        //info("");

    }
    ;
    setPrefix("Оператор SQL");
    info(getRange());

    //GRD_SqlTraceOn();
    //info("");

    qu(0, 0);
    qu(0, 1);
    qu(1, 0);
    qu(1, 1);
    //info("");
    //GRD_SqlTraceOff();

}

Как вы и предполагали, проблема связана с использованием -Internal=NoCursorReuse
Без использования этого ключа логирование может выдавать неверную информацию. modifiedDate - ни при чем

При изменении даты фильтрации
X++:
date        data = dateNull();
- логирование показывает значение которое использовалось в первый раз. Запрос на БД в любом случае правильный уходит.
За это сообщение автора поблагодарили: ZVV (1).
Теги
internal, блокировка, лог, поиск ошибок, полезное

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Главная книга / Запросы / Аудит (TransactionLog) Зачем и кому он нужен? ta_and DAX: Функционал 18 24.09.2008 10:14
Эскалация блокировок в MSSQL fomenka DAX: Администрирование 6 24.04.2007 06:02
сброс блокировок при update somebody DAX: Программирование 3 27.03.2007 11:31
?Аудит пользователей Axapta Gray DAX: Администрирование 4 09.06.2004 07:08
Описание функциональности модуля "Аудит действий пользователей системы" D.Cheprasov DAX: Прочие вопросы 2 22.03.2004 04:32

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

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

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