Codeunit 5945 CreateCreditfromContractLines, source in 29
Source29
src/Layers/W1/BaseApp/Service/Contract/CreateCreditfromContractLines.Codeunit.al89 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.Contract;
using Microsoft.Service.Document;
codeunit 5945 CreateCreditfromContractLines
{
SingleInstance = true;
TableNo = "Service Contract Line";
trigger OnRun()
var
IsHandled: Boolean;
begin
IsHandled := false;
OnBeforeOnRun(Rec, LinesToDelete, IsHandled);
if IsHandled then
exit;
ServContractHeader.Get(Rec."Contract Type", Rec."Contract No.");
if not Rec.Credited and
not Rec."New Line"
then begin
if Rec."Line Amount" > 0 then
if ServContractHeader."Automatic Credit Memos" then
if Rec."Credit Memo Date" > 0D then
CreditNoteNo := ServContractMgt.CreateContractLineCreditMemo(Rec, true);
ServItemLine.Reset();
ServItemLine.SetCurrentKey("Contract No.");
ServItemLine.SetRange("Contract No.", Rec."Contract No.");
ServItemLine.SetRange("Contract Line No.", Rec."Line No.");
ServItemLineExist := ServItemLine.FindFirst();
end;
if LinesToDelete = 1 then begin
LinesToDelete := 0;
if CreditNoteNo <> '' then
Message(Text000, CreditNoteNo);
if ServItemLineExist then
if LinesToDelete = 1 then
Message(Text002, LowerCase(Rec.TableCaption))
else
Message(Text001);
ServItemLineExist := false;
CreditNoteNo := '';
end;
end;
var
ServContractHeader: Record "Service Contract Header";
ServItemLine: Record "Service Item Line";
ServContractMgt: Codeunit ServContractManagement;
CreditNoteNo: Code[20];
#pragma warning disable AA0074
#pragma warning disable AA0470
Text000: Label 'Credit Memo %1 was created.';
#pragma warning restore AA0470
#pragma warning restore AA0074
ServItemLineExist: Boolean;
LinesToDelete: Integer;
#pragma warning disable AA0074
Text001: Label 'Some service contract lines are part of a service order/s.\You have to update this service order/s manually.';
#pragma warning disable AA0470
Text002: Label 'This %1 is part of a service order/s.\You have to update this service order/s manually.';
#pragma warning restore AA0470
#pragma warning restore AA0074
procedure SetSelectionFilterNo(LinesSelected: Integer)
begin
LinesToDelete := LinesSelected;
end;
procedure InitVariables()
begin
ServItemLineExist := false;
CreditNoteNo := '';
LinesToDelete := 0;
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeOnRun(var ServiceContractLine: Record "Service Contract Line"; LinesToDelete: Integer; var IsHandled: Boolean)
begin
end;
}