---- GetCreationDate ----
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GetCreationDate]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[GetCreationDate]
GO
CREATE  function GetCreationDate(@ObjID int)
returns datetime
as
begin
  declare @res datetime
  set @res = NULL
  declare @ParentID int
  declare @TypeID int
  select @ParentID = IsNull(Код_объекта_владельца,0), @TypeID = Код_типа_объекта from Объект where Код_объекта = @ObjID
  SELECT @res = MIN(Дата_окончания_по_факту) FROM Работа WHERE Код_объекта = @ObjID
  while (@ParentID<>0) AND (@res IS NULL)
  begin
    set @ObjID = @ParentID
    select @ParentID = IsNull(Код_объекта_владельца,0), @TypeID = Код_типа_объекта from Объект where Код_объекта = @ObjID
    select @res = MIN(Дата_окончания_по_факту) from Работа where Код_объекта = @ObjID
  end
  return @res
end
