DECLARE @_DocDate1 DATE = '2022-10-01', @_DocDate2 DATE = '2022-10-15',
@_LastDocDate1 DATE, @_LastDocDate2 DATE,
@_FirstDateOfYear DATE, @_LastFirstDateOfYear DATE
SET @_DocDate1 = DATEADD(MONTH, DATEDIFF(MONTH, 0, @_DocDate1), 0)
SET @_DocDate2 = DATEADD(MONTH, DATEDIFF(MONTH, 0, @_DocDate2)+1, 0)-1
SET @_LastDocDate1 = DATEADD(YEAR,-1,@_DocDate1)
IF MONTH(@_DocDate2) = 2 AND MONTH(DATEADD(day, 1, @_DocDate2)) = 3
SET @_LastDocDate2 = DATEADD(day, -1, CONVERT(date, '01/03/' + STR(YEAR(@_DocDate2) - 1, 4), 103))
ELSE
SET @_LastDocDate2 = DATEADD(m, -12, @_DocDate2)
SET @_FirstDateOfYear = DATEADD(YEAR, DATEDIFF(YEAR, 0, @_DocDate1), 0)
SET @_LastFirstDateOfYear = DATEADD(YEAR, DATEDIFF(YEAR, 0, @_LastDocDate1), 0)
SELECT @_DocDate1 AS DocDate1, @_DocDate2 AS DocDate2,
@_LastDocDate1 AS LastDocDate1, @_LastDocDate2 AS LastDocDate2,
@_FirstDateOfYear AS FirstDateOfYear, @_LastFirstDateOfYear AS LastFirstDateOfYear
SELECT DATEADD(day,DATEDIFF(day,IsNull(DocTime,GETDATE()),DATEADD(DAY,5,DocDate)),IsNull(DocTime,GETDATE()))