refrescar formulario


([N3] Servinfor) #1

Hola tengo un formulario para las facturas de venta donde tengo los datos de 2 tablas, cabecera de factura y detalle de factura. El detalle de factura lo muestro con una rejilla. El detalle tiene una actualizacion de el campo importe contra el campo base imponible de la tabla cabecera de facturas para que asi me sume todos los importes de las líneas

Bien, desde otro formulario con otra tabla “datos” he creado un proceso donde elijo registros y doy de alta la factura y su detalle. Al final del proceso le digo que me muestre el formulario con la factura creada. Lo hace todo correcto el único problema es que el campo base imponible aparece en blanco. Si cierro la factura y la vuelvo a abrir ya muestra correctamente el contenido de la base imponible

Como puedo hacer para que refresque sin tener que cerrar y abrir otra vez?


([N4] Infortic) #2

Hola.

El problema es que al lanzar el form, los cambios de añadir las líneas todavía no están aplicados por el motivo que sea.

Supongo que tendrás algo así:

Crear nueva ficha en memoria (CABECERA)
Modificar campo CAMPO 1
Modificar campo CAMPO 2

Alta de ficha (CABECERA)
Codigo para crear las líneas

Código para lanzar el form

Lo que debes hacer es crear la cabecera y las líneas, y luego, volver a consultar la bbdd para recoger la cabecera con los cambios aplicados antes de lanzar el formulario.

Set(ID_CAB,0)
Crear nueva ficha en memoria (CABECERA)
Modificar campo CAMPO 1
Modificar campo CAMPO 2

Alta de ficha (CABECERA)
Codigo para crear las líneas

Set(ID_CAB,#ID)

Cargar Lista (VTA_FAC,ID, ID_CAB)
Seleccionar ficha por posicion(1)
Leer ficha seleccionada
Código para lanzar el form

Es un ejemplo, no sé como lo tienes montado.


([N4] Infortic) #3

El editor no lo ha indentado, a ver así:

Crear nueva ficha en memoria (CABECERA)
Modificar campo CAMPO 1
Modificar campo CAMPO 2

Alta de ficha (CABECERA)
Codigo para crear las líneas

Código para lanzar el form

Lo que debes hacer es crear la cabecera y las líneas, y luego, volver a consultar la bbdd para recoger la cabecera con los cambios aplicados antes de lanzar el formulario.

Set(ID_CAB,0)
Crear nueva ficha en memoria (CABECERA)
Modificar campo CAMPO 1
Modificar campo CAMPO 2
—
Alta de ficha (CABECERA)
Codigo para crear las líneas
—
Set(ID_CAB,#ID)

Cargar Lista (VTA_FAC,ID, ID_CAB)
Seleccionar ficha por posicion(1)
Leer ficha seleccionada
Código para lanzar el 

form


([N4] Infortic) #4

Tampoco…


([N4] Infortic) #5

Vueno, supongo que se entiende :wink:


([N3] Servinfor) #6

Ahhhhhhh ya esta clarísimo, para lanzar el formulario yo
cargaba lista
invertia lista
seleccionaba ficha por posicion
leia ficha seleccionada y
pedia formulario

En cambio como dices tu sale perfecto

Muchisimas gracias