Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Use this event to

Excerpt

Validate untransferred License Plates prior to posting

...

Use this event to validate untransferred License Plates (transaction data) stored in internal "Pack and Ship" tables prior to creating syncronizing data in to the 3rd party Shipping App.

See also: Read master data from 3rd party Shipping App

...

    [EventSubscriber(ObjectType::CodeunitCodeunit::"MOS Pack API", 'OnBeforePostPacking''', true, true)]
    local procedure OnBeforePostPacking_UpdatePackingStation(_RegistrationType: Text; _PackingStation: Record "MOS Packing Station"; var _RequestValues: Record "MOB NS Request Element")
    begin
        if _RegistrationType <> 'PostPacking' then
            exit;

        // Your custom code here...

    end;

Example

/// TODO


Version History

...

    [EventSubscriber(ObjectType::CodeunitCodeunit::"MOS Pack API", 'OnPostPackingOnCheckUntransferredLicensePlate''', true, true)]
    local procedure OnPostPackingOnCheckUntransferredLicensePlate(_LicensePlate: Record "MOS License Plate")
    var
        IdysSetup: Record "IDYS Setup";
        IdysPackageType: Record "IDYS Package Type";
        PackageType: Record "MOS Package Type";
    begin
        if not IsShippingProvider(_LicensePlate."Package Type"then
            exit;



        // Check PackageType exists and will not error out during validation        
        PackageType.Get(_LicensePlate."Package Type");
        IdysPackageType.Get(PackageType."Shipping Provider Package Type");

        // Check we are indeed supposed to create Transport Order from our code
        IdysSetup.Get();
        IdysSetup.TestField("After Posting Sales Orders", IdysSetup."After Posting Sales Orders"::"Do nothing");    // TODO - baseres på LicensePlate.Source Type og/eller Whse. Document Type
    end;