ALTER TABLE COMPROBANTES_CABEZA ADD NRO_USUARIO INTEGER;
-----
ALTER TABLE PARAMETROS ADD NRO_CAJA INTEGER DEFAULT 0 NOT NULL ;
-----
ALTER TABLE COMPROBANTES_CABEZA ADD NRO_CAJA INTEGER DEFAULT 0 NOT NULL ;
-----
ALTER TABLE COBROS ADD NRO_CAJA INTEGER DEFAULT 0 NOT NULL ;
-----

CREATE OR ALTER TRIGGER COBROS_BI FOR COBROS
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
  IF (NEW.NRO_COBRO IS NULL) THEN BEGIN
    NEW.NRO_COBRO = GEN_ID(ORDEN_GEN, 1);
  END
  NEW.NUMERO = 'REC-' || LPAD(NEW.NRO_PUNTO_COBRO, 3, '0') || '-' || LPAD(NEW.NRO_RECIBO, 8, '0');
  NEW.ANULADO = FALSE;
  NEW.NRO_CAJA = (SELECT NRO_CAJA FROM PARAMETROS);
END

-----

CREATE OR ALTER TRIGGER COMPROBANTES_CABEZA_BI FOR COMPROBANTES_CABEZA
ACTIVE BEFORE INSERT POSITION 0
AS
BEGIN
  IF (NEW.NRO_COMPROBANTE_CABEZA IS NULL) THEN BEGIN
    NEW.NRO_COMPROBANTE_CABEZA = GEN_ID(ORDEN_GEN, 1);
  END
  IF (NEW.NRO_COMPROBANTE <> -1) THEN BEGIN
    NEW.COMPROBANTE =
      CASE
        WHEN NEW.NRO_TIPO_COMPROBANTE = 1 THEN 'F'
        WHEN NEW.NRO_TIPO_COMPROBANTE = 2 THEN 'C'
      ELSE
        'X'
      END || 'C-' || LPAD(NEW.NRO_PUNTO_VENTA, 5, '0') || '-' || LPAD(NEW.NRO_COMPROBANTE, 8, '0');
  
  END
  NEW.NRO_CAJA = (SELECT NRO_CAJA FROM PARAMETROS);

END

