
GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[reg_gen_archivo]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[reg_gen_archivo]
GO
CREATE PROCEDURE [reg_gen_archivo]
	@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],
		[archivo] AS [archivo],
		[archivo_codigo] AS [archivo_codigo],
		[tabla] AS [tabla],
		[idObjeto] AS [idObjeto],
		[descripcion] AS [descripcion],
		[archivoBinario] AS [archivoBinario],
		[esPrincipal] AS [esPrincipal],
		[link] AS [link],
		[id_tipoArchivo] AS [id_tipoArchivo]
	FROM [gen_archivo]
	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_gen_archivo]')) DROP VIEW [dbo].[view_gen_archivo]
GO
CREATE  VIEW [view_gen_archivo] AS
SELECT 	[gen_archivo].[id] AS [id],
		[gen_archivo].[uid] AS [uid],
		[gen_archivo].[eid] AS [eid],
		[gen_archivo].[id_usuario_modifico] AS [id_usuario_modifico],
		[gen_archivo].[id_usuario_creo] AS [id_usuario_creo],
		[gen_archivo].[fechaModificacion] AS [fechaModificacion],
		[gen_archivo].[fechaCreacion] AS [fechaCreacion],
		[gen_archivo].[active] AS [active],
		[gen_archivo].[archivo] AS [archivo],
		[gen_archivo].[archivo_codigo] AS [archivo_codigo],
		[gen_archivo].[tabla] AS [tabla],
		[gen_archivo].[idObjeto] AS [idObjeto],
		[gen_archivo].[descripcion] AS [descripcion],
		[gen_archivo].[archivoBinario] AS [archivoBinario],
		[gen_archivo].[esPrincipal] AS [esPrincipal],
		[gen_archivo].[link] AS [link],
		[gen_archivo].[id_tipoArchivo] AS [id_tipoArchivo],
[gen_tipoArchivo].[tipoArchivo] as [gen_tipoArchivo_tipoArchivo],
[gen_tipoArchivo].[tipoArchivo_codigo] as [gen_tipoArchivo_tipoArchivo_codigo],
		[empresaCodigo].[empresa] As [multiempresa]
FROM [gen_archivo]
	INNER JOIN [seg_usuario] AS [seg_usuario_modifico] ON [seg_usuario_modifico].id=[gen_archivo].[id_usuario_modifico]
	INNER JOIN [seg_usuario] AS [seg_usuario_creo] ON [seg_usuario_creo].id=[gen_archivo].[id_usuario_creo]
	INNER JOIN [gen_tipoArchivo] ON [gen_tipoArchivo].id=[gen_archivo].[id_tipoArchivo]
	INNER JOIN [gen_empresa] AS empresaCodigo ON [gen_archivo].eid = [empresaCodigo].[codigo] and empresaCodigo.active=1
WHERE [gen_archivo].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_gen_archivosXusuario_modifico]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_gen_archivosXusuario_modifico]
GO
CREATE PROCEDURE [sel_gen_archivosXusuario_modifico]
	@p_id_usuario_modifico INT
AS
BEGIN
	SELECT * 
	FROM [view_gen_archivo]
	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_gen_archivosXusuario_creo]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_gen_archivosXusuario_creo]
GO
CREATE PROCEDURE [sel_gen_archivosXusuario_creo]
	@p_id_usuario_creo INT
AS
BEGIN
	SELECT * 
	FROM [view_gen_archivo]
	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_gen_archivosXtipoArchivo]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_gen_archivosXtipoArchivo]
GO
CREATE PROCEDURE [sel_gen_archivosXtipoArchivo]
	@p_id_tipoArchivo INT
AS
BEGIN
	SELECT * 
	FROM [view_gen_archivo]
	WHERE ([id_tipoArchivo]= @p_id_tipoArchivo)
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_gen_archivos]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_gen_archivos]
GO
CREATE PROCEDURE [sel_gen_archivos]
	
	@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_gen_archivo]
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_gen_archivos]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[lis_gen_archivos]
GO
CREATE PROCEDURE [lis_gen_archivos]
	AS
BEGIN
	SELECT id AS id,
[archivo] AS [gen_archivo]
	FROM [gen_archivo]
	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_gen_archivo]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[upd_gen_archivo]
GO
CREATE PROCEDURE [upd_gen_archivo]
	@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_archivo varchar(300) = null,
		@p_archivo_codigo varchar(100) = null,
		@p_tabla varchar(100) = null,
		@p_idObjeto int = null,
		@p_descripcion varchar(8000) = null,
		@p_archivoBinario image = null,
		@p_esPrincipal bit = null,
		@p_link varchar(500) = null,
		@p_id_tipoArchivo int = null
AS
BEGIN
		UPDATE [gen_archivo]
		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(),
			[archivo] = isnull(@p_archivo,[archivo]),
			[archivo_codigo] = isnull(@p_archivo_codigo,[archivo_codigo]),
			[tabla] = isnull(@p_tabla,[tabla]),
			[idObjeto] = isnull(@p_idObjeto,[idObjeto]),
			[descripcion] = isnull(@p_descripcion,[descripcion]),
			[archivoBinario] = isnull(@p_archivoBinario,[archivoBinario]),
			[esPrincipal] = isnull(@p_esPrincipal,[esPrincipal]),
			[link] = isnull(@p_link,[link]),
			[id_tipoArchivo] = isnull(@p_id_tipoArchivo,[id_tipoArchivo])
		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_gen_archivo]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[ins_gen_archivo]
GO
CREATE PROCEDURE [ins_gen_archivo]
	@p_uid varchar(500),
		@p_eid varchar(50),
		@p_id_usuario_modifico int,
		@p_id_usuario_creo int,
		@p_archivo varchar(300),
		@p_archivo_codigo varchar(100),
		@p_tabla varchar(100),
		@p_idObjeto int,
		@p_descripcion varchar(8000),
		@p_archivoBinario image,
		@p_esPrincipal bit,
		@p_link varchar(500),
		@p_id_tipoArchivo int
AS
BEGIN
	DECLARE @v_id int
		INSERT INTO [gen_archivo]
			([uid],
			[eid],
			[id_usuario_modifico],
			[id_usuario_creo],
			[fechaModificacion],
			[fechaCreacion],
			[archivo],
			[archivo_codigo],
			[tabla],
			[idObjeto],
			[descripcion],
			[archivoBinario],
			[esPrincipal],
			[link],
			[id_tipoArchivo])
		VALUES(	@p_uid,
			@p_eid,
			@p_id_usuario_modifico,
			@p_id_usuario_creo,
			GETDATE(),
			GETDATE(),
			@p_archivo,
			@p_archivo_codigo,
			@p_tabla,
			@p_idObjeto,
			@p_descripcion,
			@p_archivoBinario,
			@p_esPrincipal,
			@p_link,
			@p_id_tipoArchivo)
		SET @v_id = scope_identity()
UPDATE [gen_archivo] 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_gen_archivo]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[act_gen_archivo]
GO
CREATE PROCEDURE [act_gen_archivo]
	@p_active BIT,
	@p_id INT,
@p_id_usuario_modifico int = null
AS
BEGIN
	UPDATE [gen_archivo]
	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_gen_archivo_m]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[reg_gen_archivo_m]
GO
CREATE PROCEDURE [reg_gen_archivo_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],
		[archivo] AS [archivo],
		[archivo_codigo] AS [archivo_codigo],
		[tabla] AS [tabla],
		[idObjeto] AS [idObjeto],
		[descripcion] AS [descripcion],
		[archivoBinario] AS [archivoBinario],
		[esPrincipal] AS [esPrincipal],
		[link] AS [link],
		[id_tipoArchivo] AS [id_tipoArchivo]
	FROM [gen_archivo]
	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_gen_archivosXusuario_modifico_m]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_gen_archivosXusuario_modifico_m]
GO
CREATE PROCEDURE [sel_gen_archivosXusuario_modifico_m]
	@p_id_usuario_modifico INT,
	@p_eid as varchar(50) = ''
AS
BEGIN
	SELECT *
	FROM [view_gen_archivo]
	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_gen_archivosXusuario_creo_m]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_gen_archivosXusuario_creo_m]
GO
CREATE PROCEDURE [sel_gen_archivosXusuario_creo_m]
	@p_id_usuario_creo INT,
	@p_eid as varchar(50) = ''
AS
BEGIN
	SELECT *
	FROM [view_gen_archivo]
	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_gen_archivosXtipoArchivo_m]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_gen_archivosXtipoArchivo_m]
GO
CREATE PROCEDURE [sel_gen_archivosXtipoArchivo_m]
	@p_id_tipoArchivo INT,
	@p_eid as varchar(50) = ''
AS
BEGIN
	SELECT *
	FROM [view_gen_archivo]
	WHERE ([id_tipoArchivo]= @p_id_tipoArchivo)
	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_gen_archivos_m]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_gen_archivos_m]
GO
CREATE PROCEDURE [sel_gen_archivos_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_gen_archivo]
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_gen_archivos_m]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[lis_gen_archivos_m]
GO
CREATE PROCEDURE [lis_gen_archivos_m]
	@p_eid as varchar(50) = ''
AS
BEGIN
	SELECT id AS id,
[archivo] AS [gen_archivo]
	FROM [gen_archivo]
	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_gen_archivo]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[aud_gen_archivo]
GO
CREATE PROCEDURE [aud_gen_archivo]
	@p_filtro as varchar (8000) = '1=1'
AS
BEGIN
exec(	'SELECT [gen_archivo].id as id_tabla,
	[gen_archivo].id_usuario_modifico as id_usuario_modifico,
	[gen_archivo].id_usuario_creo as id_usuario_creo,
	[gen_archivo].fechaModificacion as fechaModificacion,
	[gen_archivo].fechaCreacion as fechaCreacion,
	[gen_archivo].active as active,
	[gen_archivo].[archivo] as campoPrincipal,
	[seg_usuario_creo].usuario as usuarioCreo,
	[seg_usuario_modifico].usuario as usuarioModifico

	FROM [gen_archivo]
	INNER JOIN [seg_usuario] AS [seg_usuario_modifico] ON [seg_usuario_modifico].id=[gen_archivo].[id_usuario_modifico]
	INNER JOIN [seg_usuario] AS [seg_usuario_creo] ON [seg_usuario_creo].id=[gen_archivo].[id_usuario_creo]
	where ' + @p_filtro)
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_pro_ejecutoresesXarchivo]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[sel_pro_ejecutoresesXarchivo]
GO
CREATE PROCEDURE [sel_pro_ejecutoresesXarchivo]
	@p_id_gen_archivo INT
AS
BEGIN
	SELECT 	[pro_ejecutores_archivo].[id] AS [I_id],
		[pro_ejecutores_archivo].[uid] AS [I_uid],
		[pro_ejecutores_archivo].[eid] AS [I_eid],
		[pro_ejecutores_archivo].[fechaModificacion] AS [I_fechaModificacion],
		[pro_ejecutores_archivo].[fechaCreacion] AS [I_fechaCreacion],
		[pro_ejecutores_archivo].[active] AS [I_active],
		[pro_ejecutores_archivo].[ejecutores_archivo] AS [I_ejecutores_archivo],
		[pro_ejecutores_archivo].[revisado] AS [I_revisado],
		[pro_ejecutores_archivo].[aprobado] AS [I_aprobado],
		[pro_ejecutores_archivo].[fecha_revision] AS [I_fecha_revision],
		[pro_ejecutores_archivo].[fecha_aprobacion] AS [I_fecha_aprobacion]
	FROM pro_ejecutores_archivo INNER JOIN pro_ejecutores
	 ON [pro_ejecutores_archivo].[id_ejecutores] = [pro_ejecutores].id
	WHERE	([pro_ejecutores_archivo].[id_archivo]= @p_id_gen_archivo)
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_pro_ejecutores_archivo]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[ins_pro_ejecutores_archivo]
GO
CREATE PROCEDURE [ins_pro_ejecutores_archivo]
	@p_uid varchar(500),
		@p_eid varchar(50),
		@p_id_usuario_modifico int,
		@p_id_usuario_creo int,
		@p_ejecutores_archivo varchar(300),
		@p_revisado bit,
		@p_aprobado bit,
		@p_fecha_revision datetime,
		@p_fecha_aprobacion datetime,
		@p_id_archivo int,
		@p_id_ejecutores int
AS
BEGIN
	DECLARE @v_id int
		INSERT INTO [pro_ejecutores_archivo]
			([uid],
			[eid],
			[id_usuario_modifico],
			[id_usuario_creo],
			[fechaModificacion],
			[fechaCreacion],
			[ejecutores_archivo],
			[revisado],
			[aprobado],
			[fecha_revision],
			[fecha_aprobacion],
			[id_archivo],
			[id_ejecutores])
		VALUES(	@p_uid,
			@p_eid,
			@p_id_usuario_modifico,
			@p_id_usuario_creo,
			GETDATE(),
			GETDATE(),
			@p_ejecutores_archivo,
			@p_revisado,
			@p_aprobado,
			@p_fecha_revision,
			@p_fecha_aprobacion,
			@p_id_archivo,
			@p_id_ejecutores)
		SET @v_id = scope_identity()
UPDATE [pro_ejecutores_archivo] 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].[upd_pro_ejecutores_archivo]') AND type in (N'P', N'PC'))DROP PROCEDURE [dbo].[upd_pro_ejecutores_archivo]
GO
CREATE PROCEDURE [upd_pro_ejecutores_archivo]
	@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_ejecutores_archivo varchar(300) = null,
		@p_revisado bit = null,
		@p_aprobado bit = null,
		@p_fecha_revision datetime = null,
		@p_fecha_aprobacion datetime = null,
		@p_id_archivo int = null,
		@p_id_ejecutores int = null
AS
BEGIN
		UPDATE [pro_ejecutores_archivo]
		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(),
			[ejecutores_archivo] = isnull(@p_ejecutores_archivo,[ejecutores_archivo]),
			[revisado] = isnull(@p_revisado,[revisado]),
			[aprobado] = isnull(@p_aprobado,[aprobado]),
			[fecha_revision] = isnull(@p_fecha_revision,[fecha_revision]),
			[fecha_aprobacion] = isnull(@p_fecha_aprobacion,[fecha_aprobacion]),
			[id_archivo] = isnull(@p_id_archivo,[id_archivo]),
			[id_ejecutores] = isnull(@p_id_ejecutores,[id_ejecutores])
		WHERE (id = @p_id)
END
GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON
GO
