--Hash:012D7B75FD3993CD454FD0C8A4DD85D7

-- 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 = 955)
BEGIN
    PRINT N'Scripts_955.sql: la version 955 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 < 955
)
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)]					
--------------------------------------------------------------------------------------
*/


update Nomina_Contratos set idcliente = (select top 1 idcliente from clientes where IdCliente >= 260 order by IdCliente)
where 
idcontrato in 
(
   select idcontrato from nomina_contratos where IdCliente not in(select idcliente from clientes)
)
GO

GO
PRINT N'Creating Foreign Key [dbo].[FK_Nomina_Contratos_Clientes]...';


GO
IF OBJECT_ID(N'dbo.Nomina_Contratos', N'U') IS NOT NULL
AND OBJECT_ID(N'dbo.Clientes', N'U') IS NOT NULL
AND NOT EXISTS (SELECT 1 FROM sys.foreign_keys WHERE name = N'FK_Nomina_Contratos_Clientes' AND parent_object_id = OBJECT_ID(N'dbo.Nomina_Contratos'))
BEGIN
    ALTER TABLE [dbo].[Nomina_Contratos] WITH NOCHECK
        ADD CONSTRAINT [FK_Nomina_Contratos_Clientes] FOREIGN KEY ([IdCliente]) REFERENCES [dbo].[Clientes] ([IdCliente]);
END


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

	--DESHABILITAR LOS RANGOS DE SINCRONIZACION SOLO SE HABILITAN CUANDO SE SINCRONIZAN
	--//
	ALTER TABLE Audit_Automotores NOCHECK CONSTRAINT EsRango_Audit_Automotores
GO
	ALTER TABLE Audit_Clientes NOCHECK CONSTRAINT EsRango_Audit_Clientes
GO
	ALTER TABLE Audit_ClientesProspectos NOCHECK CONSTRAINT EsRango_Audit_ClientesProspectos
GO
	ALTER TABLE Audit_Cuentas NOCHECK CONSTRAINT EsRango_Audit_Cuentas
GO
	ALTER TABLE Audit_Emails NOCHECK CONSTRAINT EsRango_Audit_Emails
GO
	ALTER TABLE Audit_Encabezados NOCHECK CONSTRAINT EsRango_Audit_Encabezados
GO
	ALTER TABLE Audit_Encabezados_Cont NOCHECK CONSTRAINT EsRango_Audit_Encabezados_Cont
GO
	ALTER TABLE Audit_Encabezados_Mov NOCHECK CONSTRAINT EsRango_Audit_Encabezados_Mov
GO
	ALTER TABLE Audit_Inventarios NOCHECK CONSTRAINT EsRango_Audit_Inventarios
GO
	ALTER TABLE Audit_Mantenimientos_Registros NOCHECK CONSTRAINT EsRango_Audit_Mantenimientos_Registros
GO
	ALTER TABLE Audit_Tickets NOCHECK CONSTRAINT EsRango_Audit_Tickets
GO
	ALTER TABLE Calendarios_Festivos NOCHECK CONSTRAINT EsRango_Calendarios_Festivos
GO
	ALTER TABLE Calendarios_Turnos NOCHECK CONSTRAINT EsRango_Calendarios_Turnos
GO
	ALTER TABLE Clientes NOCHECK CONSTRAINT EsRango_Clientes
GO
	ALTER TABLE Clientes_Antecedentes_Medicos NOCHECK CONSTRAINT EsRango_Clientes_Antecedentes_Medicos
GO
	ALTER TABLE Clientes_Contactos NOCHECK CONSTRAINT EsRango_Clientes_Contactos
GO
	ALTER TABLE Clientes_Direcciones NOCHECK CONSTRAINT EsRango_Clientes_Direcciones
GO
	ALTER TABLE Clientes_Empleados_Bancos NOCHECK CONSTRAINT EsRango_Clientes_Empleados_Bancos
GO
	ALTER TABLE Clientes_Historia_Clinica NOCHECK CONSTRAINT EsRango_Clientes_Historia_Clinica
GO
	ALTER TABLE Clientes_Prospectos NOCHECK CONSTRAINT EsRango_Clientes_Prospectos
GO
	ALTER TABLE Clientes_Prospectos_DocRecursos NOCHECK CONSTRAINT EsRango_Clientes_Prospectos_DocRecursos
GO
	ALTER TABLE Clientes_Prospectos_Seguim NOCHECK CONSTRAINT EsRango_Clientes_Prospectos_Seguim
GO
	ALTER TABLE Comisiones_Configuracion NOCHECK CONSTRAINT EsRango_Comisiones_Configuracion
GO
	ALTER TABLE Comisiones_ConfiguracionDet NOCHECK CONSTRAINT EsRango_Comisiones_ConfiguracionDet
GO
	ALTER TABLE ConciliacionBanc_Config_Cuentas NOCHECK CONSTRAINT EsRango_ConciliacionBanc_Config_Cuentas
GO
	ALTER TABLE ConciliacionBanc_Configuracion NOCHECK CONSTRAINT EsRango_ConciliacionBanc_Configuracion
GO
	ALTER TABLE ConciliacionBanc_Encabezados NOCHECK CONSTRAINT EsRango_ConciliacionBanc_Encabezados
GO
	ALTER TABLE ConciliacionBanc_MovContable NOCHECK CONSTRAINT EsRango_ConciliacionBanc_MovContable
GO
	ALTER TABLE ConciliacionBanc_MovExtracto NOCHECK CONSTRAINT EsRango_ConciliacionBanc_MovExtracto
GO
	ALTER TABLE Contabilizaciones NOCHECK CONSTRAINT EsRango_Contabilizaciones
GO
	ALTER TABLE Contabilizaciones_Det NOCHECK CONSTRAINT EsRango_Contabilizaciones_Det
GO
	ALTER TABLE Cuentas NOCHECK CONSTRAINT EsRango_Cuentas
GO
	ALTER TABLE Documentos_Bloqueos NOCHECK CONSTRAINT EsRango_Documentos_Bloqueos
GO
	ALTER TABLE Empresas_ResolucionesFacturacion NOCHECK CONSTRAINT EsRango_Empresas_ResolucionesFacturacion
GO
	ALTER TABLE Encabezados NOCHECK CONSTRAINT EsRango_Encabezados
GO
	ALTER TABLE Encabezados_Cierres NOCHECK CONSTRAINT EsRango_Encabezados_Cierres
GO
	ALTER TABLE Encabezados_Cierres_FormasPago NOCHECK CONSTRAINT EsRango_Encabezados_Cierres_FormasPago
GO
	ALTER TABLE Encabezados_Cont NOCHECK CONSTRAINT EsRango_Encabezados_Cont
GO
	ALTER TABLE Encabezados_Llaves NOCHECK CONSTRAINT EsRango_Encabezados_Llaves
GO
	ALTER TABLE Encabezados_Mov NOCHECK CONSTRAINT EsRango_Encabezados_Mov
GO
	ALTER TABLE Encabezados_Mov_RutasProduccion NOCHECK CONSTRAINT EsRango_Encabezados_Mov_RutasProduccion
GO
	ALTER TABLE Encabezados_PagoDet NOCHECK CONSTRAINT EsRango_Encabezados_PagoDet
GO
	ALTER TABLE Encabezados_Vencimientos NOCHECK CONSTRAINT EsRango_Encabezados_Vencimientos
GO
	ALTER TABLE IFRS_Intervalos_Deterioro NOCHECK CONSTRAINT EsRango_IFRS_Intervalos_Deterioro
GO
	ALTER TABLE Impuestos_Renglones NOCHECK CONSTRAINT EsRango_Impuestos_Renglones
GO
	ALTER TABLE Interfaces_Llaves NOCHECK CONSTRAINT EsRango_Interfaces_Llaves
GO
	ALTER TABLE Interfaces_LlavesValores NOCHECK CONSTRAINT EsRango_Interfaces_LlavesValores
GO
	ALTER TABLE InterfazPos_Items NOCHECK CONSTRAINT EsRango_InterfazPos_Items
GO
	ALTER TABLE Inventarios NOCHECK CONSTRAINT EsRango_Inventarios
GO
	ALTER TABLE Inventarios_ActivosFijos_MovContable NOCHECK CONSTRAINT EsRango_Inventarios_ActivosFijos_MovContable
GO
	ALTER TABLE Inventarios_ActivosFijos_Proyeccion NOCHECK CONSTRAINT EsRango_Inventarios_ActivosFijos_Proyeccion
GO
	ALTER TABLE Inventarios_Balanzas_PorEquipo NOCHECK CONSTRAINT EsRango_Inventarios_Balanzas_PorEquipo
GO
	ALTER TABLE Inventarios_Balanzas_Tramas NOCHECK CONSTRAINT EsRango_Inventarios_Balanzas_Tramas
GO
	ALTER TABLE Inventarios_Colores_Tallas NOCHECK CONSTRAINT EsRango_Inventarios_Colores_Tallas
GO
	ALTER TABLE Inventarios_Dctos_PorCantidades NOCHECK CONSTRAINT EsRango_Inventarios_Dctos_PorCantidades
GO
	ALTER TABLE Inventarios_Formulas NOCHECK CONSTRAINT EsRango_Inventarios_Formulas
GO
	ALTER TABLE Inventarios_Lotes NOCHECK CONSTRAINT EsRango_Inventarios_Lotes
GO
	ALTER TABLE Inventarios_RutasProduccion NOCHECK CONSTRAINT EsRango_Inventarios_RutasProduccion
GO
	ALTER TABLE MediosMag_ConceptosAgrupacion NOCHECK CONSTRAINT EsRango_MediosMag_ConceptosAgrupacion
GO
	ALTER TABLE MediosMag_Cuentas_Especiales NOCHECK CONSTRAINT EsRango_MediosMag_Cuentas_Especiales
GO
	ALTER TABLE MediosMag_CuentasFormato NOCHECK CONSTRAINT EsRango_MediosMag_CuentasFormato
GO
	ALTER TABLE MediosMag_IncluirMovContables NOCHECK CONSTRAINT EsRango_MediosMag_IncluirMovContables
GO
	ALTER TABLE Nomina_Bases_Personalizadas NOCHECK CONSTRAINT EsRango_Nomina_Bases_Personalizadas
GO
	ALTER TABLE Nomina_Bases_PorContrato NOCHECK CONSTRAINT EsRango_Nomina_Bases_PorContrato
GO
	ALTER TABLE Nomina_BasesItems NOCHECK CONSTRAINT EsRango_Nomina_BasesItems
GO
	ALTER TABLE Nomina_Configuracion NOCHECK CONSTRAINT EsRango_Nomina_Configuracion
GO
	ALTER TABLE Nomina_Configuracion_Cuentas NOCHECK CONSTRAINT EsRango_Nomina_Configuracion_Cuentas
GO
	ALTER TABLE Nomina_Contratos_CentroCostos NOCHECK CONSTRAINT EsRango_Nomina_Contratos_CentroCostos
GO
	ALTER TABLE Nomina_ItemsProgramados NOCHECK CONSTRAINT EsRango_Nomina_ItemsProgramados
GO
	ALTER TABLE Nomina_Movimientos NOCHECK CONSTRAINT EsRango_Nomina_Movimientos
GO
	ALTER TABLE Nomina_Retefuente NOCHECK CONSTRAINT EsRango_Nomina_Retefuente
GO
	ALTER TABLE Nomina_Sueldos NOCHECK CONSTRAINT EsRango_Nomina_Sueldos
GO
	ALTER TABLE Permisos_Alertas NOCHECK CONSTRAINT EsRango_Permisos_Alertas
GO
	ALTER TABLE Permisos_ControlesPorUsuarios_Grid NOCHECK CONSTRAINT EsRango_Permisos_ControlesPorUsuarios_Grid
GO
	ALTER TABLE Permisos_InterfacesPorUsuario NOCHECK CONSTRAINT EsRango_Permisos_InterfacesPorUsuario
GO
	ALTER TABLE PH_Conjuntos NOCHECK CONSTRAINT EsRango_PH_Conjuntos
GO
	ALTER TABLE PH_Inmuebles NOCHECK CONSTRAINT EsRango_PH_Inmuebles
GO
	ALTER TABLE PlantillasImpresionesDocs NOCHECK CONSTRAINT EsRango_PlantillasImpresionesDocs
GO
	ALTER TABLE PlantillasImpresionesDocs_Det NOCHECK CONSTRAINT EsRango_PlantillasImpresionesDocs_Det
GO
	ALTER TABLE Reparacion_Automotores_Mantenimientos NOCHECK CONSTRAINT EsRango_Reparacion_Automotores_Mantenimientos
GO
	ALTER TABLE Reparacion_Automotores_Mantenimientos_Registros NOCHECK CONSTRAINT EsRango_Reparacion_Automotores_Mantenimientos_Registros
GO
	ALTER TABLE Rips_Diagnosticos NOCHECK CONSTRAINT EsRango_Rips_Diagnosticos
GO
	ALTER TABLE Rips_Encabezados NOCHECK CONSTRAINT EsRango_Rips_Encabezados
GO
	ALTER TABLE Tickets NOCHECK CONSTRAINT EsRango_Tickets
GO
	ALTER TABLE Tickets_Seguim NOCHECK CONSTRAINT EsRango_Tickets_Seguim
GO
	ALTER TABLE Usuarios_Correos NOCHECK CONSTRAINT EsRango_Usuarios_Correos
GO
	ALTER TABLE Usuarios_CorreosPlantillas NOCHECK CONSTRAINT EsRango_Usuarios_CorreosPlantillas
GO
	ALTER TABLE Usuarios_CorreosPlantillasAdjuntos NOCHECK CONSTRAINT EsRango_Usuarios_CorreosPlantillasAdjuntos
GO
	ALTER TABLE Usuarios_CorreosPlantillasTags NOCHECK CONSTRAINT EsRango_Usuarios_CorreosPlantillasTags
GO
	ALTER TABLE Usuarios_CorreosPlantillasTipos NOCHECK CONSTRAINT EsRango_Usuarios_CorreosPlantillasTipos
GO
	ALTER TABLE Usuarios_Tareas NOCHECK CONSTRAINT EsRango_Usuarios_Tareas
GO
	--//

	--Permisos para el codigo postal
	IF NOT EXISTS (SELECT * FROM Permisos_ControlesPorInterface WHERE IdControlInt = 856974)
	INSERT INTO Permisos_ControlesPorInterface (IdControlInt, IdInterface, IdControl)
	VALUES (856974, 102, 1000)
GO

GO
PRINT N'Checking existing data against newly created constraints';


GO
IF OBJECT_ID(N'dbo.Nomina_Contratos', N'U') IS NOT NULL
AND EXISTS (SELECT 1 FROM sys.foreign_keys WHERE name = N'FK_Nomina_Contratos_Clientes' AND parent_object_id = OBJECT_ID(N'dbo.Nomina_Contratos'))
    ALTER TABLE [dbo].[Nomina_Contratos] WITH CHECK CHECK CONSTRAINT [FK_Nomina_Contratos_Clientes];


GO
PRINT N'Update complete.';


GO

--Actualizar datos de la version
IF NOT EXISTS (SELECT 1 FROM dbo.ZiurVersiones WHERE NumVersion = 955)
BEGIN
    INSERT INTO dbo.ZiurVersiones (IdVersion, NumVersion, Descripcion)
    VALUES (365, 955, 'Cambios moneda extranjera');
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
