
IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[reg_seg_perfil_tercero]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[reg_seg_perfil_tercero]
GO
CREATE PROCEDURE [reg_seg_perfil_tercero]
	@p_id INT
AS
BEGIN
	SELECT 	[id] AS [id],
		[uid] AS [uid],
		[eid] AS [eid],
		[id_usuario_modifico] AS [id_usuario_modifico],
		[id_usuario_creo] AS [id_usuario_creo],
		[fechaModificacion] AS [fechaModificacion],
		[fechaCreacion] AS [fechaCreacion],
		[active] AS [active],
		[perfil_tercero] AS [perfil_tercero],
		[id_perfil] AS [id_perfil],
		[id_tercero] AS [id_tercero]
	FROM [seg_perfil_tercero]
	WHERE	(id = @p_id)

END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
IF  EXISTS (SELECT * FROM sys.views WHERE object_id = OBJECT_ID(N'[dbo].[view_seg_perfil_tercero]')) DROP VIEW [dbo].[view_seg_perfil_tercero]
GO
CREATE  VIEW [view_seg_perfil_tercero] AS
SELECT 	[seg_perfil_tercero].[id] AS [id],
		[seg_perfil_tercero].[uid] AS [uid],
		[seg_perfil_tercero].[eid] AS [eid],
		[seg_perfil_tercero].[id_usuario_modifico] AS [id_usuario_modifico],
		[seg_perfil_tercero].[id_usuario_creo] AS [id_usuario_creo],
		[seg_perfil_tercero].[fechaModificacion] AS [fechaModificacion],
		[seg_perfil_tercero].[fechaCreacion] AS [fechaCreacion],
		[seg_perfil_tercero].[active] AS [active],
		[seg_perfil_tercero].[perfil_tercero] AS [perfil_tercero],
		[seg_perfil_tercero].[id_perfil] AS [id_perfil],
[seg_perfil].[perfil] as [seg_perfil_perfil],
[seg_perfil].[perfil_codigo] as [seg_perfil_perfil_codigo],
[seg_perfil].[descripcion] as [seg_perfil_descripcion],
[seg_perfil].[mostrarBotones] as [seg_perfil_mostrarBotones],
[seg_perfil].[paraCliente] as [seg_perfil_paraCliente],
[seg_perfil].[paraProveedor] as [seg_perfil_paraProveedor],
		[seg_perfil_tercero].[id_tercero] AS [id_tercero],
[ter_tercero].[tercero] as [ter_tercero_tercero],
[ter_tercero].[tercero_codigo] as [ter_tercero_tercero_codigo],
[ter_tercero].[tercero_nit] as [ter_tercero_tercero_nit],
[ter_tercero].[direccion] as [ter_tercero_direccion],
[ter_tercero].[contacto] as [ter_tercero_contacto],
[ter_tercero].[telefono] as [ter_tercero_telefono],
[ter_tercero].[fax] as [ter_tercero_fax],
[ter_tercero].[email] as [ter_tercero_email],
[ter_tercero].[website] as [ter_tercero_website],
[ter_tercero].[representante] as [ter_tercero_representante],
[ter_tercero].[notas] as [ter_tercero_notas],
[ter_tercero].[tercero_nombreCorto] as [ter_tercero_tercero_nombreCorto],
[ter_tercero].[esCliente] as [ter_tercero_esCliente],
[ter_tercero].[esProveedor] as [ter_tercero_esProveedor],
[ter_tercero].[esTransportador] as [ter_tercero_esTransportador],
[ter_tercero].[esFabricante] as [ter_tercero_esFabricante],
[ter_tercero].[esEmpresaPropia] as [ter_tercero_esEmpresaPropia],
[ter_tercero].[clasificacion] as [ter_tercero_clasificacion],
[ter_tercero].[id_zona] as [ter_tercero_id_zona],
[ter_tercero].[id_estadoTercero] as [ter_tercero_id_estadoTercero],
[ter_tercero].[id_naturalezaTercero] as [ter_tercero_id_naturalezaTercero],
[ter_tercero].[esProspecto] as [ter_tercero_esProspecto],
		[empresaCodigo].[empresa] As [multiempresa]
FROM [seg_perfil_tercero]
	INNER JOIN [seg_usuario] AS [seg_usuario_modifico] ON [seg_usuario_modifico].id=[seg_perfil_tercero].[id_usuario_modifico]
	INNER JOIN [seg_usuario] AS [seg_usuario_creo] ON [seg_usuario_creo].id=[seg_perfil_tercero].[id_usuario_creo]
	INNER JOIN [seg_perfil] ON [seg_perfil].id=[seg_perfil_tercero].[id_perfil]
	INNER JOIN [ter_tercero] ON [ter_tercero].id=[seg_perfil_tercero].[id_tercero]
	INNER JOIN [gen_empresa] AS empresaCodigo ON [seg_perfil_tercero].eid = [empresaCodigo].[codigo] and empresaCodigo.active=1
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sel_seg_perfil_tercerosXusuario_modifico]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_seg_perfil_tercerosXusuario_modifico]
GO
CREATE PROCEDURE [sel_seg_perfil_tercerosXusuario_modifico]
	@p_id_usuario_modifico INT
AS
BEGIN
	SELECT * 
	FROM [view_seg_perfil_tercero]
	WHERE ([id_usuario_modifico]= @p_id_usuario_modifico)
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sel_seg_perfil_tercerosXusuario_creo]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_seg_perfil_tercerosXusuario_creo]
GO
CREATE PROCEDURE [sel_seg_perfil_tercerosXusuario_creo]
	@p_id_usuario_creo INT
AS
BEGIN
	SELECT * 
	FROM [view_seg_perfil_tercero]
	WHERE ([id_usuario_creo]= @p_id_usuario_creo)
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sel_seg_perfil_tercerosXperfil]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_seg_perfil_tercerosXperfil]
GO
CREATE PROCEDURE [sel_seg_perfil_tercerosXperfil]
	@p_id_perfil INT
AS
BEGIN
	SELECT * 
	FROM [view_seg_perfil_tercero]
	WHERE ([id_perfil]= @p_id_perfil)
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sel_seg_perfil_tercerosXtercero]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_seg_perfil_tercerosXtercero]
GO
CREATE PROCEDURE [sel_seg_perfil_tercerosXtercero]
	@p_id_tercero INT
AS
BEGIN
	SELECT * 
	FROM [view_seg_perfil_tercero]
	WHERE ([id_tercero]= @p_id_tercero)
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sel_seg_perfil_terceros]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_seg_perfil_terceros]
GO
CREATE PROCEDURE [sel_seg_perfil_terceros]
	
	@p_filtro as varchar (8000) = '1=1',
	@p_orden as varchar (8000) = 'id',
	@p_campos as varchar (8000) = '*' AS
BEGIN
exec ('SELECT '+ @p_campos +
' FROM [view_seg_perfil_tercero]
WHERE (' + @p_filtro + ') ORDER BY ' + @p_orden)
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------

SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[lis_seg_perfil_terceros]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[lis_seg_perfil_terceros]
GO
CREATE PROCEDURE [lis_seg_perfil_terceros]
	AS
BEGIN
	SELECT id AS id,
[perfil_tercero] AS [seg_perfil_tercero]
	FROM [seg_perfil_tercero]
	WHERE active = 1
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[upd_seg_perfil_tercero]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[upd_seg_perfil_tercero]
GO
CREATE PROCEDURE [upd_seg_perfil_tercero]
	@p_id int = null,
		@p_uid varchar(500) = null,
		@p_eid varchar(50) = null,
		@p_id_usuario_modifico int = null,
		@p_id_usuario_creo int = null,
		@p_fechaCreacion smalldatetime = null,
		@p_perfil_tercero varchar(300) = null,
		@p_id_perfil int = null,
		@p_id_tercero int = null
AS
BEGIN
		UPDATE [seg_perfil_tercero]
		SET	[uid] = isnull(@p_uid,[uid]),
			[eid] = isnull(@p_eid,[eid]),
			[id_usuario_modifico] = isnull(@p_id_usuario_modifico,[id_usuario_modifico]),
			[id_usuario_creo] = isnull(@p_id_usuario_creo,[id_usuario_creo]),
			[fechaModificacion] = GETDATE(),
			[perfil_tercero] = isnull(@p_perfil_tercero,[perfil_tercero]),
			[id_perfil] = isnull(@p_id_perfil,[id_perfil]),
			[id_tercero] = isnull(@p_id_tercero,[id_tercero])
		WHERE (id = @p_id)
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[ins_seg_perfil_tercero]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[ins_seg_perfil_tercero]
GO
CREATE PROCEDURE [ins_seg_perfil_tercero]
	@p_uid varchar(500),
		@p_eid varchar(50),
		@p_id_usuario_modifico int,
		@p_id_usuario_creo int,
		@p_perfil_tercero varchar(300),
		@p_id_perfil int,
		@p_id_tercero int
AS
BEGIN
	DECLARE @v_id int
		INSERT INTO [seg_perfil_tercero]
			([uid],
			[eid],
			[id_usuario_modifico],
			[id_usuario_creo],
			[fechaModificacion],
			[fechaCreacion],
			[perfil_tercero],
			[id_perfil],
			[id_tercero])
		VALUES(	@p_uid,
			@p_eid,
			@p_id_usuario_modifico,
			@p_id_usuario_creo,
			GETDATE(),
			GETDATE(),
			@p_perfil_tercero,
			@p_id_perfil,
			@p_id_tercero)
		SET @v_id = scope_identity()
UPDATE [seg_perfil_tercero] set [uid] = [uid] + '_' + convert(varchar(20),@v_id) where [id]=@v_id
SELECT @v_id as id
RETURN @v_id
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[act_seg_perfil_tercero]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[act_seg_perfil_tercero]
GO
CREATE PROCEDURE [act_seg_perfil_tercero]
	@p_active BIT,
	@p_id INT,
@p_id_usuario_modifico int = null
AS
BEGIN
	UPDATE [seg_perfil_tercero]
	SET active=@p_active,
	[id_usuario_modifico] = isnull(@p_id_usuario_modifico,[id_usuario_modifico]),
	[fechaModificacion] = GETDATE()
	WHERE	(id = @p_id)
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------

SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[reg_seg_perfil_tercero_m]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[reg_seg_perfil_tercero_m]
GO
CREATE PROCEDURE [reg_seg_perfil_tercero_m]
	@p_id INT,
	@p_eid as varchar(50) = ''
AS
BEGIN
	SELECT 	[id] AS [id],
		[uid] AS [uid],
		[eid] AS [eid],
		[id_usuario_modifico] AS [id_usuario_modifico],
		[id_usuario_creo] AS [id_usuario_creo],
		[fechaModificacion] AS [fechaModificacion],
		[fechaCreacion] AS [fechaCreacion],
		[active] AS [active],
		[perfil_tercero] AS [perfil_tercero],
		[id_perfil] AS [id_perfil],
		[id_tercero] AS [id_tercero]
	FROM [seg_perfil_tercero]
	WHERE	(id = @p_id)
	AND	(eid LIKE @p_eid+'%')

END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sel_seg_perfil_tercerosXusuario_modifico_m]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_seg_perfil_tercerosXusuario_modifico_m]
GO
CREATE PROCEDURE [sel_seg_perfil_tercerosXusuario_modifico_m]
	@p_id_usuario_modifico INT,
	@p_eid as varchar(50) = ''
AS
BEGIN
	SELECT *
	FROM [view_seg_perfil_tercero]
	WHERE ([id_usuario_modifico]= @p_id_usuario_modifico)
	AND	(eid LIKE @p_eid+'%')
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sel_seg_perfil_tercerosXusuario_creo_m]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_seg_perfil_tercerosXusuario_creo_m]
GO
CREATE PROCEDURE [sel_seg_perfil_tercerosXusuario_creo_m]
	@p_id_usuario_creo INT,
	@p_eid as varchar(50) = ''
AS
BEGIN
	SELECT *
	FROM [view_seg_perfil_tercero]
	WHERE ([id_usuario_creo]= @p_id_usuario_creo)
	AND	(eid LIKE @p_eid+'%')
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sel_seg_perfil_tercerosXperfil_m]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_seg_perfil_tercerosXperfil_m]
GO
CREATE PROCEDURE [sel_seg_perfil_tercerosXperfil_m]
	@p_id_perfil INT,
	@p_eid as varchar(50) = ''
AS
BEGIN
	SELECT *
	FROM [view_seg_perfil_tercero]
	WHERE ([id_perfil]= @p_id_perfil)
	AND	(eid LIKE @p_eid+'%')
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sel_seg_perfil_tercerosXtercero_m]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_seg_perfil_tercerosXtercero_m]
GO
CREATE PROCEDURE [sel_seg_perfil_tercerosXtercero_m]
	@p_id_tercero INT,
	@p_eid as varchar(50) = ''
AS
BEGIN
	SELECT *
	FROM [view_seg_perfil_tercero]
	WHERE ([id_tercero]= @p_id_tercero)
	AND	(eid LIKE @p_eid+'%')
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sel_seg_perfil_terceros_m]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_seg_perfil_terceros_m]
GO
CREATE PROCEDURE [sel_seg_perfil_terceros_m]
	@p_eid as varchar (50)='',
	@p_filtro as varchar (8000) = '1=1',
	@p_orden as varchar (8000) = 'id',
	@p_campos as varchar (8000) = '*' AS
BEGIN
exec ('SELECT '+ @p_campos +
' FROM [view_seg_perfil_tercero]
WHERE  (eid like '''+@p_eid+'%'+''' ) AND (' + @p_filtro + ') ORDER BY ' + @p_orden)
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------

SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[lis_seg_perfil_terceros_m]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[lis_seg_perfil_terceros_m]
GO
CREATE PROCEDURE [lis_seg_perfil_terceros_m]
	@p_eid as varchar(50) = ''
AS
BEGIN
	SELECT id AS id,
[perfil_tercero] AS [seg_perfil_tercero]
	FROM [seg_perfil_tercero]
	WHERE active = 1
	AND	(eid LIKE @p_eid+'%')
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------

SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[aud_seg_perfil_tercero]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[aud_seg_perfil_tercero]
GO
CREATE PROCEDURE [aud_seg_perfil_tercero]
	@p_filtro as varchar (8000) = '1=1'
AS
BEGIN
exec(	'SELECT [seg_perfil_tercero].id as id_tabla,
	[seg_perfil_tercero].id_usuario_modifico as id_usuario_modifico,
	[seg_perfil_tercero].id_usuario_creo as id_usuario_creo,
	[seg_perfil_tercero].fechaModificacion as fechaModificacion,
	[seg_perfil_tercero].fechaCreacion as fechaCreacion,
	[seg_perfil_tercero].active as active,
	[seg_perfil_tercero].[perfil_tercero] as campoPrincipal,
	[seg_usuario_creo].usuario as usuarioCreo,
	[seg_usuario_modifico].usuario as usuarioModifico

	FROM [seg_perfil_tercero]
	INNER JOIN [seg_usuario] AS [seg_usuario_modifico] ON [seg_usuario_modifico].id=[seg_perfil_tercero].[id_usuario_modifico]
	INNER JOIN [seg_usuario] AS [seg_usuario_creo] ON [seg_usuario_creo].id=[seg_perfil_tercero].[id_usuario_creo]
	where ' + @p_filtro)
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
----------------------
print 'seg_perfil_tercero'
-----------------------------------25/05/2017 9:22:53