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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.12.2011, 23:14   #28  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,342 / 3563 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Добрался до компа
Итак, делаем следующие действия:
1. Создаем файлик link.html со следующим текстом:
Цитата:
<html><a href=Dynamics://ERP?DrillDown_546>Dynamics://ERP?DrillDown_546</a></html>
Что будет до знака вопроса никому особо неинтересно. Главное - чтобы что-то было и совпало со значением в модуле \Основное\Настройка\Оповещения\Параметры оповещений в поле "Цель поисково-аналитической работы" (по-русски - EventParameters.DrillDownGroupId). И когда формируется ссылка - то текст до знака вопроса подставляется из этого поля
2. Убеждаемся в винде, что у нас с протоколом Dynamics:// сопоставлен файл AXHLink.exe (см. мой пост выше)
3. Убеждаемся, что в конфигурационной утилите клиента АХ выбрана та конфигурация, откуда была сгенерирована ссылка.
4. Заходим в АХ, в метод \Classes\Info\startup и на строчке if (startupCommand) ставим точку останова (самый верх метода)
5. Щелкаем по ссылке и отвечаем на идиотский вопрос, что разрешаем доступ к клиенту AX
Название: AXHLinkAccess.PNG
Просмотров: 3289

Размер: 12.1 Кб
6. Анализируем строку startupCommand, которая была передана в АХ. У меня это:
Цитата:
drilldown_546?ERP
7. Заходим в метод \Classes\SysStartupCmd\construct, смотрим (вверху), как разбирается эта строка. Запоминаем, что попало в переменную parm (546?ERP). Убеждаемся в инициализации класса \Classes\SysStartUpCmdDrillDown
8. Заходим в метод \Classes\SysStartUpCmdDrillDown\infoRun и смотрим, как разбирается переменная parm. Видим, как в строке
X++:
str alertId = EventDrillDownPoller::parseAlertId(parm);
получается alertId. А в строках
X++:
str navigationMark = EventDrillDownPoller::parseDrillDownNavigationMark(parm);
и
X++:
EventDrillDownPoller::checkDrillDownNavigationMark(navigationMark)
получается и проверяется этот параметр DrillDownGroupId
9. В строке
X++:
alertRecord = EventInbox::find(str2int64(alertId));
понимаем, что alertId - это не что иное, как EventInboxId, т.е. код записи (InboxId) в таблице входящих оповещений (та, которая открывается по колокольчику)

Ну и отвечая на вопрос - правильный синтаксис запуска клиента АХ в этом случае будет такой:

Client\Bin\ax32.exe -startupcmd=drilldown_546?ERP
__________________
Возможно сделать все. Вопрос времени
За это сообщение автора поблагодарили: EVGL (5), mnt_dx (1).
Теги
оповещения, ax4.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
atinkerersnotebook: Create Filtered Alerts To Sniff Out The Data You Really Want Blog bot DAX Blogs 0 23.05.2014 19:11
Проведите ликбез по DAX, плиз ) Andey DAX: Программирование 3 23.05.2012 12:27
axinthefield: Managing the Alerts Queue for AX 2009 Blog bot DAX Blogs 0 11.06.2011 05:19
Оповещения в DAX 2009 suicest DAX: Функционал 2 02.06.2009 12:33
dax-lessons: Active directory in Axapta Blog bot DAX Blogs 0 27.08.2007 23:00

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

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

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