---- GetOwnerLine ----
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[GetOwnerLine]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[GetOwnerLine]
GO
create function GetOwnerLine(@ObjID integer)
returns integer
as
begin
  declare @res integer
  declare @OwnerID integer, @OwnerType integer
  select @OwnerID = OwnerObj.Код_объекта, @OwnerType = OwnerObj.Код_типа_объекта
    from Объект Obj, Объект OwnerObj
    where Obj.Код_объекта = @ObjID AND Obj.Код_объекта_владельца = OwnerObj.Код_объекта
  if @OwnerType = 30
    select @OwnerID = OwnerObj.Код_объекта, @OwnerType = OwnerObj.Код_типа_объекта
      from Объект Obj, Объект OwnerObj, Линия
      where Obj.Код_объекта = @OwnerID AND Obj.Код_объекта_владельца = OwnerObj.Код_объекта AND
        Код_линии = Obj.Код_объекта
  if @OwnerType<=10 set @res = @OwnerID else set @res = 0
  return @res
end
