Codeunit 5922 Serv-Quote to Order (Yes/No), source in 29
Source29
src/Layers/W1/BaseApp/Service/Document/ServQuotetoOrderYesNo.Codeunit.al83 lines, Copyright (c) Microsoft Corporation. MIT
// ------------------------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// ------------------------------------------------------------------------------------------------
namespace Microsoft.Service.Document;
using Microsoft.CRM.Outlook;
using Microsoft.Utilities;
using System.Utilities;
codeunit 5922 "Serv-Quote to Order (Yes/No)"
{
TableNo = "Service Header";
trigger OnRun()
var
ConfirmManagement: Codeunit "Confirm Management";
HideMessage: Boolean;
IsHandled: Boolean;
SkipTestFields: Boolean;
SkipConfirm: Boolean;
begin
IsHandled := false;
OnBeforeOnRun(Rec, IsHandled, SkipTestFields, SkipConfirm);
if IsHandled then
exit;
if not SkipTestFields then begin
Rec.TestField("Document Type", Rec."Document Type"::Quote);
Rec.TestField("Customer No.");
Rec.TestField("Bill-to Customer No.");
end;
if not SkipConfirm then
if not ConfirmManagement.GetResponseOrDefault(Text000, true) then
exit;
ServQuoteToOrder.Run(Rec);
OnBeforeShowMessage(Rec, ServQuoteToOrder.ReturnOrderNo(), HideMessage);
if not HideMessage then
ShowCreatedOrder(Rec."No.");
end;
var
ServQuoteToOrder: Codeunit "Service-Quote to Order";
#pragma warning disable AA0074
Text000: Label 'Do you want to convert the quote to an order?';
#pragma warning restore AA0074
OpenNewOrderQst: Label 'The Service Quote %1 has been converted to Service Order %2. Do you want to open the new Order?', Comment = '%1 - Service Quote number, %2 - Service Order number';
local procedure ShowCreatedOrder(ServiceQuoteNo: Code[20])
var
ServiceHeaderOrder: Record "Service Header";
ConfirmManagement: Codeunit "Confirm Management";
OfficeMgt: Codeunit "Office Management";
PageManagement: Codeunit "Page Management";
OpenPage: Boolean;
begin
if GuiAllowed() then
if OfficeMgt.AttachAvailable() then
OpenPage := true
else
OpenPage := ConfirmManagement.GetResponseOrDefault(StrSubstNo(OpenNewOrderQst, ServiceQuoteNo, ServQuoteToOrder.ReturnOrderNo()), true);
if not OpenPage then
exit;
ServiceHeaderOrder.Get(ServiceHeaderOrder."Document Type"::Order, ServQuoteToOrder.ReturnOrderNo());
PageManagement.PageRun(ServiceHeaderOrder);
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeShowMessage(var Rec: Record "Service Header"; OrderNo: Code[20]; var HideMessage: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeOnRun(var ServiceHeader: Record "Service Header"; var IsHandled: Boolean; var SkipTestFields: Boolean; var SkipConfirm: Boolean)
begin
end;
}