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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.11.2021, 12:25   #9  
Perc is offline
Perc
Участник
 
193 / 47 (2) +++
Регистрация: 05.03.2005
В итоге xSession::xppCallStack() оказался совершенно бесполезным в поиске проблемы.
Самым простым и действенным получилось в onEventGoingIdle показать модальное окно после проверки ttsLevel. С третьей попытки пользователь таки прочитал сообщение и позвонил)

Проблема была на форме LedgerJournalTable. Ктото у нас на modified одного из полей сделал LedgerJournalTable_ds.write(). А во write на форме:
X++:
    ttsbegin;
    super();
    journalFormTable.datasourceWritePost();
    ttscommit;
Одно из обязательных полей таблицы было не заполнено. Поэтому в validateWrite() в super() аксапта поднимает какое то странное исключение с типом Warning. При этом код в validateWrite() доделывается, а все что было выше по стэку бросается, и транзакция еще не откатывается. В итоге имеем ttslevel=1. Далее пользователь умудряется все корректно заполнить, создать строки и разнести журнал. Потом аскапта совсем уж начинает сопротивляться, пользователь перезапускается - но журнала который он видел разнесенным, уже нет)
По мне write() в коде не выглядит каким то уж криминалом. А вот реакция системы с бросанием кода, но без отката транзакции - непонятно.. Предполагается что? Написать еще дополнительно проверку validateWite перед wite?
За это сообщение автора поблагодарили: S.Kuskov (5).
Теги
стек вызовов, транзакции

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
ttsbegin и зацикливание While select Perc DAX: Программирование 4 21.11.2014 08:55
Win2008 и вызов методов COM-объектов AndyD DAX: Программирование 13 06.02.2012 15:22
Падает стандартный импорт с ошибкой "Вызов ttscommit без вызова ttsbegin" skof DAX: Администрирование 6 19.01.2012 17:12
dynamics-ax-dev: CLR Errors & ttsbegin/ttscommit Blocks Blog bot DAX Blogs 0 02.11.2010 18:05
ttsbegin ttscommit and changecompany() Volodymyr DAX: Программирование 9 29.08.2008 15:36

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 11:54.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.