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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.09.2009, 11:41   #1  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
! Ошибки в настройке оповещений и журнала БД
Dynamics AX 4.0
Kernel 4.0.2503.560
Application 4.0.2501.347

Проблема:
Настроено оповещение на удаление записи в таблице. Через некоторое время правило оповещения удаляется за ненадобностью (или выключается). При этом всё равно формируются записи EventCud и при попытке сформировать оповещение (периодическое операцией) выдается ошибка.

Выяснилось:
1. При создании правила заполняется таблица DatabaseLog (которая используется для настройки журнала базы данных), при этом используются типы:
EventInsert 4
EventDelete 5
EventUpdate 6
EventRenameKey 7.

2. При удалении (или снятии галки "Включено") правила оповещения вышеуказанная таблица никак не меняется, т.е. настройка остается. Я так понимаю, это ошибка - создаются лишние строки в EventCUD.

3. Если после настройки оповещения создать настройку журнала базы данных на ту же таблицу (при этом в мастере таблица уже будет отмечена галкой в общем списке, а в списке настройки событий для записи все галки будут сняты), то запись от правила оповещения будет обновлена (изменен тип) на:
Insert 0
Delete 1
Update 2
RenameKey 3.
Это ошибка, т.к. после этого оповещения перестанут создаваться, будет только запись в журнале базы данных.

Как обойти проблемы:
1. Если нужны одновременно и журнал базы данных, и оповещение - создавать сначала первое, потом второе.
2. Если нужно выключить (отменить) оповещение - нужно создать настройку в журнале базы данных (если она уже есть - сначала удалить), потом удалить.

Все вышенаписанное протестировано на типе события "удаление записи", для других, возможно, будет аналогично.
__________________
Ivanhoe as is..
За это сообщение автора поблагодарили: sukhanchik (4), alica_17 (1), AlGol (2), alex55 (1).
Старый 16.09.2009, 13:59   #2  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,311 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Есть такая фишка, подтверждаю. Сам не ковырял - но симптомы знакомые - отключаешь оповещения, а они не отключаются. Причем не на удалении, а на изменении записи.
__________________
Возможно сделать все. Вопрос времени
Старый 16.09.2009, 14:02   #3  
AX2009
Гость
 
n/a
В 2009 все нормально работает
Старый 16.09.2009, 14:52   #4  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Дополнение:

В указанной версии системы (см. первый пост) при удалении правила оповещения делается попытка удалить запись в DatabaseLog, но при этом используется таблица доменов (из настройки прав доступа).

У нас домены не используются (из-за отключенного лицензией ключа SysDomain) - запись поэтому и не удаляется.

При этом кода анализа на выключение правила нет - т.е. если б домены и были, то выключение правила привело к той же ошибке.
__________________
Ivanhoe as is..
Старый 16.09.2009, 15:09   #5  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Дополнение 2 про DAX 2009:

Внешне изменений по сравнению с 4.0 не видно, при отключении правила ничего не делается. При отстутствии лицензии на домены, запись в DatabaseLog также не будет удалена.

Вывод: как минимум ошибка номер один есть и в Dynamics AX 2009 SP1 EE Roll-up 2.
__________________
Ivanhoe as is..
Старый 27.01.2014, 12:37   #6  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
AX 2012 R2. Похожее поведение при настройке логирования данных и оповещений - если настроить лог, то оповещение затирается. Домены не используются.

Решение опять же - сначала лог, потом - оповещение.
__________________
Ivanhoe as is..
Старый 10.02.2014, 14:18   #7  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Есть фикс: 2928472
__________________
Ivanhoe as is..
Теги
alert, ax4.0, event, журнал базы данных, оповещения, ошибка

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Проект расширения стандартных оповещений AX 4.0 Ivanhoe DAX: Функционал 34 11.02.2016 15:34
Разнообразные ошибки при работе с БД mayk DAX: Администрирование 4 07.12.2012 14:58
Счет фактура по строке общего журнала Starling DAX: Функционал 2 28.09.2011 18:31
Ошибки в строках журнала ГК Ivanhoe DAX: Программирование 5 06.12.2010 12:30
Просмотр журнала БД Lihgt DAX: База знаний и проекты 2 21.09.2004 16:23

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

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

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