![]() |
#1 |
int 20h
|
![]()
Добрый день всем.
Подскажите как реализовать такую штуку При формировании журнала, в инфолог выкидывалось не просто сообщение, что сформирован журнал такой то номер, но и ссылка на него, что бы щелкнул и открылось окно данного журнала. Всем спасибо за советы. P.s. версия Axapta 3.0 sp4
__________________
It's just my Unhopelessnessabilityerism ![]() Trying to debug my mind ![]() |
|
![]() |
#2 |
Участник
|
Копать сюда:
метод info(SysInfoLogStr txt, URL helpUrl = '', SysInfoAction _sysInfoAction = null) и классы SysInfoAction.
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0 |
|
![]() |
#3 |
Участник
|
параметр action.
в tutorial были примеры вроде |
|
![]() |
#4 |
Участник
|
прочтите про \Classes\SysInfoAction_FormName_RU на База знаний ERP : Axapta / Info Log
|
|
|
За это сообщение автора поблагодарили: zZ_TOP_Zz (1). |
![]() |
#5 |
int 20h
|
Уважаемый belugin спасибо. Очень помогло. Вопрос снят.
Всем ответившим спасибо. для тех кому интересно чем это закончилось вот пример кода X++: //В процедуре формирования журнала добавляем SysInfoAction_FormName_RU action; ; // ..... участок кода if (LedgerJournalTable::find(ledgerJournalTable.JournalNum).Posted == NoYes::Yes) { // ..... участок кода action = new SysInfoAction_FormName_RU(ledgerJournalTable, formStr(LedgerJournalTable)); info(strfmt("Создан журнал № %1 (%2)", ledgerJournalTable.JournalNum, ledgerJournalTable.ledgerJournalName().Name), '', action); // ..... участок кода }
__________________
It's just my Unhopelessnessabilityerism ![]() Trying to debug my mind ![]() Последний раз редактировалось zZ_TOP_Zz; 31.01.2008 в 11:03. Причина: Расширение ответа |
|
|
За это сообщение автора поблагодарили: gefr (1). |
![]() |
#6 |
Участник
|
Если не завязываться на конкретную форму, то можно реализовать необходимый функционал в общем случае через класс SysInfoAction_FormRunQuery:
X++: void addInfologMsgWithAction(str _msg, Common _record) { QueryBuildRange qbr; Query query = new Query(); ; qbr = query.addDataSource(_record.tableId).addRange(fieldname2id(_record.tableId, fieldstr(LedgerTrans, RecId))); qbr.value(queryValue(_record.recId)); info(_msg, '', SysInfoAction_FormRunQuery::newQuery(query)); } |
|
![]() |
#7 |
Участник
|
В AX 2012 не заработало. Выдавались ошибки о не инициализированных источниках, которых не было по debug в запросе к форме. К Item, например, требовал источник ProdTable.
Но заработал измененный вариант для определенной формы: X++: public static void addInfologMsgWithAction(str _msg, Common _common, FormName _formName) { SysInfoAction_FormName_RU action; ; action = new SysInfoAction_FormName_RU(_common, _formName); info(_msg, '', action); } |
|
|
За это сообщение автора поблагодарили: Товарищ ♂uatr (1). |
![]() |
#8 |
Участник
|
Я обычно использую класс SysInfoAction_TableField:
X++: info("Создан журнал ГК", "", SysInfoAction_TableField::newBuffer(ledgerJournalTrans)); 1. Не нужно заморачиваться с тем, какая именно форма должна открываться, т.к. автоматически используется основная форма для таблицы, переданной в качестве параметра. 2. Не нужно объявлять отдельную переменную для параметра _sysInfoAction => код выглядит компактнее. |
|