Formulario Maestro/Detalle


([N1] Emanuel) #1

¿Cuál sería la forma más sencilla de evitar que al ingresa un detalle de un comprobante se genere una cabecera sin algunos campos obligatorios? La forma que encontré es utilizando un Manejador de Eventos que Valide los datos de cabecera, pero tuve que conectarlo a la señal “gana foco” de los controles de alta/baja/modificación y a la grilla del detalle. Hay un método más “automático” o sencillo?

Saludos


([N3] pacosatu) #2

Hola Emanuel.

Te propongo una forma de hacerlo, aunque como comprenderás existen muchas maneras de hacerlo.

Si hay campos de la Cabecera obligatorios y la Cabecera debe existir antes de dar de Alta un Detalle, pues fuerza al Usuario a dar de Alta la Cabecera y rellenar los campos obligatorios antes de mostrar el formulario Cabecera-Detalle.

En el Evento Pre-Inicialización del formulario pon el siguiente código:


Rem ( Cuando el ID = 0 pedimos los Datos de la Cabecera para guardar en disco )
If ( #ID = 0 )
Pedir formulario ( FRM_CABECERA_CAMPOS_OBLIG@0PS_Ejercicios_app, OK )
If ( OK = 0 )
Rem ( El formulario no se abre )
Set retorno proceso = NO
Else
Rem ( Guardamos la Ficha en disco para poder crear Detalles)
Interfaz: Guardar la ficha en alta o modificación

Como ves el formulario se mostrará siempre con la Cabecera creada y los campos obligatorios rellenados. Pruébalo.

Saludos
Paco Satué


([N1] Emanuel) #3

Gracias Paco, probaré ese método a ver cómo me resulta.

Saludos.