# Refrescar Pila de Formularios

**URL:** <https://foros.velneo.com/t/refrescar-pila-de-formularios/11116>\
**Category:** Velneo\
**Created:** [21 Septiembre, 2022 12:02 UTC](https://foros.velneo.com/t/refrescar-pila-de-formularios/11116 "2022-09-21T12:02:30Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![lgonzalez](https://avatars.discourse-cdn.com/v4/letter/l/fbc32d/32.png) [@lgonzalez](https://foros.velneo.com/u/lgonzalez)\
**Post date:** [21 Septiembre, 2022 12:02 UTC](https://foros.velneo.com/t/refrescar-pila-de-formularios/11116/1 "2022-09-21T12:02:30Z")

</div>

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

 ![image](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/f/ff19f47791e6e074b617fcae8d3901aed9480176.png)

---

<div class="post-metadata">

**Author:** ![aguevara](https://avatars.discourse-cdn.com/v4/letter/a/fbc32d/32.png) [@aguevara](https://foros.velneo.com/u/aguevara)\
**Post date:** [21 Septiembre, 2022 23:10 UTC](https://foros.velneo.com/t/refrescar-pila-de-formularios/11116/2 "2022-09-21T23:10:42Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![lrsnzburuaga](https://avatars.discourse-cdn.com/v4/letter/l/ac8455/32.png) [@lrsnzburuaga](https://foros.velneo.com/u/lrsnzburuaga)\
**Post date:** [22 Septiembre, 2022 15:17 UTC](https://foros.velneo.com/t/refrescar-pila-de-formularios/11116/3 "2022-09-22T15:17:09Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![lgonzalez](https://avatars.discourse-cdn.com/v4/letter/l/fbc32d/32.png) [@lgonzalez](https://foros.velneo.com/u/lgonzalez)\
**Post date:** [23 Septiembre, 2022 11:36 UTC](https://foros.velneo.com/t/refrescar-pila-de-formularios/11116/4 "2022-09-23T11:36:21Z")

</div>

Muchas gracias por sus aportes.

---

<div class="post-metadata">

**Author:** ![lgonzalez](https://avatars.discourse-cdn.com/v4/letter/l/fbc32d/32.png) [@lgonzalez](https://foros.velneo.com/u/lgonzalez)\
**Post date:** [23 Septiembre, 2022 15:15 UTC](https://foros.velneo.com/t/refrescar-pila-de-formularios/11116/5 "2022-09-23T15:15:13Z")

</div>

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);

---

<div class="post-metadata">

**Author:** ![lgonzalez](https://avatars.discourse-cdn.com/v4/letter/l/fbc32d/32.png) [@lgonzalez](https://foros.velneo.com/u/lgonzalez)\
**Post date:** [23 Septiembre, 2022 15:21 UTC](https://foros.velneo.com/t/refrescar-pila-de-formularios/11116/6 "2022-09-23T15:21:04Z")

</div>

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](https://canada1.discourse-cdn.com/flex035/uploads/velneo/original/2X/5/5d7f9e79737a902358ffdf18360402e49934a628.png)

---

<div class="post-metadata">

**Author:** ![lrsnzburuaga](https://avatars.discourse-cdn.com/v4/letter/l/ac8455/32.png) [@lrsnzburuaga](https://foros.velneo.com/u/lrsnzburuaga)\
**Post date:** [23 Septiembre, 2022 20:05 UTC](https://foros.velneo.com/t/refrescar-pila-de-formularios/11116/7 "2022-09-23T20:05:02Z")

</div>

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
