[EventSubscriber(ObjectType::Codeunit, Codeunit::"Whse.-Post Shipment (Yes/No)", 'OnBeforeConfirmWhseShipmentPost', '', false, false)] local procedure OnBeforeConfirmWhseShipmentPostSub(var WhseShptLine: Record "Warehouse Shipment Line"; var HideDialog: Boolean; var Invoice: Boolean; var IsPosted: Boolean; var Selection: Integer) var MsgConfirmLbl: Label 'Do you want to ship?'; MsgCancelLbl: Label 'Posting is canceled'; begin Selection := 1; // Default is ship HideDialog := true; /* First Option for user Cancel */ if (GuiAllowed) then if not Confirm(MsgConfirmLbl) then Error(MsgCancelLbl); /* Second Option for user Cancel */ if (GuiAllowed) then if not Confirm(MsgConfirmLbl) then IsPosted := true; end;
Answers
Use second option if you do not want to show any message.
Take a look at the 'posting yes/no' codeunits, for instance codeunit 81 which is Sales Post Yes/No.
Go into the ConfirmPost function to see how standard BC controls whether it will do Ship or Invoice, and make sure that your own event subscriber sets the right values
RIS Plus, LLC
thanks for your reply.
i will test and try