ALTER TABLE TBCONTA_RECEBER_POSICAO
    ADD BLOQUEIA_CLIENTE INTEGER;

UPDATE TBCONTA_RECEBER_POSICAO SET BLOQUEIA_CLIENTE = 0

CREATE OR ALTER trigger ttbconta_receber_pos_b01u for tbconta_receber_posicao
active before update position 0
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
BEGIN

    HISTORICO = '';

    IF ( OLD.DESCRICAO <> NEW.DESCRICAO) THEN
    BEGIN
        HISTORICO = HISTORICO||' DESC: '|| OLD.DESCRICAO||' -> '||NEW.DESCRICAO;
    END
    
    IF ( OLD.STATUS <> NEW.STATUS) THEN
    BEGIN
        HISTORICO = HISTORICO||' STATUS: '|| OLD.STATUS||' -> '||NEW.STATUS;
    END

    IF ( OLD.BLOQUEIA_CLIENTE <> NEW.BLOQUEIA_CLIENTE) THEN
    BEGIN
        HISTORICO = HISTORICO||' BLOQ.CLI: '|| OLD.BLOQUEIA_CLIENTE||' -> '||NEW.BLOQUEIA_CLIENTE;
    END

    IF ( OLD.CAIXABANCO_ID IS DISTINCT FROM NEW.CAIXABANCO_ID) THEN
    BEGIN
        HISTORICO = HISTORICO||' CAIXA/BANCO: '|| COALESCE(OLD.CAIXABANCO_ID, 0)||' -> '||COALESCE(NEW.CAIXABANCO_ID, 0);
    END

    
    IF (HISTORICO <> '') THEN
    BEGIN
        EXECUTE PROCEDURE SPI_HISTORICO('TBCONTA_RECEBER_POSICAO', NEW.CODIGO, HISTORICO);
    END
END;



CREATE OR ALTER trigger ttbnfs_parcelamento_b14u for tbnfs_parcelamento
active before update position 6
AS
DECLARE VARIABLE BLOQUEIA_CLIENTE INTEGER;
BEGIN

 IF(OLD.CONTA_RECEBER_POSICAO IS DISTINCT FROM NEW.CONTA_RECEBER_POSICAO) THEN
  BEGIN
   BLOQUEIA_CLIENTE = COALESCE((SELECT FIRST 1 P.BLOQUEIA_CLIENTE FROM TBCONTA_RECEBER_POSICAO P WHERE P.CODIGO = NEW.CONTA_RECEBER_POSICAO), 0);

   IF(BLOQUEIA_CLIENTE = 1) THEN
    BEGIN
     UPDATE TBCLIENTE C SET C.BLOQUEIA_PEDIDO = '1', C.BLOQUEIA_NOTAFISCAL = '1' WHERE C.CODIGO = NEW.EMPRESA_CODIGO;
    END
  END
END;






