# Personalización de formularios

**URL:** <https://foros.velneo.com/t/personalizacion-de-formularios/5984>\
**Category:** Velneo\
**Created:** [26 Febrero, 2013 13:28 UTC](https://foros.velneo.com/t/personalizacion-de-formularios/5984 "2013-02-26T13:28:41Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![overall](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/overall/32/5437_2.png) [@overall](https://foros.velneo.com/u/overall)\
**Post date:** [26 Febrero, 2013 13:28 UTC](https://foros.velneo.com/t/personalizacion-de-formularios/5984/1 "2013-02-26T13:28:41Z")

</div>

Hola a todos,

Estoy buscando la ayuda que te permite poder personalizar formularios o las pestañas de un formulario para un cliente, pero no encuentro la información. Alguien sabe donde se encuentra?

Gracias

---

<div class="post-metadata">

**Author:** ![jose1](https://avatars.discourse-cdn.com/v4/letter/j/dec6dc/32.png) [@jose1](https://foros.velneo.com/u/jose1)\
**Post date:** [26 Febrero, 2013 13:37 UTC](https://foros.velneo.com/t/personalizacion-de-formularios/5984/2 "2013-02-26T13:37:42Z")

</div>

Depende de lo que necesites personalizar.

Si lo que quieres es personalizar una aplicación estandar para un cliente en concreto, la opción es generar una solución por encima y heredar la aplicación, y a partir de ahi, personalizar todo lo que necesites.

Si no te refieres a esto, que imagino ya lo sabias, deberías especificar un poco más.

un saludo

José Luis

---

<div class="post-metadata">

**Author:** ![overall](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/overall/32/5437_2.png) [@overall](https://foros.velneo.com/u/overall)\
**Post date:** [26 Febrero, 2013 13:47 UTC](https://foros.velneo.com/t/personalizacion-de-formularios/5984/3 "2013-02-26T13:47:02Z")

</div>

Hola Jose Luis,

Si, la idea es crear un proyecto que esté por encima, heredar y poderle personalizar algunos formularios e informes. Vi que había una forma sencilla de hacerlo, y era copiando el mismo formulario o informe (mismo nombre) y hacer las modificaciones. Al ejecutar la solución te cogía automáticamente los cambios sin tener que hacer nada mas.

Estoy en lo cierto o me he perdido alguna cosa. Por que lo he probado y no hace nada.

Hay un artículo que habla de la [superpersonalización](http://velneo.es/superpersonalizacion/ "superpersonalizacion"), pero me debo dejar algo en el camino.

Saludos y gracias.

---

<div class="post-metadata">

**Author:** ![jose1](https://avatars.discourse-cdn.com/v4/letter/j/dec6dc/32.png) [@jose1](https://foros.velneo.com/u/jose1)\
**Post date:** [26 Febrero, 2013 14:07 UTC](https://foros.velneo.com/t/personalizacion-de-formularios/5984/4 "2013-02-26T14:07:56Z")

</div>

Creo que ya se a lo que te refieres:

Se comento en algún momento, que podías copiar un formulario en una solución que esta por encima, y si su nombre coincide con el de un formulario de la solución heredada, este podia ser sustituido, mostrando en ejecución el formulario de la solución “superior (la que hereda)”

Si es esto a lo que te refieres, me temo que no hay un manual propiamente dicho de como hacerlo, lo que si te puedo asegurar, es que para poder hacerlo, necesitarás vJavaScript.

En cuanto a las pestañas, aqui tienes una forma de personalizar, tambien con vJavaScript:

[http://filipegomes.eu/ejemplos-javascript-en-v7-combobox-y-separador-de-formularios/](http://filipegomes.eu/ejemplos-javascript-en-v7-combobox-y-separador-de-formularios/)

Aunque no olvides que tienes la forma sencilla de hacerlo, usando Puntos de inserción en los separadores de los formularios.

un saludo

José Luis

---

<div class="post-metadata">

**Author:** ![overall](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/overall/32/5437_2.png) [@overall](https://foros.velneo.com/u/overall)\
**Post date:** [26 Febrero, 2013 14:37 UTC](https://foros.velneo.com/t/personalizacion-de-formularios/5984/5 "2013-02-26T14:37:02Z")

</div>

Ok, entendido, creía que la opción de copiar los objetos a un nivel superior con el mismo nombre sustituía automáticamente a los existentes. Era demasiado fácil para ser cierto.

Gracias

---

<div class="post-metadata">

**Author:** ![overall](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/overall/32/5437_2.png) [@overall](https://foros.velneo.com/u/overall)\
**Post date:** [26 Febrero, 2013 14:44 UTC](https://foros.velneo.com/t/personalizacion-de-formularios/5984/6 "2013-02-26T14:44:42Z")

</div>

De todos modos, había un video de Jesús Arboleya que hacía mención a esta fácil implementación

Si alguien lo recuerda o sabe donde se encuentra, que pase info. Gracias

---

<div class="post-metadata">

**Author:** ![desarrollo-icenter-t](https://avatars.discourse-cdn.com/v4/letter/d/e480ec/32.png) [@desarrollo-icenter-t](https://foros.velneo.com/u/desarrollo-icenter-t)\
**Post date:** [26 Febrero, 2013 15:36 UTC](https://foros.velneo.com/t/personalizacion-de-formularios/5984/7 "2013-02-26T15:36:45Z")

</div>

Recuerdo el vídeo, pero pienso que es aplicable sólo a los informes.

Saludos,

César

---

<div class="post-metadata">

**Author:** ![aztecmexico](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/aztecmexico/32/3498_2.png) [@aztecmexico](https://foros.velneo.com/u/aztecmexico)\
**Post date:** [27 Febrero, 2013 05:54 UTC](https://foros.velneo.com/t/personalizacion-de-formularios/5984/8 "2013-02-27T05:54:37Z")

</div>

Hola Luis, creo que es esto a lo que te refieres:

&nbsp;

[http://velneo.es/listado-de-novedades-velneo-v7-7-11/#1api](http://velneo.es/listado-de-novedades-velneo-v7-7-11/#1api)

&nbsp;

Está casi al final del video, creas nuevos formularios en la solución nueva y los insertas con un javascript en la heredada, tú defines los nombres directamente o los prefijos, o algo asi, lo que no pone Jesús Arboleya es la función completa, hay que pedírsela =).

Saludos.

Martin Ibarra.

---

<div class="post-metadata">

**Author:** ![overall](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/overall/32/5437_2.png) [@overall](https://foros.velneo.com/u/overall)\
**Post date:** [27 Febrero, 2013 07:09 UTC](https://foros.velneo.com/t/personalizacion-de-formularios/5984/9 "2013-02-27T07:09:08Z")

</div>

Gracias Martín, me lo miro y si lo veo factible expongo resultados.

Saludos

---

<div class="post-metadata">

**Author:** ![jarboleya1](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/jarboleya1/32/5199_2.png) [@jarboleya1](https://foros.velneo.com/u/jarboleya1)\
**Post date:** [27 Febrero, 2013 14:34 UTC](https://foros.velneo.com/t/personalizacion-de-formularios/5984/10 "2013-02-27T14:34:12Z")

</div>

Buenos días.

Sobre el tema de la personalización que aparece en el vídeo os paso la siguiente:

1. Las funciones que se usan en el vídeo las tenéis disponibles en vBase 2.4 que podéis descargar [aquí](http://velneo.es/velneo-open-app/vbase/).

2. Las funciones están en el directorio de scripts en el fichero /js/interface/velneoTab.js y se llaman

velneoTab.sustituirSubformulario = function ( separador, szFormularioId, szTitulo, szIconoIdRef, szAliasProyecto )

velneoTab.addSubformulariosPersonalizados = function ( separador, szPrefijo, szIconoIdRef, szAliasProyectoNoCargar )

Si editas el script podrás ver documentados los diferentes parámetros de cada función.

1. El código de ejemplo de la aplicación de pedidos que se ve en el vídeo y que hace la llamada las funciones es el sliguiente:

`
#include "21fb5lom.vcd/js/interface/velneoTab.js"
// Se prepara el control separador
var controlTab = theRoot.dataView().control( “SEP” );
if ( controlTab )
{
////////////////////////////////////////////////////////////////////////////////
// Añadir el subformuluario personalizado y en su defecto el original
//
var szIdForm = “CLIENTE_PEDIDOS_INF”;
var szTitulo = “Informe Pedidos”;
var szIconoIdRef = “2nnwmkgs.vca/PRT_ICO”;
var szAliasProyecto = “vpedidos_app”;
```
velneoTab.sustituirSubformulario( controlTab, szIdForm, szTitulo, szIconoIdRef, szAliasProyecto );

////////////////////////////////////////////////////////////////////////////////
// Añadir todos los subformularios personalizados
//
var szPrefijo = "PERSONALIZADO_CLIENTE_";
var szIconoNuevasTabIdRef = "2nnwmkgs.vca/OBS_ICO";

velneoTab.addSubformulariosPersonalizados( controlTab, szPrefijo, szIconoNuevasTabIdRef, szAliasProyecto );

```
}
`

Estas funciones, están diseñadas para buscar los objetos de sustitución o personalización en el proyecto main (el del AUTOEXEC de arranque) que en principio es donde pondríamos la personalización. Sin embargo, se puede mejorar o cambiar haciendo que busquen la personalización en un proyecto que pasemos como parámetro o que recorra el árbol de proyectos heredados buscando un objeto con ese identificador y tipo.

Aclarar que la personalización en este caso se está haciendo a nivel de subformulario, pero el API nos permite hacer personalización a diferentes niveles: subformulario, procesos, informes, etc. Es cuestión de hacer la programación adecuada para que la ejecución de los objetos non se realice directamente sino a través de un proceso o manejador JavaScript encargado de cargar el adecuado.

Espero que esta información os sea útil.

Saludos.

---

<div class="post-metadata">

**Author:** ![aztecmexico](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/aztecmexico/32/3498_2.png) [@aztecmexico](https://foros.velneo.com/u/aztecmexico)\
**Post date:** [27 Febrero, 2013 15:40 UTC](https://foros.velneo.com/t/personalizacion-de-formularios/5984/11 "2013-02-27T15:40:10Z")

</div>

Gracias Jesús,

Con ese ejemplo basta para que sea el punto de partida para lo que cada quien desea hacer, a partir de esto ya cada desarrollador puede analizar el código y ajustarlo a sus necesidades.

Un saludo.

Martin Ibarra.
