codeunit 69003 Configurations
{
[EventSubscriber(ObjectType::Codeunit, Codeunit::"System Initialization", 'OnAfterLogin', '', false, false)]
local procedure OnAfterLogin()
begin
CheckMaintenanceMode();
end;
[EventSubscriber(ObjectType::Codeunit, Codeunit::"Company Triggers", 'OnCompanyOpenCompleted', '', false, false)]
local procedure OnCompanyOpenCompleted()
begin
CheckMaintenanceMode();
end;
procedure CheckMaintenanceMode()
var
MaintainanceConfigMgt: Record "Maintainance Configurations";
CurrentUser: Text;
CurrentDT: DateTime;
CurrentDate: Date;
FromDT: DateTime;
ToDT: DateTime;
begin
CurrentUser := UserId();
CurrentDT := CurrentDateTime();
CurrentDate := Today();
if CurrentUser = 'NimsaraJ' then
exit;
if not MaintainanceConfigMgt.Get() then
exit;
if not MaintainanceConfigMgt."Under Maintenance" then
exit;
if (MaintainanceConfigMgt."Maintenance Date" = 0D) or
(MaintainanceConfigMgt."From Time" = 0T) or
(MaintainanceConfigMgt."To Time" = 0T) then
exit;
if MaintainanceConfigMgt."Maintenance Date" <> CurrentDate then
exit;
FromDT := CreateDateTime(MaintainanceConfigMgt."Maintenance Date", MaintainanceConfigMgt."From Time");
ToDT := CreateDateTime(MaintainanceConfigMgt."Maintenance Date", MaintainanceConfigMgt."To Time");
if (CurrentDT >= FromDT) and (CurrentDT <= ToDT) then
Error('The system is under maintenance.\\Maintenance Period: %1 from %2 to %3\\Please try again later.',
MaintainanceConfigMgt."Maintenance Date",
MaintainanceConfigMgt."From Time",
MaintainanceConfigMgt."To Time");
end;
}