--Hash:B85EA50B535B582ED3028EFC767B9E13
SET XACT_ABORT ON
BEGIN TRANSACTION;

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 < 950
)
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'Altering Table [dbo].[Inventarios]...';


GO
ALTER TABLE [dbo].[Inventarios]
    ADD [EsImptoConsumoIncluido] BIT DEFAULT 0 NOT NULL,
        [EsImptoSaludIncluido]   BIT DEFAULT 0 NOT NULL;


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


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


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


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


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


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


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


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


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


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


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


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


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


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


GO
PRINT N'Altering View [dbo].[VInventarios]...';


GO
ALTER VIEW dbo.VInventarios
AS
SELECT        dbo.Inventarios.IdInventario, dbo.Inventarios.CodInventario, dbo.Inventarios.CodigoBarras, dbo.Inventarios.NomInventario, dbo.Inventarios.EsActivo, dbo.Inventarios.EsEspecial, q.CantMaxima, q.CantMinima, q.PuntoReorden, 
                         dbo.Inventarios.IdUnidad, dbo.Inventarios.ValorIva, dbo.Inventarios.IdAgrup1, dbo.Inventarios.IdAgrup2, dbo.Inventarios.Observacion, dbo.Inventarios.IdContab, dbo.Inventarios.IdTipoInv, dbo.Inventarios.EsFactSinExistencia, 
                         dbo.Inventarios.EsIvaAlCosto, dbo.Inventarios.ValorImptoConsumo, dbo.Inventarios.ValorUtilidadEst, dbo.Inventarios.IdContCosto, dbo.Inventarios.EsSerialRequerido, dbo.Inventarios.TipoVentaKit, 
                         dbo.Inventarios.IdRecursoPOS, dbo.Inventarios_Unidades.NomUnidad, dbo.Inventarios_Unidades.IdTipoUnidad, dbo.Inventarios_Especial.Especial_01, dbo.Inventarios_Especial.Especial_03, 
                         dbo.Inventarios_Especial.Especial_02, dbo.Inventarios_Especial.Especial_04, dbo.Inventarios_Especial.Especial_05, dbo.Inventarios_Especial.Especial_06, dbo.Inventarios_Especial.Especial_07, 
                         dbo.Inventarios_Especial.Especial_08, dbo.Inventarios_Especial.Especial_09, dbo.Inventarios_Especial.Especial_10, dbo.Inventarios_Especial.Especial_11, dbo.Inventarios_Especial.Especial_12, 
                         dbo.Inventarios_Especial.Especial_13, dbo.Inventarios_Especial.Especial_14, dbo.Inventarios_Especial.Especial_15, dbo.Inventarios_Especial.Especial_16, dbo.Inventarios_Especial.Especial_17, 
                         dbo.Inventarios_Especial.Especial_18, dbo.Inventarios_Especial.Especial_19, dbo.Inventarios_Especial.Especial_20, dbo.Inventarios.IdClasifImpto, dbo.Inventarios.EsFactorMov, dbo.Inventarios.EsImptoNalCons, 
                         dbo.Inventarios.TipoImptoConsumo, dbo.Inventarios.EsIvaIncluido, Inventarios_Unidades_1.IdTipoUnidad AS IdTipoUnidad1, Inventarios_Unidades_1.NomUnidad AS NomUnidad1, dbo.Inventarios.EsKitConSerial, 
                         dbo.Inventarios.IdUnidad1, dbo.Inventarios_Agrup1.CodigoAgrup1, dbo.Inventarios_Agrup1.NomAgrup1, dbo.Inventarios_Agrup2.CodigoAgrup2, dbo.Inventarios_Agrup2.NomAgrup2, COALESCE (dbo.Inventarios.FactorEscala, 
                         dbo.Inventarios_Unidades.FactorEscala) AS FactorEscala, COALESCE (dbo.Inventarios.FactorEscala1, Inventarios_Unidades_1.FactorEscala) AS FactorEscala1, dbo.Inventarios.EsNoBalanza, dbo.Inventarios.EsControlado, 
                         dbo.Inventarios.CantDim1, dbo.Inventarios.CantDim3, dbo.Inventarios.CantDim2, dbo.Inventarios.CantDim4, dbo.Inventarios.EsPuntosAcumulados, dbo.Inventarios.PuntosAcumuladosValor, dbo.Inventarios.PuntosAcumuladosPuntos, 
                         dbo.Inventarios.EsPuntosRedimir, dbo.Inventarios.PuntosRedimir, dbo.Inventarios.ImptoSaludableValor, dbo.Inventarios.ImptoSaludableTipo, dbo.Inventarios.ImptoSaludableEs, 
                         dbo.Inventarios.EsImptoConsumoIncluido, dbo.Inventarios.EsImptoSaludIncluido
FROM            (SELECT        IdInventario, MAX(CantMaxima) AS CantMaxima, MIN(CantMinima) AS CantMinima, MAX(PuntoReorden) AS PuntoReorden
                          FROM            dbo.Inventarios_MaximosYMinimos AS maxi
                          WHERE        (EsPrincipal = 1)
                          GROUP BY IdInventario) AS q RIGHT OUTER JOIN
                         dbo.Inventarios ON q.IdInventario = dbo.Inventarios.IdInventario INNER JOIN
                         dbo.Inventarios_Unidades ON dbo.Inventarios.IdUnidad = dbo.Inventarios_Unidades.IdUnidad LEFT OUTER JOIN
                         dbo.Inventarios_Agrup2 ON dbo.Inventarios.IdAgrup2 = dbo.Inventarios_Agrup2.IdAgrup2 LEFT OUTER JOIN
                         dbo.Inventarios_Agrup1 ON dbo.Inventarios.IdAgrup1 = dbo.Inventarios_Agrup1.IdAgrup1 LEFT OUTER JOIN
                         dbo.Inventarios_Unidades AS Inventarios_Unidades_1 ON dbo.Inventarios.IdUnidad1 = Inventarios_Unidades_1.IdUnidad LEFT OUTER JOIN
                         dbo.Inventarios_Especial ON dbo.Inventarios.IdInventario = dbo.Inventarios_Especial.IdInventario
GO
PRINT N'Refreshing View [dbo].[VInventariosHistoricoCosto]...';


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


GO
EXECUTE sp_refreshsqlmodule N'[dbo].[VContabDoc____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].[VInventarios_Existencia_Recursos]...';


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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_02]...';


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


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


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


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


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


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


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


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


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


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


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


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


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


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].[ActualizarAudit]...';


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


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].[ContabilizarDoc_Validar]...';


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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].[GetListaPrecios]...';


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


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


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


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


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


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].[ContabilizarDoc]...';


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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)]					
	--------------------------------------------------------------------------------------
	*/

	--Crear EPS CAJA DE COMPENSACION FAMILIAR DEL CHOCO
	[Ziur_CrearClienteDeSistema]
	@IdCliente = 297, 
	@IdEstablec = 1, 
	@CliIdTipoIdent = 31, 
	@CliIdentificacion = '891600091', 
	@CliDVCliente = '8', 
	@CliIdCiudad = 27001, 
	@CliCodInterno = 'CCFC20', 
	@CliNombre1 = 'CAJA DE COMPENSACION FAMILIAR DEL CHOCO', 
	@CliNota = 'EPS', 
	@CliIdLista = NULL, 
	@CliAsociacion = '22,8', 
	@DirDireccion = 'Calle 23 No. 4 - 31', 
	@DirDireccionFormato1 = 'CL 23 4 - 31', 
	@DirDireccionFormato2 = 'CL 23 4 - 31 ', 
	@DirTelefonos = '6046711597', 
	@DirCelular = '6046713749', 
	@DirEMail = 'contabilidad@comfachoco.com.co', 
	@DirIdCiudad = 27001, 
	@DirCodigoPostal = 270001

	if not exists(select * from Clientes_Asociacion where IdCliente=295 and IdTipo=8)
		insert into Clientes_Asociacion(IdCliente,IdTipo) values (295,8)
	if not exists(select * from Clientes_Asociacion where IdCliente=296 and IdTipo=8)
	   insert into Clientes_Asociacion(IdCliente,IdTipo) values (296,8)


	--Actualizacion Normativa 2024
	--//
	UPDATE Nomina_Valores 
	SET  EsActivo = 0  
	WHERE IdValor IN (1039, 1040, 1041, 1042)
GO

	IF NOT EXISTS(SELECT IdValor FROM Nomina_Valores WHERE IdValor = 1043)
	INSERT INTO Nomina_Valores (IdValor, IdTipo, Valor, FechaIni, FechaFin, EsActivo)
	VALUES (1043, 1, 1300000, '2024-01-01' , '2024-12-31', 1 )
GO

	IF NOT EXISTS(SELECT IdValor FROM Nomina_Valores WHERE IdValor = 1044)
	INSERT INTO Nomina_Valores (IdValor, IdTipo, Valor, FechaIni, FechaFin, EsActivo)
	VALUES (1044, 2, 162000, '2024-01-01' , '2024-12-31', 1 )
GO

	IF NOT EXISTS(SELECT IdValor FROM Nomina_Valores WHERE IdValor = 1045)
	INSERT INTO Nomina_Valores (IdValor, IdTipo, Valor, FechaIni, FechaFin, EsActivo)
	VALUES (1045, 5, 15, '2024-01-01' , '2024-12-31', 1 )
GO

	IF NOT EXISTS(SELECT IdValor FROM Nomina_Valores WHERE IdValor = 1046)
	INSERT INTO Nomina_Valores (IdValor, IdTipo, Valor, FechaIni, FechaFin, EsActivo)
	VALUES (1046, 3, 47065, '2024-01-01' , '2024-12-31', 1 )
GO
	--//
	----------------------------------------------------------------------------

	--Se actualiza nueva variable ya que antes esivaincluido afectaba como incluido impto consumo 
	update inventarios set EsImptoConsumoIncluido = 1 where EsIvaIncluido=1
GO

GO
PRINT N'Update complete.';


GO

--Actualizar datos de la version
INSERT INTO ZiurVersiones (IdVersion, NumVersion, Descripcion)
VALUES (360,950,'Valores actualizados para 2024')
GO

COMMIT
GO
