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

Use this event to

Change the data on the selected label just before it is sent to the Cloud Print Service

  • Make sure you are only handling the desired template.
  • Use GetValue/SetValue to modify the dataset


See also:

Standard Label Designs


Template

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

 

Example 1: Modify labels on Item Label


    // [Example 01]
    // Read the Item No. from Dataset and change it 
    [EventSubscriber(ObjectType::CodeunitCodeunit::"MOB Print", 'OnPrintLabel_OnAfterPopulateDataset''', true, true)]
    local procedure Ex01OnPrintLabel_OnAfterPopulateDataset(_TemplateName: Text[50]; _SourceRecRef: RecordRefvar _Dataset: Record "MOB Common Element")
    begin

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

        // Read the Item No. from Dataset and change it 
        // Item No. could have been collected or transferred from "context"/source table, where the print action was selected by the user 
        if _Dataset.GetValue('ItemNumber''ItemA' then
            _Dataset.SetValue('ItemNumber''ItemB');
    end;

Example 2: Set extra info fields and their labels

    // [Example 02]
    // Read Source record
    // Set ExtraInfo fields, their labels in dataset
    [EventSubscriber(ObjectType::CodeunitCodeunit::"MOB Print", 'OnPrintLabel_OnAfterPopulateDataset''', true, true)]
    local procedure Ex03OnPrintLabel_OnAfterPopulateDataset(_TemplateName: Text[50]; _SourceRecRef: RecordRefvar _Dataset: Record "MOB Common Element")
    var
        Item: Record Item;
        Vendor: Record Vendor;
    begin


        // Making sure we only handle our own Label-Template
        if _TemplateName <> 'Item Label 4x6' then
            exit;

        // If source is "Item" = Get record from RecordRef
        if _SourceRecRef.Number = database::Item then
            _SourceRecRef.SetTable(Item);

        // Set extrainfo fields and their labels in the Dataset
        _Dataset.SetValue('ExtraInfo01_Label''Desc.');
        _Dataset.SetValue('ExtraInfo01', Item.Description);

        _Dataset.SetValue('ExtraInfo02_Label''GTIN');
        _Dataset.SetValue('ExtraInfo02', Item.GTIN);

        _Dataset.SetValue('ExtraInfo03_Label''Purchasing Unit');
        _Dataset.SetValue('ExtraInfo03', Item."Purch. Unit of Measure");

        _Dataset.SetValue('ExtraInfo04_Label''Vendor');
        if Vendor.Get(item."Vendor No."then
            _Dataset.SetValue('ExtraInfo04', Vendor.Name);

        // Additional custom values can also be used on the label
        _Dataset.SetValue('CustomValueA''A');
        _Dataset.SetValue('CustomValueB''B');

    end;



More examples

  

Version History

VersionChanges
MOB5.16Introduced



  • No labels