Table 5910 Service Hour, source in 29
Source29
src/Layers/W1/BaseApp/Service/Contract/ServiceHour.Table.al134 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 System.Utilities;
table 5910 "Service Hour"
{
Caption = 'Service Hour';
LookupPageID = "Service Hours";
DataClassification = CustomerContent;
fields
{
field(1; "Service Contract No."; Code[20])
{
Caption = 'Service Contract No.';
ToolTip = 'Specifies the number of the service contract to which the service hours apply.';
TableRelation = if ("Service Contract Type" = const(Contract)) "Service Contract Header"."Contract No." where("Contract Type" = const(Contract))
else
if ("Service Contract Type" = const(Quote)) "Service Contract Header"."Contract No." where("Contract Type" = const(Quote));
}
field(2; "Starting Date"; Date)
{
Caption = 'Starting Date';
ToolTip = 'Specifies the date when the service hours become valid.';
}
field(3; Day; Option)
{
Caption = 'Day';
ToolTip = 'Specifies the day when the service hours are valid.';
OptionCaption = 'Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday';
OptionMembers = Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday;
}
field(4; "Starting Time"; Time)
{
Caption = 'Starting Time';
ToolTip = 'Specifies the starting time of the service hours.';
trigger OnValidate()
begin
if "Ending Time" <> 0T then
if "Starting Time" >= "Ending Time" then
Error(Text001, FieldCaption("Starting Time"), FieldCaption("Ending Time"));
end;
}
field(5; "Ending Time"; Time)
{
Caption = 'Ending Time';
ToolTip = 'Specifies the ending time of the service hours.';
trigger OnValidate()
begin
if "Ending Time" <> 0T then
if "Ending Time" <= "Starting Time" then
Error(Text000, FieldCaption("Ending Time"), FieldCaption("Starting Time"));
end;
}
field(6; "Valid on Holidays"; Boolean)
{
Caption = 'Valid on Holidays';
ToolTip = 'Specifies that service hours are valid on holidays.';
}
field(7; "Service Contract Type"; Enum "Service Hour Contract Type")
{
Caption = 'Service Contract Type';
}
}
keys
{
key(Key1; "Service Contract Type", "Service Contract No.", Day, "Starting Date")
{
Clustered = true;
}
}
fieldgroups
{
}
trigger OnInsert()
begin
CheckTime();
end;
trigger OnModify()
begin
CheckTime();
end;
var
#pragma warning disable AA0074
#pragma warning disable AA0470
Text000: Label '%1 must be later than %2.';
Text001: Label '%1 must be earlier than %2.';
Text002: Label 'You must specify %1.';
#pragma warning restore AA0470
Text003: Label 'Do you want to copy the default service calendar?';
#pragma warning restore AA0074
local procedure CheckTime()
begin
if "Starting Time" = 0T then
Error(Text002, FieldCaption("Starting Time"));
if "Ending Time" = 0T then
Error(Text002, FieldCaption("Ending Time"));
end;
procedure CopyDefaultServiceHours()
var
ServHour: Record "Service Hour";
ServHour2: Record "Service Hour";
ConfirmManagement: Codeunit "Confirm Management";
begin
if not ConfirmManagement.GetResponseOrDefault(Text003, true) then
exit;
ServHour.Reset();
ServHour.SetRange("Service Contract No.", '');
if ServHour.FindSet() then
repeat
ServHour2.TransferFields(ServHour);
Evaluate(ServHour2."Service Contract Type", GetFilter("Service Contract Type"));
ServHour2.Validate("Service Contract No.", GetFilter("Service Contract No."));
if not ServHour2.Insert() then
ServHour2.Modify();
until ServHour.Next() = 0;
end;
}