# Pestañas en formulario

**URL:** <https://foros.velneo.com/t/pestanas-en-formulario/8556>\
**Category:** Velneo\
**Created:** [6 Diciembre, 2015 18:13 UTC](https://foros.velneo.com/t/pestanas-en-formulario/8556 "2015-12-06T18:13:58Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![isaacpda](https://avatars.discourse-cdn.com/v4/letter/i/c6cbf5/32.png) [@isaacpda](https://foros.velneo.com/u/isaacpda)\
**Post date:** [6 Diciembre, 2015 18:13 UTC](https://foros.velneo.com/t/pestanas-en-formulario/8556/1 "2015-12-06T18:13:58Z")

</div>

Buenas tardes,  
Tengo un formulario que dentro tiene un separador de formularios con 3 pestañas en cada pestaña un formulario diferente. La cuestión sería como capturar y enviar datos de un formulario a otro, es más en uno de los formularios tengo una rejilla y me gustaría desde esa regilla pasar datos a otro formulario de la pestaña. El moverme entre pestañas lo tengo hecho con JavaScript pero me falta el pasar parámetros.

Gracias  
Isaac

---

<div class="post-metadata">

**Author:** ![pacosatu](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/pacosatu/32/5131_2.png) [@pacosatu](https://foros.velneo.com/u/pacosatu)\
**Post date:** [7 Diciembre, 2015 08:34 UTC](https://foros.velneo.com/t/pestanas-en-formulario/8556/2 "2015-12-07T08:34:21Z")

</div>

Hola Isaac.

Estúdiate bien el modelo de Objetos del API de Velneo.  
Si has podido pasar de una pestaña a otra mediante el javascript, también serás capaz de asignar valores a las variables locales.

Obtén el dataView() de una pestaña y usa oDataViewPestaña.root().setVar(\<var local\>, valor).

Saludos  
Paco Satué

---

<div class="post-metadata">

**Author:** ![isaacpda](https://avatars.discourse-cdn.com/v4/letter/i/c6cbf5/32.png) [@isaacpda](https://foros.velneo.com/u/isaacpda)\
**Post date:** [7 Diciembre, 2015 17:40 UTC](https://foros.velneo.com/t/pestanas-en-formulario/8556/3 "2015-12-07T17:40:01Z")

</div>

Gracias Paco,  
lo voy a probar ahora mismo y te cuento.

Muchas gracias por contestar, que seria de este foro sin gente como tu, en cada post que voy leyendo siempre apareces tu por todos ayudando y compartiendo.

Un saludo  
Isaac

---

<div class="post-metadata">

**Author:** ![isaacpda](https://avatars.discourse-cdn.com/v4/letter/i/c6cbf5/32.png) [@isaacpda](https://foros.velneo.com/u/isaacpda)\
**Post date:** [8 Diciembre, 2015 18:18 UTC](https://foros.velneo.com/t/pestanas-en-formulario/8556/4 "2015-12-08T18:18:00Z")

</div>

Buenas tardes,  
pues no consigo pasar parametros

var miSep = theRoot.dataView().mainForm().control(“CONTROL”);  
[//miSep.setCurrentIndex](https://miSep.setCurrentIndex)(miSep.currentIndex-2);

var cl = miSep.form(“CLIENTES”).root(); //Esto me da error

miSep.setCurrentIndex(miSep.currentIndex-2);

//var oRoot = theRoot.dataView().mainForm().control(“CONTROL”).form(“CLIENTES”).root(); //Esto solo me da error.

Lo que necesito que desde el subformulario datos, le pueda pasar al subformulario clientes ciertos valores, pero no se que hago mal.

Isaac

---

<div class="post-metadata">

**Author:** ![pacosatu](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/pacosatu/32/5131_2.png) [@pacosatu](https://foros.velneo.com/u/pacosatu)\
**Post date:** [8 Diciembre, 2015 23:24 UTC](https://foros.velneo.com/t/pestanas-en-formulario/8556/5 "2015-12-08T23:24:53Z")

</div>

Hola Isaac.

Estudia bien la documentación del API.  
En la instrucción miSep.form(“CLIENTES”) te falta el ALIAS del Proyecto miSep.form("\<ALIAS\_PROYECTO\>/CLIENTES").

Cualquier objeto del proyecto, para referirnos a él, debe ir siempre precedido del Alias del Proyecto (app o dat) al que pertenece.

Saludos  
Paco Satué

---

<div class="post-metadata">

**Author:** ![isaacpda](https://avatars.discourse-cdn.com/v4/letter/i/c6cbf5/32.png) [@isaacpda](https://foros.velneo.com/u/isaacpda)\
**Post date:** [9 Diciembre, 2015 10:10 UTC](https://foros.velneo.com/t/pestanas-en-formulario/8556/6 "2015-12-09T10:10:51Z")

</div>

Hola Paco,  
gracias otra vez, la documentación la estoy mirando, pero si en algo me atrevo a criticar a Velneo, es en la documentación de javascript, que bajo mi punto de vista un poco confusa si es, y con pocos ejemplos.

He probado lo que me dices y funciona, tenias razón, es mas lo habia probado antes de iniciar este post, pero me engaño que para captuar la vista del formulario principal no hiciese falta ponerle alias y para el formulario contenido si.

Ahora me surge otra duda, ya consigo acceder a un boton del subformulario, pero no consigo pasarle un valor a un field

var miSep = theRoot.dataView().mainForm().control(“CONTROL”);  
var formulario = miSep.form(“ALIAS/CLIENTES”);  
formulario.setField(“CONTROL42”, “Holamundo”);

El CONTROL42 es un campo de edicion de texto, y segun he leido, la manera correcta de pasar valores es con setField(ideobjeto, texto).

Algo hago mal, seguro no?

Isaac

---

<div class="post-metadata">

**Author:** ![isaacpda](https://avatars.discourse-cdn.com/v4/letter/i/c6cbf5/32.png) [@isaacpda](https://foros.velneo.com/u/isaacpda)\
**Post date:** [9 Diciembre, 2015 12:09 UTC](https://foros.velneo.com/t/pestanas-en-formulario/8556/7 "2015-12-09T12:09:07Z")

</div>

Bueno al final lo consegui, de la manera mas facil. Lo que necesitaba es que desde el subobjeto de una pestaña (una lista), pasar los valores a otro subobjeto de otra pestaña (un formulario). Lo tenia pensado hacer campo por campo, pero “voala”, encontré “setRegister” que de un plumazo me añade todos los registros de la lista en el formulario.

Por si a alguien le puede ayudar adjunto el codigo.

var miSep = theRoot.dataView().mainForm().control(“CONTROL”);  
var formulario = miSep.form(“alias/CLIENTES”);

var id = theApp.globalVarToString(“alias/IDREGILLA”);  
var Registros = new VRegisterList(theRoot);  
Registros.setTable(“alias/CLIENTES”);  
Registros.load(“ID”, [id]);

if (Registros.listSize())  
{  
//Nos quedamos con un registro  
Registro = Registros.readAt(0);  
formulario.setRegister(Registro);   
};

Un saludo,  
Isaac

---

<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:** [9 Diciembre, 2015 12:13 UTC](https://foros.velneo.com/t/pestanas-en-formulario/8556/8 "2015-12-09T12:13:10Z")

</div>

Creo que la final nos complicamos la vida. A lo mejor no queda tal y como lo tienes pensado, pero creo que realmente estás haciendo lo mismo que harías con un localizador.

Te muestra una lista donde puedes buscar y luego el formulario de edición definido en esa rejilla, mucho más fácil de mantener y podrías mantener varios registros abiertos.

---

<div class="post-metadata">

**Author:** ![isaacpda](https://avatars.discourse-cdn.com/v4/letter/i/c6cbf5/32.png) [@isaacpda](https://foros.velneo.com/u/isaacpda)\
**Post date:** [9 Diciembre, 2015 12:17 UTC](https://foros.velneo.com/t/pestanas-en-formulario/8556/9 "2015-12-09T12:17:35Z")

</div>

Gracias Manuel por tu respuesta,  
seguro que en un escenario normal, tu idea iria mejor, pero cuando tienes las manos atadas y tanto el diseño, como la usabilidad tiene que ser como un prototipo dado, pues poco puedo hacer. El cliente me dice que lo quiere de esta manera y no puedo cambiarle el funcionamiento de como trabaja su antiguo programa, es decir el desarrollo que le haga a mi cliente, tiene que ser exacto al que tiene.

Gracias otra vez a todos los navegantes de los foros, ya que sin ellos, creo que no avanzariamos ni la mitad de rápido.

Un saludo  
Isaac

---

<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:** [9 Diciembre, 2015 12:24 UTC](https://foros.velneo.com/t/pestanas-en-formulario/8556/10 "2015-12-09T12:24:10Z")

</div>

Si te entiendo, supongo que todos hemos pasado por lo mismo. Al final entra en juego la psicología de convencer al cliente que no es la misma tecnología, ni el mismo programa.

Al final lo has conseguido que es lo importante.
