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

on receipt

1: Planned function posting

Using this event OnPostReceiveOrder_OnBeforePostAnyOrder


[EventSubscriber(ObjectType::CodeunitCodeunit::"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;

See OnPostReceiveOrder_OnBeforePostAnyOrder

Example on a new Unplanned function 


Example 2: LockOrder (Planned function, when an Order is selected)

Using this event OnLockOrder_OnBeforeLockOrder


[EventSubscriber(ObjectType::CodeunitCodeunit::"MOB WMS Adhoc Registr.MOB WMS Order Locking", 'OnPostAdhocRegistrationOnCustomRegistrationTypeAsXmlOnLockOrder_OnBeforeLockOrder''', true, true)]
    local procedure OnPostAdhocRegistrationOnCustomRegistrationType ShowConfirmBox_OnBeforeLockOrder(var _XMLRequestDocMobDocumentQueue: Record XmlDocument"MOB Document Queue"var _XMLResponseDocRequestValuesXmlDocument; _RegistrationType: TextRecord "MOB NS Request Element"var _RegistrationTypeTracking: Text[200]; var _IsHandled: Boolean)
    var
        MobRequestMgt: Codeunit "MOB NS Request Management";
        MobToolbox: Codeunit "MOB Toolbox";
    begin
        if not (_RegistrationType _RequestValues.GetValue('Type''MyNewUnplannedNamePick') then
            exit;
        if _IsHandled then
            exit;        MobToolbox            MobToolbox.ErrorIfNotConfirm(_RequestValues, 'You are stopped for some condition... Do you want to continue?');
    end;

 

Example 3: Unplanned Move

Using this event OnPostAdhocRegistrationOnUnplannedMove_OnAfterCreateWhseJnlLine

Find other functions here PostAdhocRegistration - Integration Events by Registration Type


[EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Adhoc Registr.", 'OnPostAdhocRegistrationOnUnplannedMove_OnAfterCreateWhseJnlLine', '', true, true)]
  _XMLRequestDoc);
        MOBToolbox.CreateSimpleResponse(_XMLResponseDoc, '');
        _IsHandled := true;
    end;

See OnPostAdhocRegistrationOnCustomRegistrationTypeAsXml

Example on LockOrder

  localprocedure OnPostAdhocRegistrationOnUnplannedMove_OnAfterCreateWhseJnlLine(var _RequestValues: Record "MOB NS Request Element"; var _WhseJnlLine: Record "Warehouse Journal Line")
    var
        MobToolbox: Codeunit "MOB Toolbox";
    begin
        MobToolbox.ErrorIfNotConfirm(_RequestValues, 'You are stopped for some condition... Do you want to continue?');
    end;

 

Example 4: Custom Unplanned function

Using this event OnPostAdhocRegistrationOnCustomRegistrationType


[EventSubscriber(ObjectType::Codeunit,  Codeunit::"MOB WMS Order LockingMOB WMS Adhoc Registr.",  'OnLockOrder_OnBeforeLockOrderOnPostAdhocRegistrationOnCustomRegistrationType',  '',  truetrue,  truetrue)]
        local procedure ShowConfirmBox_OnBeforeLockOrder My01OnPostAdhocRegistrationOnCustomRegistrationType(_MobDocumentQueue: Record "MOB Document Queue"; var RegistrationType: Text; var _RequestValues:  Record  "MOB NS Request Element"; var MOB NS Request Element"; var _SuccessMessage: Text; var _RegistrationTypeTracking: Text; var _IsHandled:  Boolean)
        var
        MobToolbox        MobToolbox:  Codeunit  "MOB ToolboxMOB Toolbox";
        begin
                if _RequestValues.GetValue('Type''Pick' then
            MobToolbox _RegistrationType <> 'MyNewUnplannedName'then
            exit;

        if _IsHandled then
            exit;

        MobToolbox.ErrorIfNotConfirm(_RequestValues,  'You are stopped for some condition'You are stopped for some condition...  Do you want to continue?');
    end;See OnLockOrder_OnBeforeLockOrderDo you want to continue?');

        _SuccessMessage := 'My custom success message';
        _RegistrationTypeTracking := 'My custom description for the document queue (column RegistationType)';
        _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.

        HtmlTxtToDispaly :=
          '<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>';

Note

Confirm dialogs will cause an Error entry in the Windows Application Event Log.

If this is an issue for you, consider if your code can be restructured to display the information at existing elements, rather than requiring a confirmation.


How it works behind the scenes 

The key ”ForceWarning:” is prefixed to a regular ERROR() command.

Code Block
languagexml
Error('ForceWarning:%1', MyConfirmMessage);


  1. This way front-end App knows to a display a Confirm dialog

    1. Choosing "Cancel" will return the user to the previous screen
    2. Choosing "Confirm" will automatically repeat the request with a “Force” tag included

  2. The Force tag tells the backend that the Process can now be completed and NOT halted by the ERROR command.

Version History

VersionChangesMOB5.12Introduced
Image Removed

  




Filter by label (Content by label)
showLabelsfalse
max150
showSpacefalse
titleSee also
excludeCurrenttrue
cqllabel = "dialog"

 

Image Added


Example using HTML formatting:

Image Added