Refrescar Pila de Formularios

Amigos, buen día una pregunta

Tengo 2 pilas de formularios. En la pila 1 está el detalle de la Factura (MOV_G) y en la pila 2 está la ficha del detalle de la factura (MOV_G), en esta pila2 estoy dando de ALTA los detalles de facturas y si graba.

Esto lo he realizado porque necesito sacar la pantalla flotante del detalle de la factura cuando se está facturando y deseo colocar el ingreso de artículos, se lo haga en una sola pantalla, pero a medida que se va registrando en la parte derecha los items que contienen la factura, no se refresca la parte izquierda que sería todos los items .

Me pueden dar una guía de como sincronizar las dos pilas, o cual sería la forma correcta de realizar estó ?

O algún ejemplo en donde pueda guiarme para hacer esto?

Agradezco cualquier ayuda, muchas gracias

Una idea rápida sería utilizar el objeto Multivista, por si no lo has considerado. Pero creo que tendrías que colocar los botones de “Agregar” en la ventana izquierda y luego llenar la ventana derecha. La ventaja del objeto multivista es que se encarga de sincronizar sin más código.
También podría considerarse el uso de una rejilla editable, y de esta forma ya no se necesita la ventana derecha tipo ficha.
Espero estas ideas sean de utilidad.

Tengo un formulario padre : VTA_FAC_G y dos formularios hijos en dos pilas diferentes hijo 1 MOV_G LISTA e hijo 2 MOV_G Ficha.
La cuestión es que si yo actualizo el hijo 2 se refleje en el hijo 1. Para conseguir esto es a través del padre.

En el hijo 2 tienes que crear un manejador de evento javascript con la siguiente instrucción :
theParentWidget.parentDataView().startTimer(1);
Este manejador lo ejecutas cuando desees que se actualice el hijo 1.

En el padre VTA_FAC_G primero tienes que crear una conexion de evento :
Nombre : SYS_TIMER Señal : TIMER Manejador de evento : SYS_TIMER

Como segundo paso tienes que crear el manejador SYS_TIMER ( Este nombre lo pones tú ), el cual se compone de dos partes :
Parte 1 : Conjunto de instrucciones para actualizar el hijo 1 MOV_G LISTA que pudiera ser :
Interfaz : Recalcular( PILA1.FORMULARIO-LISTA.VISTA-DATOS )
Parte 2 : interfaz: Ejecutar manejador de evento ( PARAR-TIMER )

En el manejador de evento javascript : PARAR-TIMER sería :
theRoot.dataView().stopTimer();

A mi esto me funciona, espero que a ti también y que sea lo que estas buscando.

Un saludo

Muchas gracias por sus aportes.

Gracias @lrsnzburuaga , con tu detalle fui y lo ejecuté. Lo único que si me toco cambiar es:

Esta linea no ejecutaba
theParentWidget.parentDataView().startTimer(1);
Me funciono colocando
theMainWindow.currentView().root().dataView().startTimer(1);

Ahora tengo esta novedad.

Al visualizarse correctamente la linea dada de alta en el objeto HIJO1, necesito dejar en blanco el HIJO2 para seguir registrando otro item, he realizado lo siguiente pero no me ha funcionado. Disculpas por la novatada en este tema.
image

Buenas,

Personalmente los mantenimiento de tablas ( Alta - Edición - Baja ) los realizo con formulario en modo dialogo, en el que ejecuto la instrucción de javascript ( theRoot.dataView.acceptNoClose() ), que acepta e inicializa el formulario y te permite realizar la siguiente alta, pero esto debe funcionar solo para formularios en dialogo según manual.

Tal como veo en el esquema de formularios, deberías mirarte el control Bloc de Formularios, según las instrucciones permite realizar altas, edición y baja. Es un control que no lo he utilizado y poco te puedo indicar.

Saludos