Info Action with menu item link
Found this excellent post regarding links in infomessages. This worked differently in AX2009 and AX2012 so I thought I'd add it to my blog.
Reference:
https://community.dynamics.com/blogs/post/?postid=845d1f47-cc05-4303-a8bb-c6ed35b1c0b3
- Create a new class with the code below
- Call the code like this for an info message:
ActionMessage_MOD::InfoDisplayMenu( menuItemDisplayStr(LedgerJournalTable3)
, ledgerJournalTable.RecId
, tableStr(LedgerJournalTable)
, strFmt("@MOD:PeriodizationAddedToJournal", ledgerJournalTable.JournalNum)
, "@MOD:ClickHereToOpen"
);
internal final class ActionMessage_MOD
{
private static void messageAction(str _menuItemName, RecId _recId, str _tableName, str _message, str _actionMsg, MessageSeverity _severity, MessageActionType _actionType)
{
MenuItemMessageAction menuItemMessageAction = new MenuItemMessageAction();
menuItemMessageAction.MenuItemName(_menuItemName);
menuItemMessageAction.RecId(_recId);
menuItemMessageAction.TableName(_tableName);
Message::AddAction( _severity
, _message
, _actionMsg
, _actionType
, FormJsonSerializer::serializeClass(menuItemMessageAction)
);
}
public static void InfoDisplayMenu(str _menuItemName, RecId _recId, str _tableName, str _message, str _actionMsg)
{
ActionMessage_MOD::messageAction(_menuItemName, _recId, _tableName, _message, _actionMsg, MessageSeverity::Informational, MessageActionType::DisplayMenuItem);
}
public static void InfoActoinMenu(str _menuItemName, RecId _recId, str _tableName, str _message, str _actionMsg)
{
ActionMessage_MOD::messageAction(_menuItemName, _recId, _tableName, _message, _actionMsg, MessageSeverity::Informational, MessageActionType::ActionMenuItem);
}
public static void WarningDisplayMenu(str _menuItemName, RecId _recId, str _tableName, str _message, str _actionMsg)
{
ActionMessage_MOD::messageAction(_menuItemName, _recId, _tableName, _message, _actionMsg, MessageSeverity::Warning, MessageActionType::DisplayMenuItem);
}
public static void WarningActionMenu(str _menuItemName, RecId _recId, str _tableName, str _message, str _actionMsg)
{
ActionMessage_MOD::messageAction(_menuItemName, _recId, _tableName, _message, _actionMsg, MessageSeverity::Warning, MessageActionType::ActionMenuItem);
}
public static void ErrorDisplayMenu(str _menuItemName, RecId _recId, str _tableName, str _message, str _actionMsg)
{
ActionMessage_MOD::messageAction(_menuItemName, _recId, _tableName, _message, _actionMsg, MessageSeverity::Error, MessageActionType::DisplayMenuItem);
}
public static void ErrorActionMenu(str _menuItemName, RecId _recId, str _tableName, str _message, str _actionMsg)
{
ActionMessage_MOD::messageAction(_menuItemName, _recId, _tableName, _message, _actionMsg, MessageSeverity::Error, MessageActionType::ActionMenuItem);
}
}
Comments
Post a Comment