Duda en libro "Cambia el Chip con Velneo"


([N1] javivelneo) #1

 
Buenos días,
 

 
Estoy siguiendo el ejercicio del libro “Cambia el Chip con Velneo, y me encuentro en el campo “Estado de Pedido de Compra” dentro de la tabla pedidos de compra con un enlace a una tabla estatica para saber cuáles son los pedidos pendientes, cancelados y servidos.
 

 
Este campo tiene como contenido inicial la condición que pego a continuación, pero no acabo de “leerla” y que me quede claro lo que hace ¿me podríais ayudar, por favor?
 

 
Esta es la condición:
 
choose(#CNC,“C”,choose(#NUM_LIN_TOT& (#NUM_LIN_TOT=#NUM_LIN_REC), “R”,choose(#NUM_LIN_TOT&#NUM_LIN_REC, “Q”,“P”)))
 

 
Muchas gracias, un saludo.
 


([N1] Pepeto) #2

La tabla estatica tiene varios valores, C / R / Q / P

la condicion se lee de la siguiente manera:

Si #CNC (cancelado=1) ----> ponemos el valor “C”

Else

— Si #NUM_LIN_TOT (lineas del pedido > 0) y #NUM_LIN_TOT = #NUM_LIN_REC (lineas totales = lineas recibidas) -----> ponemos “R”

— Else

— --- Si #NUM_LIN_TOT (lineas del pedido >0) y #NUM_LIN_REC (lineas recibidas>0) ----> ponemos “Q”

— --- Else -----> ponemos “P”

Lo que hacemos es cambiar el estado del pedido, en función de las Lineas totales que tiene el pedido y las Lineas recibidas

un saludo

José Luis


([N1] javivelneo) #3

Muchisimas gracias Jose Luis! Voy a imprimirlo y verlo despacio, gracias de nuevo.

Abusando de tu amabilidad, te voy a formular otra pregunta, me encuentro ahora con otra duda,

En la tabla de lineas de pedidos de compra, y para conocer el almacen y el proveedor, exiten dos campos que enlazan directamente con la tabla maestra ALM (Almacenes) y ENT, cuyo contenido inicial del campo es #COM_PED.ALM y #COM_PED.PRV_ENT.

La pregunta es la siguiente, ¿porque es necesario que haya un enlace directo a la tabla maestra ALM y ENT? no debe coger directamente la información de ALM y ENT de la tabla maestra padre (COM_PED) sin que exista ese enlace directo a estas tablas maestras?

 

Espero haberme sabido explicar, muchas gracias de nuevo,

 

Un saludo.

 

 


([N1] Pepeto) #4

También se podría hacer como dices, pero se plantean varios problemas:

  1. Aunque por defecto se usa el que hay en la cabecera, el usuario podría modificar el Almacén manualmente y cambiarlo.

  2. Cuando los campos que usamos afectan a actualizaciones, deben estar en la línea. Así, cuando se modifique el almacén de la linea, las actualizaciones se ejecutarán correctamente. De lo contrario, si una vez terminado el documento, alguien modifica estos campos en la cabecera las actualizaciones no funcionarán.

un saludo

José Luis


([N1] javivelneo) #5

Muchas gracias de nuevo Jose Luis, poco a poco vamos avanzando,…un saludo.