Personalización de formularios

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

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

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, pero me debo dejar algo en el camino.

Saludos y gracias.

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/

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

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

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

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

Saludos,

César

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

 

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

 

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.

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

Saludos

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í.

  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.

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.