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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.11.2011, 18:05   #1  
Юрий Буряк is offline
Юрий Буряк
Участник
 
3 / 10 (1) +
Регистрация: 28.11.2011
Логирование createdTransactionId
Здравствуйте,
в каждой таблице есть такие поля:
createdTransactionId, modifiedTransactionid
Появилась надобность сделать логирование этих TransactionId.
То есть таблица с двумя полями: TransactionId и место в коде, где был вызван соответсвующий ttscommit (если он был конечно использован).

1. TransactionId я могу получить так appl.curTransactionId(true), не знаю насколько это правильно, документации не нашел, но работает.
2. А как получить место в коде, или хотя бы обьект, где был вызван ttscommit? На данный момент я пытаюсь найти способ получить из метода Application.ttsNotifyCommit(). Но так как caller() тут нет, то возможно эту задачу надо совсем по другому решать.

Работаю на AX 4.0 SP2
Старый 28.11.2011, 18:15   #2  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
xSession::xppCallStack();

посмотрите тулзу
Старый 28.11.2011, 20:00   #3  
Юрий Буряк is offline
Юрий Буряк
Участник
 
3 / 10 (1) +
Регистрация: 28.11.2011
Цитата:
Сообщение от Wamr Посмотреть сообщение
xSession::xppCallStack();
Вроде как работает.

Возможно кто-то еще подскажет по методу appl.curTransactionId(true), так как в гугле всего 7 ссылок и они ничего не дают. В нем есть параметр true/false, если не посылаю true, то возвращает 0. Но если посылаю true, то насколько я могу понять, он создает новый TransanctionID. Или нет?
Есть еще метод application.lastTransactionIdCreated(), но он мне всегда 0 возвращает.
Старый 29.11.2011, 08:08   #4  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Посмотрите на реализацию функциональности "Аудиторский след". Стандартный класс TransactionlogUpdateTTSControl
Старый 29.11.2011, 08:16   #5  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
И ещё просто мысли в слух. Если в качестве лога использовать таблицу у которой включить опцию createdTransactionId, и запись в этом логе делать непосредственно в самой транзакции, то разве в поле createdTransactionId не попадёт номер именно текущей транзакции?
Старый 29.11.2011, 12:12   #6  
Юрий Буряк is offline
Юрий Буряк
Участник
 
3 / 10 (1) +
Регистрация: 28.11.2011
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
И ещё просто мысли в слух. Если в качестве лога использовать таблицу у которой включить опцию createdTransactionId, и запись в этом логе делать непосредственно в самой транзакции, то разве в поле createdTransactionId не попадёт номер именно текущей транзакции?
Нет, там создается несколько TransactionId, но это интересная идея, спасибо, сейчас попробую покопать в этом направлении.

Последний раз редактировалось Юрий Буряк; 29.11.2011 в 12:24.
Теги
createdtransactionid, modifiedtransactionid

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Логирование изменений и открытие доступа к домену Logger DAX: Программирование 8 17.05.2011 19:58
Логирование системных табличек Logger DAX: Программирование 0 01.03.2010 19:04

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

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

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