Editor de consultas: relaciones por múltiples campos y tipos de combinaciones

AVISO

Este es un articulo muy técnico para los especialista en A3ERP que conozcan bien como funciona la producción.

Necesidad

Vamos a usar el editor de consultas para construir una tabla que lea información de otras tres y las vincule con un left join y use además relaciones dobles.

Para ello me baso en las tablas de producción del A3ERP.

Mi intención es conseguir una tabla final que me dé información de toda la estructura de las órdenes de producción, como en esta imagen

Tablas

Las tablas con las que vamos a trabajar son

CABEPROD: la cabecera de la OP

PRODFASES: donde constan las distintas fases de la OP

LINEPROD: donde constan todos los elementos de la estructura

Además nos relacionaremos con las de

PERFILESM: con los perfiles de maquinas

PERFILESP: con los perfiles de operarios

Obtener datos

Con la opción de obtener datos nos vinculamos al SQL de la empresa, en este caso uso la demo de bicis

Conecto con estas cinco tablas y entro en el editor de consultas

Obteniendo todas las tablas con todos sus campos

Lo primero que haremos será elegir campos y quedarnos solos con los que vamos a necesitar

Con la opción elegir columnas

De CABEPROD nos quedamos con estas columnas

De PRODFASES con las siguientes

Y con LINEPROD nos quedamos con

El campo IDPROD lo cambiamos a numérico entero en las tres tablas

Tabla OP

Empezamos construyendo la tabla OP, para ello creamos una referencia al CABEPROD

Lo que nos crea una nueva tabla, con los mismos campos pero vinculada a la de CABEPROD

Le cambiamos el título a OP

Añadir producto

Queremos añadir aquí el producto, pero el producto es un registro de la tabla LINEPROD marcado con el campo SIGNO = F

Así pues vamos a crear una tabla relacionada con LINEPROD para obtener el producto

Creamos una tabla de referencia al LINEPROD

Le cambiamos el nombre a

Que filtramos por SIGNO F

Y quitamos los campos que no necesitamos dejando solo

Y los renombramos

Ahora debemos añadir a la OP su producto, usando la opción Combinar consultas

Seleccionamos la tabla OP y pulsamos en

Donde indicamos la tabla a vincular, el campo de vinculación

Observe que el tipo de combinación corresponde a un LEFT JOIN

Ahora desplegamos en la tabla añadida y seleccionamos los campos que nos interesan

De este modo OP ya tiene

Tipos de combinación

Si en el paso de combinar, desplegamos en Tipo combinación tendremos todos los tipos de combinaciones que tiene el editor de consultas

Añadir fases

Vamos a vincular aquí las fases de la orden de producción, usando la opción Combinar consultas

Donde indicamos la tabla que queremos vincular y seleccionamos el campo de vinculación

Observe que el tipo de combinación corresponde a un LEFT JOIN

Y se añade la tabla a la lista de campos

Vamos a desplegar para elegir los campos que nos interesan

Esto nos muestra los campos en la vista

Cambiamos el nombre a las columnas de fases

Añadir elementos

Ahora necesitamos los elementos de la OP: componentes, perfiles máquinas y perfiles operarios, que son registros de LINEPROD de SIGNO = C

Usaremos el mismo sistema, crear una tabla que haga referencia a LINEPROD y filtrada por el signo

Seleccionamos LINEPROD, con el botón de la derecha referencia, y cambiamos el nombre a

Y filtramos por signo C

Nos queda una tabla con los elementos donde hay campos que ya podemos cambiar el nombre

Ahora debemos vincular esto con las OP, seleccionamos OP, y usamos combinar consultas

Combinar con dos campos

Donde marcamos una doble combinación por OP y FASE, para ello mantenemos el CTRL pulsado y seleccionamos los cuatro campos

Se ha añadió los tabla OP elementos

Que podemos desplegar para elegir los campos que nos interesan

Ya tenemos la OP, con su producto, las fases y sus elementos

Ordenar los registros

Ahora debemos poner un poco de orden a los registros, que se basa en IDPROD + Fases orden + ORDLIN, para ello seleccionamos estas tres columnas y usamos el botón

Que nos pregunta el nombre y el separador, y ponemos

Esto nos ha añadido una nueva columna con

Como es un campo de texto, al ordenar el 2-10 quedara después del 2-1 y antes del 2-2, cosa que no interesa

Por ello vamos al editor de fórmulas en la parte superior y añadimos 100+ antes del último ORDLIN

Ahora la columna queda

Si movemos el campo Orden a la primera columna, y ordenamos, tendremos la estructura de la orden

Pasos finales

Por ultimo podemos ocultar los campos Fases orden y ORDLIN

Y añadir las tablas de perfiles máquinas y operarios para tener sus descripciones

Con unos cuantos arreglos más de formato podemos mostrar una tabla con la estructura de la OP

Por ultimo recomendar este articulo que muestra con ejemplos los distintos tipos de combinaciones

O este video de Curbal

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.