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 28 Next »

Use this event to

Add new "steps" shown on the mobile device when a label print is triggered.

   


See also: 

OnLookupOnPrintLabel_OnAfterAddStepForTemplate


Template

    [EventSubscriber(ObjectType::CodeunitCodeunit::"MOB Print", 'OnLookupOnPrintLabel_OnAddStepsForTemplate''', true, true)]
    procedure OnLookupOnPrintLabel_OnAddStepsForTemplate(_TemplateName: Text[50]; _SourceRecRef: RecordRefvar _Steps: Record "MOB Steps Element"; var _Dataset: Record "MOB Common Element")
    begin
    end;



Example 1: Collect additional steps

    [EventSubscriber(ObjectType::CodeunitCodeunit::"MOB Print", 'OnLookupOnPrintLabel_OnAddStepsForTemplate''', true, true)]
    procedure Ex01OnLookupOnPrintLabel_OnAddStepsForTemplate(_TemplateName: Text[50]; _SourceRecRef: RecordRefvar _Steps: Record "MOB Steps Element"; var _Dataset: Record "MOB Common Element")
    var
        Item: Record Item;
    begin

        // Making sure we only handle our own Label-Template
        if _TemplateName <> 'My custom Label-Template' then
            exit;

        // Collect additional Steps

        // Check if Item No. is already collected/transferred to Dataset
        if Item.Get(_Dataset.GetValue('ItemNo')) then

            // Show an information step
            _Steps.Create_InformationStep(10'InfoStep''Information''''You are printing with Item:' + Item."No.")

        else
            // Collect the Item No.
            _Steps.Create_TextStep_ItemNumber(10);

        // Collect which printer to print to
        _Steps.Create_ListStep_Printer(80, CopyStr(_TemplateName, 150));

        // Collect the number of labels
        _Steps.Create_DecimalStep_NoOfLabels(90);
    end;


Example 02: Reading values the context/source record (Purchase Line)

You can use the Source Record to determine which steps to collect, setting default values etc.

 
    [EventSubscriber(ObjectType::CodeunitCodeunit::"MOB Print", 'OnLookupOnPrintLabel_OnAddStepsForTemplate''', true, true)]
    procedure Ex02OnLookupOnPrintLabel_OnAddStepsForTemplate(_TemplateName: Text[50]; _SourceRecRef: RecordRefvar _Steps: Record "MOB Steps Element"; var _Dataset: Record "MOB Common Element")
    var
        Item: Record Item;
        PurchaseLine: Record "Purchase Line";
    begin

        // Making sure the source table is one we can handle
        if _SourceRecRef.Number() <> Database::"Purchase Line" then
            exit;

        // Use RecordRef to get the actual source record
        _SourceRecRef.SetTable(PurchaseLine);
        PurchaseLine.SetView(_SourceRecRef.GetView());

        if PurchaseLine.Type = PurchaseLine.Type::Item then begin
            // Get item
            Item.Get(PurchaseLine."No.");

            // Show an information step
            _Steps.Create_InformationStep(10'InfoStep''Information''''You are printing with Item:' + Item."No.")
        end;
    end;


More examples

  


Version History

VersionChanges
MOB5.16Introduced



  • No labels