ALTER TABLE TBCONCILIACAO_CARTAO_DET
ADD DIVERGENTE CHAR(1) CHARACTER SET UTF8 
DEFAULT 0 
COLLATE UTF8;


CREATE TRIGGER TTBCONCILIACAO_CARTAO_DET_B02I FOR TBCONCILIACAO_CARTAO_DET
ACTIVE BEFORE INSERT POSITION 2
AS
begin
 /*FAZ A CONCILIACAO DURANTE A INCLUSÃO DO REGISTRO*/
  IF(NEW.CONCILIACAO_CARTAO_ID > 0)THEN
  BEGIN
     UPDATE TBCONCILIACAO_CARTAO A SET A.CONCILIACAO = 0 WHERE A.ID = NEW.CONCILIACAO_CARTAO_ID;
  END

  IF(NEW.DOCUMENTO_CONTROLE > 0)THEN
  BEGIN
     IF(NEW.TIPO = 'NFS') THEN
     BEGIN
          UPDATE TBNFS B SET B.CONCILIACAO = 1 WHERE B.CONTROLE = NEW.DOCUMENTO_CONTROLE;
     END

     IF(NEW.TIPO = 'AVU') THEN
     BEGIN
          UPDATE TBNFS_PARCELAMENTO B SET B.CONCILIACAO = 1 WHERE B.NFS_CONTROLE = NEW.DOCUMENTO_CONTROLE;
     END

     IF(NEW.TIPO = 'CFE') THEN
     BEGIN
          UPDATE TBPDV_CFE B SET B.CONCILIACAO = 1 WHERE B.ID = NEW.DOCUMENTO_CONTROLE;
     END
  END
END;

CREATE OR ALTER 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.CONCILIACAO_CARTAO_ID > 0)THEN
  BEGIN
     UPDATE TBCONCILIACAO_CARTAO A SET A.CONCILIACAO = 0 WHERE A.ID = OLD.CONCILIACAO_CARTAO_ID;
  END

  IF(OLD.DOCUMENTO_CONTROLE > 0)THEN
  BEGIN
     IF(OLD.TIPO = 'NFS') THEN
     BEGIN
          UPDATE TBNFS B SET B.CONCILIACAO = 0 WHERE B.CONTROLE = OLD.DOCUMENTO_CONTROLE;
     END

     IF(OLD.TIPO = 'AVU') THEN
     BEGIN
          UPDATE TBNFS_PARCELAMENTO B SET B.CONCILIACAO = 0 WHERE B.NFS_CONTROLE = OLD.DOCUMENTO_CONTROLE;
     END

     IF(OLD.TIPO = 'CFE') THEN
     BEGIN
          UPDATE TBPDV_CFE B SET B.CONCILIACAO = 0 WHERE B.ID = OLD.DOCUMENTO_CONTROLE;
     END
  END
END;