Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al...

59
José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Capitulo VIII Procesos y funciones Para la confección de este capítulo se ha utilizado la versión 7.2.1.8377 de vDevelop y teniendo esto en cuenta, es posible (casi seguro), que hay diferencias entre este asistente y el que pueda estar utilizando actualmente, ya que Velneo hace públicas las nuevas versiones cada 4 meses. ¿Que son y para que sirven los procesos? Un proceso es una lista de sentencias o instrucciones que se ejecutan en orden secuencial y que nos permiten realizar tareas completas con la base de datos, tareas que no son posible realizarlas desde la propia Caja de datos, en la misma estructura de tablas. Como todos los objetos en V7, los procesos tienen una Entrada y una Salida. La Entrada puede ser de tipo Ficha, Lista o Sin origen y la Salida dependerá del resultado del proceso. En esta ocasión creo que es más útil que veas el V.T. Antes de comenzar a leer todas las sentencias disponibles para los procesos y utilices la información que se detalla a continuación para hacerte una idea de las posibilidades que tienen V.T. Los procesos V.T. Las funciones de usuario Página 1

Transcript of Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al...

Page 1: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Capitulo VIIIProcesos y funciones

Para la confección de este capítulo se ha utilizado la versión 7.2.1.8377 de vDevelopy teniendo esto en cuenta, es posible (casi seguro), que hay diferencias entre esteasistente y el que pueda estar utilizando actualmente, ya que Velneo hace públicaslas nuevas versiones cada 4 meses.

¿Que son y para que sirven los procesos?

Un proceso es una lista de sentencias o instrucciones que se ejecutan en orden secuencial yque nos permiten realizar tareas completas con la base de datos, tareas que no son posiblerealizarlas desde la propia Caja de datos, en la misma estructura de tablas.

Como todos los objetos en V7, los procesos tienen una Entrada y una Salida. La Entradapuede ser de tipo Ficha, Lista o Sin origen y la Salida dependerá del resultado del proceso.

En esta ocasión creo que es más útil que veas el V.T. Antes de comenzar a leertodas las sentencias disponibles para los procesos y utilices la información que sedetalla a continuación para hacerte una idea de las posibilidades que tienen

• V.T. Los procesos• V.T. Las funciones de usuario

Página 1

Page 2: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

8.1. Procesos y funciones

Antes de comenzar a explicar las diferentes sentencias que vamos a poder utilizar en losprocesos y funciones, creo que se hace necesario escribir unas lineas indicando el modo deoperar con el editor de procesos que nos muestra la siguiente apariencia:

En la barra superior del editor, tenemos las opciones necesarias para agregar, insertar (enAzul) o eliminar lineas (en Rojo) en los procesos (en la parte izquierda), para comentar (enVerde) y a la derecha los botones para expandir y contraer las ramas/bifurcaciones delproceso que se esta editando

Los iconos de la barra superior en edición de procesos, se enumeran como sigue:

– La linea azul inferior, permite añadir lineas al final del proceso– La linea azul media, permite insertar lineas en la posición actual– La linea roja media, se utiliza para eliminar lineas del proceso (voy a aclarar que

si borramos una linea de un proceso también se eliminan todas las lineas quecuelgan de la linea eliminada)

– La linea verde media, permite comentar las lineas de proceso. Las lineascomentadas son omitidas en ejecución.

– Expandir todo el árbol, – Contraer todo el árbol, – Expandir rama, – Contraer rama, – Seleccionar todo, marca todas las lineas para poder realizar operaciones como

Cortar / Copiar

Página 2

Page 3: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Al momento de escribir estas lineas debo indicar que hecho en faltaúnicamente entre estas opciones, las correspondientes a Retroceder(Deshacer) y Avanzar (Rehacer).

En la parte inferior, tenemos la instrucción de la linea que estamos editando en cadamomento y que podemos modificar escribiendo sobre el Edit de la Instrucción. Ademas,sobre el edit se nos muestra en todo momento cual es el origen de la linea editada

Si pulsamos sobre la flecha azul del panel inferior, situada junto al Edit de la sentencia,podemos desplegar un cuadro con la lista de sentencias que podemos utilizar en losprocesos.

Y podemos seleccionar la sentencia desde el propio cuadro y recuperarla pulsando el botónACEPTAR.

Ahora que ya conocemos el editor de procesos, vamos a ver aquí un resumen con todas lasinstrucciones propias de procesos:

Página 3

Page 4: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Aunque se han descrito en este apartado, todas las instrucciones correspondientes a losprocesos en Velneo, no he pretendido en ningún momento convertir este libro en un manualde referencia. Para conocer mas detalles sobre las siguientes instrucciones, debe dirigirse almanual oficial de la aplicación. En este libro nos vamos ha centrar mas en explicar algunosejemplos de forma detallada, viendo el funcionamiento de cada instrucción dentro de unproceso real.

Antes de comenzar a explicar las instrucciones de procesos, debo aclarar también, que laforma de programar los procesos es exactamente la misma, ya se trate de Procesos en lascajas de datos o de aplicaciones, de Eventos de tabla o triggers, o de Eventos en losformularios, ya que todos se programan de la misma forma.

En el margen superior derecho de cada sentencia, podemos observar cual es el origen de lasentencia y cual es el destino.

Origen: Cualquiera / Ficha / Lista – Destino: Ninguno / Ficha / Lista

Esto es importante por varias razones:

– Si el origen no es el apropiado, las sentencias no estarán activas en el editor deprocesos

– Dependiendo del origen y del destino de un proceso, podremos utilizarlo a la hora delanzar acciones o encadenar objetos dentro de una misma acción.

Página 4

Page 5: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

API de Velneo

Velneo 7.0.0.7181

Origen: Cualquiera – Destino: NingunoAPIVEL: Get nombre de campo por identificador

Devuelve la descripción del campo, pasándole como parámetro en identificador(#CODIGO) del mismo.

APIVEL Campo nombre por identificador -> , CODIGO, retornoLa variable local ‘retorno’ devolverá: Código.

Origen: Cualquiera – Destino: NingunoAPIVEL: Get nombre de campo por número

Devuelve la descripción del campo, pasándole el número de posición que ocupa en latabla. Los campos se numeran siempre a partir de 0.

Origen: Ficha – Destino: NingunoAPIVEL: Get campo por número

Obtiene el contenido de un campo identificado por el numero de posición que ocupaen la tabla.

Origen: Cualquiera – Destino: NingunoAPIVEL: Get número de campo por identificador

Devuelve el numero del campo que le pasamos como identificador.

APIVEL: Get número de camposDevuelve el numero de campos de la tabla que le pasamos como identificador.

Página 5

Page 6: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Origen: Ficha – Destino: NingunoAPIVEL: Modificar campo por número

Permite modificar el contenido de un campo por medio de su identificador numérico.

Página 6

Page 7: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Arrays

Velneo 7.0.0.7181

Origen: Cualquiera – Destino: NingunoArray: Eliminar todos

Elimina todos los elementos de un array.

Origen: Cualquiera – Destino: NingunoArray: Eliminar item

Elimina un item del array.

Origen: Cualquiera – Destino: NingunoArray: Get tamaño

Obtiene el numero de elementos que forman un Array.

Origen: Cualquiera – Destino: NingunoArray: Insertar item

Inserta un ITEM dentro del array declarado.

Origen: Cualquiera – Destino: NingunoArray: Ordenar

Permite ordenar alfabéticamente todos los elementos de un array. Todas lassentencias de ordenación de Arrays, se pueden utilizar para ordenar de formaAscendente o Descendente.

Origen: Cualquiera – Destino: NingunoArray: Set

Permite asignar un valor a elemento del array.

Página 7

Page 8: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Bases de datos externas

Velneo 7.2.1.8377

Origen: Cualquiera – Destino: NingunoBD: Conectar

Establece una conexión con una base de datos externa.

Origen: Cualquiera – Destino: NingunoBD: Finalizar recorrer lista sin procesar más filas

Permite interrumpir un bucle generado para la lectura de registros en una base dedatos externa.

Origen: Cualquiera – Destino: NingunoBD: Get dato de columna por nombre

Devuelve el contenido de una columna cuyo nombre le indicamos en el parámetro.

Origen: Cualquiera – Destino: NingunoBD: Get dato de columna por número

Esta sentencia es similar a la anterior, pero el parámetro indicado para obtener elcontenido, es el número de la columna.

Origen: Cualquiera – Destino: NingunoBD: Get nombre de columna por número

Como su nombre indica, nos devuelve el nombre de la columna que indicamos en elparámetro.

Origen: Cualquiera – Destino: NingunoBD: Get numero de columnas

Permite conocer el número de columnas obtenidas tras la ejecución de una consultaen la base de datos.

Origen: Cualquiera – Destino: NingunoBD: Recorrer lista

Esta sentencia permite recorrer todos los registros de una lista, como resultado de laejecución de una consulta en la base de datos.

Página 8

Page 9: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Origen: Cualquiera – Destino: NingunoBD: Crear manejador

Crea un manejador “handle” para poder usarlo con el resto de las sentencias debases de datos externas.Al crear el manejador, debemos indicar cual es el driver utilizado para dicha conexióny actualmente podemos establecer: ODBC, PostgreSQL y SQLite.

Origen: Cualquiera – Destino: NingunoBD: SQL

Ejecuta una sentencia SQL y si procede, devuelve las filas afectadas por la sentencia

Página 9

Page 10: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Básicas

Los iconos te permitirán identificar fácilmente el tipo de sentencia que corresponde acada linea de un proceso. En esta imagen podemos ver los iconos mas frecuentesen cualquier proceso ya que corresponden a las instrucciones de flujo del proceso.

Velneo 7.0.0.7181

Origen: Cualquiera – Destino: NingunoLibre

Línea vacía, no se procesa.

Origen: Cualquiera – Destino: El mismo del origenFor

Bucle o repetición de todas las sentencias anidadas en su interior. Entre losparámetros que debemos indicar en esta sentencia, están un Identificador de variablelocal, un valor inicia o formula para el valor inicial, una condición para que continúe lasiguiente repetición, y un valor a incrementar para cada repetición que se produzca.

Origen: Cualquiera – Destino: NingunoRem

Línea de comentario, no se procesa. En cualquiera de los ejemplos anteriores, semuestra el uso de esta sentencia. Permite al programador, realizar anotaciones pararecordar o explicar el uso de las sentencias de un proceso a quien pueda necesitarloposteriormente.

Página 10

Page 11: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Origen: Cualquiera – Destino: El mismo del origenIf

Sentencia condicional. Todas las instrucciones anidadas en esta sentencia seejecutan cuando la condición es verdadera Condición=True

Origen: Cualquiera – Destino: El mismo del origenElse

En esta instrucción se ejecutaran todas las sentencias anidadas cuando la condicióndel IF previo, sea falsa Condición=False

Origen: Cualquiera – Destino: El mismo del origenElse if

Esta sentencia permite crear condiciones múltiples, siempre precedida de IF comocondición inicial a verificar.

Origen: Cualquiera – Destino: NingunoMensaje

Muestra un mensaje en la pantalla. El mensaje puede ser una simple cadena de textoo el resultado de una expresión del tipo Formula Alfabética.

Página 11

Page 12: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Para los mas experimentados, y teniendo en cuenta que B_OK es una variable localde tipo “booleano”, la sentencia anterior correcta sería If( B_OK ), no siendonecesario indicar “= 1” pero, puesto que el resultado es exactamente el mismo, hequerido ser un poco mas expresivo para los que se inician en el desarrollo con estaherramienta.

Origen: Cualquiera – Destino: NingunoModificar variable global

Modifica el valor de una variable global.

Fijate en el ejemplo, y el uso que hace de la sentencia para modificar los valores delas variables globales que serán utilizados posteriormente en la búsqueda.

Origen: Cualquiera – Destino: NingunoPedir dato

Muestra una ventana con un mensaje y espera la entrada de datos por parte delusuario.

Al ser una sentencia que necesita intervención por parte del usuario, esrecomendable tener en cuenta que no debe ser utilizada en procesos que seanejecutados directamente por el servidor.

Origen: Cualquiera – Destino: El mismo del origenRecorrer buffer

Se utiliza esta sentencia para recorrer todos los caracteres de una cadena, uno auno.

Origen: Cualquiera – Destino: NingunoSet

Permite definir ó asignar un valor a una variable local.

Mira el ejemplo para ver como asignamos el contenido de los campos#CLIENTE y #FECHA a las variables locales ID_CLIENTE y FCH-ALBARAN.

Página 12

Page 13: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Velneo 7.2.1.8377

Origen: Cualquiera – Destino: El mismo del origenPregunta

Muestra una venta con el texto correspondiente a la pregunta y los botones “SI” y“NO” y espera a una respuesta por parte del usuario.

Página 13

Page 14: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Proyectos de datos

Velneo 7.0.0.7181

Origen: Cualquiera – Destino: NingunoRegenerar índices de todas las tablas

Como su nombre indica, reconstruye los índices de todas las tablas.

Origen: Cualquiera – Destino: NingunoRegenerar índices del contenedor

Realiza la misma operación, pero con los índices del contenedor de objetos.

Origen: Cualquiera – Destino: NingunoRegenerar índices de la tabla

Regenera los índices de una sola tabla.

Página 14

Page 15: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Cestas

Fijate en la imagen y podrás observar como algunas de las sentencias están activasy otras no. Durante la generación de un proceso, solo podrás utilizar aquellassentencias cuyo origen corresponda con el origen de la sentencia que estés editandoen ese momento, evitando así errores en la programación. Ej., si el origen de la lineaque estas editando es Ficha, se desactivaran automáticamente todas las sentenciascuyo origen sea Lista.

Velneo 7.0.0.7181

Origen: Ficha – Destino: NingunoCesta: Agregar ficha

Esta sentencia es de origen FICHA, y agrega la ficha actual a una cesta

Origen: Lista – Destino: NingunoCesta: Agregar lista

Esta sentencia se de origen LISTA, y agrega todos los registros a la cesta.

Origen: Cualquiera – Destino: NingunoCesta: Crear cesta local

Crea una cesta local, que solo podrá ser utilizada durante la ejecución del proceso.

Origen: Ficha – Destino: NingunoCesta: ¿Está la ficha en la cesta?

Comprueba si la ficha actual esta en la cesta.

Origen: Cualquiera – Destino: NingunoCesta: Limpiar

Limpia la cesta, quitando de ésta, todos los registros que tenga en ese momento.En el ejemplo siguiente, podemos ver como nos aseguramos de que la cesta estevacía, para comenzar un nuevo proceso de facturación.

Página 15

Page 16: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Origen: Cualquiera – Destino: ListaCesta: Procesar

Carga todos los registro de la cesta para poder procesarlos. Independientemente delorigen, el destino es una lista con los registro de la cesta.

Origen: Ficha – Destino: NingunoCesta: Quitar ficha

Quita la ficha seleccionada de la cesta.

Origen: Lista – Destino: NingunoCesta: Quitar lista

Es de origen LISTA, y quita de la cesta todos los registros de la lista actual.

Origen: Lista – Destino: NingunoCesta: Cruzar lista

Cruza los registros de la lista actual con los registros existentes en cesta. Y comoresultado, la cesta contendrá solo aquellos registros que coinciden en las dos listas.

Velneo 7.2.1.8377

Origen: Lista – Destino: NingunoCesta: Enviar mensaje

Con esta sentencia podemos enviar un mensaje a la barra de tareas de una cestausada como DOCK de un MARCO.

Velneo 7.4.0.8985

Origen: Lista – Destino: NingunoCesta: Añadir a la lista en curso

Con ...

Origen: Lista – Destino: NingunoCesta: Quitar de la lista en curso

Con ...

Origen: Lista – Destino: NingunoCesta: Cruzar la lista en curso

Con ...

Página 16

Page 17: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Ejemplo de utilización de una cesta, comprobando y quitando todos los registros que no tienendirección:

Cesta: Procesar -> MAILINGRecorrer lista If -> fCampoVacio ( #DIRECCION ) Cesta: quitar ficha -> MAILING

Página 17

Page 18: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Configuración del sistema

Velneo 7.0.0.7181

Origen: Cualquiera – Destino: NingunoConfiguración del sistema: Eliminar entrada

Permite eliminar una entrada del fichero de configuración del sistema

Origen: Cualquiera – Destino: NingunoConfiguración del sistema: Leer número entero

Permite leer un valor numérico de una entrada del fichero de configuración delsistema

Origen: Cualquiera – Destino: NingunoConfiguración del sistema: Leer cadena de texto

Lee una cadena de una entrada del fichero de configuración del sistema

Origen: Cualquiera – Destino: NingunoConfiguración del sistema: Escribir número entero

Permite escribir un valor numérico en una entrada del fichero de configuración delsistema

Origen: Cualquiera – Destino: NingunoConfiguración del sistema: Escribir cadena de texto

Nueva ……………………….

* Este grupo (llamado anteriormente Registro de Windows) ha cambiado su nombre por tratarse de unaherramienta multiplataforma.

Página 18

Page 19: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Ejecución

Velneo 7.0.0.7181

Cerrar instanciaCierra una instancia de una aplicación en ejecución.

Cerrar ventanaCierra la ventana activa en ese momento (Formulario, Rejilla, Menú, etc... )

Página 19

Page 20: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Ficha y campos

Velneo 7.0.0.7181

Origen: Cualquiera – Destino: FichaAlta de ficha

Crea una ficha en una tabla. Esta sentencia sustituye a la anterior ALTA DIRECTA.Esta sentencia se utiliza normalmente en combinación con la sentencia Prepararficha. La sentencia Alta de ficha, si que genera transacción. Además, en estemomento ya podemos recuperar cualquier dato del registro creado, como el%CODIGO, para poder utilizarlo en cualquier otra tabla como enlace.

Al tener separado en esta nueva versión, la preparación de la ficha de la creación dela misma, podemos optimizar mas aun el código, pudiendo cancelar o condicionar elAlta, si fuera necesario.

Origen: Ficha – Destino: Ficha maestraAlta de ficha de maestro con formulario

Esta sentencia, realiza un alta en la tabla declarada como maestra y muestra unformulario de petición de datos. La ejecución del proceso no continua hasta que elusuario cierra el formulario. Debemos tener cuidado de no utilizar estas sentenciascuando los procesos se ejecutan en 3er plano.

Origen: Ficha – Destino: NingunoComprobar formula dinámica

Comprueba si la formula dinámica que ha escrito el usuario es correcta ó no.

Origen: Ficha – Destino: Ninguno¿Ya existe en el índice?

Comprueba si existe la clave actual en el índice de clave única especificado. Y comoresultado retorna un valor True (1) ó False (0).

Origen: Ficha – Destino: Ninguno¿Ya existe en alguno de sus índices de clave única?

Comprueba si la ficha actual existe en alguno de los índices de clave única de latabla.

Origen: Ficha – Destino: NingunoExportar binario

Permite almacenar en disco el contenido de un campo objeto de tipo binario.

Página 20

Page 21: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Exportar binario -> FICHERO, d + “\\Archivos\\” + #ID-FICHERO, bOkIf -> !‘bOk’

Mensaje -> “No se ha podido exportar el fichero”, 5

Origen: Ficha – Destino: NingunoExportar dibujo

Permite guardar en disco un objeto de tipo dibujo y así poder utilizarlo con otrasaplicaciones externas.

Origen: Ficha – Destino: NingunoExportar texto

Permite exportar cualquier campo de tipo alfabético, objeto texto o el contenido deuna formula alfabética y guardarlo en un fichero de texto en disco.

Origen: Ficha – Destino: NingunoGet campo

Esta instrucción devuelve el contenido de un campo sin evaluar la fórmula quecontenga. Es útil por ejemplo para obtener por proceso la fórmula especificada por unusuario en un campo del tipo fórmula dinámica.

Origen: Ficha – Destino: Ninguno¿Ha cambiado el campo?

Comprueba si el campo indicado de la ficha actual ha sufrido alguna modificación.Retorna un valor True (1) ó False (0).

Origen: Ficha – Destino: Ninguno¿Ha cambiado la ficha?

Comprueba si alguno de los campos de la ficha actual, ha sido modificado. Retornaun valor True (1) ó False (0).

Origen: Ficha – Destino: NingunoImportar binario

Permite almacenar dentro de un objeto binario, cualquier tipo de archivo.

Origen: Ficha – Destino: NingunoImportar dibujo

Con esta instrucción podemos importar cualquier imagen del disco y almacenarladentro de un objeto de tipo dibujo.

Origen: Ficha – Destino: NingunoImportar texto

Permite importar el contenido de un objeto de texto y almacenarlo en un campoalfabético o en un objeto texto.

Origen: Ficha – Destino: Ficha maestraLeer ficha de maestro

Con origen ficha, permite leer la ficha de un maestro enlazado a la tabla actual. Eldestino sigue siendo de FICHA. La ficha es abierta en modo de solo lectura, por loque no podremos realizar modificaciones en ella.

Página 21

Page 22: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Origen: Ficha – Destino: NingunoLimpiar campo objeto

Elimina el contenido de un campo objeto de la ficha actual, lo deja vacío.

Origen: Ficha – Destino: NingunoModificar campo

Modifica el contenido de un campo.Si queremos vaciar el contenido de un campo alfabético le asignaremos el valor “”, ypara vaciar un campo numérico podemos asignarle “” ó 0.

Aquí tenemos un ejemplo del uso de la sentencia MODIFICAR CAMPO para signarlos valores y crear un nuevo registro, el primer parámetro de esta sentencia es elCampo a modificar, y el segundo, la expresión que permite calcular el valor aintroducir, en este caso es una variable local.

Origen: Ficha – Destino: Ficha maestraModificar ficha de maestro

Es igual que LEER FICHA DE MAESTRO, pero la ficha es abierta en modo deLectura/Escritura, y por tanto podemos modificar campos en su interior.

Origen: Ficha – Destino: NingunoPedir formulario

Muestra un formulario de entrada de datos para una ficha de la tabla actual.

Origen: Ficha – Destino: NingunoCrear copia de ficha en memoria

Esta sentencia permite crear una copia de la ficha actual en memoria,permitiéndonos así modificar sus datos sin que esto afecte a la ficha original.Ademas, si al finalizar necesitamos guardar la nueva ficha generada,podemos hacerlo con la sentencia ALTA DE FICHA()

Origen: Cualquiera – Destino: FichaCrear nueva ficha en memoria

Permite definir y trabajar con los campos de una ficha antes de proceder al Alta deficha o ejecutar la sentencia Tubo de ficha. Esta sentencia equivale al PRE del ALTADIRECTA de las versiones 6.x y anteriores, aunque, a diferencia de ella, Crearnueva ficha en memoria no genera transacción. Ademas, entre otras cosas,también podemos comprobar si existe la ficha por alguno de sus indices de claveúnica, antes de proceder a generar el registro en la base de datos.

Página 22

Page 23: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Mira en este ejemplo como Crear nueva ficha en memoria( ) es utilizada paraasignar los valores a los campos, pero la transacción no se realiza hasta que leprocesa la sentencia Alta de ficha( )

Origen: Cualquiera – Destino: FichaProcesar ficha en memoria

Permite procesar una ficha de manera local al proceso que la utiliza, estoquiere decir que la ficha será eliminada al finalizar el proceso. Esta fichadebe haber sido creada previamente mediante las sentencias CREARNUEVA FICHA EN MEMORIA o CREAR COPIA D EFICHA EN MEMORIA.Para poder guardar el contenido de esta ficha, debemos utilizar el comandoALTA DE FICHA()

Origen: Ficha – Destino: NingunoGet atributos de dibujo

Con esta sentencia, podemos conocer los atributos de una imagen guardadaen un campo de tipo Objeto Dibujo. Para ello necesitamos pasarle elindicador del campo #DIBUJO del que queremos saber los atributos y lasvariables donde nos retornara el ancho (X) y el alto (Y) en pixels de laimagen y también el tamaño en bytes de la imagen.

Origen: Ficha – Destino: NingunoEditor de dibujos

Abre el editor de dibujos de Velneo para editar la imagen contenida en elcampo #DIBUJO.

Al finalizar la edición del dibujo, debemos Aceptar la venta de edición paraque los cambios sean guardados en la ficha. Tambien debemos tener encuenta que para que los cambios sean guardados, la ficha debe estar abiertaen modo lectura/escritura, ya sea con la sentencia MODIFICAR FICHASELECCIONADA o también mediante RECORRER LISTALECTURA/ESCRITURA.

Página 23

Page 24: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Ficheros y directorios

Velneo 7.0.0.7181

Origen: Cualquiera – Destino: NingunoCambiar directorio por defecto

Permite establecer la senda o carpeta por defecto que se utilizara para la instancia dela aplicación en ejecución.

Origen: Cualquiera – Destino: NingunoCopiar fichero

Realiza una copia de un fichero en disco.

Origen: Cualquiera – Destino: NingunoCrear directorio

Crea una carpeta en el disco, según la ruta (path) indicada o en la ruta actual pordefecto.

Origen: Cualquiera – Destino: NingunoEliminar directorio

Elimina una carpeta del disco según la senda que indicamos como parámetro. Parapoder eliminar la carpeta, debe estar completamente vacía.

Origen: Cualquiera – Destino: NingunoRenombrar directorio

Permite cambiar el nombre a una carpeta del disco.

Origen: Cualquiera – Destino: NingunoEliminar fichero de disco

Como su nombre indica, elimina un fichero del disco.

Origen: Cualquiera – Destino: NingunoRenombrar o mover fichero

Con esta sentencia, podemos cambiar el nombre a un fichero del disco y/o moverlo aotra carpeta diferencie si es necesario. Si la senda de origen y la senda de destinoson iguales, únicamente cambiamos el nombre al fichero. Pero, si las sendas deorigen y destino son diferentes, el fichero sera movido a otra carpeta.

Origen: Cualquiera – Destino: Ninguno¿Existe fichero?

Comprueba si existe el fichero que le pasamos como parámetro. Retorna un valorTrue (1) ó False (0).

Origen: Cualquiera – Destino: El mismo del origenFichero: Abrir

Abre un fichero de texto para grabar o leer datos.

Página 24

Page 25: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

En este ejemplo, podemos ver el uso de varias de las sentencias de este apartado, ycomo construir un proceso para leer un fichero de texto para incorporar los registros auna tabla.En el proceso podemos observar como, tras localizar el archivo, lo abrimos Fichero:Abrir( ) en modo Solo-Lectura, y mediante un bucle y la sentencia Fichero: Leerlinea( ) para procesar cada una de las lineas del fichero, creamos los registros en latabla de destino.

Origen: Cualquiera – Destino: El mismo del origenFichero: Grabar línea

Graba una línea de texto dentro de un fichero abierto en modo lectura/escritura.

Origen: Cualquiera – Destino: El mismo del origenFichero: Leer línea

Lee una línea de un fichero de texto.

Origen: Cualquiera – Destino: NingunoGet atributos del fichero

Nos muestra los atributos básicos de un fichero.

Origen: Cualquiera – Destino: NingunoGet permisos del fichero

Nueva ……………………….

Origen: Cualquiera – Destino: NingunoSet permisos del fichero

Nueva ……………………….

Página 25

Page 26: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Origen: Cualquiera – Destino: NingunoGet accesibilidad del fichero

Nueva ……………………….

Origen: Cualquiera – Destino: NingunoGet propiedades del fichero

Nueva ……………………….

Origen: Cualquiera – Destino: NingunoRecorrer directorio

Recorre todos los elementos de una carpeta, y genera un subproceso para cadaelemento retornando la senda completa de cada elemento.

Origen: Cualquiera – Destino: NingunoVentana de selección de fichero

Presenta en pantalla una ventana de dialogo para que el usuario pueda elegir unfichero, y devuelve la senda completa del fichero seleccionado.

Origen: Cualquiera – Destino: NingunoVentana de selección de directorio

Presenta en pantalla una ventana de dialogo con la senda por defecto, para que elusuario pueda elegir una nueva carpeta.

Página 26

Page 27: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Internet

Velneo 7.0.0.7181

Origen: Cualquiera – Destino: NingunoGet fichero de URL

Descarga un fichero de una URL y lo guarda en disco. Para ello necesitamos indicarla URL de origen del fichero a descargar y la Senda de destino para guardar la copiadel fichero.

Internet: ConectarNueva ……………………….

Internet: DesconectarNueva ……………………….

Internet: Get estado conexiónNueva ……………………….

Página 27

Page 28: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Listas

Velneo 7.0.0.7181

Origen: Lista – Destino: NingunoCortar lista

Como su nombre indica, corta una lista de X registros, dando como resultado unalista de igual o menor tamaño que la lista original. El primer registro de la listaresultante sera el indicado por 'nInicial' y 'nRegs' nos indica el nº máximo de registrosque tendrá la lista resultante.

Cargar lista -> ARTICULOS, CODIGO, , , , , Cortar lista, nPosicionIni, nRegsAñadir lista a la salida

Entre las posibilidades que nos permite esta sentencia, puede estar la opción depoder paginar listas de registros.

Origen: Lista – Destino: NingunoFiltrar lista

Permite establecer condiciones para filtrar los registros que cumplen las condicionesestablecidas. El resultado es una lista con los registros que cumplen las condiciones.

Cargar lista -> ALBARANES , CLIENTESFiltrado de lista -> (#EJERCICIO=2009) & ( ! #FACTURADO )Añadir lista a la salida

Recuerdo que es preferible utilizar las búsquedas, ya que estas utilizan los índices, ylos filtros son ejecutados de forma secuencial, y por tanto, mas lentos y consumenmás recursos del sistema.

Página 28

Page 29: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Origen: Lista – Destino: NingunoInvertir lista

Invierte el orden de los registros de la lista actual. En una lista que estuvieraordenada alfabéticamente de la A a la Z, el resultado seria una lista ordenada de la Za la A.

Este ejemplo nos muestra como INVERTIR LISTA se usa para cargar la listade clientes alfabéticamente (A - Z) y cambiar el orden (de la Z a la A) antesde retornar la lista resultante.

Origen: Lista – Destino: ListaMultipartir lista

Divide una lista en multitud de listas con todos los registros que tienen en común elcampo utilizado para partir la lista. Previamente a utilizar ésta instrucción, la listadebe estar ordenada por el campo que vamos a utilizar para partirla.

En el ejemplo podemos ver parte de un proceso que calcula un balance, ypara ello ordena la lista de registros previa y hace uso de la sentenciaMULTIPARTIR( ) para poder calcular el resultado de cada una de lasCuentas por separado.

Origen: Lista – Destino: NingunoOrdenar lista

Ordena una lista por los campos indicados. Hay que decir, que la ordenación seproduce secuencialmente, por lo que es mas lenta que si utilizamos una búsqueda.

Puedes observar el ejemplo anterior para ver como ésta sentencia ordena losregistros de una lista por cualquiera de sus campos para luego poder partir la lista porel campo de ordenación.

Página 29

Page 30: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Origen: Lista – Destino: NingunoQuitar ficha de la lista

Como su nombre indica, quita una ficha de la lista actual, pero no elimina el registrode la base de datos. Como resultado, seguiremos teniendo la misma lista pero con unelemento menos.

Origen: Lista – Destino: FichaRecorrer lista eliminando fichas

Elimina todas las fichas de la lista actual, y genera las actualizaciones que seproducen con otras tablas enlazadas.

En este ejemplo podemos observar como, para eliminar las fichas de una lista deregistros, primero debemos eliminar todos sus históricos.

Origen: Lista – Destino: FichaRecorrer lista eliminando fichas sin desactualizar

Elimina todas las fichas de la lista actual, pero en este caso no genera lasactualizaciones correspondientes.

Origen: Lista – Destino: FichaRecorrer lista lectura/escritura

Con origen de lista, recorre todos los registros de la lista en modo de lectura yescritura. El destino es por tanto de ficha, y en el interior, podemos modificarcualquier campo de la ficha actual.

Origen: Lista – Destino: FichaRecorrer lista solo lectura

Tiene la misma funcionalidad que la sentencia anterior, pero no están permitidas lasmodificaciones de campos, solo la lectura de los datos de la ficha actual.

Página 30

Page 31: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

En este ejemplo, utilizamos la sentencia CARGAR PLURALES( ) para cargar todaslas lineas de un albarán, y calcular el importe total del albarán sumando los importesde cada una de sus lineas.

Velneo 7.2.1.8377

Origen: Lista – Destino: NingunoImprimir informe

Lanza un informe, con los registros de la lista actual. Como parámetro, podremosindicar a que impresora lógica enviaremos el informe.

Origen: Lista – Destino: NingunoAñadir ficha a la lista

Permite añadir una ficha a una lista.

Página 31

Page 32: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Listas: ficha seleccionada

Velneo 7.0.0.7181

Origen: Lista – Destino: FichaEliminar la ficha seleccionada

Elimina una ficha de una lista, previamente debemos seleccionar la ficha que se va aeliminar.

Origen: Lista – Destino: FichaEliminar la ficha seleccionada sin desactualizar

Hace exactamente lo mismo que la sentencia anterior, pero no ejecuta lasactualizaciones al eliminar la ficha.

Origen: Lista – Destino: FichaLeer ficha seleccionada

Lee una ficha de una lista, pero debemos seleccionar la ficha previamente. La fichase abre en modo de solo lectura, por lo que no podemos hacer modificaciones enella.

Origen: Lista – Destino: FichaModificar ficha seleccionada

Es igual a la sentencia anterior pero en este caso, si podemos realizar medicacionesen los campos de la ficha.

Origen: Lista – Destino: NingunoModificar dicha seleccionada con formulario

Sentencia igual a la anterior, pero además permite mostrar un formulario para realizarlas modificaciones a través de la consola.

Origen: Lista – Destino: NingunoSeleccionar ficha de la lista

Permite seleccionar un registro de una tabla como si se tratase de un localizador, ypara ello solo tenemos que indicar la rejilla que será utilizada para visualizar elcontenido de la lista de registros y una variable booleana para el retorno del OK (si seha seleccionado ficha o no).

A diferencia del LOCALIZADOR, aquí podemos utilizar como origen de la lista amostrar el resultado de una búsqueda o una lista obtenida por navegación demaestros y plurales.

Página 32

Page 33: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Origen: Lista – Destino: NingunoSeleccionar ficha por posición

Permite seleccionar una ficha por la posición que ocupa según la ordenación actual.Puedes ver el uso de esta sentencia en el ejemplo anterior, correspondiente a lasentencia Leer ficha seleccionada.

Aquí tenemos un ejemplo un poco mas elaborado, para ver el uso de lassentencias SELECCIONAR FICHA POR POSICION( ) y LEER FICHASELECCIONADA. En este caso se trata de un proceso para buscar el preciode un articulo en una tarifa de precios, de este modo nos aseguramos que seutiliza el primero de los registros encontrados (en caso de que exista más deuno).

Además, cada vez debemos un complicando un poco más los ejemplos, perosolo cuando sea necesario.

Página 33

Page 34: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Navegante y búsquedas

Velneo 7.0.0.7181

Origen: Cualquiera – Destino: ListaBúsqueda

Ejecuta una búsqueda y el resultado es siempre una lista de registros de la tabla a laque corresponde la búsqueda. El origen de la búsqueda puede ser cualquiera, delista, de ficha, o incluso sin origen, lo importante es el destino.

En este caso el ejemplo es muy sencillo, pero es así de simple, desde un procesolanzamos una BUSQUEDA( ), y el resultado lo retornamos para procesarlo medianteotro objeto, aunque también podríamos quitar la sentencia AÑADIR LISTA A LASALIDA y escribir las sentencias necesarias para procesar la lista resultante.

Origen: Cualquiera – Destino: ListaCargar lista

Al igual que la anterior, independientemente de cual sea el origen de la sentencia, eldestino será siempre una lista con todos los registros de la tabla indicada, ordenadospor el índice correspondiente. Podremos utilizar formulas o expresiones paracondicionar el resultado de la consulta por el indice indicado, utilizando hasta 4condiciones y siempre en el mismo orden que los componentes del indice

Con la sentencia CARGAR LISTA( ), y mirando el ejemplo obtenemos elmismo resultado que en el ejemplo de la búsqueda, pero la búsqueda esmucho más eficiente cuando se trata de combinar indices para obtener elresultado deseado.

Origen: Lista – Destino: Lista maestraCargar maestros

Con origen en una lista de registros, carga los registros de una tabla enlazada comomaestra de la tabla actual. Así pues, el resultado es una lista de registros.

Página 34

Page 35: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Origen: Ficha / Lista – Destino: ListaCargar plurales

Con origen de ficha ó lista, carga los registros de uno de los históricos de la tablaactual. El retorno, siempre sera una lista de registros correspondiente a la tablahistórica.

Un ejemplo de cargar plurales es este, desde una Ficha de factura, cargamos laslineas de venta y retornamos el resultado. Este tipo de proceso es usado muyfrecuentemente en los formularios para mostrar los registros de una tabla históricamediante un Control Objeto.

Origen: Cualquiera – Destino: FichaLocalizador

Muestra un localizador para elegir una ficha de forma manual por el usuario.

Página 35

Page 36: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Objetos

Velneo 7.3.0.8651

Origen: Cualquiera – Destino: NingunoCrear manejador de objetos

Esta ...

Origen: Cualquiera – Destino: NingunoDisparar objeto

Esta ...

Origen: Cualquiera – Destino: NingunoGet variable local de objeto

Esta ...

Origen: Cualquiera – Destino: NingunoSet variable local de objeto

Esta ...

Origen: Cualquiera – Destino: NingunoAñadir ficha al objeto

Esta ...

Origen: Cualquiera – Destino: NingunoAñadir lista al objeto

Esta ...

Página 36

Page 37: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Procesos

Velneo 7.0.0.7181

Origen: Cualquiera – Destino: NingunoDeshacer transacción

Esta sentencia deshace todas las transacciones realizadas por el proceso actual ypor todos los subprocesos de este. Por tanto, debemos tener mucho cuidado conesta sentencia.

(Velneo: Si desde un proceso que transacciona disparamos un subproceso yen éste deshacemos transacción, serán deshechas todas las transaccionesrealizadas tanto en el proceso principal como en el subproceso. Si desde unproceso que no transacciona disparamos varios subprocesos quetransaccionan y en uno de ellos deshacemos transacción, solamente serándeshechas la transacciones de ese subproceso, no las del resto.)

Origen: Cualquiera – Destino: El mismo del origen / La salida del procesoEjecutar proceso

Ejecuta un proceso con o sin origen. Si el proceso ejecutado no tiene salida,entonces la salida del proceso sera la misma que el origen de la linea desde dondese ejecuta dicho proceso.

Origen: Cualquiera – Destino: NingunoEsperar

Genera una pausa por el tiempo expresado en milisegundos. Con esta sentencia,podemos detener la ejecución del proceso, durante el tiempo indicado.

Origen: Cualquiera – Destino: NingunoFinalizar proceso

Finaliza un proceso, es decir, las sentencias que haya a partir de esta sentencia, noserán ejecutadas.

Origen: Cualquiera – Destino: NingunoCambiar porcentaje realizado del proceso

Permite modificar el porcentaje de ejecución del proceso mediante una fórmula. Elresultado de la fórmula debe ser >= 0 y <= 100

Origen: Cualquiera – Destino: NingunoCambiar titulo de la transacción

Permite modificar el nombre del proceso en ejecución que aparece en el panel detransacciones de vAdmin y en el panel de procesos en 2º plano de vClient.

Página 37

Page 38: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Origen: Cualquiera – Destino: NingunoForzar transacción

Para que un proceso genere una transacción debe contener algún comando quegenere escritura en disco. Esta sentencia puede ser muy útil para obligar a transaccionar a un proceso, cuandoeste no realiza escritura en disco, pero contiene sentencias que ejecutan otrosprocesos que si transaccionan.

De esta forma, evitamos que todas las transacciones generadas por los subprocesos,se reduzcan a una única transacción para el proceso actual.

Página 38

Page 39: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Protocolo TCP

Velneo 7.3.0.8651

Origen: Cualquiera – Destino: NingunoProtocolo TCP: Ejecutar funcion cliente

Esta ...

Origen: Cualquiera – Destino: NingunoProtocolo TCP: Enviar buffer

Esta ...

Origen: Cualquiera – Destino: NingunoProtocolo TCP: Enviar fichero

Esta ...

Origen: Cualquiera – Destino: NingunoProtocolo TCP: Enviar linea

Esta ...

Origen: Cualquiera – Destino: NingunoProtocolo TCP: Iniciar servicio

Esta ...

Origen: Cualquiera – Destino: NingunoProtocolo TCP: Recibir fichero

Esta ...

Origen: Cualquiera – Destino: NingunoProtocolo TCP: Recibir linea

Esta ...

Origen: Cualquiera – Destino: NingunoProtocolo TCP: Recibir hasta carácter marca

Esta ...

Origen: Cualquiera – Destino: NingunoProtocolo TCP: ¿Esta iniciado el servicio?

Esta ...

Origen: Cualquiera – Destino: NingunoProtocolo TCP: Terminar servicio

Esta ...

Origen: Cualquiera – Destino: NingunoProtocolo TCP: Terminar todos los servicios

Esta ...

Página 39

Page 40: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Origen: Cualquiera – Destino: NingunoProtocolo TCP: Enviar byte

Esta ...

Origen: Cualquiera – Destino: NingunoProtocolo TCP: Recibir byte

Esta ...

Origen: Cualquiera – Destino: NingunoProtocolo TCP: Enviar entero 16 bits

Esta ...

Origen: Cualquiera – Destino: NingunoProtocolo TCP: Recibir entero 16 bits

Esta ...

Origen: Cualquiera – Destino: NingunoProtocolo TCP: Enviar entero 32 bits

Esta ...

Origen: Cualquiera – Destino: NingunoProtocolo TCP: Recibir entero 32 bits

Esta ...

Velneo 7.4.0.8985

Origen: Cualquiera – Destino: NingunoProtocolo TCP: Enviar entero 64 bits

Esta ...

Origen: Cualquiera – Destino: NingunoProtocolo TCP: Recibir entero 64 bits

Esta ...

Página 40

Page 41: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Retornos

Velneo 7.0.0.7181

Origen: Ficha – Destino: NingunoAñadir ficha a la salida

Tiene origen de ficha y permite mostrar un formulario con los datos del registroactual.

Origen: Lista – Destino: NingunoAñadir lista a la salida

Tiene origen de lista, y permite mostrar una rejilla con los registros de la lista.

Origen: Cualquiera – Destino: NingunoSet dato de retorno del proceso

Esta sentencia permite enviar un valor de retorno desde un proceso alproceso el que ha sido llamado.

Cuando desde el PRODESO_1, utilizamos la sentencia EJECUTARPROCESO para llamar al PROCESO_2, este último puede retornar un valoral finalizar su ejecución mediante esta sentencia.

Origen: Cualquiera – Destino: NingunoSet retorno proceso = NO

Cada vez que se ejecuta un proceso, por defecto, retorna el valor True (1) comoretorno a su ejecución. Con esta sentencia podemos cambiar el valor, y devolverFalse (0) indicando que el proceso no se ha finalizado correctamente.

Página 41

Page 42: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

SDV

Velneo 7.0.0.7181

Origen: Cualquiera – Destino: NingunoSDV: Actualizar fichero en local

Esta sentencia, compara los ficheros de origen y de destino y actualiza el archivo deorigen si existe alguna diferencia entre ellos. El valor de retorno de esta sentenciaindica si el fichero ha sido importado ó no.

Origen: Cualquiera – Destino: El mismo del origenSDV: Conectar

Esta nueva sentencia en v7, permite establecer una conexión y autentificar el usuarioy la clave de acceso del usuario que se conecta. Una vez establecida la conexión,podemos realizar tantas operaciones con el servidor como sean necesarias

Origen: Cualquiera – Destino: NingunoSDV: Eliminar fichero en el servidor

Esta sentencia elimina un fichero del servidor de disco de Velneo. Es importante quenos aseguremos de pasarle el nombre del fichero a eliminar, ya que si le pasamos elparámetro vacío, se eliminaría la carpeta completa con todos los documentos quecontenga.

Origen: Cualquiera – Destino: NingunoSDV: Subir fichero al servidor (Exportar fichero)

Exporta un fichero a un servidor de disco de Velneo.

Fijaos que en la ruta de acceso al servidor la barra utilizada es “/” y secomienza la cadena sin barras.

Origen: Cualquiera – Destino: NingunoSDV: Descargar fichero a local (Importar fichero)

Página 42

Page 43: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Permite importar un fichero a un servidor de disco de Velneo.

En el ejemplo anterior, podemos ver como en la primera sentencia deImportar fichero, se utiliza el parámetro “C:\\Copia\\Fich-1.dat” y en la segundasentencia se utiliza el parámetro “C:/Copia/Fich-2.dat” , y es porque en lossistemas Windows esta permitido el uso de los dos formatos para indicar unasenda de acceso a un fichero. Si utilizamos el 2º formato, V7 realiza laconversión de la cadena al sistema Windows, de forma automática. Noobstante, aconsejamos utilizar siempre la 2ª forma, ya que es valida paracualquiera de los sistemas operativos permitidos por V7.

Origen: Cualquiera – Destino: NingunoSDV: Renombrar o mover fichero en el servidor

Esta instrucción, permite cambiar el nombre a un fichero del servidor de disco deVelneo.

* Las funciones SDV son validas únicamente para la versión cliente/servidor.

Página 43

Page 44: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Origen: Cualquiera – Destino: NingunoSDV: Get atributos del fichero en el servidor

Esta sentencia nos devuelve los atributos del fichero cuya Senda le pasamos comoparámetro.

Entre los atributos del fichero retornados esta:• Fecha de la última modificación del fichero• Hora de la última modificación del fichero• Tamaño en bytes del fichero• Indica si la senda es un directorio: true (1) / false(0)• y por ultimo retorna true (1) / false(0) si se ha podido realizar la operación.

Página 44

Page 45: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Seguridad

Velneo 7.1.0.7728

Origen: Cualquiera – Destino: NingunoReducir nivel de privilegio del usuario en esta ejecución

Esta ...

Página 45

Page 46: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Sistema

Velneo 7.0.0.7181

Origen: Cualquiera – Destino: NingunoEjecutar comando del sistema

Ejecuta un comando o aplicación del sistema operativo que tengamos instalado en elequipo. Debemos tener cuidado con esta sentencia, ya que la nueva versión esmultiplataforma.

Origen: Cualquiera – Destino: NingunoEjecutar documento

Ejecuta un documento, siempre que este tenga asociado una aplicación para editar elarchivo.

Origen: Cualquiera – Destino: NingunoEmitir sonido

Emite un pitido por el altavoz del sistema.

Origen: Cualquiera – Destino: NingunoGet estado de la memoria física del sistema

Nueva ……………….

Origen: Cualquiera – Destino: NingunoLanzar aplicación

Ejecuta una aplicación externa.

Origen: Cualquiera – Destino: NingunoReproducir sonido

Reproduce un archivo de sonido con extensión multimedia.

Origen: Cualquiera – Destino: NingunoSet fecha y hora del sistema

No funciona actualmente ...

Página 46

Page 47: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Velneo 7.4.0.8985

Origen: Cualquiera – Destino: NingunoSalir de la aplicacion

Esta ...

Página 47

Page 48: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Tubos

Velneo 7.0.0.7181

Origen: Ficha – Destino: FichaTubo de ficha

Tiene origen de ficha y genera un tubo para copiar registros de una tabla a otra,indicando los campos que se copiaran de forma automática y permitiendo indicar elcontenido de otros campos, por medio de valores fijos o fórmulas.

Origen: Lista – Destino: ListaTubo de lista

Ejecuta un tubo de lista. Es decir, genera tantos registros en la tabla de destino comoregistros existen en la tabla de origen. Solo los campos introducidos como capilaresson copiados de la tabla de origen a la de destino. El resto de los campos de destino,tendrán el contenido inicial de los mismos o estarán vacíos.

Origen: Lista – Destino: ListaTubo de lista inducido

Funciona de la misma manera que el TUBO DE LISTA, pero en esta ocasión lepodemos pasar como parámetro un registro almacenado en memoria con GUARDARFICHA.

Página 48

Page 49: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Scripts

Velneo 7.0.0.7181

Origen: Cualquiera – Destino: NingunoScript: Crear interprete

Crear un interprete para permitir la ejecución de código ECMAScript (JavaScript,Jscript).

Origen: Cualquiera – Destino: NingunoScript: Set property

Permite crear una variable y asignarle un valor para ser utilizada durante la ejecucióndel Script.

Origen: Cualquiera – Destino: NingunoScript: Evaluar interprete

Evalúa el código de un Script. Al finalizar, retorna el resultado del Script y si seproduce algún error durante la ejecución del mismo, entonces, retorna el código deerror y la descripción en ingles.

Para ello, primero debemos crear el código con la sentencia Script: Crearinterprete y posteriormente definir las variables con Script: Set property.

Que mejor que el propio ejemplo de vScriptRunner del Catalogo de aplicaciones deVelneo para mostrar el uso de las sentencias de Script en un proceso

El proceso tiene como origen un registro/ficha.

Página 49

Page 50: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

En primer lugar, vemos como se Crea el interprete y le asignamos un manejador(Handle).A continuación se cargan las variables del Script, que están en una tabla histórica dela actual, y mediante Set property, les asignamos un valor.Por último, Evaluamos el interprete cuyo código está almacenado en una campodel registro actual y mostramos un mensaje con el resultado de la ejecución.

Página 50

Page 51: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Interfaz

Las sentencias de Interfaz permiten trabajar con subobjetos y solo puedenser lanzadas desde los eventos correspondientes a los propios objetos.

Velneo 7.0.0.7181

Origen: Cualquiera – Destino: NingunoInterfaz: Mostrar objeto

Permite visualizar un control (subobjeto) perteneciente al objeto desde donde seejecuta el evento.

Origen: Cualquiera – Destino: NingunoInterfaz: Ocultar objeto

Oculta un control (subobjeto) perteneciente al objeto desde donde se ejecuta elevento.

Origen: Cualquiera – Destino: NingunoInterfaz: Activar control

Permite activar un subobjeto desde el evento.

Origen: Cualquiera – Destino: NingunoInterfaz: Desactivar objeto

Permite desactivar un subobjeto desde el evento.

Origen: Cualquiera – Destino: NingunoInterfaz: Activar foco objeto

Asigna el foco del subobjeto indicado.

Origen: Cualquiera – Destino: NingunoInterfaz: Set paleta

Permite asignar una de las paletas de colores declaradas en la caja de la aplicación oen una caja heredada.

Origen: Cualquiera – Destino: NingunoInterfaz: Set fuente

Con esta sentencia podemos aplicar una de las fuentes instalada en la caja deaplicación o en las cajas heredadas.

Origen: Cualquiera – Destino: NingunoInterfaz: Quitar foco

Permite quitar el foco a un subjeto.

Página 51

Page 52: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Origen: Cualquiera – Destino: NingunoInterfaz: ¿Esta activo?

Esta sentencia nos permite conocer el estado (activo / no activo) de un subobjeto. Elretorno de esta sentencia es True / False ( 0/1 ).

Origen: Cualquiera – Destino: NingunoInterfaz: ¿Es visible?

Esta sentencia nos permite conocer el estado (visible / oculto) de un subobjeto. Elretorno de esta sentencia es True / False ( 0/1 ).

Origen: Cualquiera – Destino: NingunoInterfaz: ¿Tiene foco?

Esta sentencia nos permite conocer si un subobjeto tiene el foco en este momento. Elretorno de esta sentencia es True / False ( 0/1 ).

Origen: Cualquiera – Destino: NingunoInterfaz: Recalcula control

Nos permite actualizar o refrescar el contenido de un Control de tipo objeto.

Origen: Cualquiera – Destino: NingunoInterfaz: Procesar control

Permite acceder a los datos de un Control de tipo objeto para procesarlos (leer,modificar o borrar).

Origen: Cualquiera – Destino: NingunoInterfaz: Aceptar

Esta sentencia simula la pulsación del botón Aceptar, guardando los datos de la fichaactiva y cerrando el formulario.

Origen: Cualquiera – Destino: NingunoInterfaz: Cancelar

Esta sentencia simula la pulsación del botón Cancelar, cerrando el formulario singuardar los cambios.

Origen: Cualquiera – Destino: NingunoInterfaz: Activar subcontrol

Permite activar un subcontrol y es especial y exclusivo para los subobjetos Separadorde formularios, Caja de formularios y Pila de formularios

Origen: Cualquiera – Destino: NingunoInterfaz: ¿Esta activo el subcontrol?

Permite conocer el estado de los subobjetos de la sentencia anterior, Es validaúnicamente para Separador de formularios, Caja de formularios y Pila de formularios

Página 52

Page 53: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Velneo 7.2.1.8377

Origen: Cualquiera – Destino: NingunoInterfaz: Set hoja de estilo CSS

Esta sentencia permite asignar la hoja de estilo para cambiar el aspecto visual de unobjeto.

Origen: Cualquiera – Destino: FichaInterfaz: Formulario alta

Nueva...

Origen: Cualquiera – Destino: FichaInterfaz: Formulario baja

Nueva...

Origen: Cualquiera – Destino: FichaInterfaz: Formulario modificación

Nueva...

Velneo 7.4.0.8985

Origen: Cualquiera – Destino: NingunoInterfaz: activar subcontrol

Esta ...

Origen: Cualquiera – Destino: NingunoInterfaz: obtener multi-seleccion

Esta ...

Origen: Cualquiera – Destino: NingunoInterfaz: liminar multi-seleccion

Esta ...

Origen: Cualquiera – Destino: NingunoInterfaz: añadir ficha a multi-seleccion

Esta ...

Origen: Cualquiera – Destino: NingunoInterfaz: quitar ficha de multi-seleccion

Esta ...

Origen: Cualquiera – Destino: NingunoInterfaz: ejecutar otro evento-slot

Esta ...

Página 53

Page 54: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Objetos

Origen: Cualquiera – Destino: NingunoCrear manejador de objeto

Es …......

Disparar objetoEs …......

Get variable local de objetoEs …......

Set variable local de objetoEs …......

Añadir ficha al objetoEs …......

Añadir lista al objetoEs …......

Página 54

Page 55: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Puerto serie

Velneo 7.2.1.8377

Origen: Cualquiera – Destino: NingunoPuerto serie: Configurar dispositivo

Esta sentencia permite al usuario final, cambiar la configuración de un dispositivo.

Origen: Cualquiera – Destino: NingunoPuerto serie: Abrir

Abre un puerto serie para establecer la comunicación con un dispositivo.

Origen: Cualquiera – Destino: NingunoPuerto serie: Enviar

Permite enviar un dato a un dispositivo conectado al puerto serie.

Origen: Cualquiera – Destino: NingunoPuerto serie: Recibir

Permite recibir un dato de un dispositivo conectado al puerto serie

Origen: Cualquiera – Destino: NingunoPuerto serie: Cerrar

Cierra la conexión establecida con un dispositivo conectado al puerto serie.

Página 55

Page 56: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Ahora que ha tenido la oportunidad de ver todas las operaciones que puede realizar desdeprocesos, creo que lo mejor que podemos hacer para que empiece a entender todas estasinstrucciones es ver algunos ejemplos del uso de las mismas.

Para crear procesos con Velneo hay un concepto tan básico como importante, para que elresultado final sea el requerido. Hablamos de Origen y Destino, o dicho de otra forma,¿donde estamos? y ¿dónde queremos llegar?

Así es, el origen nos indica el punto de partida del proceso y por tanto un proceso puedetener su origen en:

- una ficha (o registro de una tabla de datos)- una lista (o conjunto de registros de una tabla de datos)- sin origen (cuando no se refiere a ninguna tabla de datos en concreto)

y el destino nos indica cual será el resultado y que podemos hacer. Si miramos el ejemplo nº1 vemos como el origen del proceso debe ser Una ficha de la tabla Cabecera de albaranes,y el destino es Una lista de la tabla Líneas de albaranes. En el proceso que muestra esteejemplo, queremos, partiendo de un albarán en concreto, cargar sus líneas para imprimir uninforme con el documento completo.

Otra cuestión a tener en cuenta, es que cuando hablamos de Ficha, es incuestionable quenos referimos a un solo registro de una tabla de datos, pero cuando hablamos de Lista, nosiempre nos referimos a varios registros, el resultado de una consulta, puede serperfectamente una lista de 1 solo registro, especialmente cuando realizamos la consulta porel indice “CODIGO” y este es de “Clave Única”.

Así que, empecemos a desarrollar los primeros procesos con Velneo v7 vDevelop.

Trabajar con un entorno tan avanzado y más cuando se ha programado en otros lenguajes,obliga a cambiar el chip, es decir, debemos pensar en la programación de forma másnatural, adaptando el programa a la empresa y no adaptando la empresa al programa.

Si ha leído la lista de instrucciones de procesos, y ya conocía Velneo de la versión anterior,vera algunos cambios que podrían despistarle, los Históricos han pasado a llamarse Pluralesde forma que, donde antes indicábamos Cargar históricos, ahora es Cargar plurales.

Página 56

Page 57: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Ejemplo nº 1 de procesos

Vamos a escribir un proceso muy sencillo para imprimir un documento

Cargar lista , ALBARANES , CODIGO , %CODIGOImprimir informe -> NOMBRE-INFORME , IMPRESORA-LÓGICA

Este proceso tan sencillo, escrito en un objeto proceso y con origen en la tabla decabecera de albaran, permite cargar las líneas de un albaran por el código de la fichaactual y envía un informe a una impresora lógica.

Ejemplo nº 2 de procesos

He insistido varias veces en los conceptos mas importantes de la aplicación, y amenudo quizá vuelva a insistir en datos explicados en otro capítulos, Pero elpropósito de este libro, es que aprenda a utilizar bien la herramienta, y por tanto,repasaremos los conceptos básicos cuantas veces haga falta.

Para este 2º ejercicio, queremos que desde la ficha de un cliente (desde suformulario de edición), ver que artículos que le hemos vendido durante el ultimo año.

El origen es pues, la ficha del Cliente, y el proceso a realizar:

Cargar plurales ALBARANESFiltrado de lista -> (#FECHA > ( addDays( $Caja@FCH-INI , -1 )) & (#FECHA <

( addDays( $Caja@FCH-FIN , 1 ))Cargar plurales LINEAS-DE-ALBARANES

Cargar maestros ARTICULOSAñadir retorno REJILLA-DE-ARTICULOS

Si este proceso lo analizamos sobre el esquema de las tablas, vemos claramenteque para llegar desde clientes a artículos, el camino correcto es el indicado en elproceso. En la segunda línea del proceso, he incluido un filtro, que nos permitiría versolo los artículos vendidos durante un periodo determinado por las fechas$Caja@FCH-INI y $Caja@FCH-FIN.

Si nos fijamos en esa misma línea, en la expresión(#FECHA > ( addDays( $Caja@FCH-INI , -1 ))

parece incorrecta o cuanto menos, complicada, pero con esto conseguimos suplir lacarencia del operador (>=) “mayor o igual que”. Podemos distinguir que en estaformula hemos utilizado la comparación de un campo #FECHA con una variableglobal $Caja@FCH-INI.

El origen en este proceso es de FICHA en la tabla de Clientes y el destino es deLISTA en la tabla de Artículos.

Página 57

Page 58: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Ahora que ya sabemos programar procesos con Velneo, es importante que sepamostambién cual es la diferencia que existe entre los distintos tipos de procesos según suejecución:

- Procesos en 1er plano- Procesos en 2º plano- Procesos en 3er plano- Procesos en 4º plano (demonios – proceso sin origen)

Procesos en 1er planoSon ejecutados en el cliente. Durante su ejecución, el usuario debe esperar a quefinalice el proceso para poder continuar con la ejecución de la aplicación.

Procesos en 2º plano (multitarea)Son ejecutados en el cliente. En este caso, el usuario no tiene que esperar a quetermine la ejecución del proceso, puede continuar ejecutando la aplicación aunque elproceso no haya terminado de ejecutarse.

Procesos en 3er planoSon ejecutados en el servidor y pueden ser lanzados desde:

a) Un proceso en primer plano ejecutado desde vClient.b) Un proceso en segundo plano ejecutado desde vClient.

También son procesos en tercer plano:

a) Los que son ejecutados desde páginas HTML de Velneo.b) Los ejecutados como tareas programadas en vAdmin de Velneo. Solamentepodrán dispararse como tarea programada los procesos públicos SIN ORIGEN.

Demonios (procesos en 4º plano)Son procesos sin origen, que se ejecutan siempre en el servidor de forma repetitiva,y con una frecuencia que se indica en milisegundos.

Este tipo de procesos es muy útil para realizar tareas de comprobación de datos deforma automática, ya que al ser ejecutado en el servidor no puede intervenir la manodel usuario en ningún momento.

A pesar de que su programación es exactamente al resto de los procesos, existe unObjeto destinado únicamente a programar demonios.

La frecuencia de ejecución del demonio, se expresa en milisegundos, pero siemprecontando a partir del momento en que finalizó la ejecución anterior, de forma que nopuedan solaparse la ejecución de un demonio con la siguiente ejecución del mismo.

Página 58

Page 59: Capitulo VIII - ascsl.com · José Luis López Delgado* Gestión comercial con Velneo V7.2.1 Al momento de escribir estas lineas debo indicar que hecho en falta únicamente entre

José Luis López Delgado* Gestión comercial con Velneo V7.2.1

Debo aclarar, que los procesos en 3er plano, son ejecutados en el servidor, motivo por elque las Cestas y las Tablas en memoria, se ejecutan en el servidor y podrían estar vacíasdurante la ejecución, lo que al programador, podría dar la sensación de un malfuncionamiento de la aplicación, y por tanto errores sin explicación aparente.

8.2. Las funciones

No debemos confundir este apartado de funciones, que el usuario va a definir, con lasfunciones propias del Asistente de formulas, que ya vimos en un capitulo anterior.

Se trata ahora, de poder definir nuestras propias funciones, y retornar los valores deseados.

Para demostrarlo, vamos a crear nuestra primera función, aunque esta sea muy básica.

Set nSuma , <<SUMA(‘importe1’, ‘importe2’)

Set nResultado , ‘importe1’ + ‘importe2’Set retorno función -> nResultado

He aquí nuestra primera función, tan simple. Hemos creado una función que suma los dosimportes que le pasamos como parámetros en la llamada a la misma. En realidad hemosunido dos partes que aunque están muy relacionadas, en el código de la aplicación, nopueden mezclarse.

- En primer lugar Set nSuma , <<SUMA(‘importe1’, ‘importe2’) es la llamada a lafunción que hemos definido y que utilizaremos normalmente desde un proceso enuna caja de objetos, aunque las funciones también se pueden utilizar comocontenido inicial de campos en las cajas de datos, por ej.

- En segundo lugar,

Set nResultado , ‘importe1’ + ‘importe2’Set retorno función -> nResultado

Hemos escrito las líneas propias para la definición de la función, y que lógicamente,no tendremos que volver a escribir. En tanto que, al definir la función, esta puede serllamada desde donde sea necesaria y las veces que sea necesaria.

INCLUIR ALGUNA IMAGEN DE UNA FUNCIÓN

De esta forma el usuario puede definir sus propias funciones y operar con ellas, delmismo modo que lo hace con las funciones del sistema.

Página 59