Documentación de Velneo
30
30
  • Introducción
  • Velneo
    • Requerimientos de Velneo
    • Notas de la versión
    • Funcionalidades comunes a los componentes de Velneo
      • Instalación
      • Conexión con Velneo vServer
      • Cambiar el estilo de visualización
      • Ver u ocultar barras de herramientas
      • Mensajería interna entre usuarios
      • Soporte de alta resolución (HighDPI)
      • Carpetas de trabajo de los componentes de Velneo
      • Numeración de versiones de Velneo
      • Certificado de firma digital para componentes de Windows
    • Tipos de archivo generados por Velneo
    • Velneo Web
      • Plataformas y navegadores compatibles
      • Acceso a recursos del sistema
      • Siempre https
      • Funcionamiento de vatp por websocket
      • CORS para llamadas xmlhttprequest
  • Velneo vDevelop
    • ¿Qué es Velneo vDevelop?
    • Identificación de usuario
    • Interfaz de Velneo vDevelop
      • Menú Soluciones
      • Menú Proyectos
      • Menú Objetos
      • Menú Scripts
      • Menú Edición
      • Menú Ver
      • Menú Componentes
      • Menú Ayuda
    • Lista de teclas aceleradoras de Velneo vDevelop
    • Soluciones y proyectos
    • Control y edición de proyectos
    • Herencia
    • Inspectores
    • Proyectos objetos y editores
      • Proyecto de datos
      • Proyecto de aplicación
        • Crear CSS para aplicar a objetos en edición
      • Objeto
        • Refactorización automátca
      • Objetos de proyecto de datos
        • Indice complejo
        • Tabla
          • Actualización
          • Campo
          • Enlace
          • Indice
          • Plural
          • Traspaso de campo
          • Trigger
        • Tabla estática
        • Variable
      • Objetos de proyecto de aplicación
        • Acción
        • Alternador de lista
        • Arbol visor de tablas
        • Bloc de formularios
        • Casillero
        • Cesta
        • ComboView
        • Control SVG
        • Dispositivo serie
        • Formulario
          • Controles de visualización
            • Texto estático
            • Nombre de campo
            • Visor HTML
            • Dibujo
            • Imagen SVG
            • Caja de grupo
            • Menú arbolado
            • Barra de progreso
            • Reloj
            • Manómetro
            • Termómetro
          • Controles de edición
            • Caja de texto
            • Caja de texto enriquecido
            • Data catcher edit
            • Edición alfabética
            • Edición fecha
            • Edición fecha/hora
            • Edición fórmula
            • Edición hora
            • Edición numérica
            • Edición senda fichero
            • Edición senda directorio
            • Objeto dibujo
          • Controles de entrada
            • Botón
            • Botón de check
            • Botón de radio
            • Calendario
            • ComboBox
            • Deslizador
            • Dial
            • ListBox
            • Rueda
          • Contenedores
            • Área de scroll
            • Caja de formularios
            • Pila de formularios
            • Separador de formularios
            • Splitter
            • Vista de datos
          • Layout
          • Tree widget
          • Controles SVG
          • Extensión de ficha
        • Formulario QML
        • Gráfico
        • Imagen SVG
        • Impresora lógica
        • Informe
          • Editor de informes
          • Agrupamiento
          • Sección
          • Cálculo
        • Informe personalizable
          • Diseñando un informe personalizable básico
          • Diseño avanzado
          • Diseñando un informe personalizable
          • Añadiendo orígenes de datos
          • Añadiendo elementos al informe
          • Características avanzadas
          • Etiquetas
          • Asistente de scripts
          • Impresión de gráficos
          • Opciones html
        • ListView
        • Lista QML
        • Localizador
        • Marco
        • Menú
        • Multivista
        • Protocolo TCP-IP
        • Reemplazo
        • Rejilla
          • Propiedades de columna de rejilla
        • Rejilla avanzada
          • Propiedades de columna de rejilla avanzada
        • Toolbar
        • ViewFlow
        • Sub-objetos de vistas de datos
          • Conexión de evento
          • Drop
          • Inserción
          • Manejador de evento
      • Objetos comunes a proyecto de datos y de aplicación
        • Búsqueda
        • Cola
        • Constante
        • Dibujo
        • Esquema de tablas
        • Fichero adjunto
        • Función
        • Librería externa
        • Lupa
        • Proceso
          • Indice de comandos de instrucción de proceso
          • Comandos de base de datos
            • API
            • Bases de datos externas
            • Búsquedas
            • Campos (grupo de comandos)
            • Cestas
            • Fichas
            • Fichas seleccionadas
            • Listas
            • Tablas
            • Tubos
          • Básicos
            • Controles de flujo
            • Debug
            • Ejecución
            • Salida/retornos
            • Scripts (grupo de comandos)
            • Transacciones (comandos)
            • Variables
          • Comunicación
            • GPS
            • Internet
            • Protocolo TCP
            • Puerto serie
            • SDV
          • Interfaz
            • Acciones (comandos)
            • Control
              • Ejemplo de CSS
            • Diálogos
            • Formularios - comandos
            • Localizadores
            • Objeto - grupo de comandos
            • Ventana principal
            • Vista de datos - comandos
          • Sistema
            • Comandos de Sistema
            • Configuración
            • Directorios
            • Ficheros
        • Tubo de ficha
        • Tubo de lista
        • Variable local
      • Editores
        • Asistente de fórmulas
          • Operadores
          • Funciones estándar
            • Funciones API
            • Funciones básicas
            • Funciones de cadenas
              • Expresiones regulares
            • Funciones científicas
            • Funciones de Cliente-servidor
            • Funciones de color
            • Funciones de códigos
            • Funciones de directorios
            • Funciones de fechas
            • Funciones de ficha en curso
            • Funciones de horas
            • Funciones JSON
            • Funciones de Internet
            • Funciones de juegos de caracteres
              • Codecs
            • Funciones numéricas
            • Funciones de sistema
            • Funciones de tiempo
            • Funciones trigonométricas
          • Funciones de dll
          • Funciones de proceso
          • Funciones de campo
          • Campos
          • Constantes
          • Variables globales
          • Variables locales
          • Variables del sistema
          • Verificador de fórmulas
          • Conversión automática de datos
          • Introducción de datos literales
          • Secuencias de escape en cadenas de caracteres
          • Composición de sendas en fórmulas
          • Operar con datos de tipo fecha, hora y tiempo
        • Editor de imágenes
        • Selector de fuentes
    • Scripts
      • Lenguajes
        • JavaScript
          • Procesos JavaScript
          • Fórmulas JavaScript
          • Clases
            • Funciones globales
            • Objetos
            • VAbstractBrowser
            • VAbstractDataView
            • VAbstractListDataView
            • VAdvandedGridListDataView
            • VAlternatorListDataView
            • VApp
              • VApp: enumeraciones
              • VApp: ejemplos
            • VBoundFieldComboBox
            • VBoundFieldEdit
            • VBoundFieldEditBrowser
            • VBoundFieldListBox
            • VByteArray
            • VCheckBox
            • VClipboard
            • VClockWidget
            • VComboBox
            • VComboListDataView
            • VCoverFlowListDataView
            • VCWebView
            • VDataCatcherEdit
            • VDataCatcherEditBrowser
            • VDataView
            • VDataViewDialog
            • VDateEdit
            • VDateEditBrowser
            • VDateTimeEdit
            • VDateTimeEditBrowser
            • VDial
            • VDir
              • VDir: enumeraciones
            • VExtension
              • VExtension: enumeraciones
            • VFile
              • VFile: enumeraciones
            • VFileInfo
            • VFilePathEditBrowser
            • VFinder
            • VFont
              • VFont: enumeraciones
            • VFormBlockListDataView
            • VFormDataView
            • VFormulaEditBrowser
            • VGaugeWidget
            • VGPS
            • VGridListDataView
            • VGroupBox
            • VImage
            • VImageEdit
            • VImageWidget
            • VInstancesList
            • VInstance
            • VInstances
            • VItemRegisterPattern
            • VLabel
            • VLineEdit
            • VLineEditBrowser
            • VListBox
            • VListDataView
            • VLogin
            • VMainWindow
              • VMainWindow: enumeraciones
            • VMdiView
            • VMimeData
            • VMultiDataView
            • VNumberSpinBox
            • VNumberSpinBoxBrowser
            • VObjectInfo
              • VObjectInfo: enumeraciones
            • VObjectInstance
            • VProcess
            • VProgressBar
            • VProjectInfo
            • VPushButton
            • VQmlFormDataView
            • VQmlListDataView
            • VQmlListModel
            • VQuery
            • VRadioButton
            • VRegister
            • VRegisterList
            • VReportListDataView
            • VRequest
            • VResponse
            • VRoot
            • VScreen
            • VScrollArea
            • VServerAdmin
            • VSettings
            • VSlider
            • VSlotListDataView
            • VSolutionInfo
            • VSplitter
            • VSqlDatabase
            • VSSLCertificate
            • VSSLInfo
            • VSSLSessionCipher
            • VStackedWidget
            • VSvgButton
            • VSvgSlideSwitch
            • VSvgToggleSwitch
            • VSvgWidget
            • VSysInfo
              • VSysInfo: enumeraciones
            • VTableInfo
              • VTableInfo: enumeraciones
            • VTabWidget
            • VTextEdit
            • VTextFile
            • VThermometerWidget
            • VThumbWheel
            • VTimeEdit
            • VTimeEditBrowser
            • VToolBox
            • VTreeItem
            • VTreeItemRegister
            • VTreeListDataView
            • VTreeMenu
            • VTreeMultiTableListDataView
            • VTreeWidget
            • VUser
            • VUserGroup
            • VUserGroupList
            • VUserList
            • VXmlReader
            • VXmlWriter
            • Widget
            • XMLHttpRequest
        • QML
          • Tipos QML
          • Funciones específicas de QML
    • Depuración
      • Depuración de procesos de Velneo
      • Depuración de procesos JavaScript
      • Monitor de vClient
    • Extensiones de Velneo vDevelop
    • Acceso directo a una solución desde vDevelop
    • Buenas prácticas
      • Buenas prácticas de organización
        • Proyectos
        • Organización de carpetas
        • Proyecto de datos
        • Proyecto de aplicación
      • Buenas prácticas de codificación
        • Identificadores
        • Teclas aceleradoras
        • Documenta
        • Diseña los formularios como si no existiesen los layouts
      • Buenas prácticas de rendimiento
        • Arquitectura
          • Listas de registros
          • Lista de resultados de una búsqueda
          • Las cestas
          • Las variables globales
          • La caché de fichas
          • Programa en cloud
        • Formularios
          • Condiciones de visible y activo
          • Carga de subformularios en pestaña, caja o pila
        • Base de datos
          • Campos
          • Indices
          • Actualizaciones
          • Eventos de tabla o triggers
          • Variables globales y constantes
          • Tablas en memoria vs tablas en disco
          • Optimizar migraciones de datos
          • Búsquedas en el servidor ¿Cuándo y Cómo?
          • Campos fórmula vs campos en disco
          • Indices condicionados vs búsquedas complejas
          • ¿Cuándo usar tablas de extensión?
          • Indices de trozos y palabras
          • ¿Cuándo usar cada tipo de campo alfa?
        • Procesos y funciones y eventos
          • 1º, 2º, 3º y 4º plano ¿Cuándo usar cada uno?
          • Bloqueo blando vs bloqueo duro
          • Pasar información del cliente al servidor
          • ¿Cómo optimizar transacciones grandes?
          • ¿Cómo gestionar las transacciones?
          • Grabaciones optimizadas para el usuario
        • Carga de registros en objetos de lista
          • Rejillas
            • Campos punteros a singular
            • Totales
            • Condiciones de activo, visible y color en columna
            • Campos de tipo objeto
        • Conoce los límites
      • Imágenes
      • Buenas prácticas para el desarrollo en equipo
      • Modo mantenimiento
    • Análisis de bases de datos para aplicaciones de Velneo
      • Un centro de enseñanza
      • Facturas de un cliente
      • Repartos de obras de teatro
      • Galería de arte
      • Gestión de un colegio
      • Instalación de lunas para vehículos
      • Libros y autores
      • Tienda de discos
      • Últimos pedidos de un proveedor
      • Existencias por almacén y precios por cliente
      • Generación de tickets para un quiosco
      • Navegación por facturas
  • Velneo vDevelop Web
  • Velneo vAdmin
    • ¿Qué es Velneo vAdmin?
    • Gestión de usuarios
    • Gestión de aplicaciones
      • Soluciones
      • Instancias
      • Disco
    • Monitorización
      • Lista de comandos
    • Tareas
    • Acceso directo
    • Velneo vAdmin Web
  • Velneo vClient
    • ¿Qué es Velneo vClient?
    • Movilidad
    • Funcionalidades de Velneo vClient
      • Accesos directos y VRL
      • Cambiar idioma
      • Panel de procesos en 2º plano
      • Manejo de rejillas
        • Submenú de filtros
      • Uso de la rejilla avanzada
      • Manejo de cestas
      • Refrescos
      • Caché local
      • Edición de campos enlazados a maestro
      • Edición de campos de tipo fecha
      • Capturar imagen desde una cámara
      • Asignar impresoras lógicas
      • Actualización automática
      • Personalización de la ventana de conexión de Velneo vClient
      • Instalador personalizado de Velneo vClient
      • Ordenación de listas
  • Velneo vServer
    • ¿Qué es Velneo vServer?
    • Instalación y configuración
      • Activación de la licencia
      • Línea de comandos de Velneo vServer
      • Parámetros configurables de Velneo vServer
      • Estructura de directorios
    • Iniciar y detener Velneo vServer
    • Funcionalidades
      • Protocolo VATP
      • Protocolo VATPS
      • Multi-hilo
      • Integridad referencial
      • Refrescos terciarios
      • Sistema transaccional
      • Sistema de bloqueos
      • Tecnología bigkey
      • Hilo de control
    • Mensajes de log de sistema
    • vPacker
  • Velneo vInstallBuilder
    • ¿Qué es Velneo vInstallBuilder?
    • Configurar una instalación
    • Probar una instalación
    • Crear el instalable
    • Accesos directos
  • Velneo vModApache
    • ¿Qué es Velneo vModApache?
    • Instalación y configuración
    • Nomenclatura de objetos en urls
    • Uso de ficheros adjuntos
    • Caché local de Velneo vModApache
  • Velneo vDataClient
    • ¿Qué es Velneo vDataClient?
    • Iniciar Velneo vDataClient
    • Interfaz de Velneo vDataClient
    • Procesos
    • Utilidades
    • Acceso directo a una instancia de datos
    • Velneo vDataClient Web
  • Velneo vTranslator
    • ¿Qué es Velneo vTranslator?
    • Importación y exportación basada en XLIFF
    • Acceso directo a una solución
  • Velneo ODBC Driver
    • ¿Qué es velneo ODBC Driver?
    • Referencia de comandos SQL
  • Velneo vVersion
    • ¿Qué es Velneo vVersion?
  • Velneo vERP
    • ¿Qué es Velneo vERP?
    • Manual del programador
    • Documentación de la ApiRest
    • Novedades de la versión
  • Velneo vTutor
    • ¿Qué es vTutor?
    • Tutores de objetos básicos
      • Tutor de árboles visores de tablas arboladas
      • Tutor de búsquedas
      • Tutor de cestas
      • Tutor de formularios
      • Tutor de informes
      • Tutor de localizador básico
      • Tutor de marcos
      • Tutor de rejillas
      • Tutor de rejillas avanzadas
    • Tutores de objetos avanzados
      • Tutor de alternadores de lista
      • Tutor de comboview
      • Tutor de drag and drop
      • Tutor de eventos
      • Tutor de tablas de extensión y extensiones de ficha
      • Tutor de tubos de ficha y de lista
      • Tutor de grabación de fichas
      • Tutor de gráficos
      • Tutor de impresión de informes
      • Tutor de lupas
      • Tutor de protocolo TCP/IP
      • Tutor de reemplazo
    • Tutores de controles
      • Tutor de botones de menú
      • Tutor de controles SVG
      • Tutor de edición numérica
      • Tutor de visor html dinámico
      • Tutor de vistas de datos de lista
    • Tutores de procesos y manejadores de evento avanzados
      • Tutor de cambio de marco
      • Tutor de comandos de interfaz y acciones
      • Tutor de importación y exportación de ficheros ASCII
      • Tutor de portapapeles
      • Tutor de procesos
      • Tutor de SDV
    • Tutores de scripts
      • QML: hola mundo
      • QML: tutor básico
      • QML: tutor de vistas
      • Tutor de XMLHttpRequest (webServices)
  • Velneo cloud
    • ¿Qué es Velneo Cloud?
    • Panel de control vServer cloud
      • URC
      • vServer
      • Apache
      • SFTP
      • Usuarios
    • Copias de seguridad
    • Velneo cloud API
      • Uso de Velneo cloud API
    • Explorador de archivos cloud sFTP
    • TCP en Velneo cloud
    • Dominios de empresa y certificados
    • Velneo vModApache en cloud
    • SLA
    • Hora de los servidores en el cloud de Velneo
    • ¿Qué puedo hacer si tengo una incidencia en mi servidor cloud?
Con tecnología de GitBook
En esta página
  • Añadir ficha a la lista en curso
  • Calcular fórmula sobre lista
  • Cortar lista
  • Crear o modificar lista desde JSON
  • Exportar informe a fichero
  • Filtrar lista
  • Generar JSON desde lista
  • Imprimir informe
  • Informe personalizable: exportar a fichero
  • Informe personalizable: exportar a fichero de texto
  • Informe personalizable: imprimir informe
  • Informe personalizable: previsualizar informe
  • Invertir lista
  • Multipartir lista
  • Ordenar lista
  • Quitar ficha de la lista
  • Recorrer lista eliminando fichas
  • Recorrer lista eliminando fichas sin desactualizar
  • Recorrer lista lectura/escritura
  • Recorrer lista solo lectura

¿Te fue útil?

  1. Velneo vDevelop
  2. Proyectos objetos y editores
  3. Objetos comunes a proyecto de datos y de aplicación
  4. Proceso
  5. Comandos de base de datos

Listas

Última actualización hace 3 años

¿Te fue útil?

Conjunto de comandos de proceso que permite interactuar con una lista de registros de una .

Este tipo de comandos solamente estarán accesibles en aquellas líneas de proceso cuyo origen sea una lista de de registros de una tabla.

Añadir ficha a la lista en curso

Comando de instrucción del grupo Listas que permite añadir una ficha a la lista en curso.

Origen de la instrucción: lista de la tabla en curso.

Destino del subproceso: ninguno.

Parámetros

Manejador de ficha

Identificador o manejador dado a la ficha mediante la ejecución previa de los comandos Crear nueva ficha en memoria o Crear copia de ficha en memoria.

Funcionalidad

Permite añadir a la lista en curso una ficha local al proceso creada previamente mediante los comandos Crear nueva ficha en memoria o Crear copia de ficha en memoria.

Comentarios

Esta ficha será local al proceso, por lo que será destruida al finalizar el mismo. En el caso de una ficha creada mediante el comando , para que ésta pueda ser añadida a la lista ha de ser guardada en disco previamente, por lo que antes de añadirla a la lista tendremos que guardarla en disco usando el comando , en este comando la ficha será referenciada con el manejador declarado en su parámetro.

Ejemplo

Damos de alta un contacto y lo añadimos a la lista en curso de la rejilla en la vista de datos actual.

Crear nueva ficha en memoria ( alta, CLT_M@ejemplo_dat )
    Modificar campo ( NAME, "Juan Pérez García" )
Alta de ficha ( alta )
    Libre
Interfaz: procesar ( LST, Todas )
    Añadir ficha a la lista ( alta )

Calcular fórmula sobre lista

Comando de instrucción del grupo Listas que, a partir de la fórmula que establezcamos en sus parámetros, permite obtener la suma total, la media, el valor máximo y el valor mínimo.

Origen de la instrucción: lista de la tabla en curso.

Destino del subproceso: ninguno.

Parámetros

Fórmula a calcular

Modo de cálculo

En este parámetro especificaremos qué tipo de cálculo queremos hacer con esa fórmula. Los valores posibles son:

  • Media: obtiene la media aritmética de la fórmula sobre el número total de registros.

  • Máximo: obtiene el valor máximo obtenido.

  • Mínimo: obtiene el valor mínimo obtenido.

  • Suma: obtiene el sumatorio de la fórmula en todos los registros.

Modo de ejecución

Indicaremos dónde queremos que se realice el cálculo:

  • 1º plano: local (síncrono): el cálculo se hará en local.

  • 3er plano: servidor (síncrono):el cálculo se hará en el servidor.

Si se trata de pocos registros el cálculo se podrá hacer en local pero si son muchos registros y, sobe todo ejecutando en cloud, se recomienda hacerlo en tercer plano.

Identificador de variable local numérica de retor

Funcionalidad

A partir de la fórmula que establezcamos en sus parámetros, permite obtener la suma total, la media, el valor máximo y el valor mínimo y guardar el valor obtenido en una variable local.

Comentarios

Este comando ni transacciona ni es bloqueante, con lo cual no habrá ningún problema si se modifica la lista o se ejecutan otros procesos mientras se está realizando el cálculo.

Ejemplo

Ejecutamos una búsqueda y con la lista obtenida calculamos la suma, la media, el máximo y el mínimo:

Rem ( Ejecutamos una búsqueda de facturas y calculamos la suma, la media el máximo y el mínimo facturado )
Búsqueda ( VTA_FAC_G_EMP_ENT_FCH@vERP_2_dat )
    Calcular fórmula sobre la lista ( #TOT_FAC, Suma, 3º plano: servidor (síncrono), SUM )
    Calcular fórmula sobre la lista ( #TOT_FAC, Media, 3º plano: local (síncrono), MED )
    Calcular fórmula sobre la lista ( #TOT_FAC, Máximo, 3º plano: local (síncrono), MAX )
    Calcular fórmula sobre la lista ( #TOT_FAC, Mínimo, 3º plano: local (síncrono), MIN )

Cortar lista

Comando de instrucción del grupo Listas que recorta el número de elementos de una la lista a partir de una posición determinada.

Origen de la instrucción: lista de la tabla en curso.

Destino del subproceso: ninguno.

Parámetros

Fórmula de tamaño

Tamaño o número de elementos de la nueva lista.

Fórmula de posición

Posición a partir de la cual se quiere cortar la lista. La primera posición de la lista será la 1. El número 0 no es un valor válido para este parámetro.

Funcionalidad

Este comando de instrucción recorta el número de elementos de la lista de origen de la línea del proceso al tamaño dado en el primer parámetro desde la posición especificada en el segundo parámetro.

El resto de los elementos no son borrados de la tabla de datos, sólo son quitados de la lista de origen.

Este comando no crea ningún tipo de subproceso, es simplemente un paso que altera el contenido de la lista de origen. La siguiente línea del proceso al mismo nivel que ésta partirá de la lista obtenida.

Comentarios

Obtenemos la lista top 10 de importes de pedidos realizados por los de clientes.

Ejemplo

Limpiamos la rejilla para que no muestre ningún registro.

Cargar lista ( CLT_M@ejemplo_dat, ID, , , ,  )
    Ordenar lista ( #TOT_PED, , , , ,  )
    Cortar lista ( 10, 1 )
    Añadir lista a la salida

Crear o modificar lista desde JSON

Comando de instrucción de proceso que nos permite, o bien modificar, o bien dar de alta una lista de registros en una tabla a partir de un json.

Origen de la instrucción: ninguno.

Destino del subproceso: lista de la tabla de destino.

Parámetros

Fórmula de dato

Tipo de operación

Tipo de operación a realizar en la tabla de destino. Los valores posibles son:

  • Alta o modificación: los registros que no existen lo dará de alta en la tabla, los que existen, los modificará.

  • Solo modificación: los registros del json que existan en la tabla serán modificados, y con los que no existan no hará nada.

Tabla

En este parámetro seleccionaremos la tabla de destino.

Identificador de índice:

Identificador de variable local alfabética de retorno de ok (opcional)

Identificador de variable local booleana de retorno de ok (opcional): variable booleana con la que se devuelve un 1 si se ha podido realizar el alta o modificación, o un 0 si no se ha podido realizar el alta o modificación.

Identificador de variable local alfabética de retorno de mensaje de error (opcional)

Funcionalidad

A partir de un JSON, permite o bien crear nuevosr registros en una tabla, o bien modificar registros existente.

Comentarios

Este comando de instrucción de proceso tiene el fin de facilitarnos el traspaso de información, de registros de tablas, entre aplicaciones. Nos permite duplicar o actualizar información entre aplicaciones o dentro de la propia aplicación, de forma sencilla, con el fin de dotar a nuestras aplicaciones de un sistema sencillo de exportación e importación de información usando JSON.

En el JSON los campos no están ordenados, así que debemos tenerlo en cuenta para cuando existen contenidos iniciales .

Los objetos no permiten repetición de claves (debido a que su posición realmente es irrelevante) .

Una estructura de objeto se representa con un par de llaves {} que contendrán cero o más pares de nombre/valor (o miembros). Un nombre es una cadena. Un signo de dos puntos : va detrás de cada nombre, separando el nombre del valor. Una coma , separa un valor del nombre siguiente. Los nombres dentro de un objeto DEBEN ser únicos.

Los posible errores son:

  • No se puede dar de alta registros porque ya existe en alguno de los índices de clave única. (si es solo alta pero ya existe en alguno de los índices de clave única).

  • No es posible modificar registros porque no se encuentran (Si el tipo de operación es solo modificación y no se encuentra el registro) .

  • El campo %1 que está en el índice %2 no existe en el JSON.

  • El campo destino %1 no existe en la tabla.

  • El valor %1 a asignar al campo %2 no es válido.

Ejemplo

Rem ( Generamos el JSON con la lista de origen )
Generar JSON desde lista ( , SZ_JSON, BOK, ERROR )
If ( BOK )
    Rem ( Generamos una nueva lista a partir del JSON generado )
    Crear o modificar lista desde JSON ( SZ_JSON, Solo alta, ARTICULOS@miapp, ID, BOK, ERROR_ALTA )
        Libre
    If ( !BOK )
        Mensaje ( "No se ha podido crear la nueva lista. Error: " + ERROR_ALTA, Información, ,  )
Else
    Mensaje ( "No se ha podido generar el JSON de origen. Error: " + ERROR, Información, ,  )

Proceso que da de alta o modifica artículos a partir de un JSON que hemos copiado previamente en el portapapeles:

Rem ( Leemos el contenido del portapapeles )
Portapapeles: Get texto ( SZ_JSON,  )
Rem ( Creamos/modificamos lista con los datos del JSON )
Crear o modificar lista desde JSON ( SZ_JSON, Alta o modificación, ARTICULOS@Json pruebas, ID, BOK, ERROR )
    Libre
If ( !BOK )
    Mensaje ( "No se ha poddo completar la operación. Error: " + ERROR, Información, ,  )

Exportar informe a fichero

Origen de la instrucción: lista de la tabla en curso.

Destino del subproceso: ninguno.

Parámetros

Identificador del informe (Obligatorio)

Objeto informe cuya tabla asociada es la misma que la del origen de la línea del proceso donde estamos incluyendo este comando de instrucción.

Fórmula de senda de destino

Senda del fichero a generar. La senda ha de incluir el nombre y la extensión del fichero. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc. Para su especificación podemos hacer uso del asistente para la creación de formularios.

Funcionalidad

Comando de instrucción de proceso que genera el fichero indicado en el segundo parámetro a partir del informe seleccionado en el primer parámetro.

Comentarios

El proceso se paralizará durante la generación del informe y, una vez generado, continuará la ejecución secuencial del proceso.

Los formatos posibles de fichero son pdf y eps. La generación de uno u otro dependerá de la extensión que especifiquemos al definir la senda. Ejemplo:

Exportar informe a fichero (FACTURA, sysCacheClientPath + “/Informe.pdf”) El informe se generará en formato pdf.

Exportar informe a fichero (FACTURA, sysCacheClientPath + “/Informe.eps”) El informe se generará en formato eps.

Ejemplo

Generamos y mostramos un informe en formato .pdf que contiene la lista de contactos en orden alfabético guardándolo en la caché del cliente.

Cargar lista ( CTT_M@ejemplo_dat, NAME, , , ,  )
    Exportar informe a fichero ( INFORME@ejemplo_app, sysCacheClientPath + "/listadecontactos.pdf" )
    Ejecutar documento ( "file:///"+sysCacheClientPath + "/listadecontactos.pdf",  )

Filtrar lista

Comando de instrucción del grupo Listas que quita de la lista de origen los elementos que no cumplan una determinada condición.

Origen de la instrucción: lista de la tabla en curso.

Destino del subproceso: ninguno.

Parámetros

Fórmula filtro

Expresión de tipo fórmula en la que se establecerá el filtro a realizar. En la misma podremos usar campos de la tabla en curso.

Fórmula de porcentaje que realiza del proceso (opcional)

Expresión de tipo fórmula en la que se establecerá el porcentaje que que representará el filtr filtrar dentro de todo el proceso. Esta estimación debemos calcularla manualmente. Es decir, si preveemos que filtrar es el 30% del proceso, pues eso será lo que pase cuando termine del filtrar la barra de progreso.

Funcionalidad

Quita de la lista los elementos que no cumplan la condición especificada en sus parámetros. Los elementos filtrados no son borrados en la tabla de datos, sólo son quitados de la lista.

Este comando no crea ningún tipo de subproceso, es simplemente un paso que altera el contenido de la lista en curso. La siguiente función del proceso al mismo nivel tendrá como origen la lista filtrada.

Comentarios

Para facilitar la especificación de la fórmula podremos hacer uso del asistente para edición de fórmulas.

Ejemplo

Procesamos la lista de contactos de la rejilla en curso dejando los registros cuya campo #CAT (Categoría) sea igual a “1”.

Interfaz: procesar ( LST, Todas )
    Filtrar lista ( #CAT = "1",  )

Generar JSON desde lista

Origen de la instrucción: lista de la tabla en curso.

Destino del subproceso: ninguno.

Parámetros

Fórmula de dato

"" + #ID:getID() + "," + #NAME:getID()

Si lo dejamos vacío, generará el json con todos los campos.

Identificador de variable local alfabética de retorno

Identificador de variable local alfabética de retorno de ok (opcional)

Identificador de variable local alfabética de retorno de mensaje de error (opcional)

Funcionalidad

Convierte una lista de registros de una tabla en un array de JSON, permitiendo definir si se incluyen todos o algunos campos y retorna el resultado en una variable local.

Comentarios

A tener en cuenta respecto a los campos a los datos a exportar :

Los campos fórmula de cualquier tipo sí se exportan.

Los campos de tipos objeto texto, textos enriquecido, fórmula, se exportan tal cual están.

Los campos objeto dibujo y binario se exportan en base64.

Los campos numéricos se exportan con separador de punto decimal y sin separador de miles.

Los campos fecha se exportan en formato YYYY-MM-DD.

Los campos hora se exportan en formato HH:MM:SS.

Los campos tiempo se exportan en formato YYYY-MM-DDTHH:MM:SS:ZZZ

Los booleanos se exportar como true/false .

No se exportan los campos de tipo puntero indirecto real o virtual, singular de plural por índice o posición y los hermanos contiguos.

Ejemplos

Generar JSON desde lista ( , SZ_JSON, BOK, SZ_ERROR )
Generar JSON desde lista ( "" + #ID:getID() +"," + #NAME:getID() +"," + #MAE:getID(), SZ_JSON, BOK, SZ_ERROR )

Imprimir informe

Comando de instrucción del grupo Listas que se encarga de realizar la acción de enviar a una impresora un informe.

Origen de la instrucción: lista de la tabla en curso.

Destino del subproceso: ninguno.

Parámetros

Identificador del informe (Obligatorio)

Objeto informe cuya tabla asociada es la misma que la del origen de la línea del proceso donde estamos incluyendo este comando de instrucción.

Identificador de impresora lógica (Opcional)

Si seleccionamos el valor .ninguno lo que mandará será la salida declarada en el objeto informe:

Si la salida del informe es cuadro selección de impresora: antes de imprimir el informe en el proceso se presentará el cuadro de selección de impresora del sistema.

Si la salida del informe es impresora por defecto: el informe será enviado directamente a la impresora por defecto del sistema.

Si la salida del informe es impresora lógica: el informe será impreso en la impresora lógica asociada al objeto informe.

Si la salida del informe es presentación preliminar: el informe será enviado directamente a la impresora por defecto del sistema.

Si la salida del informe es fichero: el informe será generado directamente en el disco en la senda y con el nombre especificado en sus propiedades.

Funcionalidad

Comando de instrucción de proceso que realiza la acción de enviar a una impresora un informe.

Comentarios

El proceso se paralizará durante la generación del informe y, una vez generado, continuará la ejecución secuencial del proceso.

Este comando está programado para imprimir directamente sin generar interfaz. Por eso en aquellos informes cuya salida genere interfaz, como la presentación preliminar, si no se selecciona impresora lógica, son enviados directamente a la impresora por defecto del sistema.

Si en el parámetro Identificador de impresora lógica hemos seleccionado alguna y ésta no está asociada a ninguna impresora física, al imprimir el informe se abrirá el cuadro de diálogo de selección de impresora del sistema operativo.

Ejemplo

Imprimir la lista de contactos de la tabla CTT_M por orden de ID por la impresora lógica LST_VER usando el informe INFORME.

Cargar lista ( CTT_M@ejemplo_dat, ID, , , ,  )
    Imprimir informe ( INFORME@ejemplo_app, LST_VER@ejemplo_app )

Informe personalizable: exportar a fichero

Origen de la instrucción: lista de la tabla en curso.

Destino del subproceso: ninguno.

Parámetros

Origen de definición de informe

Definición informe

En este parámetro, que es de tipo fórmula, resolveremos el informe personalizable. El contenido dependerá de lo que hayamos indicado en el parámetro anterior. Si es fórmula, en la fórmula compondremos directamente el código xml correspondiente a la definición del informe. Si es fichero, indicaremos la senda donde está almacenado el archivo XML con la definición del informe.

Tipo de fichero

Nos permitirá definir el tipo de fichero de salida. Los formatos posibles son: html, imagen, pdf y svg.

Fórmula de senda de destino

Senda del fichero a generar. La senda ha de incluir el nombre y la extensión del fichero. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc. Para su especificación podemos hacer uso del asistente para la creación de formularios.

Parámetros en formato id1:valor1|id2:valor2… (opcional)

Es posible pasar parámetros al informe personalizable a generar. Estos han de ser resueltos con el formato siguiente: parametro1:valor1|parametro2:valor2….

Para usar estos parámetros en un campo de un informe, tendremos que especificar en la propiedad tipo de origen de campo el valor parámetro y, en la propiedad campo especificar el identificador del parámetro dado en este comando de instrucción de proceso.

Por lo tanto, estos parámetros no se declaran en el informe, sino que se declaran en el comando de instrucción de proceso que genera el informe.

"fecha:" + currentDate() + "|" + "hora:" + currentTime()

Para crear un campo en el informe para imprimir el parámetro al que hemos llamado fecha, haríamos:

Funcionalidad

Permite exportar a disco un informe personalizable alimentado con los registros de la lista de origen.

Comentarios

Ejemplo

Generamos en la caché del cliente un informe .pdf de artículos partiendo de la definición de un informe personalizable definido previamente en el fichero .xml.

Cargar lista ( ART_M@ejemplo_dat, ID, , , ,  )
    Informe personalizable: exportar a fichero ( Fichero, "c:\definforme.xml", PDF, sysCacheClientPath + "/infArticulos.pdf",  )

Informe personalizable: exportar a fichero de texto

Origen de la instrucción: lista de la tabla en curso.

Destino del subproceso: ninguno.

Parámetros

Origen de definición de informe

Definición informe

Origen de definición de la plantilla de texto

Definición plantilla de texto

Fórmula de senda de destino

Parámetros en formato id1:valor1|id2:valor2…(opcional)

Es posible pasar parámetros al informe personalizable a generar. Estos han de ser resueltos con el formato siguiente: parametro1:valor1|parametro2:valor2….

Para usar estos parámetros en un campo de un informe, tendremos que especificar en la propiedad tipo de origen de campo el valor parámetro y, en la propiedad campo especificar el identificador del parámetro dado en este comando de instrucción de proceso.

Por lo tanto, estos parámetros no se declaran en el informe, sino que se declaran en el comando de instrucción de proceso que genera el informe.

Por ejemplo, supongamos que en el comando de instrucción de proceso de informe personalizable: previsualizar informe queremos pasar en, sendas variables, la fecha y la hora del sistema. Podríamos resolverlos como sigue:

"fecha:" + currentDate() + "|" + "hora:" + currentTime()

Para crear un campo en el informe para imprimir el parámetro al que hemos llamado fecha, haríamos:

Funcionalidad

El informe solamente se necesita para obtener el origen de datos y definir las secciones y es en el siguiente parámetro donde definimos qué campos se muestran y cómo.

Ejemplo

Generamos un informe en el directorio raíz de la unidad c: de precios de artículos y cantidades pendientes de servir con en formato de texto usando la plantilla de texto definida.

Cargar lista ( ART_M@ejemplo_dat, ID, , , ,  )
    Informe personalizable: exportar a fichero de texto ( Fichero, "c:\informe.xml", Fórmula, "Artículo: " + #ID + " - " + #NAME + "|" + "Precio: " + #PRE + "|" + "Pte servir: " + #PDT_SRV, “c:\informe.txt",  )

Informe personalizable: imprimir informe

Comando de instrucción del grupo listas que permite imprimir un informe personalizable alimentado con los registros de la lista de origen. Un informe personalizable es un archivo con formato XML que puede ser usado desde Velneo, de forma integrada con la base de datos.

Origen de la instrucción: lista de la tabla en curso.

Destino del subproceso: ninguno.

Parámetros

Origen de definición de informe

En este parámetro especificaremos de qué modo vamos a suministrar el XML del informe a exportar a disco. Los valores posibles son fórmula, que implicará que compondremos el código XML directamente en una fórmula o fichero, que implicará la selección de un fichero externo que contendrá el XML con la configuración del informe.

Definición informe

En este parámetro, que es de tipo fórmula, resolveremos el informe personalizable. El contenido dependerá de lo que hayamos indicado en el parámetro anterior. Si es fórmula, en la fórmula compondremos directamente el código xml correspondiente a la definición del informe. Si es fichero, indicaremos la senda donde está almacenado el archivo XML con la definición del informe.

Impresora por defecto

Nos permitirá definir si el informe será enviado a la impresora por defecto del sistema o no.

Identificador impresora lógica (opcional)

Parámetros en formato id1:valor1|id2:valor2… (opcional)

Es posible pasar parámetros al informe personalizable a generar. Estos han de ser resueltos con el formato siguiente: parametro1:valor1|parametro2:valor2….

Para usar estos parámetros en un campo de un informe, tendremos que especificar en la propiedad tipo de origen de campo el valor parámetro y, en la propiedad campo especificar el identificador del parámetro dado en este comando de instrucción de proceso.

Por lo tanto, estos parámetros no se declaran en el informe, sino que se declaran en el comando de instrucción de proceso que genera el informe.

Por ejemplo, supongamos que en el comando de instrucción de proceso de informe personalizable: previsualizar informe queremos pasar en, sendas variables, la fecha y la hora del sistema. Podríamos resolverlos como sigue:

"fecha:" + currentDate() + "|" + "hora:" + currentTime()

Para crear un campo en el informe para imprimir el parámetro al que hemos llamado fecha, haríamos:

Funcionalidad

Este comando de instrucción permite imprimir un informe personalizable alimentado con los registros de la lista de origen.

Comentarios

Ejemplo

Realizamos la impresión de la factura editada leyendo primero la definición del informe de la tabla de repositorios de informes.

Cargar lista ( INF_DEF_W@ejemplo_dat, ID, "VERP_VTA_FAC", , ,  )
    Seleccionar ficha por posición ( 1 )
    Leer ficha seleccionada
        Set ( INF_DEF, #DFN )
Cargar plurales ( MOV_G_VTA_FAC )
    Informe personalizable: imprimir informe ( Fórmula, INF_DEF, 0, VTA_FAC_G@vERP_2_app,  )

Informe personalizable: previsualizar informe

Comando de instrucción del grupo listas que permite hacer la vista previa de un informe personalizable con los registros de la lista de origen. Un informe personalizable es un archivo con formato XML que puede ser usado desde Velneo, de forma integrada con la base de datos.

Origen de la instrucción: lista de la tabla en curso.

Destino del subproceso: ninguno.

Parámetros

Origen de definición de informe

En este parámetro especificaremos de qué modo vamos a suministrar el XML del informe a exportar a disco. Los valores posibles son fórmula, que implicará que compondremos el código XML directamente en una fórmula o fichero, que implicará la selección de un fichero externo que contendrá el XML con la configuración del informe.

Definición informe

En este parámetro, que es de tipo fórmula, resolveremos el informe personalizable. El contenido dependerá de lo que hayamos indicado en el parámetro anterior. Si es fórmula, en la fórmula compondremos directamente el código xml correspondiente a la definición del informe. Si es fichero, indicaremos la senda donde está almacenado el archivo XML con la definición del informe.

Parámetros en formato id1:valor1|id2:valor2… (opcional)

Es posible pasar parámetros al informe personalizable a generar. Estos han de ser resueltos con el formato siguiente: parametro1:valor1|parametro2:valor2….

Para usar estos parámetros en un campo de un informe, tendremos que especificar en la propiedad tipo de origen de campo el valor parámetro y, en la propiedad campo especificar el identificador del parámetro dado en este comando de instrucción de proceso.

Por lo tanto, estos parámetros no se declaran en el informe, sino que se declaran en el comando de instrucción de proceso que genera el informe.

Por ejemplo, supongamos que en el comando de instrucción de proceso de informe personalizable: previsualizar informe queremos pasar en, sendas variables, la fecha y la hora del sistema. Podríamos resolverlos como sigue:

"fecha:" + currentDate() + "|" + "hora:" + currentTime()

Para crear un campo en el informe para imprimir el parámetro al que hemos llamado fecha, haríamos:

Funcionalidad

Este comando de instrucción permite hacer la vista previa de un informe personalizable con los registros de la lista de origen.

Ejemplo

Previsualizar el albarán en edición leyendo primero la definición del informe de la tabla de repositorios de informes.

Cargar lista ( INF_DEF_W@ejemplo_dat, ID, "VERP_VTA_ALB", , ,  )
    Seleccionar ficha por posición ( 1 )
    Leer ficha seleccionada
        Set ( INF_DEF, #DFN )
Cargar plurales ( MOV_G_VTA_ALB )
    Informe personalizable: previsualizar informe ( Fórmula, INF_DEF,  )

Invertir lista

Comando de instrucción del grupo Listas que invierte el orden de la lista de origen.

Origen de la instrucción: lista de la tabla en curso.

Destino del subproceso: ninguno.

Parámetros

No tiene.

Funcionalidad

Invierte el orden de la lista de origen, tomando como campo de referencia aquel por el que la lista haya sido ordenada previamente.

Este comando no crea ningún tipo de subproceso. La siguiente línea del proceso al mismo nivel tendrá como origen la lista ya invertida.

Ejemplo

Cargamos la lista de pedidos por orden numérico del índice ID y posteriormente invertimos la lista para llevar el resultado a la salida.

Cargar lista ( PED_G@ejemplo_dat, ID, , , ,  )
    Invertir lista
    Añadir lista a la salida

Multipartir lista

Comando de instrucción del grupo Listas que parte la lista actual por cada ficha encontrada en la que el valor del campo de partición sea diferente al anterior.

Origen de la instrucción: lista de la tabla en curso.

Destino del subproceso: lista de la tabla en curso.

Parámetros

Identificador de campo

En este parámetro se especificará el campo de la tabla el curso por el que la lista será multipartida.

Funcionalidad

Por cada valor diferente que tenga el campo seleccionado se originará una nueva sub-lista que agrupará los registros correspondientes a ese valor. El subproceso que este comando genera será ejecutado por cada sub-lista obtenida. Si no hay registros en la lista de origen, no será ejecutado el subproceso.

Comentarios

Este comando ordena ascendentemente la lista por el campo seleccionado en el parámetro antes de realizar la multipartición.

La ordenación previa de los registros se hará en el servidor, excepto si multipartimos por los tipos de campo siguientes:

  • Fórmula.

  • Hermano contiguo.

  • Puntero indirecto real y virtual.

  • Singular de plural por índice y por posición.

  • Tabla de extensión.

Ejemplo

Agrupamos o multipartimos los pedidos por clientes y exportamos el informe diseñado en el fichero .xml en un fichero .pdf en la caché del cliente.Se generará un informe por cada cliente.

Cargar lista ( PED_G@ejemplo_dat, ID, , , ,  )
    Multipartir lista ( CLT )
        Informe personalizable: exportar a fichero ( Fórmula, "c:\pca.xml", PDF, sysCacheClientPath + "/pca" + #CLT + ".pdf",  )

Ordenar lista

Origen de la instrucción: lista de la tabla en curso.

Destino del subproceso: ninguno.

Parámetros

Campo de resolución

Primer campo de ordenación. Podrá tratarse de un campo de la tabla de origen o de un campo de cualquiera de sus tablas enlazadas.

Campo de resolución (Opcional)

Segundo campo de ordenación.

Campo de resolución (Opcional)

Tercer campo de ordenación.

Campo de resolución (Opcional)

Cuarto campo de ordenación.

Campo de resolución (Opcional)

Quinto campo de ordenación.

Campo de resolución (Opcional)

Sexto campo de ordenación.

Funcionalidad

Este comando de instrucción permite ordenar la lista en curso por el campo o campos especificados en sus parámetros. La lista será ordenada en primera instancia por el campo seleccionado en el primer parámetro y si se especifica más de un campo de ordenación, la lista ordenará por el segundo cuando haya valores coincidentes en el primero, por el tercero cuando haya valores coincidentes en el segundo y así sucesivamente.

Ejemplo: si ordenamos una lista de artículos por los campo FAMILIA, MARCA y NOMBRE, ésta será ordenada por FAMILIA dentro de cada familia por MARCA y dentro de cada MARCA por orden alfabético.

Comentarios

La ordenación se hará en el servidor, a excepción de si ordenamos por los tipos de campo siguientes:

  • Fórmula.

  • Hermano contiguo.

  • Puntero indirecto real y virtual.

  • Singular de plural por índice y por posición.

  • Tabla de extensión.

Esta función no crea ningún subproceso, es un simple paso. La siguiente línea del proceso que se cree al nivel de ésta, tendrá como origen la lista ordenada.

Para realizar la ordenación, el sistema hace una indexación previa. El tamaño de las claves es de 24 caracteres para los campos alfabéticos menores que alfa256 y de 48 para campos alfa256 y superiores. Por lo tanto, si queremos ordenar listas que contengan cadenas cuya parte común supere esos límites, nuestra recomendación es crear un índice alfabético con dicho campo y en el proceso usar el comando Cargar lista.

Ejemplo

Leer lista de abreviaturas ordenando la lista por el campo #FECHA llevando el resultado a la salida del proceso.

Cargar lista ( ABR_M@ejemplo_dat, ID, , , ,  )
    Ordenar lista ( #FECHA, , , , ,  )
    Añadir lista a la salida

Quitar ficha de la lista

Comando de instrucción del grupo Listas que permite quitar un elemento de la lista de origen pero sin borrarlo de la base de datos.

Origen de la instrucción: lista de la tabla en curso.

Destino del subproceso: ninguno.

Parámetros

Fórmula posición

Expresión fórmula que resuelva la posición del elemento a quitar de la lista. La primera posición será 1.

Funcionalidad

Comando de instrucción que permite quitar el elemento especificado en el parámetro fórmula posición de la lista de origen pero sin borrarlo de la base de datos.

Comentarios

Para facilitar la especificación del elemento a quitar podremos hacer uso del asistente para edición de fórmulas. Al tratarse de una fórmula podrá ser tanto un dato constante como uno variable.

Ejemplo

Quitamos la primera ficha de la rejilla LST.

Interfaz: procesar ( LST, Todas )
    Quitar ficha de la lista ( 1 )

Recorrer lista eliminando fichas

Origen de la instrucción: lista de la tabla en curso.

Destino del subproceso: ninguno.

Parámetros

No tiene.

Funcionalidad

Recorre la lista de origen borrando los registros de la misma, disparando, por cada ficha borrada, las actualizaciones declaradas en la tabla asociada a la lista.

Este comando genera un subproceso que será ejecutado por cada ficha a borrar; el origen de dicho subproceso, por tanto, será ficha de la tabla en curso. Las instrucciones que se incluyan dentro del subproceso serán ejecutadas por cada registro de la lista. Este subproceso será ejecutado antes del borrado de la ficha. El subproceso que genera no se ejecutará si no hay registros.

Comentarios

Si queremos borrar las fichas sin que se disparen las actualizaciones tendremos que usar el comando de instrucción Recorrer lista eliminando fichas sin desactualizar.

Ejemplo

Eliminamos las líneas del pedido cuyo ID es el 25. Esto hace que se actualicen los totales del campo total del pedido en una estructura de cabeceras y líneas, como puede ser pedidos y sus líneas de pedidos.

Cargar lista ( LIN_G@ejemplo_dat, PED, 25, , ,  )
    Recorrer lista eliminando fichas
        Libre

Recorrer lista eliminando fichas sin desactualizar

Comando de instrucción del grupo Listas que recorre la lista de origen borrando los registros de la misma sin disparar, por cada ficha borrada, las actualizaciones declaradas en la tabla asociada a la lista.

Origen de la instrucción: lista de la tabla en curso.

Destino del subproceso: ninguno.

Parámetros

No tiene.

Funcionalidad

Recorre la lista de origen borrando los registros de la misma pero no disparará, por cada ficha borrada, las actualizaciones declaradas en la tabla asociada a la lista.

Este comando genera un subproceso que será ejecutado por cada ficha a borrar; el origen de dicho subproceso, por tanto, será ficha de la tabla en curso. Las instrucciones que se incluyan dentro del subproceso serán ejecutadas por cada registro de la lista. Este subproceso será ejecutado antes del borrado de la ficha. Dicho subproceso no se ejecutará si no hay registros.

Comentarios

Este comando, dado que implica escritura en disco, genera transacción.

El borrado de un registro implicará la ejecución de los eventos de tabla de baja de ficha.

Ejemplo

Eliminamos las líneas del pedido cuyo ID es el 25. Esto hace que no se actualicen los totales del campo total del pedido.

Cargar lista ( LIN_G@ejemplo_dat, PED, 25, , ,  )
    Recorrer lista eliminando fichas sin desactualizar
        Libre

Recorrer lista lectura/escritura

Comando de instrucción del grupo Listas que recorre la lista de origen y modifica los registros de la misma.

Origen de la instrucción: lista de la tabla en curso.

Destino del subproceso: ninguna.

Parámetros

No tiene.

Funcionalidad

Recorre la lista de origen y ejecuta las instrucciones que cuelgan en el subproceso con cada registro de la misma. Este comando genera un subproceso que será ejecutado por cada ficha a modificar; el origen de dicho subproceso, por tanto, será ficha de la tabla en curso.

Las instrucciones que se incluyan dentro del subproceso serán ejecutadas por cada registro de la lista. Este subproceso será en el que se incluyan las instrucciones que modifiquen los campos de la ficha. Dicho subproceso no se ejecutará si no hay registros en la lista.

Comentarios

Este comando, dado que implica escritura en disco, genera transacción.

La modificación de un registro implicará la ejecución de los eventos de tabla de modificación de ficha y el disparo de las actualizaciones en las que intervengan los campos modificados en el proceso.

Cada ficha procesada permanecerá bloqueada mientras dure el subproceso que este comando genera; esto quiere decir que la ficha podrá ser leída pero no bloqueada en modo lectura-escritura desde otros procesos o por otros usuarios.

Para modificar el contenido de un campo usaremos el comando de proceso Modificar campo.

Ejemplo

Poner el campo total de pedidos a cero en todos los pedidos.

Cargar lista ( PED_G@ejemplo_dat, ID, , , ,  )
    Recorrer lista lectura/escritura
        Modificar campo ( TOT_PED, 0 )

Recorrer lista solo lectura

Comando de instrucción del grupo Listas que recorre la lista de origen y permite leer uno a uno los registros de la misma.

Origen de la instrucción: lista de la tabla en curso.

Destino del subproceso: ninguno.

Parámetros

No tiene.

Funcionalidad

Recorre la lista de origen y ejecuta las instrucciones que cuelgan en el subproceso con cada registro de la misma. Este comando genera un subproceso que será ejecutado por cada ficha a leer; el origen de dicho subproceso, por tanto, será ficha de la tabla en curso.

Las instrucciones que se incluyan dentro del subproceso serán ejecutadas por cada registro de la lista. Dicho subproceso no se ejecutará si no hay registros en la lista.

Comentarios

Este comando abre las fichas en modo de sólo lectura, por tanto, no genera transacción y no es posible modificar las fichas procesadas en el subproceso que genera.

En el caso de que se desee recorrer la lista de origen para modificar los registros contenidos en la misma, tendremos que usar el comando de instrucción Recorrer lista lectura/escritura.

Este comando hace una lectura optimizada de los registros, leyéndolos por bloques en el servidor.

Ejemplo

Recorremos la lista de pedidos para mostrar un mensaje con la suma total de todos los pedidos haciendo uso de una variable local TOTAL, acumulando en ella el valor del campo #TOT_PED del pedido leído en ese momento.

Set ( TOTAL, 0 )
Cargar lista ( PED_G@ejemplo_dat, ID, , , ,  )
    Recorrer lista sólo lectura
        Set ( TOTAL, TOTAL + #TOT_PED )
Mensaje ( "Suma de todos los pedidos: " + TOTAL, Información, ,  )

Expresión de tipo que queremos calcular por cada registro.

del proceso donde se guardará el resultado.

con el json a importar, directamente como texto literal o alfabética, alfabética o alfabético u .

Solo alta: dará de alta nuevos registros. Sl el JSON incluye el campo ID de cada registro lo ignorará y creará un nuevo registro con el ID que le corresponda. Así que es una buena alternativa al .

Este parámetro solo es necesario si en la operación permitida está incluida la modificación, en cuyo caso especificaremos un de clave única que permita localizar el registro.

Identificador de una de tipo booleano que devolverá 1 si todo está correcto y 0 si hay errores.

Identificador de una de tipo alfabético en la que se retornará la descripción de los errores encontrados. Si no hay errores quedará vacía.

Para ese caso, se recomienda o bien quitar las claves y valores correspondientes del JSON antes de emplearlo, o bien modificar posteriormente los campos de los que dependen contenidos iniciales usando las para obtener los valores.

Un que duplica los registros que tenemos en una :

Comando de instrucción del grupo Listas que se encarga de realizar la acción de generar un fichero en disco a partir del .

No es posible exportar informe a fichero desde procesos ejecutados en ni desde .

No es posible exportar informe a fichero desde procesos ejecutados por en Linux ni tampoco si las instancias ejecutadas desde Apache las ejecutamos en modo server.

Comando de instrucción de proceso que convierte una lista de registros de una tabla en un array de JSON en base al estándar , permitiendo definir si se incluyen todos o algunos campos.

Expresión con los campos a incluir, debemos especificar cada campo con la , separando cada campo por una coma. Ejemplo:

Identificador de una de tipo alfabético donde se retornará el array de JSON.

Identificador de una de tipo booleano que devolverá 1 si todo está correcto y 0 si hay errores.

Identificador de una de tipo alfabético en la que se retornará la descripción de los errores encontrados. Si no hay errores quedará vacía.

En un de una generamos un array de JSON con los todos los campos de la tabla y lo guardamos en una variable local alfabética llamada SZ_JSON:

En un de una generamos una array de JSON con los siguientes campos de la tabla: ID, NAME y MAE y lo guardamos en una variable local alfabética llamada SZ_JSON:

Si queremos imprimir el informe en una en este parámetro seleccionaremos la impresora lógica de salida.

No es posible exportar informe a fichero desde procesos ejecutados en .

No es posible exportar informe a fichero desde procesos ejecutados por en Linux.

Como sabemos, en las propiedades de un objeto de Velneo se define una salida, pues bien, en el caso de que desde un proceso queramos enviar un informe usando la salida definida en sus propiedades, podremos hacerlo usando .

No es posible imprimir informes desde procesos ejecutados en ni desde .

Comando de instrucción del grupo listas que permite exportar a disco un alimentado con los registros de la lista de origen. Un informe personalizable es un archivo con formato XML que puede ser usado desde Velneo, de forma integrada con la base de datos.

En este parámetro especificaremos de qué modo vamos a suministrar el XML del informe a exportar a disco. Los valores posibles son fórmula, que implicará que compondremos el código XML directamente en una o fichero, que implicará la selección de un fichero externo que contendrá el XML con la configuración del informe.

Por ejemplo, supongamos que en el comando de instrucción de proceso de informe queremos pasar en, sendas variables, la fecha y la hora del sistema. Podríamos resolverlos como sigue:

No es posible exportar informe a fichero desde procesos ejecutados en ni desde .

No es posible exportar informe a fichero desde procesos ejecutados por en Linux ni tampoco si las instancias ejecutadas desde Apache las ejecutamos en modo server.

Comando de instrucción de proceso que permite exportar a un fichero de texto en disco un con los registros de la lista de origen. Un informe personalizable es un archivo con formato XML que puede ser usado desde Velneo, de forma integrada con la base de datos.

En este parámetro especificaremos de qué modo vamos a suministrar el XML del informe a exportar a disco. Los valores posibles son fórmula, que implicará que compondremos el código XML directamente en una o fichero, que implicará la selección de un fichero externo que contendrá el XML con la configuración del informe.

En este parámetro, que es de tipo , resolveremos el informe personalizable. El contenido dependerá de lo que hayamos indicado en el parámetro anterior. Si es fórmula, en la fórmula compondremos directamente el código xml correspondiente a la definición del informe. Si es fichero, indicaremos la senda donde está almacenado el archivo XML con la definición del informe. El informe solamente se necesita para obtener el origen de datos y definir las secciones y es en el siguiente parámetro donde definimos qué campos se muestran y cómo.

La plantilla de texto será un fichero de texto donde se indica qué campos se muestran y cómo serán impresos. Los valores posibles son fórmula, que implicará que compondremos el texto directamente en una o fichero, que implicará la selección de un fichero externo que contendrá el fichero de texto.

En este parámetro, que es de tipo , resolveremos el fichero de texto. El contenido dependerá de lo que hayamos indicado en el parámetro anterior. Si es fórmula, en la fórmula compondremos directamente el contenido del fichero de texto. Si es fichero, indicaremos la senda donde está almacenado el archivo fichero de texto.

Senda del fichero a generar. La senda ha de incluir el nombre y la extensión del fichero. Este parámetro puede ser una cadena o literal, un campo, una variable, el retorno de una función, etc. Para su especificación podemos hacer uso del .

Este comando de instrucción permite exportar a un fichero de texto plano en disco un con los registros de la lista de origen.

Si queremos que el informe sea enviado a una la seleccionaremos en este parámetro.

No es posible imprimir informes personalizables desde procesos ejecutados en tercer o en cuarto plano ni desde .

Comando de instrucción del grupo Listas que permite ordenar la lista en curso por uno o varios .

La última posición de la lista podremos obtenerla por medio de la variable del sistema

Comando de instrucción del grupo Listas que recorre la lista de origen borrando los registros de la misma, disparando, por cada ficha borrada, las declaradas en la tabla asociada a la lista.

Este comando, dado que implica escritura en disco, genera .

El borrado de un registro implicará la ejecución de los de baja de ficha.

Si queremos borrar las fichas y que se disparen las actualizaciones tendremos que usar el comando de instrucción

Este comando debe ir leyendo la lista registro a registro, por lo que no puede hacer una lectura de registros en bloque como hace el comando .

fórmula
Variable local
tubo de lista
índice
variable local
variable local
funciones JSON
manejador de evento
rejilla
informe
tercer o en cuarto plano
triggers
Velneo vModApache
RFC-4627
variable local
variable local
variable local
manejador de evento
rejilla
manejador de evento
rejilla
impresora lógica
tercer o en cuarto plano
Velneo vModApache
informe
comandos de objeto
tercer o en cuarto plano
Velneo vModApache
informe personalizable
fórmula
tercer o en cuarto plano
triggers
Velneo vModApache
informe personalizble
fórmula
fórmula
fórmula
fórmula
asistente de fórmulas
informe personalizable
impresora lógica,
Velneo vModApache
campos
sysListSize.
actualizaciones
eventos de tabla
Informe personalizable: previsualizar
Recorrer lista eliminando fichas.
recorrer lista sólo lectura
tabla
Expresión fórmula
variable local
variable global
campo
fórmula
función de campo
transacción
crear nueva ficha en memoria
alta de ficha
objeto texto
getID