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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 30.05.2012, 16:37   #1  
MikeR is offline
MikeR
MCT
Аватар для MikeR
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
 
1,628 / 627 (24) +++++++
Регистрация: 28.11.2005
Адрес: просто землянин
CodeAccessPermission::revertAssert(); Баго Фича Ax 40
Столкнулся с такой баго/фичей
X++:
            connect = new Connection();
            connect.ttsbegin();
            Stmt = connect.createStatement();
            perm = new SqlStatementExecutePermission(sql);
            perm.assert();
            res = Stmt.executeUpdate(sql);
            connect.ttscommit();
            CodeAccessPermission::revertAssert();
// вставка в таблицу 
    AnyTable.clear();
......
    AnyTable.Doinsert();
Внутри блока try команда sql выполняется второй раз.
Если вынести вне блока, то все работает на ура.
У меня воспроизводится на ax 40
__________________
Axapta book for developer
Старый 31.05.2012, 08:08   #2  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Ничего не понятно из примера. Где начинается/заканчивается блок Try/Catch. Что за команда sql выполняется второй раз? Причём тут "вставка в таблицу"?

Понял лишь что есть какая-то проблема с revertAssert. И что она воспроизводится только в комбинации с блоком Try/Catch.
Старый 31.05.2012, 12:17   #3  
MikeR is offline
MikeR
MCT
Аватар для MikeR
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
 
1,628 / 627 (24) +++++++
Регистрация: 28.11.2005
Адрес: просто землянин
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Ничего не понятно из примера. Где начинается/заканчивается блок Try/Catch. Что за команда sql выполняется второй раз? Причём тут "вставка в таблицу"?

Понял лишь что есть какая-то проблема с revertAssert. И что она воспроизводится только в комбинации с блоком Try/Catch.
Попробую разъяснить -
Дело том, что команда sql внутри try catch выполняется ДВА раза.
Я это словил, когда туда же добавил вставку в таблицу записи, после вставки команда sql выполнилась еще раз, что несколько странно.

ЗЫ Без использования Permission в 3 версии работало нормально.
__________________
Axapta book for developer
Старый 31.05.2012, 12:25   #4  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Т.е. выполняется Stmt.executeUpdate(sql)
затем AnyTable.Doinsert();
а потом снова Stmt.executeUpdate(sql)
?
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
equalized: Dynamics Ax printing logo’s from batch Blog bot DAX Blogs 0 19.01.2012 19:11
equalized: Dynamics Ax printing logo’s from batch Blog bot DAX Blogs 0 15.01.2012 05:17
emeadaxsupport: New Content for Microsoft Dynamics AX 2012 : October 2011 Blog bot DAX Blogs 0 27.10.2011 17:11
axinthefield: Dynamics AX Event IDs Blog bot DAX Blogs 0 01.03.2011 22:11
daxdilip: Whats New in Dynamics AX 2012 (A brief extract from the recently held Tech Conf.) Blog bot DAX Blogs 7 31.01.2011 12:35

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

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

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