---- BelongsToObj ----
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[BelongsToObj]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[BelongsToObj]
GO
create function BelongsToObj(@ChildID integer, @ParentID integer)
returns bit
as
begin
  if @ChildID is NULL or @ChildID = 0 or @ParentID is null or @ParentID = 0 return 0
  declare @res bit
  declare @CurParentID int
  declare @CurChildID int
  select @CurParentID = IsNull(Код_объекта_владельца,0) from Объект where Код_объекта = @ChildID
  while (@CurParentID<>0) AND (@CurParentID<>@ParentID)
  begin
    set @CurChildID = @CurParentID
    select @CurParentID = IsNull(Код_объекта_владельца,0) from Объект where Код_объекта = @CurChildID
  end
  if @CurParentID = @ParentID set @res = 1 else set @res = 0
  return @res
end
