همانطور که اطلاع دارید برخلاف سال های گذشته در سال 1402 ساعت رسمی کشور تغییر نیافته و این امر موجب اختلال در عملکرد برنامه های نرم افزاری متعددی گردیده است.
برنامه Dynamics 365 نیز یکی از برنامه هایی است که با عدم تغییر ساعت رسمی کشور دچار اختلال شده است. به جهت رفع این مشکل می توانید از راه حل زیر استفاده نمایید.
بر روی تمامی سرورهای مرتبط با برنامه CRM (DB,App,Service) از قسمت Control Panel وارد تنظیمات ساعت و منطقه زمانی شوید (مطابق تصویر). بر روی گزینه Date and Time کلیک نمایید و سپس بر روی دکمه Change time zone کلیک نموده و گزینه Automatically adjust clock for Daylight Saving Time را غیرفعال نمایید.
پس از آن به سرور دیتابیس متصل و سپس برنامه SSMS را اجرا نمایید. در بین دیتابیس های مرتبط با نرم افزار CRM بر روی دیتابیس Organization های مورد نظر خود کوئری زیر را اجرا نمایید.
INSERT INTO [dbo].[TimeZoneRuleBase]
([DaylightDayOfWeek]
,[StandardSecond]
,[OrganizationId]
,[CreatedOnBehalfBy]
,[EffectiveDateTime]
,[DaylightHour]
,[ModifiedBy]
,[ModifiedOnBehalfBy]
,[StandardDayOfWeek]
,[StandardHour]
,[CreatedOn]
,[TimeZoneRuleId]
,[Bias]
,[StandardMinute]
,[StandardMonth]
,[DaylightMinute]
,[DaylightDay]
,[DaylightYear]
,[CreatedBy]
,[StandardDay]
,[DaylightBias]
,[StandardBias]
,[DaylightSecond]
,[TimeZoneRuleVersionNumber]
,[ModifiedOn]
,[StandardYear]
,[DaylightMonth]
,[TimeZoneDefinitionId])
VALUES
(0
,0
,NULL
,NULL
,'2023-03-21 00:00:00.000'
,0
,NULL
,NULL
,0
,0
,GETUTCDATE()
,NEWID()
,-210
,0
,0
,0
,0
,0
,NULL
,0
,-60
,0
,0
,(Select MAX(TimeZoneRuleVersionNumber)+1
from [dbo].[TimeZoneRuleBase] tzr
inner join [dbo].[TimeZoneDefinitionBase] tzd on tzr.TimeZoneDefinitionId = tzd.TimeZoneDefinitionId
where tzd.StandardName = 'Iran Standard Time')
,GETUTCDATE()
,0
,0
,(select Top(1) TimeZoneDefinitionId FROM [dbo].[TimeZoneDefinitionBase] where StandardName = 'Iran Standard Time')
)
سپس سرور Application را Restart نمایید.
در نظر داشته باشید اصلاح ساعت سرور به تنهایی کمکی به رفع مشکل نمی کند زیرا برنامه CRM درون خود یک Daylight Saving دارد و از روی آن ذخیره ساعت فعالیت ها را انجام میدهد. این کوئری دقیقا همان Daylight Saving داخل برنامه را اصلاح و سپس با مشاهده ساعت سرور و به نحوی مطابقت ساعت سرور و تنظیمات زمانی درون ساخت خود اقدام به ثبت ساعات ذخیره رکوردها می نماید.
با سپاس