Localizador de Maestro de tabla


([N1] juan infante) #1

Estimados Buen dia,

Estoy trabajando en un Fork de vERP, usando las siguientes tablas: MOV_G_DET, COM_PED_LIN; adicional he creado una tabla maestra HUM (humedades) y he creado un puntero en la tabla COM_PED_LIN a dicha tabla HUM.

  1. He creado el localizador, menu contextual y la accion correspondiente (siguiente el ejemplo de articulos) sobre mi tabla HUM; ahora si yo desde una ficha de COM_PED_LIN, pongo un control que muestre el valor de HUM con su boton y asocio el menu contextual, me funciona bien.

  2. Ahora el problema radica en: como hacer para desde una ficha de MOV_G_DET acceder a HUM; he intendado dentro de la ficha de MOV_G_DET poner un control y que este acceda al valor de HUM (#COM_PED_LIN.HUM_COM_PED_LIN_G.VALOR), pero al momento de darle click al menu LOCALIZADOR, no me muestra nada en pantalla.

Alguna idea de como poder hacer:
MOV_G_DET -> COM_PED_LIN -> HUM_COM_PED_LIN_G ???

Saludos


([N4] Infortic) #2

Hola.

Necesitas otro menú contextual con otras accciones.

Uno para COM_PED_LIN y otro para MOV_G_DET.

Si usas el mismo no debe de funcionar.

Un saludo.


([N1] juan infante) #3

ok, pero y con el localizador seria el mismo ???


([N4] Infortic) #4

El localizador el mismo, pero las acciones de localizar son distintas aunque usen el mismo localizador.


([N1] juan infante) #5

Por ejemplo con la tabla COM_PED_LIN tengo todo ya montado y funcionando, como debería de ser la accion con MOV_G ?


([N2] AyudaVelneo) #6

Hola Juan:

Como diría Jack el “Destripador”… vayamos por partes.

En la tabla MOV_G_DET ¿Tienes un campo enlazado con HUM?. Si no lo tienes, no podrás usar “Localizar maestro” puesto que no es un maestro suyo (tampoco podrás utilizar “Alta de maestro” o “Editar maestro”)

Una vez que tengas el campo enlazado, ya podrás usar una acción con origen la tabla MOV_G_DET que lance “Localizar ficha de maestro”

Un saludo


([N1] juan infante) #7

ok, voy entendiendo lo de maestros.

Te comento, mi relacion de tablas es la siguiente:

MOV_G_DET -> COM_PED_LIN -> HUM_COM_PED_LIN_G

El campo HUM esta en COM_PED_LIN, ya que es un valor que requiero ingresar cuando se den de alta a las lineas de un pedido de compra. Ahora resulta que en los albaranes tambien se puede dar de alta a las lineas, las cuales se graban en MOV_G y en COM_PED_LIN, revisando con el vDataClient, veo que da de alta en ambas tablas, entonces si es asi; como yo haria para cuando doy de alta a una linea en el albaran poner en la ficha un campo que apunte a HUM y me permita localizar un registro y guardarlo en la tabla respectiva.

Saludos


([N4] Infortic) #8

Hola juan.

Si quieres poder meter el campo HUM en las líneas de albarán sin pasar por la línea de pedido de compra, necesitas tener ese campo creado.

Tendrás que crear el campo HUM en MOG_G_DET, puedes ponerle como contenido inicial #MOV_G_DET.COM_PED_LIN.HUM_COM_PED_LIN así si la línea de albarán proviene de un pedido se te cargará automáticamente dicho campo.

Después es hacer lo mismo que en COM_PED_LIN:

  • Crear una acción de Localizar maestro en la tabla MOV_G_DET para localizar el campo HUM com el localizador que ya tienes
  • Un menú contextual con dicha acción.
  • Poner un textbox en el formulario de MOV_G_DET con el campo MOV_G_DET.HUM.NAME (o como lo quieras poner) y que tenga como menú de botón el menú que has hecho.

Con eso deberías tenerlo resuelto.

Además, si la aplicación está en producción, tendrás que hacer un proceso que cargue el campo HUM en todos los registros ya generados, ya que cuando crees el campo, éste estará vacío.

Cargar Lista MOV_G_DET (ID)
Recorrer lista lectura/escritura
Modificar campo(HUM,#COM_PED_LIN.HUM_COM_PED_LIN)

Un saludo