CREATE VIEW V_PED_CLI_ART_PEND_PEDIR_PROV(
  ID_PEDIDO,
  ID_ARTICULO,
  CANT_PEDIDA_CLIENTE,
  ID_PROVEEDOR,
  CANT_PEDIDA_PROVEEDOR,
  CANT_PENDIENTE_PEDIR)
AS
SELECT
  V_PED_CLI_ARTICULOS.ID_PEDIDO,
  V_PED_CLI_ARTICULOS.ID_ARTICULO,
  V_PED_CLI_ARTICULOS.CANTIDAD_PENDIENTE AS CANT_PED_CLI,
  ARTICULOS.ID_PROVEEDOR,
  SUM(COALESCE(V_PED_PROV_ARTICULOS.CANTIDAD_PEDIDA, 0)) AS CANT_PED_PROV,
  V_PED_CLI_ARTICULOS.CANTIDAD_PENDIENTE - SUM(COALESCE(V_PED_PROV_ARTICULOS.CANTIDAD_PEDIDA, 0)) AS CANT_PEND_PEDIR
FROM
  V_PED_CLI_ARTICULOS
  LEFT OUTER JOIN ARTICULOS ON (ARTICULOS.ID = V_PED_CLI_ARTICULOS.ID_ARTICULO)
  LEFT OUTER JOIN PEDIDOS_PROVEEDOR ON (PEDIDOS_PROVEEDOR.ID_PEDIDO_CLIENTE = V_PED_CLI_ARTICULOS.ID_PEDIDO)
  LEFT OUTER JOIN V_PED_PROV_ARTICULOS ON
       ((V_PED_PROV_ARTICULOS.ID_PEDIDO = PEDIDOS_PROVEEDOR.ID) AND
        (V_PED_PROV_ARTICULOS.ID_ARTICULO = V_PED_CLI_ARTICULOS.ID_ARTICULO))
GROUP BY
  V_PED_CLI_ARTICULOS.ID_PEDIDO,
  V_PED_CLI_ARTICULOS.ID_ARTICULO,
  V_PED_CLI_ARTICULOS.CANTIDAD_PENDIENTE,
  ARTICULOS.ID_PROVEEDOR
HAVING
      V_PED_CLI_ARTICULOS.CANTIDAD_PENDIENTE - SUM(COALESCE(V_PED_PROV_ARTICULOS.CANTIDAD_PEDIDA, 0)) > 0;


ALTER TABLE FACTURAS_CLIENTE 
ADD RECARGO_EQUIVALENCIA TIPO_BOOLEANO;

// Volver a generar esta vista por el recargo de equivalencia
CREATE VIEW V_FACTURAS_CLIENTE(
  ID,
  ID_EMPRESA,
  REFERENCIA,
  FECHA_FACTURA,
  SITUACION,
  BASE_IMPONIBLE,
  DESCUENTO,
  IMPORTE_DESCUENTO,
  IVA,
  IMPORTE_IVA,
  RE,
  IMPORTE_RE,
  IMPORTE_TOTAL,
  OBSERVACIONES,
  ID_CLIENTE,
  NIF_CIF,
  NOMBRE,
  CALLE,
  POBLACION,
  PROVINCIA,
  CODIGO_POSTAL,
  FECHA_ALTA,
  FECHA_MODIFICACION,
  USUARIO,
  ID_FORMA_PAGO,
  RECARGO_EQUIVALENCIA,
  ID_TIPO_IVA,
  IMPORTE_NETO,
  IMPORTE_PORTE)
AS
SELECT FACTURAS_CLIENTE.ID,
  FACTURAS_CLIENTE.ID_EMPRESA,
  FACTURAS_CLIENTE.REFERENCIA,
  FACTURAS_CLIENTE.FECHA_FACTURA,
  V_FAC_CLI_SITUACION.SITUACION,
  FACTURAS_CLIENTE.BASE_IMPONIBLE,
  FACTURAS_CLIENTE.DESCUENTO,
  FACTURAS_CLIENTE.IMPORTE_DESCUENTO,
  FACTURAS_CLIENTE.IVA,
  FACTURAS_CLIENTE.IMPORTE_IVA,
  FACTURAS_CLIENTE.RE,
  FACTURAS_CLIENTE.IMPORTE_RE,
  FACTURAS_CLIENTE.IMPORTE_TOTAL,
  FACTURAS_CLIENTE.OBSERVACIONES,
  FACTURAS_CLIENTE.ID_CLIENTE,
  FACTURAS_CLIENTE.NIF_CIF,
  FACTURAS_CLIENTE.NOMBRE,
  FACTURAS_CLIENTE.CALLE,
  FACTURAS_CLIENTE.POBLACION,
  FACTURAS_CLIENTE.PROVINCIA,
  FACTURAS_CLIENTE.CODIGO_POSTAL,
  FACTURAS_CLIENTE.FECHA_ALTA,
  FACTURAS_CLIENTE.FECHA_MODIFICACION,
  FACTURAS_CLIENTE.USUARIO,
  FACTURAS_CLIENTE.ID_FORMA_PAGO,
  FACTURAS_CLIENTE.RECARGO_EQUIVALENCIA,
  FACTURAS_CLIENTE.ID_TIPO_IVA,
  FACTURAS_CLIENTE.IMPORTE_NETO,
  FACTURAS_CLIENTE.IMPORTE_PORTE
  FROM V_FAC_CLI_SITUACION
  LEFT JOIN FACTURAS_CLIENTE
  ON (FACTURAS_CLIENTE.ID = V_FAC_CLI_SITUACION.ID_FACTURA)
; 