...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Info | ||
---|---|---|
| ||
|
Use this event to
Excerpt |
---|
Interrupt Sales Return Order posting and add extra steps (“Header Steps”) based on values already collected. |
...
[EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Receive", 'OnPostReceiveOrder_OnAddStepsToSalesReturnHeader', '', true, true)]
local procedure OnPostReceiveOrder_OnAddStepsToSalesReturnHeader(var _OrderValues: Record "MOB Common Element"; _SalesReturnHeader: Record "Sales Header"; var _Steps: Record "MOB Steps Element")
begin
end;
Example - New steps to select Posting Date "Today", "Yesterday" or "Other date"
...
// OnGetReceiveOrderLines
// Create a step in the default header collector (for sales return order only / receive from sales header are always sales return orders)
[EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Receive", 'OnGetReceiveOrderLines_OnAddStepsToAnyHeader', '', true, true)]
procedure MyOnGetReceiveOrderLines_OnAddStepsToAnyHeader(_RecRef: RecordRef; var _StepsElement: Record "MOB Steps Element")
begin
if (_RecRef.Number() = DataBase::"Sales Header") then begin
_StepsElement.Create_RadioButtonStep(10000, 'MyPostingDateRadioButtonStep');
_StepsElement.Set_header('Posting Date');
_StepsElement.Set_listValues('Today;Yesterday;Other date');
_StepsElement.Set_defaultValue('Today');
end;
end;
// OnPostReceiveOrder
// Create a conditional step on posting based on collected value from the 'MyPostingDateRadioButtonStep' created above
[EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Receive", 'OnPostReceiveOrder_OnAddStepsToSalesReturnHeader', '', true, true)]
local procedure MyOnPostReceiveOrder_OnAddStepsToSalesReturnHeader(var _OrderValues: Record "MOB Common Element"; _SalesReturnHeader: Record "Sales Header"; var _Steps: Record "MOB Steps Element")
begin
// Break when any option different from 'Other date' was selected in the 'MyPostingDateRadioButtonStep'
if _OrderValues.GetValue('MyPostingDateRadioButtonStep') <> 'Other date' then
exit;
// Break if new datestep for 'Other date' is already collected to prevent infinite loop
if _OrderValues.HasValue('MyPostingDate') then
exit;
// Create a new date step for manually selecting Posting Date
_Steps.Create_DateStep(10000, 'MyPostingDate');
_Steps.Set_header('Posting Date');
_Steps.Set_minDate(Today() - 10);
_Steps.Set_maxDate(Today());
end;
// OnPostReceiveOrder
// Set new posting date including using a value from conditional step 'MyPostingDate'
[EventSubscriber(ObjectType::Codeunit, Codeunit::"MOB WMS Receive", 'OnPostReceiveOrder_OnBeforePostSalesReturnOrder', '', true, true)]
procedure MyOnPostReceiveOrder_OnBeforePostSalesReturnOrder(var _OrderValues: Record "MOB Common Element"; var _SalesReturnHeader: Record "Sales Header")
var
SalesRelease: Codeunit "Release Sales Document";
PostingDate: Date;
begin
case _OrderValues.GetValue('MyPostingDateRadioButtonStep') of
'Today':
PostingDate := Today();
'Yesterday':
PostingDate := Today() - 1;
'Other date':
PostingDate := _OrderValues.GetValueAsDate('MyPostingDate', true);
end;
if (PostingDate <> 0D) and (PostingDate <> _SalesReturnHeader."Posting Date") then begin
SalesRelease.Reopen(_SalesReturnHeader);
SalesRelease.SetSkipCheckReleaseRestrictions();
_SalesReturnHeader.SetHideValidationDialog(true);
_SalesReturnHeader.Validate("Posting Date", PostingDate);
SalesRelease.Run(_SalesReturnHeader);
end;
end;
Filter by label (Content by label) | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...