ALTER TABLE ALBARANES_CLIENTE
ADD ID_ALBARAN_DEV TIPO_ID;

ALTER TABLE ALBARANES_PROVEEDOR
ADD ID_ALBARAN_DEV TIPO_ID;

DROP VIEW V_ALBARANES_CLIENTE;

CREATE VIEW V_ALBARANES_CLIENTE(
    ID,
    ID_EMPRESA,
    ID_CLIENTE,
    NOMBRE,
    FECHA_ALBARAN,
    REFERENCIA,
    REFERENCIA_CLIENTE,
    TIPO,
    ID_ALBARAN_DEV,
    REFERENCIA_ALB_DEV,
    ID_FAC_ALB_DEV,
    REFERENCIA_FAC_ALB_DEV,
    SITUACION,
    ID_ALMACEN,
    NOMBRE_ALMACEN,
    ID_PEDIDO,
    REF_PEDIDO,
    ID_FACTURA,
    REF_FACTURA,
    CALLE,
    CODIGO_POSTAL,
    POBLACION,
    PROVINCIA,
    PERSONA_CONTACTO,
    TELEFONO,
    IMPORTE_NETO,
    IMPORTE_PORTE,
    DESCUENTO,
    IMPORTE_DESCUENTO,
    BASE_IMPONIBLE,
    IVA,
    IMPORTE_IVA,
    IMPORTE_TOTAL,
    OBSERVACIONES,
    INCIDENCIAS,
    INCIDENCIAS_ACTIVAS,
    FECHA_ALTA,
    FECHA_MODIFICACION,
    USUARIO,
    ID_FORMA_PAGO,
    FECHA_PREVISTA_ENVIO,
    FECHA_ENVIO,
    FECHA_RECEPCION,
    ID_AGENTE,
    AGENTE,
    NUM_COPIAS)
AS
SELECT
  ALBARANES_CLIENTE.ID,
  ALBARANES_CLIENTE.ID_EMPRESA,
  ALBARANES_CLIENTE.ID_CLIENTE,
  CLIENTES.NOMBRE,
  ALBARANES_CLIENTE.FECHA_ALBARAN,
  ALBARANES_CLIENTE.REFERENCIA,
  ALBARANES_CLIENTE.REFERENCIA_CLIENTE,
  ALBARANES_CLIENTE.TIPO,
  ALBARANES_CLIENTE.ID_ALBARAN_DEV,
  ALB_DEV.REFERENCIA,
  ALB_DEV.ID_FACTURA,
  FAC_CLI_ALB_DEV.REFERENCIA,
  V_ALB_CLI_SITUACION.SITUACION,
  ALBARANES_CLIENTE.ID_ALMACEN,
  ALMACENES.NOMBRE AS NOMBRE_ALMACEN,
  ALBARANES_CLIENTE.ID_PEDIDO,
  PEDIDOS_CLIENTE.REFERENCIA AS REF_PEDIDO,
  ALBARANES_CLIENTE.ID_FACTURA,
  FACTURAS_CLIENTE.REFERENCIA AS REF_FACTURA,
  ALBARANES_CLIENTE.CALLE,
  ALBARANES_CLIENTE.CODIGO_POSTAL,
  ALBARANES_CLIENTE.POBLACION,
  ALBARANES_CLIENTE.PROVINCIA,
  ALBARANES_CLIENTE.PERSONA_CONTACTO,
  ALBARANES_CLIENTE.TELEFONO,
  ALBARANES_CLIENTE.IMPORTE_NETO,
  ALBARANES_CLIENTE.IMPORTE_PORTE,
  ALBARANES_CLIENTE.DESCUENTO,
  ALBARANES_CLIENTE.IMPORTE_DESCUENTO,
  ALBARANES_CLIENTE.BASE_IMPONIBLE,
  ALBARANES_CLIENTE.IVA,
  ALBARANES_CLIENTE.IMPORTE_IVA,
  ALBARANES_CLIENTE.IMPORTE_TOTAL,
  ALBARANES_CLIENTE.OBSERVACIONES,
  ALBARANES_CLIENTE.INCIDENCIAS,
  ALBARANES_CLIENTE.INCIDENCIAS_ACTIVAS,
  ALBARANES_CLIENTE.FECHA_ALTA,
  ALBARANES_CLIENTE.FECHA_MODIFICACION,
  ALBARANES_CLIENTE.USUARIO,
  ALBARANES_CLIENTE.ID_FORMA_PAGO,
  ALBARANES_CLIENTE.FECHA_PREVISTA_ENVIO,
  ALBARANES_CLIENTE.FECHA_ENVIO,
  ALBARANES_CLIENTE.FECHA_RECEPCION,
  CLIENTES_DATOS.ID_AGENTE,
  AGENTES.NOMBRE,
  IMPRESIONES.NUM_COPIAS

FROM
  ALBARANES_CLIENTE
  INNER JOIN V_ALB_CLI_SITUACION ON (V_ALB_CLI_SITUACION.ID = ALBARANES_CLIENTE.ID)
  INNER JOIN CONTACTOS CLIENTES ON (CLIENTES.ID = ALBARANES_CLIENTE.ID_CLIENTE)
  LEFT OUTER JOIN ALBARANES_CLIENTE ALB_DEV ON (ALB_DEV.ID = ALBARANES_CLIENTE.ID_ALBARAN_DEV)
  LEFT OUTER JOIN FACTURAS_CLIENTE FAC_CLI_ALB_DEV ON (FAC_CLI_ALB_DEV.ID = ALB_DEV.ID_FACTURA)
  LEFT OUTER JOIN CLIENTES_DATOS ON (CLIENTES_DATOS.ID_CLIENTE = ALBARANES_CLIENTE.ID_CLIENTE)
  LEFT OUTER JOIN CONTACTOS AGENTES ON (AGENTES.ID = CLIENTES_DATOS.ID_AGENTE)
  LEFT OUTER JOIN PEDIDOS_CLIENTE ON (PEDIDOS_CLIENTE.ID = ALBARANES_CLIENTE.ID_PEDIDO)
  LEFT OUTER JOIN FACTURAS_CLIENTE ON (FACTURAS_CLIENTE.ID = ALBARANES_CLIENTE.ID_FACTURA)
  LEFT OUTER JOIN ALMACENES ON (ALMACENES.ID = ALBARANES_CLIENTE.ID_ALMACEN)
  LEFT JOIN IMPRESIONES ON ((IMPRESIONES.ID_TABLA = ALBARANES_CLIENTE.ID) AND (IMPRESIONES.TABLA = 'ALBARANESCLIENTE'))
;

DROP VIEW V_ALBARANES_PROVEEDOR;

CREATE VIEW V_ALBARANES_PROVEEDOR(
    ID,
    ID_EMPRESA,
    ID_PROVEEDOR,
    NOMBRE,
    FECHA_ALBARAN,
    REFERENCIA,
    REFERENCIA_PROVEEDOR,
    TIPO,
    ID_ALBARAN_DEV,
    REFERENCIA_ALB_DEV,
    ID_FAC_ALB_DEV,
    REFERENCIA_FAC_ALB_DEV,
    ID_ALMACEN,
    NOMBRE_ALMACEN,
    ID_PEDIDO,
    REF_PED_PROVEEDOR,
    ID_FACTURA,
    REF_FACTURA,
    REF_FACTURA_PROV,
    CALLE,
    CODIGO_POSTAL,
    POBLACION,
    PROVINCIA,
    PERSONA_CONTACTO,
    TELEFONO,
    IMPORTE_NETO,
    IMPORTE_PORTE,
    DESCUENTO,
    IMPORTE_DESCUENTO,
    BASE_IMPONIBLE,
    IVA,
    IMPORTE_IVA,
    IMPORTE_TOTAL,
    OBSERVACIONES,
    INCIDENCIAS,
    INCIDENCIAS_ACTIVAS,
    FECHA_ALTA,
    FECHA_MODIFICACION,
    USUARIO,
    ID_FORMA_PAGO,
    NUM_COPIAS)
AS
SELECT
  ALBARANES_PROVEEDOR.ID,
  ALBARANES_PROVEEDOR.ID_EMPRESA,
  ALBARANES_PROVEEDOR.ID_PROVEEDOR,
  CONTACTOS.NOMBRE,
  ALBARANES_PROVEEDOR.FECHA_ALBARAN,
  ALBARANES_PROVEEDOR.REFERENCIA,
  ALBARANES_PROVEEDOR.REFERENCIA_PROVEEDOR,
  ALBARANES_PROVEEDOR.TIPO,
  ALBARANES_PROVEEDOR.ID_ALBARAN_DEV,
  ALB_DEV.REFERENCIA,
  ALB_DEV.ID_FACTURA,
  FAC_PROV_ALB_DEV.REFERENCIA,
  ALBARANES_PROVEEDOR.ID_ALMACEN,
  ALMACENES.NOMBRE AS NOMBRE_ALMACEN,
  ALBARANES_PROVEEDOR.ID_PEDIDO,
  PEDIDOS_PROVEEDOR.REFERENCIA AS REF_PED_PROVEEDOR,
  ALBARANES_PROVEEDOR.ID_FACTURA,
  FACTURAS_PROVEEDOR.REFERENCIA AS REF_FACTURA,
  ALBARANES_PROVEEDOR.REF_FACTURA_PROV,
  ALBARANES_PROVEEDOR.CALLE,
  ALBARANES_PROVEEDOR.CODIGO_POSTAL,
  ALBARANES_PROVEEDOR.POBLACION,
  ALBARANES_PROVEEDOR.PROVINCIA,
  ALBARANES_PROVEEDOR.PERSONA_CONTACTO,
  ALBARANES_PROVEEDOR.TELEFONO,
  ALBARANES_PROVEEDOR.IMPORTE_NETO,
  ALBARANES_PROVEEDOR.IMPORTE_PORTE,
  ALBARANES_PROVEEDOR.DESCUENTO,
  ALBARANES_PROVEEDOR.IMPORTE_DESCUENTO,
  ALBARANES_PROVEEDOR.BASE_IMPONIBLE,
  ALBARANES_PROVEEDOR.IVA,
  ALBARANES_PROVEEDOR.IMPORTE_IVA,
  ALBARANES_PROVEEDOR.IMPORTE_TOTAL,
  ALBARANES_PROVEEDOR.OBSERVACIONES,
  ALBARANES_PROVEEDOR.INCIDENCIAS,
  ALBARANES_PROVEEDOR.INCIDENCIAS_ACTIVAS,
  ALBARANES_PROVEEDOR.FECHA_ALTA,
  ALBARANES_PROVEEDOR.FECHA_MODIFICACION,
  ALBARANES_PROVEEDOR.USUARIO,
  ALBARANES_PROVEEDOR.ID_FORMA_PAGO,
  IMPRESIONES.NUM_COPIAS
FROM
  ALBARANES_PROVEEDOR
  INNER JOIN CONTACTOS ON (CONTACTOS.ID = ALBARANES_PROVEEDOR.ID_PROVEEDOR)
  LEFT OUTER JOIN ALBARANES_PROVEEDOR ALB_DEV ON (ALB_DEV.ID = ALBARANES_PROVEEDOR.ID_ALBARAN_DEV)
  LEFT OUTER JOIN FACTURAS_PROVEEDOR FAC_PROV_ALB_DEV ON (FAC_PROV_ALB_DEV.ID = ALB_DEV.ID_FACTURA)
  LEFT OUTER JOIN PEDIDOS_PROVEEDOR ON (PEDIDOS_PROVEEDOR.ID = ALBARANES_PROVEEDOR.ID_PEDIDO)
  LEFT OUTER JOIN FACTURAS_PROVEEDOR ON (FACTURAS_PROVEEDOR.ID = ALBARANES_PROVEEDOR.ID_FACTURA)
  LEFT OUTER JOIN ALMACENES ON (ALMACENES.ID = ALBARANES_PROVEEDOR.ID_ALMACEN)
  LEFT JOIN IMPRESIONES ON ((IMPRESIONES.ID_TABLA = ALBARANES_PROVEEDOR.ID) AND (IMPRESIONES.TABLA = 'ALBARANESPROVEEDOR'))
;