31.01.2008, 09:43 | #1 |
int 20h
|
Ссылка на журнал в окне Infolog в Axapta 3.0
Добрый день всем.
Подскажите как реализовать такую штуку При формировании журнала, в инфолог выкидывалось не просто сообщение, что сформирован журнал такой то номер, но и ссылка на него, что бы щелкнул и открылось окно данного журнала. Всем спасибо за советы. P.s. версия Axapta 3.0 sp4
__________________
It's just my Unhopelessnessabilityerism Trying to debug my mind |
|
31.01.2008, 09:51 | #2 |
Участник
|
Копать сюда:
метод info(SysInfoLogStr txt, URL helpUrl = '', SysInfoAction _sysInfoAction = null) и классы SysInfoAction.
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0 |
|
31.01.2008, 09:51 | #3 |
Участник
|
параметр action.
в tutorial были примеры вроде |
|
31.01.2008, 10:05 | #4 |
Участник
|
прочтите про \Classes\SysInfoAction_FormName_RU на База знаний ERP : Axapta / Info Log
|
|
|
За это сообщение автора поблагодарили: zZ_TOP_Zz (1). |
31.01.2008, 10:33 | #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). |
31.01.2008, 10:37 | #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)); } |
|
20.08.2015, 09:13 | #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). |
21.08.2015, 10:31 | #8 |
Участник
|
Я обычно использую класс SysInfoAction_TableField:
X++: info("Создан журнал ГК", "", SysInfoAction_TableField::newBuffer(ledgerJournalTrans)); 1. Не нужно заморачиваться с тем, какая именно форма должна открываться, т.к. автоматически используется основная форма для таблицы, переданной в качестве параметра. 2. Не нужно объявлять отдельную переменную для параметра _sysInfoAction => код выглядит компактнее. |
|