# Añadir ficha a proceso que abre formulario por nombre

**URL:** <https://foros.velneo.com/t/anadir-ficha-a-proceso-que-abre-formulario-por-nombre/8512>\
**Category:** Velneo\
**Created:** [20 Noviembre, 2015 15:25 UTC](https://foros.velneo.com/t/anadir-ficha-a-proceso-que-abre-formulario-por-nombre/8512 "2015-11-20T15:25:41Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![alberto\_nudman](https://avatars.discourse-cdn.com/v4/letter/a/e68b1a/32.png) [@alberto\_nudman](https://foros.velneo.com/u/alberto_nudman)\
**Post date:** [20 Noviembre, 2015 15:25 UTC](https://foros.velneo.com/t/anadir-ficha-a-proceso-que-abre-formulario-por-nombre/8512/1 "2015-11-20T15:25:41Z")

</div>

Estimados,

Tengo un proceso vJavaScript que abre un formulario a partir del nombre que le doy (adjunto más abajo).  
Este proceso tiene como entrada, una ficha de la tabla asociada al form que estoy lanzando.  
Mi problema es que no logro que esto funcione para visualizar una ficha ya creada.

Lo que hago es:

- Crear manejador de objeto (PRC\_CRM\_FICHA\_GEN\_ABRIR)
- Leer ficha seleccionada de la grid
- Añadir ficha al objeto (PRC\_CRM\_FICHA\_GEN\_ABRIR)
- Disparar objeto (PRC\_CRM\_FICHA\_GEN\_ABRIR)

Esto hace que el form se despliegue, pero sin datos.  
Muy agradecido, como siempre…!

* * *

PRC\_CRM\_FICHA\_GEN\_ABRIR

var NombreFormulario = theRoot.varToString(“VARI\_NOMBRE\_FORM”);

var formulario = new VDataViewDialog(theRoot);  
formulario.setDataView(VObjectInfo.TypeForm, NombreFormulario);  
formulario.setVar(“FRM\_ES\_MODAL”, 1);  
formulario.exec();

## theRoot.setVar (“VARO\_ID\_PERS\_CREADA”, formulario.varToString(“FRM\_ID\_PERSONA\_CREADA\_O\_SELECCIONADA”));

---

<div class="post-metadata">

**Author:** ![manuel.rd](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/manuel.rd/32/3508_2.png) [@manuel.rd](https://foros.velneo.com/u/manuel.rd)\
**Post date:** [20 Noviembre, 2015 16:28 UTC](https://foros.velneo.com/t/anadir-ficha-a-proceso-que-abre-formulario-por-nombre/8512/2 "2015-11-20T16:28:30Z")

</div>

En ningún momento le estás diciendo al formulario que ficha tiene que abrir. Si no recuerdo mal es setRegister(\<variable con la ficha\>), verificalo en la documentación.

---

<div class="post-metadata">

**Author:** ![alberto\_nudman](https://avatars.discourse-cdn.com/v4/letter/a/e68b1a/32.png) [@alberto\_nudman](https://foros.velneo.com/u/alberto_nudman)\
**Post date:** [21 Noviembre, 2015 15:24 UTC](https://foros.velneo.com/t/anadir-ficha-a-proceso-que-abre-formulario-por-nombre/8512/3 "2015-11-21T15:24:12Z")

</div>

Estimado Wikan,

Muchas gracias como siempre. Efectivamente, esa era la instrucción, pero había que leer la lista primero.  
Quedo así:

* * *

var NombreFormulario = theRoot.varToString(“VARI\_NOMBRE\_FORM”);  
var IdFichaLectura = theRoot.varToString(“VARI\_ID\_FICHA\_LEER”);

var formulario = new VDataViewDialog(theRoot);  
formulario.setDataView(VObjectInfo.TypeForm, NombreFormulario);  
formulario.setVar(“FRM\_ES\_MODAL”, 1);

var Registros = new VRegisterList(theRoot);  
var Registro = new VRegister(theRoot);  
Registros.setTable(“46v3zxk3.vcd/PERSONAS”);

// Si no hay una ficha definida, abro el form y grabo el Id de la persona creada…  
if (IdFichaLectura==0) {  
formulario.exec();  
theRoot.setVar (“VARO\_ID\_PERS\_CREADA”, formulario.varToString(“FRM\_ID\_PERSONA\_CREADA\_O\_SELECCIONADA”));  
}  
// En caso contrario leo el registro pertinente y se lo paso al formulario  
else {

```
Registros.load("ID", [IdFichaLectura]);

// Leo la primera y unica ficha
Registro = Registros.readAt(0);
formulario.setRegister(Registro);
formulario.exec();
theRoot.setVar ("VARO_ID_PERS_CREADA", "VARI_ID_FICHA_LEER");

```

}
