	CREATE GENERATOR GTBCONCILIACAO_CARTAO_DET;

	CREATE TABLE TBCONCILIACAO_CARTAO_DET (
		ID                     INTEGER NOT NULL,
		PARCELA_CARTAO_ID  	   INTEGER NOT NULL,
		PARCELA_CONTROLE       INTEGER NOT NULL,
		TIPO                   VARCHAR(2) DEFAULT ''
	);
	
	CREATE TRIGGER TTBCONCILIACAO_CARTAO_DET_B0I FOR TBCONCILIACAO_CARTAO_DET
	ACTIVE BEFORE INSERT POSITION 0
	AS
	BEGIN
	  IF (NEW.ID IS NULL) THEN
		NEW.ID = GEN_ID(GTBCONCILIACAO_CARTAO_DET,1);
	END;
	
	ALTER TABLE TBCONCILIACAO_CARTAO_DET ADD CONSTRAINT PK_TBCONCILIACAO_CARTAO_DET PRIMARY KEY (ID);

	COMMENT ON COLUMN TBCONCILIACAO_CARTAO_DET.TIPO IS 'NF = NOTA FISCAL, CF = CUPOM FISCAL, A = AVULSO';
	
	CREATE INDEX ITBCONCILIACAO_CARTAO_01
	ON TBCONCILIACAO_CARTAO (NUMERO_RESUMO_VENDA);
	
	CREATE INDEX ITBCONCILIACAO_CARTAO_PARCE_04
	ON TBCONCILIACAO_CARTAO_PARCELAS (NUMERO_RESUMO_VENDA);
	
	ALTER TABLE TBNFS_PARCELAMENTO
	ADD CONCILIACAO VARCHAR(1) CHARACTER SET UTF8 
	COLLATE UTF8;	
	
	ALTER TABLE TBNFS_PARCELAMENTO
	ADD NSU VARCHAR(50) CHARACTER SET UTF8 
	COLLATE UTF8;
	
	ALTER TABLE TBCONCILIACAO_CARTAO_PARCELAS
	ADD CONCILIACAO VARCHAR(1) CHARACTER SET UTF8 
	COLLATE UTF8;	
	
	CREATE TRIGGER TTBCONCILIACAO_CARTAO_DET_B01D FOR TBCONCILIACAO_CARTAO_DET
	ACTIVE BEFORE DELETE POSITION 0
	AS
	begin
	 /*DESFAZ A CONCILIACAO DURANTE A EXCLUSÃO DO REGISTRO*/
	  IF(OLD.PARCELA_CARTAO_ID > 0)THEN
	  BEGIN
		 UPDATE TBCONCILIACAO_CARTAO_PARCELAS A SET A.CONCILIACAO = 0 WHERE A.ID = OLD.PARCELA_CARTAO_ID;
	  END

	  IF(OLD.PARCELA_CONTROLE > 0)THEN
	  BEGIN
		 UPDATE TBNFS_PARCELAMENTO B SET B.CONCILIACAO = 0 WHERE B.CONTROLE = OLD.PARCELA_CONTROLE;
	  END
	end;
	