Velneo. Tubos de ficha y lista JavaScriptdl.velneo.com/es/productos/v7/openapps/documentos/... ·...

14
Velneo. Tubos de ficha y lista JavaScript Velneo. Tubos de ficha y lista JavaScript Índice Velneo. Tubos de ficha y lista JavaScript Índice La función velneoDB.tubo Los parámetros Ejemplos de tubos de ficha y lista 1. Con capilares especificando campos origen y destino 2. Con capilares declarados en la misma línea 3. Con capilares de campos que se llaman igual en origen y destino 4. Combinando capilares de tipo fórmula con manuales 5. Asumiendo que la tabla destino es igual que la de origen 6. Capilares automáticos de campos con el mismo identificador 7. Combinando capilares automáticos, fórmula y manuales ¿Cómo se implementa en mi solución? Ejemplo de uso Consideraciones a tener en cuenta Pol. Ind. A Granxa, Edificio vCenter Rúa D, esquina paralela 3 36400 Porriño (Pontevedra) España Telf. (+34) 902 02 02 61 [email protected] velneo.es Velneo, S.A. C.I.F. A36494706 Inscrita en el Reg Mercantil de Pontevedra al tomo 3085, Libro 3085, Folio 90, Hoja PO37578, Inscr 1ª

Transcript of Velneo. Tubos de ficha y lista JavaScriptdl.velneo.com/es/productos/v7/openapps/documentos/... ·...

Page 1: Velneo. Tubos de ficha y lista JavaScriptdl.velneo.com/es/productos/v7/openapps/documentos/... · Velneo. Tubos de ficha y lista JavaScript 3.aCapilaresParam: Este parámetro debe

Velneo. Tubos de ficha y lista JavaScript

Velneo. Tubos de ficha y lista JavaScript

Índice

Velneo. Tubos de ficha y lista JavaScriptÍndiceLa función velneoDB.tubo

Los parámetrosEjemplos de tubos de ficha y lista

1. Con capilares especificando campos origen y destino2. Con capilares declarados en la misma línea3. Con capilares de campos que se llaman igual en origen y destino4. Combinando capilares de tipo fórmula con manuales5. Asumiendo que la tabla destino es igual que la de origen6. Capilares automáticos de campos con el mismo identificador7. Combinando capilares automáticos, fórmula y manuales

¿Cómo se implementa en mi solución?Ejemplo de usoConsideraciones a tener en cuenta

Pol. Ind. A Granxa, Edificio vCenterRúa D, esquina paralela 3

36400 Porriño (Pontevedra)España

Telf.  (+34) 902 02 02 [email protected]

velneo.es

Velneo, S.A. C.I.F. A36494706 Inscrita en el Reg Mercantil de Pontevedra al tomo 3085, Libro 3085, Folio 90, Hoja PO­37578, Inscr 1ª

Page 2: Velneo. Tubos de ficha y lista JavaScriptdl.velneo.com/es/productos/v7/openapps/documentos/... · Velneo. Tubos de ficha y lista JavaScript 3.aCapilaresParam: Este parámetro debe

Velneo. Tubos de ficha y lista JavaScript

La función velneoDB.tubo

La función es válida tanto para tubos de ficha como para tubos de lista y reconoceautomáticamente si está recibiendo una ficha o una lista y actúa en consecuencia.

La función retorna una ficha o una lista en función de lo que recibe en el primer parámetro. Sirecibe una ficha retorna la nueva ficha generada (Objeto de clase VRegister) si recibe una listaretornará una lista con los nuevos registros generados (Objeto de la clase VRegisterLst).

Los parámetrosLa función utiliza 3 parámetros. Todos ellos son obligatorios, aunque algunos admiten recibir unavalor nulo o vacío. Son los siguientes:

1. Origen: Objeto de la clave VRegister (ficha o registro) o VRegisterList (lista de registros).Debemos pasar algún registro en ambos casos. Si pasamos una lista, aunque sea de unregistro se devolverá una lista con el nuevo registro generado.

2. szTablaDestinoIdRef: Todas las tablas tienen un “IdRef”, es decir un identificador dereferencia que se forma con la siguiente estructura “Alias/Identificador”, el alias delproyecto y el identificador de la tabla. Si queremos lanzar un tubo para duplicar registros,es decir, que la tabla de origen y destino sea la misma tenemos 2 opciones, una esespecificar explícitamente el idRef y la segunda es dejar el parámetro vacío (“”),comillas­comillas, de esa forma la función se encargará de asumir que la tabla de destinoes la misma que la que tenga el registro o lista de registros de origen.

Pol. Ind. A Granxa, Edificio vCenterRúa D, esquina paralela 336400 Porriño (Pontevedra)España

Telf.  (+34) 902 02 02 [email protected]

Velneo, S.A. C.I.F. A36494706 Inscrita en el Reg Mercantil de Pontevedra al tomo 3085, Libro 3085, Folio 90, Hoja PO­37578, Inscr 1ª

Page 3: Velneo. Tubos de ficha y lista JavaScriptdl.velneo.com/es/productos/v7/openapps/documentos/... · Velneo. Tubos de ficha y lista JavaScript 3.aCapilaresParam: Este parámetro debe

Velneo. Tubos de ficha y lista JavaScript

3. aCapilaresParam: Este parámetro debe ser un array que incluya la lista de los capilaresa traspar entre la tabla de origen y la tabla de destino. Cada capilar es un objeto JSON queconsta de 2 datos: el origen y el destino. Vamos a ver que podemos tener diferentesformas de indicar esta información para ahorrarnos tiempo de programación. Opcionespara pasar capilares:

a. Campo origen y campo destino diferentes: Si los identificadores de los camposde origen y destino son diferentes se utilizará el formato { “origen” :“IdCampoOrigen”, “destino” : “IdCampoDestino” }, siendo IdCampo el identificadordel campo origen y destino respectivamente. No es necesario especificar la #como en la fórmulas V7, simplemente el identificador especificado en la propiedaddel campo, ejemplo “NOMBRE, NAME”.

también se pueden especificar en la misma línea separando cada capilar con unacoma:

b. Campo origen y campo destino iguales: Si los identificadores de los campos deorigen y destino son iguales podemos utilizar la opción anterior repitiendo el mismoidentificador en origen y destino, pero la forma más lógica de hacerlo es laabreviada que consiste en especificar sólo el identificador de origen, ya que el tuboJavaScript ya deduce que si no hay destino asume que el identificador del campodestino es el mismo que el del campo origen.

c. Campos comunes: Si deseamos especificar que de forma automática se pasentodos los campos cuyos identificadores sean igual en la tabla de origen y la tablade destino podemos usar el capilar especial “*” (Asterisco). Este capilar esprocesado por la función que se encarga de leer los campos de ambas tablas ycrear los capilares de aquellos campos cuyo identificador exista en la tabla origeny destino, teniendo en cuenta que sólo se generan capilares de campos quetengan persistencia en disco. No se crean capilares de campos fórmula opunteros sin ocupación en disco. Este tipo de capilar puede combinarse con

Pol. Ind. A Granxa, Edificio vCenterRúa D, esquina paralela 336400 Porriño (Pontevedra)España

Telf.  (+34) 902 02 02 [email protected]

Velneo, S.A. C.I.F. A36494706 Inscrita en el Reg Mercantil de Pontevedra al tomo 3085, Libro 3085, Folio 90, Hoja PO­37578, Inscr 1ª

Page 4: Velneo. Tubos de ficha y lista JavaScriptdl.velneo.com/es/productos/v7/openapps/documentos/... · Velneo. Tubos de ficha y lista JavaScript 3.aCapilaresParam: Este parámetro debe

Velneo. Tubos de ficha y lista JavaScript

cualquiera de los otros. Lo que sí debemos tener en cuenta es el orden, es decir,si ponemos primero este capilar pero luego utilizamos otro capilar manual sobrealguno de los campos que se capilarizaron de forma automática, al pasar losdatos quedará siempre el valor del último capilar ejecutado.

d. Fórmula JavaScript: Es posible pasar como capilar una fórmula JavaScript. Lafunción se encargará de ejecutarla y dejar el cálculo de la función en el campo dedestino. La función y el capilar pueden definirse de 2 formas como vamos a ver acontinuación:

Podemos observar que en la función debemos declarar un parámetro. La funciónque ejecuta el tubo ya se encarga de llamar a esta función y alimentar eseparámetro con el registro de entrada. Una vez finalizados los cálculos debemosretornar el valor calculado.

Modo (A): Función externar al capilar. Es similar a la imagen anterior, es decirdeclaramos una variable que contiene la función y esa variable es la queespecificamos en el capilar de origen. Se corresponde con la línea 71 de lasiguiente imagen.

Modo (B): Función declarada en el capilar. Lo podemos ver en la línea 72 de laimagen anterior. En este caso el destino se especifica igual, pero el origen en lugarde especificar una variable que contiene una función, directamente incluye lafunción. Esta es una forma más rápida de especificar el capilar y es válidasiempre que la función no sea larga o tenga más de una línea, en cuyo caso esrecomendable usar el modo A (externo).

Pol. Ind. A Granxa, Edificio vCenterRúa D, esquina paralela 336400 Porriño (Pontevedra)España

Telf.  (+34) 902 02 02 [email protected]

Velneo, S.A. C.I.F. A36494706 Inscrita en el Reg Mercantil de Pontevedra al tomo 3085, Libro 3085, Folio 90, Hoja PO­37578, Inscr 1ª

Page 5: Velneo. Tubos de ficha y lista JavaScriptdl.velneo.com/es/productos/v7/openapps/documentos/... · Velneo. Tubos de ficha y lista JavaScript 3.aCapilaresParam: Este parámetro debe

Velneo. Tubos de ficha y lista JavaScript

Pol. Ind. A Granxa, Edificio vCenterRúa D, esquina paralela 336400 Porriño (Pontevedra)España

Telf.  (+34) 902 02 02 [email protected]

Velneo, S.A. C.I.F. A36494706 Inscrita en el Reg Mercantil de Pontevedra al tomo 3085, Libro 3085, Folio 90, Hoja PO­37578, Inscr 1ª

Page 6: Velneo. Tubos de ficha y lista JavaScriptdl.velneo.com/es/productos/v7/openapps/documentos/... · Velneo. Tubos de ficha y lista JavaScript 3.aCapilaresParam: Este parámetro debe

Velneo. Tubos de ficha y lista JavaScript

Ejemplos de tubos de ficha y lista

1. Con capilares especificando campos origen y destino

Los nombre de las variables como aCapilares, listaRetorno o fichaRetorno pueden sersustituidos por cualquier identificador que desee utilizar el programador.

En todos los ejemplos se incluye un ejemplo de ejecución de tubo de ficha y tubo de lista quecomo se puede apreciar se declaran exactamente igual salvo por el tipo del primer parámetro.

A modo de ejemplo se pone theRegisterListIn y theRegisterIn que se corresponden con el origendel proceso, pero también podrían ser cualquier objeto de la clase VRegisterList o VRegisterrespectivamente.

2. Con capilares declarados en la misma línea

Lógicamente, se pueden especificar en la misma línea capilares de cualquier tipo, automáticosde campos comunes, funciones, igual identificador de campo origen que destino y combinados.

Pol. Ind. A Granxa, Edificio vCenterRúa D, esquina paralela 336400 Porriño (Pontevedra)España

Telf.  (+34) 902 02 02 [email protected]

Velneo, S.A. C.I.F. A36494706 Inscrita en el Reg Mercantil de Pontevedra al tomo 3085, Libro 3085, Folio 90, Hoja PO­37578, Inscr 1ª

Page 7: Velneo. Tubos de ficha y lista JavaScriptdl.velneo.com/es/productos/v7/openapps/documentos/... · Velneo. Tubos de ficha y lista JavaScript 3.aCapilaresParam: Este parámetro debe

Velneo. Tubos de ficha y lista JavaScript

3. Con capilares de campos que se llaman igual en origen y destino

Este mismo también se consigue con el capilar automático “*”, pero en alguna ocasión puedeinteresarnos ponerlo directamente si se trata sólo de un campo.

En los ejemplos se especifican los capilares línea a línea y no todos en la misma línea parafacilitar su lectura.

Pol. Ind. A Granxa, Edificio vCenterRúa D, esquina paralela 336400 Porriño (Pontevedra)España

Telf.  (+34) 902 02 02 [email protected]

Velneo, S.A. C.I.F. A36494706 Inscrita en el Reg Mercantil de Pontevedra al tomo 3085, Libro 3085, Folio 90, Hoja PO­37578, Inscr 1ª

Page 8: Velneo. Tubos de ficha y lista JavaScriptdl.velneo.com/es/productos/v7/openapps/documentos/... · Velneo. Tubos de ficha y lista JavaScript 3.aCapilaresParam: Este parámetro debe

Velneo. Tubos de ficha y lista JavaScript

4. Combinando capilares de tipo fórmula con manuales

5. Asumiendo que la tabla destino es igual que la de origen

Pol. Ind. A Granxa, Edificio vCenterRúa D, esquina paralela 336400 Porriño (Pontevedra)España

Telf.  (+34) 902 02 02 [email protected]

Velneo, S.A. C.I.F. A36494706 Inscrita en el Reg Mercantil de Pontevedra al tomo 3085, Libro 3085, Folio 90, Hoja PO­37578, Inscr 1ª

Page 9: Velneo. Tubos de ficha y lista JavaScriptdl.velneo.com/es/productos/v7/openapps/documentos/... · Velneo. Tubos de ficha y lista JavaScript 3.aCapilaresParam: Este parámetro debe

Velneo. Tubos de ficha y lista JavaScript

6. Capilares automáticos de campos con el mismo identificador

7. Combinando capilares automáticos, fórmula y manuales

Pol. Ind. A Granxa, Edificio vCenterRúa D, esquina paralela 336400 Porriño (Pontevedra)España

Telf.  (+34) 902 02 02 [email protected]

Velneo, S.A. C.I.F. A36494706 Inscrita en el Reg Mercantil de Pontevedra al tomo 3085, Libro 3085, Folio 90, Hoja PO­37578, Inscr 1ª

Page 10: Velneo. Tubos de ficha y lista JavaScriptdl.velneo.com/es/productos/v7/openapps/documentos/... · Velneo. Tubos de ficha y lista JavaScript 3.aCapilaresParam: Este parámetro debe

Velneo. Tubos de ficha y lista JavaScript

¿Cómo se implementa en mi solución?Existen 2 forma sencillas de implementar los tubos de ficha y lista JavaScript en nuestrassoluciones:

1. Heredar la solución vBase (a partir de su versión 2.5)2. Instalar el JavaScript en uno de mis proyectos

En ambos casos una vez instalado el fichero JavaScript que contiene la función de tubo yapodremos usarlo desde nuestros scripts. En función de donde lo tengamos instalado noscambiará simplemente la senda del include a efectuar.

En vBase la función está en una fichero JavaScript velneoDB.js dentro de la carpeta databaseque a su vez es una subcarpeta de la principal js.

En tu solución puedes importarla donde te interese. Es recomendable instalarlo en un proyectoque se encuentre lo más bajo posible dentro dentro del árbol de herencia.

Utilizando la opción importar fichero script (menú contextual del árbol de scripts) añadiremos anuestro proyecto el fichero velneoDB.js.

Pol. Ind. A Granxa, Edificio vCenterRúa D, esquina paralela 336400 Porriño (Pontevedra)España

Telf.  (+34) 902 02 02 [email protected]

Velneo, S.A. C.I.F. A36494706 Inscrita en el Reg Mercantil de Pontevedra al tomo 3085, Libro 3085, Folio 90, Hoja PO­37578, Inscr 1ª

Page 11: Velneo. Tubos de ficha y lista JavaScriptdl.velneo.com/es/productos/v7/openapps/documentos/... · Velneo. Tubos de ficha y lista JavaScript 3.aCapilaresParam: Este parámetro debe

Velneo. Tubos de ficha y lista JavaScript

Ejemplo de uso

Una vez instalado podremos hacer uso de la función desde cualquier proceso o fórmulaJavaScript de nuestra aplicación. A continuación vemos un ejemplo de uso:

Los procesos JavaScript requieren que se cree un fichero de script que contendrá el códigoJavaScript que vemos en la imagen superior.

Pol. Ind. A Granxa, Edificio vCenterRúa D, esquina paralela 336400 Porriño (Pontevedra)España

Telf.  (+34) 902 02 02 [email protected]

Velneo, S.A. C.I.F. A36494706 Inscrita en el Reg Mercantil de Pontevedra al tomo 3085, Libro 3085, Folio 90, Hoja PO­37578, Inscr 1ª

Page 12: Velneo. Tubos de ficha y lista JavaScriptdl.velneo.com/es/productos/v7/openapps/documentos/... · Velneo. Tubos de ficha y lista JavaScript 3.aCapilaresParam: Este parámetro debe

Velneo. Tubos de ficha y lista JavaScript

Este proceso JavaScript tiene declaradas las tablas de entrada y salida para poderposteriormente gestionar los registros creados por el tubo, así como el fichero de script queveíamos previamente.

Si queremos usar este proceso JavaScript en tercer plano para conseguir un gran rendimiento,simplemente debemos crear un proceso V7 que lo ejecute.

Pol. Ind. A Granxa, Edificio vCenterRúa D, esquina paralela 336400 Porriño (Pontevedra)España

Telf.  (+34) 902 02 02 [email protected]

Velneo, S.A. C.I.F. A36494706 Inscrita en el Reg Mercantil de Pontevedra al tomo 3085, Libro 3085, Folio 90, Hoja PO­37578, Inscr 1ª

Page 13: Velneo. Tubos de ficha y lista JavaScriptdl.velneo.com/es/productos/v7/openapps/documentos/... · Velneo. Tubos de ficha y lista JavaScript 3.aCapilaresParam: Este parámetro debe

Velneo. Tubos de ficha y lista JavaScript

Lógicamente este proceso podría tener configurados las mismas propiedades a nivel de tablaasociada (entrada) y tabla destino (salida)

Pol. Ind. A Granxa, Edificio vCenterRúa D, esquina paralela 336400 Porriño (Pontevedra)España

Telf.  (+34) 902 02 02 [email protected]

Velneo, S.A. C.I.F. A36494706 Inscrita en el Reg Mercantil de Pontevedra al tomo 3085, Libro 3085, Folio 90, Hoja PO­37578, Inscr 1ª

Page 14: Velneo. Tubos de ficha y lista JavaScriptdl.velneo.com/es/productos/v7/openapps/documentos/... · Velneo. Tubos de ficha y lista JavaScript 3.aCapilaresParam: Este parámetro debe

Velneo. Tubos de ficha y lista JavaScript

Consideraciones a tener en cuentaEn esta primera versión existe 2 tipos de campos cuyos valores no pueden ser traspasadosdesde la tabla origen a destino. Son los campos de tipo objeto dibujo y objeto binario. El campoobjeto binario no dispone aún de funciones fieldTo y setField en el API para poder hacer eltraspaso. El objeto dibujo sí dispone de funciones pero debido a un bug existente en Qt que estáreportado y a la espera de resolución, aún no están operativas.

Pol. Ind. A Granxa, Edificio vCenterRúa D, esquina paralela 336400 Porriño (Pontevedra)España

Telf.  (+34) 902 02 02 [email protected]

Velneo, S.A. C.I.F. A36494706 Inscrita en el Reg Mercantil de Pontevedra al tomo 3085, Libro 3085, Folio 90, Hoja PO­37578, Inscr 1ª