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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.03.2008, 18:03   #1  
IvanOFF is offline
IvanOFF
MCTS
MCBMSS
 
65 / 87 (3) ++++
Регистрация: 22.09.2005
Адрес: Москва
Оповещения. Переход к источнику оповещения.
Здравствуйте!
Заметил такую особенность в работе стандартного механизма оповещения в AX 4.0.
Например, если настроить оповещение на изменение поля таблицы "Договоры" (RContractTable - неважно, у клиентов или поставщиков), то позже из этого оповещения (форма "Просмотр оповещений" - EventAlertInbox) нельзя перейти к той записи, у которой было изменено поле. Открывается форма договоров, выделяется поле грида, в котором было изменение, но выбрана первая запись, а не та, на которой было сгенерировано оповещение. На других формах функционал отрабатывает корректно - переходит к нужной записи.

После анализа кода, выяснилось то отличие таблицы договоров от других таблиц, которое приводит к такому поведению. Это - составной первичный ключ. В классе EventContextInformation за поиск записи на форме отвечает метод find(), в самом начале которого идет проверка - canUseFindRecord(), который в случае с RContractTable возвращает false. Этот false, в свою очередь, определяется методом canUseLookup() того же класса, который также возвращает false из-за вот этой проверки:
X++:
di = this.getPrimaryIndex();
if (! di || di.numberOfFields() != 1)
    return false;
которая из-за составного первичного ключа возвращает false. Если в отладчике вручную заставить вернуть метод canUseLookup() значение true, то запись корректно находится.
Может, у кого-нибудь есть идеи, зачем так сделано? Зачем таблицы с составным первичным ключом обрабатываются иначе, чем те, у которых первичный ключ содержит одно поле. Может, в этом и есть какой-то смысл, но функционал при этом работает не корректно.
Исправить-то можно, конечно, но хотелось бы разобраться.
Теги
оповещения, ax4.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Оповещения (alerts) в DAX 4.0 sparur DAX: Программирование 55 31.05.2017 16:14
Не работают оповещения AlexeyBP DAX: Функционал 4 21.08.2007 11:32
ALEG: Фишка недели: Бизнес Оповещения или сказ о том, как ИТ менеджер улучшал продуктивность бизнеса Blog bot DAX Blogs 10 16.01.2007 14:06
Запрос по добавленному пользователем источнику данных ZSV DAX: Программирование 0 18.03.2005 17:33
Переход на правильную запись при Переходе к основной таблице. - 2 Anais DAX: Программирование 2 01.11.2004 17:14

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

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

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