Crear y enviar notificaciones
Para crear una notificación, debe definir una variable de tipo de datos Notificación. Algunas propiedades y funciones que puede usar en una variable de tipo de datos Notificación son:
Id.: especifica un identificador para la notificación.
Mensaje: especifica el contenido de la notificación que aparece en la interfaz de usuario.
Ámbito: especifica el ámbito en el que aparece la notificación. No tiene que especificar esta propiedad porque el valor predeterminado es LocalScope.
Enviar: envía la notificación que mostrará el cliente.
AddAction: agrega una acción en la notificación. Al usar la propiedad AddAction, puede ejecutar un método específico en otra codeunit.
SetData: establece un valor de propiedad de datos para la notificación.
GetData: establece un valor de propiedad de datos para la notificación.
Recuperar: recupera una notificación enviada.
Si especifica un id., puede recuperar esta notificación con la función Recuperar. El uso de un id. también asegura que las notificaciones con el mismo id. solo aparezcan una vez en la lista.
Para enviar una notificación básica, debe proporcionar un mensaje y utilizar la función Enviar. Tenga cuidado con la función Message; no puede usar marcadores de posición como lo haría en una instrucción Message. Si desea usar marcadores de posición, debe usar la función StrSubstNo para reemplazar marcadores de posición por sus valores.
var
MyNotification: Notification;
begin
MyNotification.Id('2f511c20-b456-4894-8472-4eed76826c65');
MyNotification.Message('Here comes your notification text.');
MyNotification.Send();
end;
También puede agregar una acción a la notificación. Esta característica permite al usuario seleccionar la acción y ejecutar una codeunit. Para enviar una acción con una notificación, use la función AddAction.
MyNotification.AddAction(Caption, CodeUnitID, MethodName);
El siguiente ejemplo cambia el ejemplo anterior al usar la función AddAction.
var
MyNotification: Notification;
ShowDetailsTxt: Label 'Show details';
begin
MyNotification.Id('2f511c20-b456-4894-8472-4eed76826c65');
MyNotification.Message('Here comes your notification text.');
MyNotification.AddAction(ShowDetailsTxt, Codeunit::"Notif Mgmt", 'ShowInfo');
MyNotification.Send();
end;
En el ejemplo siguiente se muestra cómo crear una función global en otra codeunit que tenga un parámetro de tipo de datos Notificación. Puede agregar código a la función para administrar la acción.
codeunit 50102 "Notif Mgmt"
{
procedure ShowInfo(MyNotification: Notification)
begin
Page.Run(Page::"Customer List");
end;
}
También puede pasar datos a la función Codeunit. Por lo tanto, no puede pasar los datos como parámetro, pero necesita usar las funciones SetData y GetData para agregar datos a la notificación. Las funciones SetData y GetData definen los datos como un par clave-valor. El par clave-valor solo puede aceptar tipos de datos de texto. Si desea pasar un valor de DateTime o un número entero, primero debe formatear el valor.
var
MyNotification: Notification;
ShowDetailsTxt: Label 'Show details';
begin
MyNotification.Id('2f511c20-b456-4894-8472-4eed76826c65');
MyNotification.Message('Here comes your notification text.');
MyNotification.SetData('Created', Format(CurrentDateTime, 0, 9));
MyNotification.SetData('CustomerNo', '10000');
MyNotification.AddAction(ShowDetailsTxt, Codeunit::"Notif Mgmt", 'ShowInfo');
MyNotification.Send();
end;
La función GetData recupera los datos de nuevo usando la clave.
codeunit 50102 "Custom Notification Management"
{
procedure ShowInfo(MyNotification: Notification)
var
Customer: Record Customer;
CustomerNo: Text;
Created: DateTime;
begin
CustomerNo := MyNotification.GetData('CustomerNo');
Evaluate(Created, MyNotification.GetData('Created'));
if Customer.Get(CustomerNo) then
Page.Run(Page::"Customer Card", Customer);
end;
}