--Hash:B65F140C8F236EF108E7E58D78EFB714
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 < 934
)
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)

/*
 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].[Impuestos_Tipos]...';


GO
ALTER TABLE [dbo].[Impuestos_Tipos]
    ADD [CodZiurOne] INT NULL;


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


GO
ALTER VIEW [dbo].[VTributosFactElectronica]
	AS


SELECT 
--Tipo de Tributo 
CliT.IdCliente, CliT.IdTipo, Imp.CodTipo, Imp.NomTipo, Imp.CodZiurOne

FROM 
Clientes_Tributos AS CliT INNER JOIN
Impuestos_Tipos AS Imp ON Imp.IdTipo = CliT.IdTipo
GO
PRINT N'Refreshing Procedure [dbo].[ClientesTributosUpdate]...';


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


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

	--Codigos en ZiurOne de los tipos de Impuestos

	IF NOT EXISTS (SELECT * FROM Impuestos_Tipos WHERE IdTipo = 18)
	INSERT INTO Impuestos_Tipos
	(IdTipo, CodTipo, NomTipo, CodZiurOne)
	VALUES (18, 'ZA' ,'IVA e INC' , 18)

	--IVA
	UPDATE Impuestos_Tipos
	SET CodZiurOne = 1
	WHERE IdTipo = 7

	--INC
	UPDATE Impuestos_Tipos
	SET CodZiurOne = 4
	WHERE IdTipo = 9
	
	--No aplica*
	UPDATE Impuestos_Tipos
	SET CodZiurOne = 15
	WHERE IdTipo = 6

GO
	--
GO

GO
PRINT N'Update complete.';


GO

--Actualizar datos de la version
INSERT INTO ZiurVersiones (IdVersion, NumVersion, Descripcion)
VALUES (344,934,'Codigos de Tipos de Tributos para ZiurOne')
GO

COMMIT
GO
