/* **********************************************************************************************************
*** QUery para Insertar los valores de los proveedores y los clientes como terceros en la contabilidad ******
*** Por Alessandro Muggia de SyS QUest Computación Corp 2021*************************************************
*************************************************************************************************************/


-- Se agrega Trigger Tr_INS_Prov_ContabThirds en SAPROV para cada vez que inserten un proveedor se agregue a los terceros de Contabilidad
-- Se agrega Trigger Tr_INS_Clie_ContabThirds en SACLIE para cada vez que se inserte un Cliente se agregue en los terceros de Contabilidad

-- DEBE CAMBIAR LOS NOMBRES DE LAS BASES DE DATOS (EJ. EnterpriseContabDB y EnterpriseAdminDb) Y EL PREFIJO DE LA EMPRESA CONTABLE (EJ. c01)

use EnterpriceContabDB;
DISABLE TRIGGER c01TrgThriddel on dbo.c01Thirds;
DISABLE TRIGGER c01TrgThridIns on dbo.c01Thirds;
-- BORRA LO QUE HAY EN LOS TERCEROS DE CONTABILIDAD
select count( ID_Third) as TERCEROS_CONTABILIDAD_BORRADOS from c01Thirds;
delete from c01Thirds
-- INSERTA LA SUMA DE LOS PROVEEDORES Y DE CLIENTES DEL ADMINISTRATIVO
select count(Codprov) as Proveedores_Insertados	from EnterpriseAdminDb.dbo.SAPROV ;
select count(Codclie) as Clientes_Insertados	from EnterpriseAdminDb.dbo.SACLIE;
	
insert into 
        [dbo].[c01Thirds]
           ([ID_Third]
           ,[Descrip]
           ,[Name1]
           ,[Name2]
           ,[LastName1]
           ,[LastName2]
           ,[ID_OrgThird]
           ,[Address]
           ,[Codtax]
           ,[TaxIdent]
           ,[Address1]
           ,[City]
           ,[Country]
           ,[Email]
           ,[Phone]
           ,[Contact]
           ,[dtDate]
           ,[boStatus]
           ,[TypeID]
           ,[TypeThird]
           ,[IDCountry]
           ,[IDState]
           ,[IDCity]
           ,[IDMunicipality])
(select Codprov,descrip,NULL,NULL,NULL,NULL,codprov,id3,NULL,'0' as taxindent,NULL,NULL,NULL,NULL,NULL,NULL,'20210513' as dtdate,0,NULL,NULL,NULL,NULL,NULL,NULL 
	from EnterpriseAdminDb.dbo.SAPROV 
	union 
select Codclie,descrip,NULL,NULL,NULL,NULL,CodClie,id3,NULL,'0' as taxindent,NULL,NULL,NULL,NULL,NULL,NULL,'20210513' as dtdate,0,NULL,NULL,NULL,NULL,NULL,NULL 
	from EnterpriseAdminDb.dbo.SACLIE where codclie not in (select codprov from EnterpriseAdminDb.dbo.SAPROV   ));
select count( ID_Third) as TERCEROS_CONTABILIDAD_Insertados from c01Thirds;
ENABLE TRIGGER c01TrgThridIns on dbo.c01Thirds;
ENABLE TRIGGER c01TrgThriddel on dbo.c01Thirds;
go

Use EnterpriseAdminDb;
go

-----------------------------------------------------------------------------------------------------------------
-- CREA TRIGGER PARA QUE CADA VEZ QUE INSERTEN PROVEEDOR EN ADMINISTRATIVO, CREE EL MISMO EN TERCEROS CONTABLES--
-- por Alessandro Muggia de SyS Quest Computación Corp 2021                                                    --
-----------------------------------------------------------------------------------------------------------------
-- OJO CAMBIAR EL NOMBRE DE LA BASE DE DATOS (EnterpriceContabDB)
-- OJO CAMBIAR EL PREFIJO DE LA EMPRESA EN CONTABILIDAD (EJ. c01)
Create trigger Tr_INS_Prov_ContabThirds on saprov For insert
as
Declare   @@ID varchar(30), @@Des varchar(80), @@ID3 varchar(30),@@Fec varchar(40);
Set @@ID=( SELECT codprov FROM  Inserted);  
Set @@Des=( SELECT descrip FROM  Inserted);
Set @@ID3=( SELECT id3 FROM  Inserted);
Set @@Fec=( SELECT fechae FROM  Inserted);
insert into 
        [EnterpriceContabDB].[dbo].c01Thirds
           ([ID_Third]
           ,[Descrip]         
           ,[ID_OrgThird]
           ,[Address]
           ,[dtDate]
           ,[boStatus],
		   [Codtax])
		   Values (
		   @@id,@@des,@@id,@@id3,@@fec,1,@@ID3);
go

-----------------------------------------------------------------------------------------------------------------
-- CREA TRIGGER PARA QUE CADA VEZ QUE INSERTEN CLIENTE EN ADMINISTRATIVO, CREE EL MISMO EN TERCEROS CONTABLES--
-- por Alessandro Muggia de SyS Quest Computación Corp 2021                                                    --
-----------------------------------------------------------------------------------------------------------------
-- OJO CAMBIAR EL NOMBRE DE LA BASE DE DATOS (EnterpriceContabDB)
-- OJO CAMBIAR EL PREFIJO DE LA EMPRESA EN CONTABILIDAD (EJ. c01)
Create trigger Tr_INS_Clie_ContabThirds on saclie For insert
as
Declare   @@ID varchar(30), @@Des varchar(80), @@ID3 varchar(30),@@Fec varchar(40);
Set @@ID=( SELECT CodClie FROM  Inserted);  
Set @@Des=( SELECT descrip FROM  Inserted);
Set @@ID3=( SELECT id3 FROM  Inserted);
Set @@Fec=( SELECT fechae FROM  Inserted);
insert into 
        [EnterpriceContabDB].[dbo].c01Thirds
           ([ID_Third]
           ,[Descrip]         
           ,[ID_OrgThird]
           ,[Address]
           ,[dtDate]
           ,[boStatus],
		   [Codtax])
		   Values (
		   @@id,@@des,@@id,@@id3,@@fec,1,@@ID3);
go
 