Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Description
Excerpt |
---|
You want to prompt the user to Confirm a message. |
Example 1: Planned function posting
Using this event OnPostReceiveOrder_OnBeforePostAnyOrder
Description
Excerpt |
---|
You want to prompt the user to Confirm a message. |
Example 1: Planned function posting
Using this event OnPostReceiveOrder_OnBeforePostAnyOrder
[EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Receive", 'OnPostReceiveOrder_OnBeforePostAnyOrder', '', true, true)]
local procedure OnPostReceiveOrder_OnBeforePostAnyOrder(var _OrderValues: Record "MOB Common Element"; var _RecRef: RecordRef);
var
MobToolbox: Codeunit "MOB Toolbox";
begin
MobToolbox.ErrorIfNotConfirm('You are stopped for some condition... Do you want to continue?', _OrderValues);
end;
Example 2: LockOrder (Planned function, when an Order is selected)
Using this event OnLockOrder_OnBeforeLockOrder
[EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Order Locking", 'OnLockOrder_OnBeforeLockOrder', '', true, true)]
local procedure ShowConfirmBox_OnBeforeLockOrder(_MobDocumentQueue: Record "MOB Document Queue"; var _RequestValues: Record "MOB NS Request Element"; var _IsHandled: Boolean)
var
MobToolbox: Codeunit "MOB Toolbox";
begin
if _RequestValues.GetValue('Type') = 'Pick' then
MobToolbox.ErrorIfNotConfirm(_RequestValues, 'You are stopped for some condition... Do you want to continue?');
end;
Example 3: Custom Unplanned function
Using this event OnPostAdhocRegistrationOnCustomRegistrationType
[EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS ReceiveMOB WMS Adhoc Registr.", 'OnPostReceiveOrder_OnBeforePostAnyOrderOnPostAdhocRegistrationOnCustomRegistrationType', '', truetrue, truetrue)]
local procedure OnPostReceiveOrder_OnBeforePostAnyOrder My01OnPostAdhocRegistrationOnCustomRegistrationType(var _OrderValues: Record "MOB Common Element"; var _RecRef: RecordRef);
var
MobToolbox: Codeunit "MOB Toolbox";
begin
MobToolbox.ErrorIfNotConfirm('You are stopped for some condition... Do you want to continue?', _OrderValues);
end;
Example 2: LockOrder (Planned function, when an Order is selected)
Using this event OnLockOrder_OnBeforeLockOrder
[EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Order Locking", 'OnLockOrder_OnBeforeLockOrder', '', true, true)]
local procedure ShowConfirmBox_OnBeforeLockOrder(_MobDocumentQueue: Record "MOB Document Queue"; var _RequestValues: Record "MOB NS Request Element"; var _IsHandled: Boolean)
var
MobToolbox: Codeunit "MOB Toolbox";
begin
if _RequestValues.GetValue('Type') = 'Pick' then
MobToolbox.ErrorIfNotConfirm(_RequestValues, 'You are stopped for some condition... Do you want to continue?');
end;
Example 3: Custom Unplanned function
Using this event OnPostAdhocRegistrationOnCustomRegistrationType
RegistrationType: Text; var _RequestValues: Record "MOB NS Request Element"; var _SuccessMessage: Text; var _RegistrationTypeTracking: Text; var _IsHandled: Boolean)
var
MobToolbox: Codeunit "MOB Toolbox";
begin
if _RegistrationType <> 'MyNewUnplannedName'then
exit;
if _IsHandled then
exit;
MobToolbox.ErrorIfNotConfirm(_RequestValues, 'You are stopped for some condition... Do you want to continue?');
_SuccessMessage := 'My custom success message';
_RegistrationTypeTracking := 'My custom description for the document queue (column RegistationType)';
_IsHandled := true;
end;
Example 4: Custom Unplanned function (legacy XML version)
Using this event OnPostAdhocRegistrationOnCustomRegistrationTypeAsXml
[EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Adhoc RegistrMOB WMS Adhoc Registr.", 'OnPostAdhocRegistrationOnCustomRegistrationTypeOnPostAdhocRegistrationOnCustomRegistrationTypeAsXml', '', true true, true true)]
local localprocedure My01OnPostAdhocRegistrationOnCustomRegistrationType My02OnPostAdhocRegistrationOnCustomRegistrationTypeAsXml(_RegistrationType: Text; var _RequestValues: Record "MOB NS Request Element"; var _SuccessMessage: Text; var _RegistrationTypeTracking: Text; var _IsHandled: Boolean)
var
MobToolbox: Codeunit "MOB Toolbox";
begin
if _RegistrationType <> 'MyNewUnplannedName'then
XMLRequestDoc: XmlDocument; var _XMLResponseDoc: XmlDocument; _RegistrationType: Text; var _RegistrationTypeTracking: Text[200]; var _IsHandled: Boolean)
var
MobToolbox: Codeunit "MOB Toolbox";
begin
if _RegistrationType <> 'MyUnplanned' then
exit;
if _IsHandled IsHandled then
exit;
MobToolbox
MobToolbox.ErrorIfNotConfirm(_RequestValues, 'You are stopped for some condition'You are stopped for some condition... Do you want to continue Do you want to continue?', _XMLRequestDoc);
_SuccessMessage := 'My custom success message';
_RegistrationTypeTracking := 'My custom description for the document queue (column RegistationType)';
MOBToolbox.CreateSimpleResponse(_XMLResponseDoc, '');
_IsHandled := true;
end;
Using HTML formatting:
(Minimum Mobile App version 1.5.9)
You can use simple html formatting of the text to display in the confirmation dialog.
_IsHandledHtmlTxtToDispaly :=true;
end;
Example 4: Custom Unplanned function (legacy XML version)
Using this event OnPostAdhocRegistrationOnCustomRegistrationTypeAsXml
[EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Adhoc Registr.", 'OnPostAdhocRegistrationOnCustomRegistrationTypeAsXml', '', true, true)]
local procedure My02OnPostAdhocRegistrationOnCustomRegistrationTypeAsXml(var _XMLRequestDoc: XmlDocument; var _XMLResponseDoc: XmlDocument; _RegistrationType: Text; var _RegistrationTypeTracking: Text[200]; var _IsHandled: Boolean)
var
MobToolbox: Codeunit "MOB Toolbox";
begin
if _RegistrationType <> 'MyUnplanned' then
exit; if _IsHandled then
exit;
MobToolbox.ErrorIfNotConfirm('You are stopped for some condition... Do you want to continue?', _XMLRequestDoc);
MOBToolbox.CreateSimpleResponse(_XMLResponseDoc, '');
_IsHandled := true;
end;<html>' +
'<b><font color="blue">' + 'My Text 1 in Bold and Blue' +
'</font></b>' + '<br><i>' + 'My Text 2 on new line in Italic' +
'</i><p>' + 'My Text 3 after paragraph' + '<p><b><font color="red">' +
'My Text 4 in Bold and Red' + '</font></b>' +
'<br><i>' + 'My Text 5 on new line in Italic' +
'</i><p>' + 'My Text 6 after paragraph' +
'</html>';
How it works behind the scenes
The key ”ForceWarning:” is prefixed to a regular ERROR() command.
Code Block | ||
---|---|---|
| ||
Error('ForceWarning:%1', MyConfirmMessage); |
- This way front-end App knows to a display a Confirm dialog
- Choosing "Cancel" will return the user to the previous screen
- Choosing "Confirm" will automatically repeat the request with a “Force” tag included
- The Force tag tells the backend that the Process can now be completed and NOT halted by the ERROR command.
Filter by label (Content by label) showLabels false max 150 showSpace false title See also excludeCurrent true cql label = "dialog"
Example using html formatting:
Image Added