Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 18 Next »

Description

Create multilingual customizations using Mobile Messages.

Use cases

  • Modify existing translations
  • Support multiple languages with your customization

Behavior on the device

The field "Language Code" on Mobile Users, determines what Mobile Messages are used.

Mobile Messages can also added by code as we will do in this example below.

Editing Mobile Messages manually

You can always manually from the Web Client, see Edit Mobile Messages.

Edit Default Main Menu

You can modify the existing Main menu, by creating specific mobile message that will overwrite the default.


 List of Main Menu codes

MainMenuReceive
MainMenuPutAway
MainMenuPick
MainMenuCount
MainMenuPhysInvtRecording
MainMenuRegisterItemImage
MainMenuUnplannedCount
MainMenuProduction
MainMenuAssembly
MainMenuBulkMove
MainMenuUnplannedMove
MainMenuBinContent
MainMenuLocateItem
MainMenuPostShipment
MainMenuSubstituteItems
MainMenuItemCrossReference
MainMenuAdjustQuantity
MainMenuPrintLabel
MainMenuPrintLabel
MainMenuItemDimensions
MainMenuToteShipping
MainMenuPacking
MainMenuLPContent
MainMenuSettings
LicensePlate_Update_Pos



Step 1 - Adding mobile messages

Using event OnAddMessages.

  • Adding a Mobile Message and translations for English and Danish
  • The _LanguageCode corresponds to Mobile Language

    [EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Language", 'OnAddMessages', '', true, true)]
    local procedure MyOnAddMessages(_LanguageCode: Code[10]; var _Messages: Record "MOB Message")
    begin
        if _LanguageCode = 'ENU' then
            _Messages.Create('ENU', 'MYSIGNATUREHELPLABEL', 'Make sure to verify the picked items.'); // Create English translation for my custom mobile message

        if _LanguageCode = 'DAN' then
            _Messages.Create('DAN', 'MYSIGNATUREHELPLABEL', 'Kontollér de plukkede varer.'); // Create Danish translation for my custom mobile message
    end;


Step 2 - Using the mobile message as "label" for a header step on posting picks

Using event OnPostPickOrder_OnAddStepsToAnyHeader.


    [EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Pick", 'OnPostPickOrder_OnAddStepsToAnyHeader', '', true, true)]
    local procedure MyOnPostPickOrder_OnAddStepsToAnyHeader(var _OrderValues: Record "MOB Common Element"; _RecRef: RecordRef; var _StepsElement: Record "MOB Steps Element")
    var
        MobWmsLanguage: Codeunit "MOB WMS Language";
    begin
        // Break if new step is already collected to prevent infinite loop
        if _OrderValues.HasValue('MySignatureStep') then
            exit;

        // Create a new Signature step
        _StepsElement.Create_SignatureStep(10000, 'MySignatureStep');
        _StepsElement.Set_helpLabel(MobWmsLanguage.GetMessage('MYSIGNATUREHELPLABEL')); // Set HelpLabel to use my custom mobile message
    end;

Step 3 - Trigger "OnAddMessages"-event 

With the above event subscribers active, go to Business Central

  1. Open the Mobile Language-page
  2. Select the language
  3. Select action "Mobile Message"
  4. Select action "Create Messages"
  5. Repeat step 1-4 for each language, in this case ENU and DAN


Alternatively, you can write an Installation Codeunit that uses Codeunit "MOB WMS Language" to create the message in Step 1.



See also


Before


After

English


Danish


  • No labels