--Hash:B4CE1DA2902A5BFC16CCF06EBAB1CB92

-- Bloqueo exclusivo por base de datos
--//
SET NOCOUNT ON;

DECLARE @__ZiurDbScriptLockResource NVARCHAR(200) = N'ZiurSoft:DbScriptLock:' + CAST(DB_ID() AS NVARCHAR(20));
DECLARE @__ZiurDbScriptLockResult INT;
EXEC @__ZiurDbScriptLockResult = sp_getapplock
    @Resource = @__ZiurDbScriptLockResource,
    @LockMode = N'Exclusive',
    @LockOwner = N'Session',
    @LockTimeout = 600000; -- 10 min

IF (@__ZiurDbScriptLockResult < 0)
BEGIN
    RAISERROR(N'No se pudo obtener el bloqueo exclusivo de actualizacion para esta base de datos.', 16, 1);
    SET NOEXEC ON;
END

/* Idempotencia a nivel de script: si la version ya existe, no ejecutar nada. */
IF EXISTS (SELECT 1 FROM dbo.ZiurVersiones WHERE NumVersion = 952)
BEGIN
    PRINT N'Scripts_952.sql: la version 952 ya esta aplicada. Se omite ejecucion.';
    EXEC sp_releaseapplock @Resource = @__ZiurDbScriptLockResource, @LockOwner = N'Session';
    SET NOEXEC ON;
END

SET XACT_ABORT ON;
GO

SET DATEFORMAT mdy;

--Validar que no existan scripts que no se hayan ejecutado
--//
IF EXISTS
(
	SELECT a.NumVersion + 1 AS HuecoInicio
	FROM ZiurVersiones a
	LEFT JOIN ZiurVersiones b ON a.NumVersion + 1 = b.NumVersion
	WHERE a.NumVersion>830 AND b.NumVersion IS NULL
	AND a.NumVersion + 1 < 952
)
RAISERROR('Error : hay un script que no se ejecuto , debe ejecutarlo manualmente.', 20, -1) with log
--//

--Colocar contenido de script diferencial aqui (Ziur.Database.publish.sql)

GO
/*
 Plantilla de script anterior a la implementación							
--------------------------------------------------------------------------------------
 Este archivo contiene instrucciones de SQL que se ejecutarán antes del script de compilación	
 Use la sintaxis de SQLCMD para incluir un archivo en el script anterior a la implementación			
 Ejemplo:      :r .\miArchivo.sql								
 Use la sintaxis de SQLCMD para hacer referencia a una variable en el script anterior a la implementación		
 Ejemplo:      :setvar TableName miTabla							
               SELECT * FROM [$(TableName)]					
--------------------------------------------------------------------------------------
*/
GO

GO
PRINT N'Rename refactoring operation with key f014efe7-09d5-44d0-b46c-518e29066e93 is skipped, element [dbo].[Encabezados].[FeFechaIni] (SqlSimpleColumn) will not be renamed to FeNotasFechaIni';


GO
PRINT N'Rename refactoring operation with key ab23da6c-a5b2-4a50-9c14-99ab784a7541 is skipped, element [dbo].[Encabezados].[FeFechaFin] (SqlSimpleColumn) will not be renamed to FeNotasFechaFin';


GO
PRINT N'Dropping Index [dbo].[VInventarios_CostoPromedio_00].[IX_CostoProm]...';


GO
DROP INDEX [IX_CostoProm]
    ON [dbo].[VInventarios_CostoPromedio_00];


GO
PRINT N'Removing schema binding from [dbo].[VInventarios_CostoPromedio_00]...';
IF OBJECT_ID(N'dbo.VInventarios_CostoPromedio_00', N'V') IS NULL
    EXEC(N'CREATE VIEW [dbo].[VInventarios_CostoPromedio_00] AS SELECT 1 AS Dummy;');

GO
ALTER VIEW [dbo].[VInventarios_CostoPromedio_00]
AS
SELECT EncMov.IdInventario,
       EncMovCP.Orden,
       EncMov.IdEncabMov,
       Enc.IdEncab,
       EncMovCP.CostoProm,
       EncMovCP.CantAcum,
       EncMovCP.CostoAcum
FROM   dbo.Encabezados AS Enc
       INNER JOIN
       dbo.Encabezados_Mov AS EncMov
       ON Enc.IdEncab = EncMov.IdEncab
       INNER JOIN
       dbo.Encabezados_Mov_CostoProm AS EncMovCP
       ON EncMov.IdEncabMov = EncMovCP.IdEncabMov
WHERE  (NOT (EncMovCP.Orden IS NULL));


GO
PRINT N'Altering Table [dbo].[Encabezados]...';


GO
IF OBJECT_ID(N'dbo.Encabezados', N'U') IS NOT NULL
AND COL_LENGTH(N'dbo.Encabezados', N'FeNotasFechaIni') IS NULL
BEGIN
    ALTER TABLE [dbo].[Encabezados]
        ADD [FeNotasFechaIni] DATETIME NULL;
END

IF OBJECT_ID(N'dbo.Encabezados', N'U') IS NOT NULL
AND COL_LENGTH(N'dbo.Encabezados', N'FeNotasFechaFin') IS NULL
BEGIN
    ALTER TABLE [dbo].[Encabezados]
        ADD [FeNotasFechaFin] DATETIME NULL;
END


GO
PRINT N'Altering Trigger [dbo].[TRG_Numeracion]...';

IF OBJECT_ID(N'dbo.TRG_Numeracion', N'TR') IS NULL
    EXEC(N'CREATE TRIGGER [dbo].[TRG_Numeracion] ON [dbo].[Encabezados] AFTER INSERT AS BEGIN SET NOCOUNT ON; END');


GO

-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
ALTER TRIGGER TRG_Numeracion
   ON  Encabezados
   AFTER INSERT,DELETE,UPDATE
AS 
BEGIN

-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;

DECLARE @IdEncab int
DECLARE @IdEmp int
DECLARE @Pref nvarchar(100)
DECLARE @IdDoc nvarchar(100)
DECLARE @NumNuevo int
DECLARE @NumLastSeq int
DECLARE @NumActual int
DECLARE @senAnulado bit
DECLARE @Anulados bit
DECLARE @senSequence int = 0
DECLARE @senAnuladoNum bit
DECLARE @rowsModified int = 0
DECLARE @senDeleted bit = 0
DECLARE @IdEncabNum int
--indican si es una insercion, actualizacion o eliminacion
--//
DECLARE @in int, @de int
SELECT @in = COUNT(*) FROM inserted;
SELECT @de = COUNT(*) FROM deleted;
--//

IF (@in=0 and @de>0)
	--si es una operacion de eliminacion
	DECLARE curNums CURSOR LOCAL FOR
	SELECT IdEncab, IdEmpresa, IdPrefijo, IdDocumento, NumDocumento 
	FROM DELETED
ELSE
	--si es una operacion de insercion o actualizacion
	DECLARE curNums CURSOR LOCAL FOR
	SELECT IdEncab, IdEmpresa, IdPrefijo, IdDocumento, NumDocumento 
	FROM INSERTED


OPEN curNums
FETCH FROM curNums INTO @IdEncab, @IdEmp , @Pref , @IdDoc , @NumActual

--'Autonumerar Sin Anulados'
--//
SET @senAnulado = CAST((SELECT ValParametro FROM Parametros where CodParametro=46)AS BIT)

IF(@senAnulado=1)
	Set @Anulados=0
ELSE
	Set @Anulados= null
--//

WHILE @@FETCH_STATUS = 0
BEGIN
	SET @senDeleted = 0

	--insertar en tabla de secuencia sino existe un registro
	--//
	SELECT @IdEncabNum = IdEncabNum, @NumLastSeq = NumDocumento, @senAnuladoNum = SenAnulado 
	FROM Encabezados_Numeracion 
	WHERE 
	IdEmpresa = @IdEmp AND 
	IdDocumento = @IdDoc AND 
	COALESCE(IdPrefijo,'') = COALESCE(@Pref, '') 

	SET @rowsModified = @@ROWCOUNT

	--elimina el registro si se cambia la variable de esanulados en parametros
	--//
	IF (@rowsModified > 0 AND @senAnuladoNum <> @senAnulado)
	BEGIN
		DELETE FROM Encabezados_Numeracion 
		WHERE 
		IdEmpresa = @IdEmp AND 
		IdDocumento = @IdDoc AND 
		COALESCE(IdPrefijo,'') = COALESCE(@Pref, '') 
		SET @senDeleted = 1
	END
	--//

	--inicializa 
	IF (@rowsModified = 0 OR @senDeleted =1)
	BEGIN
		SELECT @NumLastSeq = COALESCE(MAX(NumDocumento),0)
		FROM Encabezados
		WHERE 
		IdEmpresa = @IdEmp AND
		IdDocumento = @IdDoc AND
		COALESCE(IdPrefijo,'') = COALESCE(@Pref, '') AND
		(@Anulados IS NULL OR EsAnulado = @Anulados)

		INSERT INTO Encabezados_Numeracion (IdEmpresa, IdDocumento, IdPrefijo, NumDocumento, SenAnulado)
		VALUES (@IdEmp, @IdDoc, @Pref, @NumLastSeq, @senAnulado)

		SET @IdEncabNum = SCOPE_IDENTITY() 
	END
	--//

	SET @NumNuevo = @NumActual

	--> INSERTAR
	--//
	IF (@in>0 and @de=0)
	BEGIN
		IF @NumActual = 0
		BEGIN
			SET @NumNuevo = @NumLastSeq + 1
			SET @senSequence = 1
		END

		UPDATE Encabezados SET NumDocumento = @NumNuevo where IdEncab = @IdEncab
	END
	--//

	--> ACTUALIZAR
	--//
	IF (@in>0 and @de>0)
	BEGIN
		IF @NumActual > @NumLastSeq
		BEGIN
			SET @NumNuevo = @NumActual
			SET @senSequence = 1
		END
	END
	--//

	--> ELIMINAR
	--//
	IF (@in=0 and @de>0)
	BEGIN
		IF @NumActual = @NumLastSeq
		BEGIN
			--revisar si el consecutivo o numero anterior existe
			IF EXISTS(SELECT IdEncab from Encabezados where IdEmpresa = @IdEmp AND IdDocumento = @IdDoc AND COALESCE(IdPrefijo,'') = COALESCE(@Pref, '') AND NumDocumento = @NumNuevo - 1)
			BEGIN
				SET @NumNuevo = @NumNuevo - 1
				SET @senSequence = 1
			END
			ELSE
			--si no existe el numero anterior reseteamos la numeracion para hacer como si iniciara de 'ceros'
			BEGIN
				DELETE FROM Encabezados_Numeracion WHERE IdEncabNum = @IdEncabNum
			END
		END
	END
	--//

	IF (@senSequence = 1)
	BEGIN
		UPDATE Encabezados_Numeracion SET NumDocumento = @NumNuevo 
		WHERE 
		IdEmpresa = @IdEmp AND 
		IdDocumento = @IdDoc AND 
		COALESCE(IdPrefijo,'') = COALESCE(@Pref, '')
	END

	FETCH NEXT FROM curNums INTO @IdEncab, @IdEmp , @Pref , @IdDoc , @NumActual
END

CLOSE curNums
DEALLOCATE curNums

END
GO
PRINT N'Refreshing View [dbo].[VActivos_FijosContables]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VActivos_FijosContables]';


GO
PRINT N'Refreshing View [dbo].[VAgrupadoPorCliVend_01]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VAgrupadoPorCliVend_01]';


GO
PRINT N'Refreshing View [dbo].[VClientesPuntos]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VClientesPuntos]';


GO
PRINT N'Refreshing View [dbo].[VContab_EncMov]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VContab_EncMov]';


GO
PRINT N'Refreshing View [dbo].[VContabDoc____Totales]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VContabDoc____Totales]';


GO
PRINT N'Refreshing View [dbo].[VContabDoc_00]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VContabDoc_00]';


GO
PRINT N'Refreshing View [dbo].[VContabDoc_FP_00]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VContabDoc_FP_00]';


GO
PRINT N'Refreshing View [dbo].[VContablesConcil]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VContablesConcil]';


GO
PRINT N'Refreshing View [dbo].[VCostoPromedio]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VCostoPromedio]';


GO
PRINT N'Refreshing View [dbo].[VCruces_Origen]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VCruces_Origen]';


GO
PRINT N'Refreshing View [dbo].[VCruces_Sumas]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VCruces_Sumas]';


GO
PRINT N'Refreshing View [dbo].[VCruces_TodosDocs]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VCruces_TodosDocs]';


GO
PRINT N'Refreshing View [dbo].[VIdAbonaCheque_02]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VIdAbonaCheque_02]';


GO
PRINT N'Refreshing View [dbo].[VIdAbonaDoc_01]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VIdAbonaDoc_01]';


GO
PRINT N'Refreshing View [dbo].[VIdAbonaDoc_02]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VIdAbonaDoc_02]';


GO
PRINT N'Refreshing View [dbo].[VIngresoProducto]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VIngresoProducto]';


GO
PRINT N'Adding schema binding to [dbo].[VInventarios_CostoPromedio_00]...';
IF OBJECT_ID(N'dbo.VInventarios_CostoPromedio_00', N'V') IS NULL
    EXEC(N'CREATE VIEW [dbo].[VInventarios_CostoPromedio_00] AS SELECT 1 AS Dummy;');

GO
ALTER VIEW VInventarios_CostoPromedio_00
with schemabinding 
AS
SELECT     EncMov.IdInventario, EncMovCP.Orden, EncMov.IdEncabMov, Enc.IdEncab, EncMovCP.CostoProm, EncMovCP.CantAcum, EncMovCP.CostoAcum
FROM         dbo.Encabezados AS Enc INNER JOIN
                      dbo.Encabezados_Mov AS EncMov ON Enc.IdEncab = EncMov.IdEncab INNER JOIN
                      dbo.Encabezados_Mov_CostoProm AS EncMovCP ON EncMov.IdEncabMov = EncMovCP.IdEncabMov
WHERE     (NOT (EncMovCP.Orden IS NULL))
GO
PRINT N'Creating Index [dbo].[VInventarios_CostoPromedio_00].[IX_CostoProm]...';


GO
CREATE UNIQUE CLUSTERED INDEX [IX_CostoProm]
    ON [dbo].[VInventarios_CostoPromedio_00]([IdInventario] ASC, [Orden] ASC, [IdEncabMov] ASC);


GO
PRINT N'Refreshing View [dbo].[VInventarios_Existencia]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VInventarios_Existencia]';


GO
PRINT N'Refreshing View [dbo].[VInventariosLotesCons01]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VInventariosLotesCons01]';


GO
PRINT N'Refreshing View [dbo].[VInvExistPorLote]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VInvExistPorLote]';


GO
PRINT N'Refreshing View [dbo].[vLibroAuxiliar_Mov]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[vLibroAuxiliar_Mov]';


GO
PRINT N'Refreshing View [dbo].[vLibroAuxiliar_Saldos_01]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[vLibroAuxiliar_Saldos_01]';


GO
PRINT N'Refreshing View [dbo].[VMediosMag_Procesos_Principal]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VMediosMag_Procesos_Principal]';


GO
PRINT N'Refreshing View [dbo].[VMesasEnc]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VMesasEnc]';


GO
PRINT N'Refreshing View [dbo].[VNomina_Contabilizacion_00]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VNomina_Contabilizacion_00]';


GO
PRINT N'Refreshing View [dbo].[VNominaCantItems]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VNominaCantItems]';


GO
PRINT N'Refreshing View [dbo].[VNominaIBC]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VNominaIBC]';


GO
PRINT N'Refreshing View [dbo].[VNominaMovimientos]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VNominaMovimientos]';


GO
PRINT N'Refreshing View [dbo].[VNominaUGPP]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VNominaUGPP]';


GO
PRINT N'Refreshing View [dbo].[VSeriales]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VSeriales]';


GO
PRINT N'Refreshing View [dbo].[VSesionesSaldos]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VSesionesSaldos]';


GO
PRINT N'Refreshing View [dbo].[VContabDoc____TRMPromedio]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VContabDoc____TRMPromedio]';


GO
PRINT N'Refreshing View [dbo].[VTot_EncMov]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VTot_EncMov]';


GO
PRINT N'Refreshing View [dbo].[VContabDoc____TotPorCuentas_00]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VContabDoc____TotPorCuentas_00]';


GO
PRINT N'Refreshing View [dbo].[VContabDoc_FP____TotPorCuentas_00]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VContabDoc_FP____TotPorCuentas_00]';


GO
PRINT N'Refreshing View [dbo].[VCostoPromedio_Cruces]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VCostoPromedio_Cruces]';


GO
PRINT N'Refreshing View [dbo].[VCruces_Agrup]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VCruces_Agrup]';


GO
PRINT N'Refreshing View [dbo].[VProduccion]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VProduccion]';


GO
PRINT N'Refreshing View [dbo].[VEncabezadosCont]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VEncabezadosCont]';


GO
PRINT N'Refreshing View [dbo].[VInventarios_Existencia_Recursos]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VInventarios_Existencia_Recursos]';


GO
PRINT N'Refreshing View [dbo].[VInventariosLotesCons02]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VInventariosLotesCons02]';


GO
PRINT N'Refreshing View [dbo].[vLibroAuxiliar_Saldos_02]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[vLibroAuxiliar_Saldos_02]';


GO
PRINT N'Refreshing View [dbo].[VMediosMag_Informes_AgrupPorConceptoTotal]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VMediosMag_Informes_AgrupPorConceptoTotal]';


GO
PRINT N'Refreshing View [dbo].[VMediosMag_Procesos_CuantiasNormales_00]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VMediosMag_Procesos_CuantiasNormales_00]';


GO
PRINT N'Refreshing View [dbo].[VMediosMag_Procesos_Principal_Agrup]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VMediosMag_Procesos_Principal_Agrup]';


GO
PRINT N'Refreshing View [dbo].[VMediosMag_Procesos_Principal_Agrup2]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VMediosMag_Procesos_Principal_Agrup2]';


GO
PRINT N'Refreshing View [dbo].[VMediosMag_Procesos_ReteFteIvaNoDomic_Fin]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VMediosMag_Procesos_ReteFteIvaNoDomic_Fin]';


GO
PRINT N'Refreshing View [dbo].[VNomina_Contabilizacion_CredTot]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VNomina_Contabilizacion_CredTot]';


GO
PRINT N'Refreshing View [dbo].[VNomina_Contabilizacion_DebTot]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VNomina_Contabilizacion_DebTot]';


GO
PRINT N'Refreshing View [dbo].[VNominaCorte]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VNominaCorte]';


GO
PRINT N'Refreshing View [dbo].[VContabDoc____TotPorCuentas_Fin]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VContabDoc____TotPorCuentas_Fin]';


GO
PRINT N'Refreshing View [dbo].[VContabDoc_FP____TotPorCuentas_Fin]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VContabDoc_FP____TotPorCuentas_Fin]';


GO
PRINT N'Refreshing View [dbo].[VEncabezadosMov]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VEncabezadosMov]';


GO
PRINT N'Refreshing View [dbo].[VMediosMag_Procesos_CuantiasNormales_Fin]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VMediosMag_Procesos_CuantiasNormales_Fin]';


GO
PRINT N'Refreshing View [dbo].[VMediosMag_Procesos_ReteFuente_Fin]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VMediosMag_Procesos_ReteFuente_Fin]';


GO
PRINT N'Refreshing View [dbo].[VMediosMag_Procesos_ReteFuenteCREE_Fin]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VMediosMag_Procesos_ReteFuenteCREE_Fin]';


GO
PRINT N'Refreshing View [dbo].[VMediosMag_Procesos_ReteIvaRegComun_Fin]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VMediosMag_Procesos_ReteIvaRegComun_Fin]';


GO
PRINT N'Refreshing View [dbo].[VMediosMag_Procesos_ReteIvaRegSimpC_Fin]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VMediosMag_Procesos_ReteIvaRegSimpC_Fin]';


GO
PRINT N'Refreshing View [dbo].[VMediosMag_Procesos_IvaMayorValor_Fin]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VMediosMag_Procesos_IvaMayorValor_Fin]';


GO
PRINT N'Refreshing View [dbo].[VMovimientosFactElectronica]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VMovimientosFactElectronica]';


GO
PRINT N'Altering View [dbo].[VEncabezados]...';
IF OBJECT_ID(N'dbo.VEncabezados', N'V') IS NULL
    EXEC(N'CREATE VIEW [dbo].[VEncabezados] AS SELECT 1 AS Dummy;');

GO
ALTER VIEW dbo.VEncabezados
AS
SELECT        Enc.IdEncab, Enc.IdEmpresa, Enc.IdDocumento, Enc.IdPrefijo, pre.NomPrefijo, Enc.NumDocumento, Enc.Fecha, Enc.IdCliente1, Enc.IdCliente2, Enc.Nota, Enc.IdFormaPago, FP.NomFormaPago, 
                         dbo.Documentos.NomDocumento, Emp.EmpresaNombre, COALESCE (Cli1.Nombre1, N'') + N' ' + COALESCE (Cli1.Nombre2, N'') + N' ' + COALESCE (Cli1.Apellido1, N'') + N' ' + COALESCE (Cli1.Apellido2, N'') 
                         AS NombresCliente1, COALESCE (Cli2.Nombre1, N'') + N' ' + COALESCE (Cli2.Nombre2, N'') + N' ' + COALESCE (Cli2.Apellido1, N'') + N' ' + COALESCE (Cli2.Apellido2, N'') AS NombresCliente2, 
                         Enc.IdCliente1_IdDir, dbo.Clientes_Direcciones.Direccion, dbo.Monedas.NomMoneda1 AS NomMoneda, Enc.Vence, Reparacion_Automotores_1.NumPlaca, Reparacion_Automotores_1.NumChasis, 
                         Enc.IdAutomotor, Cli1.Identificacion, Emp.EmpresaNit, dbo.Clientes_Direcciones.Telefonos, Enc.NomPc, Enc.NumDocumentoExt, dbo.Ciudades.NomCiudad, Reparacion_Automotores_1.NumMotor, 
                         Reparacion_Automotores_1.Kilometraje, Reparacion_Automotores_1.Modelo, Reparacion_Automotores_1.Color, dbo.Reparacion_Marcas.NomMarca, Emp.EmpresaDireccion, Emp.EmpresaTelefono, 
                         Emp.EmpresaCorreoElect, COALESCE (Emp.EmpresaNit, N'') + '' + COALESCE ('-' + CAST(Emp.EmpresaDV AS varchar), N' ') AS NIT, dbo.Clientes_Contactos.Nombres AS NombresContacto, 
                         dbo.Clientes_Contactos.Telefono AS TelefonoContacto, dbo.Clientes_Contactos.Email AS EmailContacto, dbo.Clientes_Contactos.Cargo AS CargoContacto, Enc.ValorTRM, COALESCE (Cli3.Nombre1, N'') 
                         + N' ' + COALESCE (Cli3.Nombre2, N'') + N' ' + COALESCE (Cli3.Apellido1, N'') + N' ' + COALESCE (Cli3.Apellido2, N'') AS NombreVend, COALESCE (CliVend2.Nombre1, N'') + N' ' + COALESCE (CliVend2.Nombre2, 
                         N'') + N' ' + COALESCE (CliVend2.Apellido1, N'') + N' ' + COALESCE (CliVend2.Apellido2, N'') AS NombreVend2, dbo.Documentos.IdPlantilla, Enc.EsBloqueado, Enc.EsAnulado, Emp.EmpresaResolucion, 
                         dbo.Monedas.Abrev, dbo.Encabezados_Estados.NomEstado, Enc.IdEstado, dbo.Clientes_Direcciones.Celular AS CelularCli, dbo.Clientes_Direcciones.EMail AS EmailCli, Cli4.Identificacion AS IdentificacionProp, 
                         COALESCE (Cli4.Nombre1, N'') + N' ' + COALESCE (Cli4.Nombre2, N'') + N' ' + COALESCE (Cli4.Apellido1, N'') + N' ' + COALESCE (Cli4.Apellido2, N'') AS NombreProp, RegCli.NomTipoRegimen AS RegimenCli, 
                         RegProp.NomTipoRegimen AS RegimenProp, dbo.PH_Inmuebles.Direccion AS DireccionInmueble, COALESCE (Cli1.Identificacion, N'') + N'' + COALESCE (N'-' + CAST(Cli1.DVCliente AS varchar), N' ') AS NitCliente, 
                         dbo.VTotalesRete.SumReteFuente, dbo.VTotalesRete.SumIva, dbo.VTotalesRete.SumReteIva, dbo.VTotalesRete.SumReteIca, dbo.VTotalesRete.SumReteFuenteCree, dbo.VTotalesRete.SumReteIvaRSC, 
                         dbo.VTot_EncCont.Credito, dbo.VTot_EncCont.Debito, dbo.VTot_EncMov.SubTotal, dbo.VTot_EncMov.SubTotalSinDcto, dbo.VTot_EncMov.ValorDcto, dbo.VTot_EncMov.SubIVA, dbo.VTot_EncMov.TotDoc, 
                         Enc.IdSucursal, dbo.Sucursales.NomSucursal, dbo.Sucursales.CodSucursal, dbo.VTotalesRete.SumAutoReteCreeC, dbo.VTotalesRete.SumAutoReteCreeD, dbo.VTotalesRete.SumImpuestoalConsumo, 
                         dbo.VTotalesRete.SumReteIvaRegimenSimplificadoD, dbo.VTotalesRete.SumDiferidosPasivo, dbo.VTotalesRete.SumReteIvaNoDomiciliado, dbo.VTotalesRete.SumCuentasPorCobrar, 
                         dbo.VTotalesRete.SumCuentasPorPagar, dbo.VTotalesRete.SumReteIvaRegimenComun, dbo.VTotalesRete.SumTesoreria, dbo.VTotalesRete.SumNormal, dbo.VTotalesRete.SumComisionTarjetas, 0 AS EsDelete, 
                         Reparacion_Automotores_1.NomAutomotor, Enc.ValorPago, tipoDir.NomTipoDir, dbo.Documentos.CodDocumento, dbo.Encabezados_Tipos.NomTipo, dbo.VTot_EncMov.IVA, dbo.VTot_EncMov.SubTotExento, 
                         dbo.VTot_EncMov.SubTotGravado, dbo.VTot_EncMov.Cantidad, clientesesp.Especial_01 AS EspecialTercero01, clientesesp.Especial_02 AS EspecialTercero02, clientesesp.Especial_03 AS EspecialTercero03, 
                         clientesesp.Especial_04 AS EspecialTercero04, clientesesp.Especial_05 AS EspecialTercero05, clientesesp.Especial_06 AS EspecialTercero06, clientesesp.Especial_07 AS EspecialTercero07, 
                         clientesesp.Especial_08 AS EspecialTercero08, clientesesp.Especial_09 AS EspecialTercero09, clientesesp.Especial_10 AS EspecialTercero10, clientesesp.Especial_11 AS EspecialTercero11, 
                         clientesesp.Especial_12 AS EspecialTercero12, clientesesp.Especial_13 AS EspecialTercero13, clientesesp.Especial_14 AS EspecialTercero14, clientesesp.Especial_15 AS EspecialTercero15, 
                         clientesesp.Especial_16 AS EspecialTercero16, clientesesp.Especial_17 AS EspecialTercero17, clientesesp.Especial_18 AS EspecialTercero18, clientesesp.Especial_19 AS EspecialTercero19, 
                         clientesesp.Especial_20 AS EspecialTercero20, clientesesp.Especial_21 AS EspecialTercero21, clientesesp.Especial_22 AS EspecialTercero22, clientesesp.Especial_23 AS EspecialTercero23, 
                         clientesesp.Especial_24 AS EspecialTercero24, clientesesp.Especial_25 AS EspecialTercero25, clientesesp.Especial_26 AS EspecialTercero26, clientesesp.Especial_27 AS EspecialTercero27, 
                         clientesesp.Especial_28 AS EspecialTercero28, clientesesp.Especial_29 AS EspecialTercero29, clientesesp.Especial_30 AS EspecialTercero30, clientesesp.Especial_31 AS EspecialTercero31, 
                         clientesesp.Especial_32 AS EspecialTercero32, clientesesp.Especial_33 AS EspecialTercero33, clientesesp.Especial_34 AS EspecialTercero34, clientesesp.Especial_35 AS EspecialTercero35, 
                         clientesesp.Especial_36 AS EspecialTercero36, clientesesp.Especial_37 AS EspecialTercero37, clientesesp.Especial_38 AS EspecialTercero38, clientesesp.Especial_39 AS EspecialTercero39, 
                         clientesesp.Especial_40 AS EspecialTercero40, encesp.Especial_01 AS Especial01, encesp.Especial_02 AS Especial02, encesp.Especial_03 AS Especial03, encesp.Especial_04 AS Especial04, 
                         encesp.Especial_05 AS Especial05, encesp.Especial_06 AS Especial06, encesp.Especial_07 AS Especial07, encesp.Especial_08 AS Especial08, encesp.Especial_09 AS Especial09, 
                         encesp.Especial_10 AS Especial10, encesp.Especial_11 AS Especial11, encesp.Especial_12 AS Especial12, encesp.Especial_13 AS Especial13, encesp.Especial_14 AS Especial14, 
                         encesp.Especial_15 AS Especial15, encesp.Especial_16 AS Especial16, encesp.Especial_17 AS Especial17, encesp.Especial_18 AS Especial18, encesp.Especial_19 AS Especial19, 
                         encesp.Especial_20 AS Especial20, encesp.Especial_21 AS Especial21, encesp.Especial_22 AS Especial22, encesp.Especial_23 AS Especial23, encesp.Especial_24 AS Especial24, 
                         encesp.Especial_25 AS Especial25, encesp.Especial_26 AS Especial26, encesp.Especial_27 AS Especial27, encesp.Especial_28 AS Especial28, encesp.Especial_29 AS Especial29, 
                         encesp.Especial_30 AS Especial30, encesp.Especial_31 AS Especial31, encesp.Especial_32 AS Especial32, encesp.Especial_33 AS Especial33, encesp.Especial_34 AS Especial34, 
                         encesp.Especial_35 AS Especial35, encesp.Especial_36 AS Especial36, encesp.Especial_37 AS Especial37, encesp.Especial_38 AS Especial38, encesp.Especial_39 AS Especial39, 
                         encesp.Especial_40 AS Especial40, Cli1.DVCliente, Emp.EmpresaDV, VHistCli.IdHistoriaClinica AS IdHistClinPaciente, VHistCli.NomTipoIdenTercero AS TipoIdenHistClinPaciente, 
                         VHistCli.IdenTercero AS IdenHistClinPaciente, VHistCli.NombresTercero AS NombresHistClinPaciente, VHistCli.ApellidosTercero AS ApellidosHistClinPaciente, VHistCli.Edad AS EdadHistClinPaciente, 
                         VHistCli.FechaNacimiento AS FechaNaciHistClinPaciente, VHistCli.Telefonos AS TelefonosHistClinPaciente, VHistCli.MedPrepContrato AS MedPrepContratoHistClin, 
                         VHistCli.IdenPrepagada AS IdenPrepagadaHistClin, VHistCli.NomPrepagada AS NomPrepagadaHistClin, VHistCli.EPSContrato AS EpsContratoHistClin, VHistCli.IdenEPS AS IdenEpsHistClin, 
                         VHistCli.NomEps AS NomEpsHistClin, VHistCli.FechaInicio AS FechaIniHistClinPaciente, VHistCli.FechaFin AS FechaFinHistClinPaciente, VHistCli.GeneroPaciente AS GeneroHistClinPaciente, 
                         VHistCli.Celular AS CelularHistClinPaciente, VHistCli.Direccion AS DireccionHistClinPaciente, Cli1.CodigoInterno,cast(Zona1.IdZona1 as nvarchar(10))+'-'+Zona1.NomZona1 as Zona1, 
						 ValorPuntos,SaldoPuntos AS SaldoPuntosCliente, Enc.FeCUFE, Enc.FeFechaAutorizacion, Enc.FeIdProveedor, FeProvee.NomProveedor, FeEstDian.NomEstado AS FeNomEstadoDian, FeEstProvee.NomEstado AS FeNomEstadoProvee, FeConcep.NomConcepto,
						 Enc.EsFeSincronizada, Emp.NumLocalizacionGlobal, Enc.FeIdEstadoDian, FeTipoOpe.CodOperacion AS TipoOpeEnc, enc.IdDocReferido,  DocReferencia.NomDocumento AS NomDocReferido, FeMedPago.CodMedPago, FeMedPago.IdMedPago, FeTipoOp.CodOperacion AS TipoOpeDoc, Enc.FeCufeND, Enc.FePrefijoND, Enc.FeNumDocND, 
						 Enc.FeFechaEmisionND, Enc.IdMoneda, FeEstProvee.IdEstado AS FeEstProveedor, Enc.FeIdVersion AS FeDocVersion, Enc.IdClienteVend, Enc.FeOrdenComp, Enc.FeDocDesp, Enc.FeIdTipoIngreso, Enc.FeEnvioAnticipo, Enc.FeIdConcepto, Enc.FeNotasFechaIni, Enc.FeNotasFechaFin
FROM            dbo.Sucursales RIGHT OUTER JOIN
                         dbo.Encabezados_Tipos RIGHT OUTER JOIN
                         dbo.Clientes AS Cli1 INNER JOIN
                         dbo.Encabezados AS Enc INNER JOIN
                         dbo.Empresas AS Emp ON Enc.IdEmpresa = Emp.IdEmpresa INNER JOIN
                         dbo.Documentos ON Enc.IdDocumento = dbo.Documentos.IdDocumento ON Cli1.IdCliente = Enc.IdCliente1 ON dbo.Encabezados_Tipos.IdTipo = Enc.IdTipo ON 
                         dbo.Sucursales.IdSucursal = Enc.IdSucursal LEFT OUTER JOIN
                         dbo.VTot_EncMov ON Enc.IdEncab = dbo.VTot_EncMov.IdEncab LEFT OUTER JOIN
                         dbo.VTot_EncCont ON Enc.IdEncab = dbo.VTot_EncCont.IdEncab LEFT OUTER JOIN
                         dbo.VTotalesRete ON Enc.IdEncab = dbo.VTotalesRete.IdEncab LEFT OUTER JOIN
                         dbo.Clientes AS Cli4 ON Enc.IdClienteProp = Cli4.IdCliente LEFT OUTER JOIN
                         dbo.Clientes AS Cli2 ON Enc.IdCliente2 = Cli2.IdCliente LEFT OUTER JOIN
                         dbo.Clientes AS Cli3 ON Enc.IdClienteVend = Cli3.IdCliente LEFT OUTER JOIN
                         dbo.Clientes AS CliVend2 ON Enc.IdClienteVend2 = CliVend2.IdCliente LEFT OUTER JOIN
                         dbo.Clientes_Contactos ON Enc.IdContacto = dbo.Clientes_Contactos.IdContacto LEFT OUTER JOIN
                         dbo.Ciudades RIGHT OUTER JOIN
                         dbo.Clientes_Direcciones ON dbo.Ciudades.IdCiudad = dbo.Clientes_Direcciones.IdCiudad ON Enc.IdCliente1_IdDir = dbo.Clientes_Direcciones.IdClienteDir LEFT OUTER JOIN
                         dbo.Monedas ON Enc.IdMoneda = dbo.Monedas.IdMoneda LEFT OUTER JOIN
                         dbo.Reparacion_Marcas RIGHT OUTER JOIN
                         dbo.Reparacion_Automotores AS Reparacion_Automotores_1 ON dbo.Reparacion_Marcas.IdMarca = Reparacion_Automotores_1.IdMarca ON 
                         Enc.IdAutomotor = Reparacion_Automotores_1.IdAutomotor LEFT OUTER JOIN
                         dbo.FormasPago AS FP ON Enc.IdFormaPago = FP.IdFormaPago LEFT OUTER JOIN
                         dbo.Encabezados_Estados ON Enc.IdEstado = dbo.Encabezados_Estados.IdEstado LEFT OUTER JOIN
                         dbo.Clientes_TiposRegimen AS RegCli ON Cli1.IdTipoRegimen = RegCli.IdTipoRegimen LEFT OUTER JOIN
                         dbo.Clientes_TiposRegimen AS RegProp ON Cli4.IdTipoRegimen = RegProp.IdTipoRegimen LEFT OUTER JOIN
                         dbo.PH_Inmuebles ON dbo.PH_Inmuebles.IdInmueble = Enc.IdInmueble LEFT OUTER JOIN
                         dbo.Clientes_TiposDireccion AS tipoDir ON tipoDir.IdTipoDir = dbo.Clientes_Direcciones.IdTipoDir LEFT OUTER JOIN
                         dbo.Prefijos AS pre ON pre.IdPrefijo = Enc.IdPrefijo LEFT OUTER JOIN
                         dbo.Clientes_Especial AS clientesesp ON Enc.IdCliente1 = clientesesp.IdCliente LEFT OUTER JOIN
                         dbo.EncabezadosEspecial AS encesp ON Enc.IdEncab = encesp.IdEncab LEFT OUTER JOIN
                         dbo.VHistoriaClinica_Datos AS VHistCli ON Enc.IdHistoriaClinica = VHistCli.IdHistoriaClinica  LEFT OUTER JOIN
						 dbo.Clientes_Zona1 AS Zona1 ON Cli1.IdZona1=Zona1.IdZona1   LEFT OUTER JOIN
						 dbo.VClientesPuntos AS puntos ON puntos.IdCliente1=Enc.IdCliente1 LEFT OUTER JOIN
						 dbo.FacturacionElectronica_Proveedores AS FeProvee ON Enc.FeIdProveedor = FeProvee.IdProveedor LEFT OUTER JOIN
						 dbo.FacturacionElectronica_Proveedores_Estados AS FeEstDian ON Enc.FeIdEstadoDian = FeEstDian.IdEstado LEFT OUTER JOIN
						 dbo.FacturacionElectronica_Proveedores_Estados AS FeEstProvee ON Enc.FeIdEstadoProveedor = FeEstProvee.IdEstado  LEFT OUTER JOIN
						 dbo.FacturacionElectronica_Conceptos_Documentos AS FeConcep ON Enc.FeIdConcepto = FeConcep.IdConcepto LEFT OUTER JOIN
						 dbo.FacturacionElectronica_MediosPagoContado AS FeMedPago ON FeMedPago.IdMedPago = Enc.FeIdMedPago LEFT OUTER JOIN
						 dbo.FacturacionElectronica_TipoOperacion AS FeTipoOpe ON FeTipoOpe.IdOperacion = Enc.FeIdOperacion LEFT OUTER JOIN
						 dbo.FacturacionElectronica_TipoOperacion AS FeTipoOp ON FeTipoOp.IdOperacion = Documentos.FeIdOperacion LEFT OUTER JOIN
                         dbo.Documentos AS DocReferencia ON DocReferencia.IdDocumento = Enc.IdDocReferido
GO
PRINT N'Refreshing View [dbo].[VIdAbonaComisiones]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VIdAbonaComisiones]';


GO
PRINT N'Refreshing View [dbo].[VIdAbonaCruces]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VIdAbonaCruces]';


GO
PRINT N'Refreshing View [dbo].[VContabDoc_01]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VContabDoc_01]';


GO
PRINT N'Refreshing View [dbo].[VContabDoc_FP_01]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VContabDoc_FP_01]';


GO
PRINT N'Altering View [dbo].[VEncabezadoFactElectronica]...';
IF OBJECT_ID(N'dbo.VEncabezadoFactElectronica', N'V') IS NULL
    EXEC(N'CREATE VIEW [dbo].[VEncabezadoFactElectronica] AS SELECT 1 AS Dummy;');

GO
ALTER VIEW [dbo].[VEncabezadoFactElectronica]
	AS 

	
SELECT 

--Datos Factura
VEnc.IdEncab,
CONVERT(NVARCHAR(13),VEnc.NumDocumento) AS NumDocumento,
VEnc.Fecha AS FechaEmision,
CONVERT(NVARCHAR(50),VEnc.Fecha,108) AS HoraEmision,
Doc.FeIdDocumentoDian,
Doc.FeIdDocumentoBusqueda,
Abrev AS AbrevDivisaFactura,
Venc.NomPrefijo AS Prefijo,
Venc.IdPrefijo,
Venc.Fecha,
VEnc.Vence,
Emp.IdEmpresa,
Emp.FeTokenDian,
Emp.SeTokenDian,
VEnc.EsFeSincronizada,
VEnc.FeCUFE,
VEnc.FeCufeND,
VEnc.FePrefijoND, 
VEnc.FeNumDocND, 
VEnc.FeFechaEmisionND,
COALESCE(VEnc.TipoOpeEnc, VEnc.TipoOpeDoc) AS FeTipoOpe,
--HKA 
VEnc.FeIdProveedor,
Emp.FeTokenPassword,
VEnc.FeIdEstadoDian,

--Datos Empresa
CliEmpTipReg.FeIdTipoPersonaDian AS EmprTipoPersona,
CliEmp.IdTipoIdent AS EmprTipoIdentificacion,
CliEmp.Identificacion AS EmprNumIdentificacion,
COALESCE (CliEmp.Nombre1, N'') + N' ' + COALESCE (CliEmp.Nombre2, N'') + N' ' + COALESCE (CliEmp.Apellido1, N'') + N' ' + COALESCE (CliEmp.Apellido2, N'') AS EmprNombre1,
CliEmpDpto.NomDpto AS EmprDepartamento,
CliEmpDir.Subdivision AS EmprSubdivisionCiudad,
CliEmpCiu.NomCiudad AS EmprCiudad,
CliEmpDir.Direccion AS EmprDireccion,
CliEmpPais.CodPais AS EmprCodPais,
CliEmpTipReg.FeIdTipoRegimenDian AS EmprRegimen,
CliEmpDir.EMail AS EmpreCorreoElect,
CliEmp.DVCliente AS DVEmpr,
FORMAT(CliEmpDir.IdCiudad, '00000') AS EmprCodMuni, 
CliEmpDir.CodigoPostal AS EmprCodPos,
CliEmpPais.NomPais1 AS EmprNomPais,
CliEmpTipReg.TipoRegDian AS EmprTipoReg,
cliEmpDir.Nota AS EmprNotaDir,
CliEmp.IdCliente AS EmprIdTercero,
CliEmpCiu.IdDpto  AS EmprDptoCod,
CliEmpDir.Telefonos AS EmprTel,
CliEmpDir.Celular AS EmprCel,

--Datos Cliente
CliTipReg.FeIdTipoPersonaDian AS CliTipoPersona,
Cli.IdTipoIdent AS CliTipoIdentificacion,
Cli.Identificacion AS CliNumIdentificacion,
CliDpto.NomDpto AS CliDepartamento,
CliDir.Subdivision AS CliSubdivisionCiudad,
CliCiu.NomCiudad AS CliCiudad,
CliDir.Direccion AS CliDireccion,
CliPais.CodPais AS CliCodPais,
CliTipReg.FeIdTipoRegimenDian AS CliRegimen,
VEnc.NombresCliente1 AS CliNombreComercial,
Cli.Nombre1,
Cli.Apellido1 +' '+ Cli.Apellido2 AS CliApellidos,
Cli.Nombre2,
CliDir.EMail AS CliEmail,
Cli.DVCliente, 
FORMAT(CliDir.IdCiudad, '00000') AS  CliCodMuni,
CliDir.CodigoPostal AS CliCodPos,
CliCiu.IdDpto AS CLiCodDpto, 
CliPais.NomPais1 AS CliNomPais,
CliTipReg.TipoRegDian AS CliTipoReg,
CliDir.Nota AS CliNotaDir,
VEnc.IdCliente1,
CliDir.Telefonos AS CliTel,
CliDir.Celular AS CliCel,

--Vendedor
VEnc.NombreVend,

--Totales Impuestos Factura 
VEnc.SumIva,
VEnc.SumImpuestoalConsumo,
VEnc.SumReteIva,
VEnc.SumReteIca,
VEnc.SumReteFuente,
VEnc.SumReteFuenteCree,
VEnc.SumAutoReteCreeC,
Venc.SumAutoReteCreeD,

--Adicionales
VEnc.Nota,
Venc.IdMoneda,
VEnc.FeOrdenComp,
VEnc.FeDocDesp,
VEnc.FeEnvioAnticipo,
VEnc.IdDocReferido,
VEnc.NomDocReferido,
VEnc.FeIdConcepto,

--Formas de Pago
VEnc.IdFormaPago,
VEnc.NomFormaPago,

--Totales
VEnc.SubTotal,
VEnc.SubTotalSinDcto,
CASE WHEN VEnc.ValorTRM <> 0 THEN VEnc.SubTotalSinDcto / VEnc.ValorTRM END SubTotalSinDctoExt, 
VEnc.ValorDcto,
CASE WHEN VEnc.ValorTRM <> 0 THEN VEnc.ValorDcto / VEnc.ValorTRM END ValorDctoExt, 
CASE WHEN VEnc.SubTotalSinDcto <> 0 THEN (VEnc.ValorDcto / VEnc.SubTotalSinDcto) END factorDcto, 
CASE WHEN VEnc.ValorTRM <> 0 AND VEnc.SubTotalSinDcto <> 0 THEN (VEnc.ValorDcto / VEnc.SubTotalSinDcto) / VEnc.ValorTRM END factorDctoExt, 
VEnc.SubIVA,
VEnc.TotDoc,
VEnc.SubTotExento,
VEnc.SubTotGravado,
VEnc.Debito,

--Resolucion
EmpResol.IdResolFact,
EmpResol.NumeroResolFact,
EmpResol.NumeroInicial AS EmpResolNumeroInicial,
EmpResol.NumeroFinal AS EmpResolNumeroFinal,
EmpResol.IdPrefijo AS PrefijoFE,
--HKA
EmpResol.FechaResolIni AS EmpResolFechaIni,
EmpResol.FechaResolVence AS EmpResolFechaVence,

--Tipo de envio de facturacion electronica
TipoEnv.EsEnvioProd AS EsEnvioProduccionFe,
Emp.FeVersion AS EmprFeVersion,
Venc.FeDocVersion AS DocFeVersion,
VEnc.CodMedPago,
Doc.IdDocumento,
VEnc.ValorTRM,
TipoIng.CodTipoIngreso,

--Sucursal
VEnc.IdSucursal, 
VEnc.CodSucursal,
VEnc.NomSucursal,

--Fechas de NC y ND para envio electronico
VEnc.FeNotasFechaIni,
VEnc.FeNotasFechaFin

FROM VEncabezados AS VEnc INNER JOIN 
Documentos AS Doc ON VEnc.IdDocumento = Doc.IdDocumento INNER JOIN
--Inicio Joins Para los Datos de la Empresa
Empresas AS Emp ON VEnc.IdEmpresa = Emp.IdEmpresa INNER JOIN
Clientes AS CliEmp ON Emp.IdCliente = CliEmp.IdCliente INNER JOIN 
Clientes_TiposRegimen AS CliEmpTipReg ON CliEmp.IdTipoRegimen = CliEmpTipReg.IdTipoRegimen INNER JOIN
Clientes_Direcciones AS CliEmpDir ON CliEmp.IdCliente = CliEmpDir.IdCliente AND CliEmpDir.EsDirPrincipal = 1  LEFT JOIN
Empresas_ResolucionesFacturacion AS EmpResol ON VEnc.IdEmpresa = EmpResol.IdEmpresa AND VEnc.IdDocumento = EmpResol.IdDocumento AND EmpResol.FeResolucion = 1 AND (VEnc.NumDocumento BETWEEN EmpResol.NumeroInicial AND EmpResol.NumeroFinal) AND ((VEnc.IdPrefijo IS NULL AND EmpResol.IdPrefijo IS NULL) OR VEnc.IdPrefijo = EmpResol.IdPrefijo) LEFT JOIN
Ciudades AS CliEmpCiu ON CliEmpDir.IdCiudad = CliEmpCiu.IdCiudad LEFT JOIN
Departamentos AS CliEmpDpto ON CliEmpCiu.IdDpto = CliEmpDpto.IdDpto LEFT JOIN
Paises AS CliEmpPais ON CliEmpDpto.IdPais = CliEmpPais.IdPais INNER JOIN
--Inicio Joins Para los Datos del Cliente
Clientes AS Cli ON VEnc.IdCliente1 = Cli.IdCliente INNER JOIN 
Clientes_TiposRegimen AS CliTipReg ON Cli.IdTipoRegimen = CliTipReg.IdTipoRegimen INNER JOIN
Clientes_Direcciones AS CliDir ON VEnc.IdCliente1_IdDir = CliDir.IdClienteDir LEFT JOIN
Ciudades AS CliCiu ON CliDir.IdCiudad = CliCiu.IdCiudad LEFT JOIN
Departamentos AS CliDpto ON CliCiu.IdDpto = CliDpto.IdDpto LEFT JOIN
Paises AS CliPais ON CliDpto.IdPais = CliPais.IdPais INNER JOIN
FacturacionElectronica_TipoEnvio AS TipoEnv ON TipoEnv.IdTipoEnvio = VEnc.FeDocVersion LEFT OUTER JOIN
FacturacionElectronica_TipoIngreso AS TipoIng ON VEnc.FeIdTipoIngreso = TipoIng.IdTipoIngreso
GO
PRINT N'Refreshing View [dbo].[VEncabezadosCont_Det]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VEncabezadosCont_Det]';


GO
PRINT N'Refreshing View [dbo].[VEncabezadosMov_Det]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VEncabezadosMov_Det]';


GO
PRINT N'Refreshing View [dbo].[VContabDoc____TotRetes_Fin]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VContabDoc____TotRetes_Fin]';


GO
PRINT N'Refreshing View [dbo].[VContabDoc_01_01]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VContabDoc_01_01]';


GO
PRINT N'Refreshing View [dbo].[VContabDoc_FP____TotRetes_Fin]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VContabDoc_FP____TotRetes_Fin]';


GO
PRINT N'Refreshing View [dbo].[VContabDoc_FP_01_01]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VContabDoc_FP_01_01]';


GO
PRINT N'Refreshing View [dbo].[VCierresDocsCont]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VCierresDocsCont]';


GO
PRINT N'Refreshing View [dbo].[VCierresDocs]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VCierresDocs]';


GO
PRINT N'Refreshing View [dbo].[VContabDoc_02]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VContabDoc_02]';


GO
PRINT N'Refreshing View [dbo].[VContabDoc_FP_02]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VContabDoc_FP_02]';


GO
PRINT N'Refreshing View [dbo].[VContabDoc_03]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VContabDoc_03]';


GO
PRINT N'Refreshing View [dbo].[VContabDoc_FP_03]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VContabDoc_FP_03]';


GO
PRINT N'Refreshing View [dbo].[VContabDoc_Fin]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VContabDoc_Fin]';


GO
PRINT N'Refreshing View [dbo].[VContabDoc_FP_Fin]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VContabDoc_FP_Fin]';


GO
PRINT N'Refreshing Function [dbo].[CostoPromedioPorInventario_v2]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[CostoPromedioPorInventario_v2]';


GO
PRINT N'Refreshing Function [dbo].[CostoPromedioPorInventario]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[CostoPromedioPorInventario]';


GO
PRINT N'Altering Procedure [dbo].[GetVEncabezados]...';
IF OBJECT_ID(N'dbo.GetVEncabezados', N'P') IS NULL
    EXEC(N'CREATE PROCEDURE [dbo].[GetVEncabezados] AS BEGIN SET NOCOUNT ON; RETURN 0; END');

GO
ALTER PROCEDURE [dbo].[GetVEncabezados]
	-- Add the parameters for the stored procedure here
	@IdEmpresa INT,
	@IdDocumento INT,
	@NumDocumento INT,
	@IdCliente1 INT,
	@FechaIni DATETIME,
	@FechaFin DATETIME,
    @IdSucursal INT

AS
BEGIN

SET NOCOUNT ON;	
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

DECLARE

@IdEmp INT,
@IdDoc INT,
@NumDoc INT,
@IdCli1 INT,
@FechaI DATETIME,
@FechaF DATETIME,
@IdSuc INT



SET @IdEmp=@IdEmpresa
SET @IdDoc=@IdDocumento
SET @NumDoc=@NumDocumento
SET @IdCli1=@IdCliente1
SET @FechaI=@FechaIni
SET @FechaF=@FechaFin
SET @IdSuc=@IdSucursal


	select q.IdEncab, SUM(SubTotal) AS SubTotal, SUM(SubTotalSinDcto) AS SubTotalSinDcto, SUM(ValorDcto) AS ValorDcto, SUM(SubIVA) AS SubIVA, SUM((SubTotal + SubIVA) 
                         + (FactorImpoConsPorc * SubTotal / 100 + FactorImpoConsValor * CantConFactor) * ValorImptoConsumo) AS TotDoc, MAX(ValorIva) AS IVA, SUM(SubTotExento) AS SubTotExento, SUM(SubTotGravado) 
                         AS SubTotGravado, SUM(CantConFactor) AS Cantidad,SUM(ValorPuntos)AS ValorPuntos
    INTO #tempMovimientos
 	from
	(  
		SELECT  EncMov.IdEncabMov, EncMov.IdEncab, EncMov.IdInventario, EncMov.IdBodega, EncMov.IdLote, EncMov.Cantidad, EncMov.Cantidad * EncMov.FactorCantidad AS CantConFactor, EncMov.CantidadFisica, 
								EncMov.IdUnidad, EncMov.FactorCantidad, EncMov.FactorMovim, EncMov.ValorUnitario, EncMov.ValorUnitarioExt, EncMov.ValorIva, EncMov.TipoImptoConsumo, isnull (EncMov.ValorImptoConsumo, 0) 
								AS ValorImptoConsumo, EncMov.TotalMov, EncMov.IdCliente, EncMov.Vence, EncMov.IdCentroCosto, EncMov.Dcto, EncMov.EsIvaAlCosto, EncMov.ValorUnitario * EncMov.Dcto / 100 AS ValorDctoUnit, 
								(EncMov.Cantidad * EncMov.FactorCantidad * EncMov.ValorUnitario) * (1 - EncMov.Dcto / 100) AS SubTotal, EncMov.Cantidad * EncMov.FactorCantidad * EncMov.ValorUnitario AS SubTotalSinDcto, 
								EncMov.Cantidad * EncMov.FactorCantidad * EncMov.ValorUnitario * EncMov.Dcto / 100 AS ValorDcto, (EncMov.Cantidad * EncMov.FactorCantidad * EncMov.ValorUnitario) * (1 - EncMov.Dcto / 100) 
								* EncMov.ValorIva / 100 AS SubIVA, CASE WHEN EncMov.TipoImptoConsumo = 0 THEN 1 ELSE 0 END AS FactorImpoConsPorc, 
								CASE WHEN EncMov.TipoImptoConsumo = 1 THEN 1 ELSE 0 END AS FactorImpoConsValor, EncMov.ValorTRM, EncMov.IdMoneda, 
								CASE WHEN EncMov.ValorIva = 0 THEN (EncMov.Cantidad * EncMov.FactorCantidad * EncMov.ValorUnitario) * (1 - EncMov.Dcto / 100) ELSE 0 END AS SubTotExento, 
								CASE WHEN EncMov.ValorIva > 0 THEN (EncMov.Cantidad * EncMov.FactorCantidad * EncMov.ValorUnitario) * (1 - EncMov.Dcto / 100) ELSE 0 END AS SubTotGravado,
								ValorPuntos
		FROM   
		dbo.Encabezados_Mov AS EncMov INNER JOIN dbo.Encabezados AS Enc ON EncMov.IdEncab = Enc.IdEncab
		WHERE        
		(@IdEmp is null or enc.IdEmpresa=@IdEmp) AND
		(@IdDoc is null or enc.IdDocumento=@IdDoc) AND
		(@NumDoc is null or enc.NumDocumento=@NumDoc) AND
		(@IdCli1 is null or enc.IdCliente1=@IdCli1) AND
		(@FechaI is null or enc.Fecha>=@FechaI) AND
		(@FechaF is null or enc.Fecha<=@FechaF) AND
		(@IdSuc is null or enc.IdSucursal=@IdSuc) AND
		(EncMov.EsVisible = CASE WHEN Enc.FinanDebe = 1 AND EncMov.FinanNumCuotas >= 0 THEN 0 ELSE 1 END)
	)as q
	group by q.IdEncab

	--Crear primary key en tabla temporal
    alter table #tempMovimientos add primary key ([IdEncab])

	SELECT  IdEncab, SUM(Credito) AS Credito, SUM(Debito) AS Debito,SUM(Normal) AS SumNormal, SUM(Tesoreria) AS SumTesoreria, SUM(ReteFuente) AS SumReteFuente, SUM(Iva) AS SumIva, SUM(ReteIva) AS SumReteIva, SUM(ReteIca) AS SumReteIca, 
                        SUM(ReteIvaRegimenComun) AS SumReteIvaRegimenComun, SUM(ReteIvaRegimenSimplificadoD) AS SumReteIvaRegimenSimplificadoD, SUM(ReteivaRSC) AS SumReteIvaRSC, SUM(ImpuestoalConsumo) 
                        AS SumImpuestoalConsumo, SUM(DiferidosPasivo) AS SumDiferidosPasivo, SUM(ReteIvaNoDomiciliado) AS SumReteIvaNoDomiciliado, SUM(CuentasPorPagar) AS SumCuentasPorPagar, 
                        SUM(CuentasPorCobrar) AS SumCuentasPorCobrar, SUM(ReteFuenteCree) AS SumReteFuenteCree, SUM(ComisionTarjetas) AS SumComisionTarjetas, SUM(AutoReteCreeC) AS SumAutoReteCreeC, 
                        SUM(AutoReteCreeD) AS SumAutoReteCreeD
    INTO #tempCont
	FROM
	(
		SELECT  encCont.IdEncab, encCont.Credito AS Credito, encCont.Debito AS Debito,
		 Cuen.IdGrupoCuenta, CASE WHEN Cuen.IdGrupoCuenta = 1 THEN encCont.Credito + encCont.Debito ELSE 0 END AS Normal, 
                                                    CASE WHEN Cuen.IdGrupoCuenta = 2 THEN encCont.Credito + encCont.Debito ELSE 0 END AS Tesoreria, CASE WHEN Cuen.IdGrupoCuenta = 4 THEN encCont.Credito + encCont.Debito ELSE 0 END AS ReteFuente,
                                                    CASE WHEN Cuen.IdGrupoCuenta = 5 THEN encCont.Credito + encCont.Debito ELSE 0 END AS Iva, CASE WHEN Cuen.IdGrupoCuenta = 6 THEN encCont.Credito + encCont.Debito ELSE 0 END AS ReteIva, 
                                                    CASE WHEN Cuen.IdGrupoCuenta = 7 THEN encCont.Credito + encCont.Debito ELSE 0 END AS ReteIca, 
                                                    CASE WHEN Cuen.IdGrupoCuenta = 8 THEN encCont.Credito + encCont.Debito ELSE 0 END AS ReteIvaRegimenComun, 
                                                    CASE WHEN Cuen.IdGrupoCuenta = 9 THEN encCont.Credito + encCont.Debito ELSE 0 END AS ReteIvaRegimenSimplificadoD, 
                                                    CASE WHEN Cuen.IdGrupoCuenta = 10 THEN encCont.Credito + encCont.Debito ELSE 0 END AS ReteivaRSC, 
                                                    CASE WHEN Cuen.IdGrupoCuenta = 11 THEN encCont.Credito + encCont.Debito ELSE 0 END AS ImpuestoalConsumo, 
                                                    CASE WHEN Cuen.IdGrupoCuenta = 12 THEN encCont.Credito + encCont.Debito ELSE 0 END AS DiferidosPasivo, 
                                                    CASE WHEN Cuen.IdGrupoCuenta = 13 THEN encCont.Credito + encCont.Debito ELSE 0 END AS ReteIvaNoDomiciliado, 
                                                    CASE WHEN Cuen.IdGrupoCuenta = 20 THEN encCont.Credito + encCont.Debito ELSE 0 END AS CuentasPorPagar, 
                                                    CASE WHEN Cuen.IdGrupoCuenta = 21 THEN encCont.Credito + encCont.Debito ELSE 0 END AS CuentasPorCobrar, 
                                                    CASE WHEN Cuen.IdGrupoCuenta = 30 THEN encCont.Credito + encCont.Debito ELSE 0 END AS ReteFuenteCree, 
                                                    CASE WHEN Cuen.IdGrupoCuenta = 31 THEN encCont.Credito + encCont.Debito ELSE 0 END AS ComisionTarjetas, 
                                                    CASE WHEN Cuen.IdGrupoCuenta = 33 THEN encCont.Credito + encCont.Debito ELSE 0 END AS AutoReteCreeC, 
                                                    CASE WHEN Cuen.IdGrupoCuenta = 34 THEN encCont.Credito + encCont.Debito ELSE 0 END AS AutoReteCreeD
		FROM            dbo.Encabezados_Cont as encCont INNER JOIN
								 dbo.Cuentas AS Cuen ON encCont.IdCuenta =Cuen.IdCuenta LEFT JOIN
								 dbo.Cuentas_Grupos ON Cuen.IdGrupoCuenta = dbo.Cuentas_Grupos.IdGrupoCuenta INNER JOIN
								 dbo.Encabezados Enc on encCont.IdEncab=Enc.IdEncab
		WHERE
		(@IdEmp is null or enc.IdEmpresa=@IdEmp) AND
		(@IdDoc is null or enc.IdDocumento=@IdDoc) AND
		(@NumDoc is null or enc.NumDocumento=@NumDoc) AND
		(@IdCli1 is null or enc.IdCliente1=@IdCli1) AND
		(@FechaI is null or enc.Fecha>=@FechaI) AND
		(@FechaF is null or enc.Fecha<=@FechaF) AND
		(@IdSuc is null or enc.IdSucursal=@IdSuc) 
	)AS q
	GROUP BY q.IdEncab

	alter table #tempCont add primary key ([IdEncab])

	SELECT        Enc.IdEncab, Enc.IdEmpresa, Enc.IdDocumento, Enc.IdPrefijo, pre.NomPrefijo, Enc.NumDocumento, Enc.Fecha, Enc.IdCliente1, Enc.IdCliente2, Enc.Nota, Enc.IdFormaPago, FP.NomFormaPago, 
                         dbo.Documentos.NomDocumento, Emp.EmpresaNombre, COALESCE (Cli1.Nombre1, N'') + N' ' + COALESCE (Cli1.Nombre2, N'') + N' ' + COALESCE (Cli1.Apellido1, N'') + N' ' + COALESCE (Cli1.Apellido2, N'') 
                         AS NombresCliente1, COALESCE (Cli2.Nombre1, N'') + N' ' + COALESCE (Cli2.Nombre2, N'') + N' ' + COALESCE (Cli2.Apellido1, N'') + N' ' + COALESCE (Cli2.Apellido2, N'') AS NombresCliente2, 
                         Enc.IdCliente1_IdDir, dbo.Clientes_Direcciones.Direccion, dbo.Monedas.NomMoneda1 AS NomMoneda, Enc.Vence, Reparacion_Automotores_1.NumPlaca, Reparacion_Automotores_1.NumChasis, 
                         Enc.IdAutomotor, Cli1.Identificacion, Emp.EmpresaNit, dbo.Clientes_Direcciones.Telefonos, Enc.NomPc, Enc.NumDocumentoExt, dbo.Ciudades.NomCiudad, Reparacion_Automotores_1.NumMotor, 
                         Reparacion_Automotores_1.Kilometraje, Reparacion_Automotores_1.Modelo, Reparacion_Automotores_1.Color, dbo.Reparacion_Marcas.NomMarca, Emp.EmpresaDV, Emp.EmpresaDireccion, 
                         Emp.EmpresaTelefono, Emp.EmpresaCorreoElect, COALESCE (Emp.EmpresaNit, N'') + '' + COALESCE ('-' + CAST(Emp.EmpresaDV AS varchar), N' ') AS NIT, dbo.Clientes_Contactos.Nombres AS NombresContacto, 
                         dbo.Clientes_Contactos.Telefono AS TelefonoContacto, dbo.Clientes_Contactos.Email AS EmailContacto, dbo.Clientes_Contactos.Cargo AS CargoContacto, Enc.ValorTRM, COALESCE (Cli3.Nombre1, N'') 
                         + N' ' + COALESCE (Cli3.Nombre2, N'') + N' ' + COALESCE (Cli3.Apellido1, N'') + N' ' + COALESCE (Cli3.Apellido2, N'') AS NombreVend, COALESCE (CliVend2.Nombre1, N'') + N' ' + COALESCE (CliVend2.Nombre2, 
                         N'') + N' ' + COALESCE (CliVend2.Apellido1, N'') + N' ' + COALESCE (CliVend2.Apellido2, N'') AS NombreVend2, dbo.Documentos.IdPlantilla, Enc.EsBloqueado, Enc.EsAnulado, Emp.EmpresaResolucion, 
                         dbo.Monedas.Abrev, dbo.Encabezados_Estados.NomEstado, Enc.IdEstado, dbo.Clientes_Direcciones.Celular AS CelularCli, dbo.Clientes_Direcciones.EMail AS EmailCli, Cli4.Identificacion AS IdentificacionProp, 
                         COALESCE (Cli4.Nombre1, N'') + N' ' + COALESCE (Cli4.Nombre2, N'') + N' ' + COALESCE (Cli4.Apellido1, N'') + N' ' + COALESCE (Cli4.Apellido2, N'') AS NombreProp, RegCli.NomTipoRegimen AS RegimenCli, 
                         RegProp.NomTipoRegimen AS RegimenProp, dbo.PH_Inmuebles.Direccion AS DireccionInmueble, Cli1.DVCliente, COALESCE (Cli1.Identificacion, N'') + N'' + COALESCE (N'-' + CAST(Cli1.DVCliente AS varchar), N' ')
                          AS NitCliente, VTot_EncCont.Credito, VTot_EncCont.Debito, VTot_EncCont.SumReteFuente, VTot_EncCont.SumIva, VTot_EncCont.SumReteIva, VTot_EncCont.SumReteIca, VTot_EncCont.SumReteFuenteCree, 
                         VTot_EncCont.SumReteIvaRSC, VTot_EncMov.SubTotal, VTot_EncMov.SubTotalSinDcto, VTot_EncMov.ValorDcto, VTot_EncMov.SubIVA, 
                         VTot_EncMov.TotDoc, Enc.IdSucursal, dbo.Sucursales.NomSucursal, dbo.Sucursales.CodSucursal, VTot_EncCont.SumAutoReteCreeC, VTot_EncCont.SumAutoReteCreeD, 
                         VTot_EncCont.SumImpuestoalConsumo, VTot_EncCont.SumReteIvaRegimenSimplificadoD, VTot_EncCont.SumDiferidosPasivo, VTot_EncCont.SumReteIvaNoDomiciliado, 
                         VTot_EncCont.SumCuentasPorCobrar, VTot_EncCont.SumCuentasPorPagar, VTot_EncCont.SumReteIvaRegimenComun, VTot_EncCont.SumTesoreria, VTot_EncCont.SumNormal, 
                         VTot_EncCont.SumComisionTarjetas, 0 AS EsDelete, Reparacion_Automotores_1.NomAutomotor, Enc.ValorPago, tipoDir.NomTipoDir, dbo.Documentos.CodDocumento, dbo.Encabezados_Tipos.NomTipo, 
						 VTot_EncMov.IVA, VTot_EncMov.SubTotExento, VTot_EncMov.SubTotGravado, VTot_EncMov.Cantidad, 
						 '' AS EspecialTercero01, '' AS EspecialTercero02, '' AS EspecialTercero03, '' AS EspecialTercero04, '' AS EspecialTercero05, '' AS EspecialTercero06, '' AS EspecialTercero07, '' AS EspecialTercero08,
						 '' AS EspecialTercero09, '' AS EspecialTercero10, '' AS EspecialTercero11, '' AS EspecialTercero12, '' AS EspecialTercero13, '' AS EspecialTercero14, '' AS EspecialTercero15, '' AS EspecialTercero16,
						 '' AS EspecialTercero17, '' AS EspecialTercero18, '' AS EspecialTercero19, '' AS EspecialTercero20, '' AS EspecialTercero21, '' AS EspecialTercero22, '' AS EspecialTercero23, '' AS EspecialTercero24,
						 '' AS EspecialTercero25, '' AS EspecialTercero26, '' AS EspecialTercero27, '' AS EspecialTercero28, '' AS EspecialTercero29, '' AS EspecialTercero30, '' AS EspecialTercero31, '' AS EspecialTercero32,
						 '' AS EspecialTercero33, '' AS EspecialTercero34, '' AS EspecialTercero35, '' AS EspecialTercero36, '' AS EspecialTercero37, '' AS EspecialTercero38, '' AS EspecialTercero39, '' AS EspecialTercero40,
						 '' AS Especial01, '' AS Especial02, '' AS Especial03, '' AS Especial04, '' AS Especial05, '' AS Especial06, '' AS Especial07, '' AS Especial08, '' AS Especial09, '' AS Especial10,
						 '' AS Especial11, '' AS Especial12, '' AS Especial13, '' AS Especial14, '' AS Especial15, '' AS Especial16, '' AS Especial17, '' AS Especial18, '' AS Especial19, '' AS Especial20,
						 '' AS Especial21, '' AS Especial22, '' AS Especial23, '' AS Especial24, '' AS Especial25, '' AS Especial26, '' AS Especial27, '' AS Especial28, '' AS Especial29, '' AS Especial30,
						 '' AS Especial31, '' AS Especial32, '' AS Especial33, '' AS Especial34, '' AS Especial35, '' AS Especial36, '' AS Especial37, '' AS Especial38, '' AS Especial39, '' AS Especial40,
						 NULL AS IdHistClinPaciente, '' AS TipoIdenHistClinPaciente, '' AS IdenHistClinPaciente, '' AS NombresHistClinPaciente, '' AS ApellidosHistClinPaciente, NULL AS EdadHistClinPaciente, NULL AS FechaNaciHistClinPaciente,
						 '' AS DireccionHistClinPaciente, '' AS GeneroHistClinPaciente, '' AS CelularHistClinPaciente,'' AS TelefonosHistClinPaciente,'' AS MedPrepContratoHistClin, '' AS IdenPrepagadaHistClin,
						  '' AS NomPrepagadaHistClin, '' AS EpsContratoHistClin, '' AS IdenEpsHistClin,'' AS NomEpsHistClin, NULL AS FechaIniHistClinPaciente, NULL AS FechaFinHistClinPaciente,'' AS CodigoInterno,
						  cast(Zona1.IdZona1 as nvarchar(10))+'-'+Zona1.NomZona1 as Zona1, VTot_EncMov.ValorPuntos,CAST(0 AS numeric(28,6)) SaldoPuntosCliente, Enc.FeCUFE, Enc.FeFechaAutorizacion, Enc.FeIdProveedor, FeProvee.NomProveedor,
						  FeEstDian.NomEstado AS FeNomEstadoDian, FeEstProvee.NomEstado AS FeNomEstadoProvee, FeConcep.NomConcepto, Enc.EsFeSincronizada, Emp.NumLocalizacionGlobal,Enc.FeIdEstadoDian, FeTipoOpe.CodOperacion AS TipoOpeEnc, Enc.IdDocReferido, DocReferencia.NomDocumento AS NomDocReferido,
						  FeMedPago.CodMedPago, FeMedPago.IdMedPago, FeTipoOp.CodOperacion AS TipoOpeDoc, Enc.FeCufeND, Enc.FePrefijoND, Enc.FeNumDocND, Enc.FeFechaEmisionND, Enc.IdMoneda,  FeEstProvee.IdEstado AS FeEstProveedor, Enc.FeIdVersion AS FeDocVersion, Enc.IdClienteVend, Enc.FeOrdenComp, 
						  Enc.FeDocDesp, Enc.FeIdTipoIngreso, Enc.FeEnvioAnticipo, Enc.FeIdConcepto, Enc.FeNotasFechaIni, Enc.FeNotasFechaFin

	FROM  dbo.Encabezados AS Enc INNER JOIN
		  dbo.Empresas AS Emp ON Enc.IdEmpresa = Emp.IdEmpresa INNER JOIN
		  dbo.Documentos ON Enc.IdDocumento = dbo.Documentos.IdDocumento INNER JOIN
		  dbo.Clientes as Cli1 ON Cli1.IdCliente = Enc.IdCliente1 LEFT  JOIN
          #tempMovimientos AS VTot_EncMov ON Enc.IdEncab = VTot_EncMov.IdEncab LEFT  JOIN
          #tempCont as VTot_EncCont ON Enc.IdEncab = VTot_EncCont.IdEncab LEFT  JOIN
          dbo.Clientes AS Cli4 ON Enc.IdClienteProp = Cli4.IdCliente LEFT  JOIN
          dbo.Clientes AS Cli2 ON Enc.IdCliente2 = Cli2.IdCliente LEFT  JOIN
          dbo.Clientes AS Cli3 ON Enc.IdClienteVend = Cli3.IdCliente LEFT  JOIN
          dbo.Clientes AS CliVend2 ON Enc.IdClienteVend2 = CliVend2.IdCliente LEFT  JOIN
		  dbo.Sucursales ON dbo.Sucursales.IdSucursal = Enc.IdSucursal LEFT  JOIN
		  dbo.Clientes_Contactos ON Enc.IdContacto = dbo.Clientes_Contactos.IdContacto LEFT  JOIN	
		  dbo.Clientes_Direcciones ON Enc.IdCliente1_IdDir = dbo.Clientes_Direcciones.IdClienteDir LEFT  JOIN
		  dbo.Ciudades ON dbo.Ciudades.IdCiudad = dbo.Clientes_Direcciones.IdCiudad  LEFT  JOIN
		  dbo.Monedas ON Enc.IdMoneda = dbo.Monedas.IdMoneda LEFT  JOIN
		  dbo.Reparacion_Automotores AS Reparacion_Automotores_1 ON  Enc.IdAutomotor = Reparacion_Automotores_1.IdAutomotor  LEFT  JOIN
		  dbo.Reparacion_Marcas ON dbo.Reparacion_Marcas.IdMarca = Reparacion_Automotores_1.IdMarca LEFT  JOIN
          dbo.FormasPago AS FP ON Enc.IdFormaPago = FP.IdFormaPago LEFT  JOIN
          dbo.Encabezados_Estados ON Enc.IdEstado = dbo.Encabezados_Estados.IdEstado LEFT  JOIN
          dbo.Clientes_TiposRegimen AS RegCli ON Cli1.IdTipoRegimen = RegCli.IdTipoRegimen LEFT  JOIN
          dbo.Clientes_TiposRegimen AS RegProp ON Cli4.IdTipoRegimen = RegProp.IdTipoRegimen LEFT  JOIN
          dbo.PH_Inmuebles ON dbo.PH_Inmuebles.IdInmueble = Enc.IdInmueble LEFT  JOIN
          dbo.Clientes_TiposDireccion AS tipoDir ON tipoDir.IdTipoDir = dbo.Clientes_Direcciones.IdTipoDir LEFT  JOIN
          dbo.Prefijos AS pre ON pre.IdPrefijo = Enc.IdPrefijo LEFT  JOIN
		  dbo.Encabezados_Tipos ON  dbo.Encabezados_Tipos.IdTipo=Enc.IdTipo LEFT JOIN
		  dbo.Clientes_Zona1 AS Zona1 ON Cli1.IdZona1=Zona1.IdZona1 LEFT JOIN 
		  dbo.FacturacionElectronica_Proveedores AS FeProvee ON Enc.FeIdProveedor = FeProvee.IdProveedor LEFT  JOIN
		  dbo.FacturacionElectronica_Proveedores_Estados AS FeEstDian ON Enc.FeIdEstadoDian = FeEstDian.IdEstado LEFT  JOIN
		  dbo.FacturacionElectronica_Proveedores_Estados AS FeEstProvee ON Enc.FeIdEstadoProveedor = FeEstProvee.IdEstado  LEFT  JOIN
		  dbo.FacturacionElectronica_Conceptos_Documentos AS FeConcep ON Enc.FeIdConcepto = FeConcep.IdConcepto LEFT OUTER JOIN
		  dbo.FacturacionElectronica_MediosPagoContado AS FeMedPago ON FeMedPago.IdMedPago = Enc.FeIdMedPago LEFT OUTER JOIN
		  dbo.FacturacionElectronica_TipoOperacion AS FeTipoOpe ON FeTipoOpe.IdOperacion = Enc.FeIdOperacion LEFT OUTER JOIN
		  dbo.FacturacionElectronica_TipoOperacion AS FeTipoOp ON FeTipoOp.IdOperacion = Documentos.FeIdOperacion LEFT OUTER JOIN
		  dbo.Documentos AS DocReferencia ON DocReferencia.IdDocumento = Enc.IdDocReferido
		  		 
	WHERE
	(@IdEmp is null or enc.IdEmpresa=@IdEmp) AND
	(@IdDoc is null or enc.IdDocumento=@IdDoc) AND
	(@NumDoc is null or enc.NumDocumento=@NumDoc) AND
	(@IdCli1 is null or enc.IdCliente1=@IdCli1) AND
	(@FechaI is null or enc.Fecha>=@FechaI) AND
	(@FechaF is null or enc.Fecha<=@FechaF) AND
	(@IdSuc is null or enc.IdSucursal=@IdSuc) 	
	OPTION(RECOMPILE, MAXDOP 4)
END
GO
PRINT N'Refreshing Function [dbo].[ufnContabilizacion_FormasPago]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[ufnContabilizacion_FormasPago]';


GO
PRINT N'Refreshing Function [dbo].[ufnContabilizacion_Normal]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[ufnContabilizacion_Normal]';


GO
PRINT N'Refreshing Function [dbo].[ufnVacacionesDisponibles]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[ufnVacacionesDisponibles]';


GO
PRINT N'Refreshing Function [dbo].[ufnConciliacion_Contables]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[ufnConciliacion_Contables]';


GO
PRINT N'Refreshing Function [dbo].[ufnMediosMagneticos_CuantiasMenores]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[ufnMediosMagneticos_CuantiasMenores]';


GO
PRINT N'Refreshing Function [dbo].[ufnMediosMagneticos_CuantiasMenores_Saldos]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[ufnMediosMagneticos_CuantiasMenores_Saldos]';


GO
PRINT N'Refreshing Procedure [dbo].[TrasladarTerceros]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[TrasladarTerceros]';


GO
PRINT N'Refreshing Procedure [dbo].[CrucesDocumentosDeleteALL]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[CrucesDocumentosDeleteALL]';


GO
PRINT N'Refreshing Procedure [dbo].[CrucesDocumentosInsertar]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[CrucesDocumentosInsertar]';


GO
PRINT N'Refreshing Procedure [dbo].[BloquearDocumentos]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[BloquearDocumentos]';


GO
PRINT N'Refreshing Procedure [dbo].[EncabezadosDeleteALL]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[EncabezadosDeleteALL]';


GO
PRINT N'Refreshing Procedure [dbo].[TrasladarInventarios]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[TrasladarInventarios]';


GO
PRINT N'Refreshing Procedure [dbo].[DesbloquearDocumentos]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[DesbloquearDocumentos]';


GO
PRINT N'Refreshing Procedure [dbo].[ContabilizarDoc]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[ContabilizarDoc]';


GO
PRINT N'Refreshing Procedure [dbo].[CalcularDiferenciaCambio]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[CalcularDiferenciaCambio]';


GO
PRINT N'Refreshing Procedure [dbo].[TrasladarCuentas]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[TrasladarCuentas]';


GO
PRINT N'Refreshing Procedure [dbo].[CancelarCuentasResultado]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[CancelarCuentasResultado]';


GO
PRINT N'Refreshing Procedure [dbo].[GenerarCierreInventario]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GenerarCierreInventario]';


GO
PRINT N'Refreshing Procedure [dbo].[CalcularCostoVenta]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[CalcularCostoVenta]';


GO
PRINT N'Refreshing Procedure [dbo].[CopiarDocumentos]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[CopiarDocumentos]';


GO
PRINT N'Refreshing Procedure [dbo].[CopiarDocumentosBasados]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[CopiarDocumentosBasados]';


GO
PRINT N'Refreshing Procedure [dbo].[CalcularCostoPromedio]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[CalcularCostoPromedio]';


GO
PRINT N'Refreshing Procedure [dbo].[CalcularCostoPromedioGeneral]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[CalcularCostoPromedioGeneral]';


GO
PRINT N'Refreshing Procedure [dbo].[CalcularRutasProduccionMov]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[CalcularRutasProduccionMov]';


GO
PRINT N'Refreshing Procedure [dbo].[CierresDocsUpdate]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[CierresDocsUpdate]';


GO
PRINT N'Refreshing Procedure [dbo].[ContabilizarDoc_Validar]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[ContabilizarDoc_Validar]';


GO
PRINT N'Refreshing Procedure [dbo].[CostoPromHistoDeleteALL]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[CostoPromHistoDeleteALL]';


GO
PRINT N'Refreshing Procedure [dbo].[GenerarAlertaMantenimientos]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GenerarAlertaMantenimientos]';


GO
PRINT N'Refreshing Procedure [dbo].[GenerarAlertaResolucionPorNumeracion]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GenerarAlertaResolucionPorNumeracion]';


GO
PRINT N'Refreshing Procedure [dbo].[GenerarImptosDet]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GenerarImptosDet]';


GO
PRINT N'Refreshing Procedure [dbo].[GenerarInteresesCesantias]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GenerarInteresesCesantias]';


GO
PRINT N'Refreshing Procedure [dbo].[GetActivosFijosAgrup]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetActivosFijosAgrup]';


GO
PRINT N'Refreshing Procedure [dbo].[GetActivosFijosContable]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetActivosFijosContable]';


GO
PRINT N'Refreshing Procedure [dbo].[GetArqueoCaja]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetArqueoCaja]';


GO
PRINT N'Refreshing Procedure [dbo].[GetBalanceGeneral]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetBalanceGeneral]';


GO
PRINT N'Refreshing Procedure [dbo].[GetBalanceGeneralPorCentroCosto]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetBalanceGeneralPorCentroCosto]';


GO
PRINT N'Refreshing Procedure [dbo].[GetBalancePrueba]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetBalancePrueba]';


GO
PRINT N'Refreshing Procedure [dbo].[GetBalancePruebaPorCentroCosto]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetBalancePruebaPorCentroCosto]';


GO
PRINT N'Refreshing Procedure [dbo].[GetCalcularDiasLiquidados]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetCalcularDiasLiquidados]';


GO
PRINT N'Refreshing Procedure [dbo].[GetCarteraMovimientos]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetCarteraMovimientos]';


GO
PRINT N'Refreshing Procedure [dbo].[GetClientesPuntos]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetClientesPuntos]';


GO
PRINT N'Refreshing Procedure [dbo].[GetComisiones]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetComisiones]';


GO
PRINT N'Refreshing Procedure [dbo].[GetConciliacionContable]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetConciliacionContable]';


GO
PRINT N'Refreshing Procedure [dbo].[GetConsecutivosFaltantes]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetConsecutivosFaltantes]';


GO
PRINT N'Refreshing Procedure [dbo].[GetCostoPromedioDet]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetCostoPromedioDet]';


GO
PRINT N'Refreshing Procedure [dbo].[GetDocsDiferencias]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetDocsDiferencias]';


GO
PRINT N'Refreshing Procedure [dbo].[GetDocumentosCierre]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetDocumentosCierre]';


GO
PRINT N'Refreshing Procedure [dbo].[GetEstadoCuenta]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetEstadoCuenta]';


GO
PRINT N'Refreshing Procedure [dbo].[GetEstadoCuentaFechaCorte]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetEstadoCuentaFechaCorte]';


GO
PRINT N'Refreshing Procedure [dbo].[GetEstadoResultados]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetEstadoResultados]';


GO
PRINT N'Refreshing Procedure [dbo].[GetEstadoResultadosPorCentroCosto]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetEstadoResultadosPorCentroCosto]';


GO
PRINT N'Refreshing Procedure [dbo].[GetExistenciasPorProducto]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetExistenciasPorProducto]';


GO
PRINT N'Refreshing Procedure [dbo].[GetImptoRetenciones]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetImptoRetenciones]';


GO
PRINT N'Refreshing Procedure [dbo].[GetInformeRIPS]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetInformeRIPS]';


GO
PRINT N'Refreshing Procedure [dbo].[GetInformeUGPP]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetInformeUGPP]';


GO
PRINT N'Refreshing Procedure [dbo].[GetInventarios_Existencia_RecursosOrig]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetInventarios_Existencia_RecursosOrig]';


GO
PRINT N'Refreshing Procedure [dbo].[GetInventarioYBalances]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetInventarioYBalances]';


GO
PRINT N'Refreshing Procedure [dbo].[GetInventarioYBalancesBorrar]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetInventarioYBalancesBorrar]';


GO
PRINT N'Refreshing Procedure [dbo].[GetInvKardexPorLote]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetInvKardexPorLote]';


GO
PRINT N'Refreshing Procedure [dbo].[GetKardexInventario]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetKardexInventario]';


GO
PRINT N'Refreshing Procedure [dbo].[GetKardexInventarioPorAgrupaciones]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetKardexInventarioPorAgrupaciones]';


GO
PRINT N'Refreshing Procedure [dbo].[GetLibroAuxiliar]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetLibroAuxiliar]';


GO
PRINT N'Refreshing Procedure [dbo].[GetLiquidarPrestaciones]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetLiquidarPrestaciones]';


GO
PRINT N'Refreshing Procedure [dbo].[GetMayorYBalances]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetMayorYBalances]';


GO
PRINT N'Refreshing Procedure [dbo].[GetMediosMagneticos]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetMediosMagneticos]';


GO
PRINT N'Refreshing Procedure [dbo].[GetPagoSeguridadSocial]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetPagoSeguridadSocial]';


GO
PRINT N'Refreshing Procedure [dbo].[GetPresupuesto]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetPresupuesto]';


GO
PRINT N'Refreshing Procedure [dbo].[GetReteFteDet]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetReteFteDet]';


GO
PRINT N'Refreshing Procedure [dbo].[GetReteFteTotal]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetReteFteTotal]';


GO
PRINT N'Refreshing Procedure [dbo].[GetTablaAmortizacion]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetTablaAmortizacion]';


GO
PRINT N'Refreshing Procedure [dbo].[GetVacaciones]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetVacaciones]';


GO
PRINT N'Refreshing Procedure [dbo].[GetVentasAgrupadoPorCliVend]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetVentasAgrupadoPorCliVend]';


GO
PRINT N'Refreshing Procedure [dbo].[GetVentasPorMes]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetVentasPorMes]';


GO
PRINT N'Refreshing Procedure [dbo].[LiqPrestacionesNomina]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[LiqPrestacionesNomina]';


GO
PRINT N'Refreshing Procedure [dbo].[LiquidarVacacionesNomina]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[LiquidarVacacionesNomina]';


GO
PRINT N'Refreshing Procedure [dbo].[NominaCantDet]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[NominaCantDet]';


GO
PRINT N'Refreshing Procedure [dbo].[NominaElectronicaInsertarEmpleados]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[NominaElectronicaInsertarEmpleados]';


GO
PRINT N'Refreshing Procedure [dbo].[SaldoVentasClientesPorProducto]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[SaldoVentasClientesPorProducto]';


GO
PRINT N'Refreshing Procedure [dbo].[UltimoValorUnitario]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[UltimoValorUnitario]';


GO
PRINT N'Refreshing Procedure [dbo].[Ziur_CrearClienteDeSistema]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[Ziur_CrearClienteDeSistema]';


GO
PRINT N'Refreshing Procedure [dbo].[ValorUnitarioPorCostoPromedio]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[ValorUnitarioPorCostoPromedio]';


GO
PRINT N'Refreshing Procedure [dbo].[ActivosMatchManual]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[ActivosMatchManual]';


GO
PRINT N'Refreshing Procedure [dbo].[ConciliacionManual]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[ConciliacionManual]';


GO
PRINT N'Refreshing Procedure [dbo].[ConciliacionMatch]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[ConciliacionMatch]';


GO
PRINT N'Refreshing Procedure [dbo].[GetDocsSinCruzar]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetDocsSinCruzar]';


GO
PRINT N'Refreshing Procedure [dbo].[ActualizarAudit]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[ActualizarAudit]';


GO
PRINT N'Refreshing Procedure [dbo].[GetLibroDiario]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetLibroDiario]';


GO
PRINT N'Refreshing Procedure [dbo].[GetTareasCitas]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetTareasCitas]';


GO
PRINT N'Refreshing Procedure [dbo].[GetInventarios_Existencia_Recursos]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetInventarios_Existencia_Recursos]';


GO
PRINT N'Refreshing Procedure [dbo].[GetCostoActual]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetCostoActual]';


GO
PRINT N'Refreshing Procedure [dbo].[GenerarCrucesCont]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GenerarCrucesCont]';


GO
PRINT N'Refreshing Procedure [dbo].[GetActivosFijosDet]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetActivosFijosDet]';


GO
PRINT N'Refreshing Procedure [dbo].[ContabilizarNomina]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[ContabilizarNomina]';


GO
PRINT N'Refreshing Procedure [dbo].[GetMovimientosFactElec]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetMovimientosFactElec]';


GO
PRINT N'Refreshing Procedure [dbo].[GenerarFormulaPorInventario]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GenerarFormulaPorInventario]';


GO
PRINT N'Refreshing Procedure [dbo].[GetLiquidarNomina]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[GetLiquidarNomina]';


GO
PRINT N'Refreshing Procedure [dbo].[ComisionesPorDoc]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[ComisionesPorDoc]';


GO
PRINT N'Refreshing Procedure [dbo].[DispersarNomina]...';


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[DispersarNomina]';


GO
-- Refactoring step to update target server with deployed transaction logs
IF NOT EXISTS (SELECT OperationKey FROM [dbo].[__RefactorLog] WHERE OperationKey = 'f014efe7-09d5-44d0-b46c-518e29066e93')
INSERT INTO [dbo].[__RefactorLog] (OperationKey) values ('f014efe7-09d5-44d0-b46c-518e29066e93')
IF NOT EXISTS (SELECT OperationKey FROM [dbo].[__RefactorLog] WHERE OperationKey = 'ab23da6c-a5b2-4a50-9c14-99ab784a7541')
INSERT INTO [dbo].[__RefactorLog] (OperationKey) values ('ab23da6c-a5b2-4a50-9c14-99ab784a7541')

GO

GO
	/*
	Plantilla de script posterior a la implementación							
	--------------------------------------------------------------------------------------
	 Este archivo contiene instrucciones de SQL que se anexarán al script de compilación.		
	 Use la sintaxis de SQLCMD para incluir un archivo en el script posterior a la implementación.			
	 Ejemplo:      :r .\miArchivo.sql								
	 Use la sintaxis de SQLCMD para hacer referencia a una variable en el script posterior a la implementación.		
	 Ejemplo:      :setvar TableName miTabla							
				   SELECT * FROM [$(TableName)]					
	--------------------------------------------------------------------------------------
	*/

	DELETE FROM Encabezados_Numeracion
GO

GO
PRINT N'Update complete.';


--Actualizar datos de la version
IF NOT EXISTS (SELECT 1 FROM dbo.ZiurVersiones WHERE NumVersion = 952)
BEGIN
    INSERT INTO dbo.ZiurVersiones (IdVersion, NumVersion, Descripcion)
    VALUES (362, 952, 'NC y ND sin ref y consecutivos');
END
GO
/* Liberar bloqueo exclusivo por base de datos */
DECLARE @__ZiurDbScriptLockResourceEnd NVARCHAR(200) = N'ZiurSoft:DbScriptLock:' + CAST(DB_ID() AS NVARCHAR(20));
EXEC sp_releaseapplock
    @Resource = @__ZiurDbScriptLockResourceEnd,
    @LockOwner = N'Session';
GO
