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
  • theRoot
  • Indice de funciones
  • De variables locales tipo array
  • Del Api del objeto
  • De variables locales
  • De variables de sistema
  • De transacciones
  • De datos
  • De vista de datos
  • De formulario y lista QML
  • De lista QML
  • De JSON
  • Enumeraciones
  • Documentación de funciones
  • Funciones de variables locales tipo array
  • Funciones del Api del objeto
  • Funciones de variables locales
  • Funciones de variables de sistema
  • Funciones de transacciones
  • Funciones de datos
  • Funciones de vista de datos
  • Funciones de formulario y lista QML
  • Funciones de lista QML
  • De JSON
  • Ejemplos
  • 1. Iniciar transacción
  • 2. Múltiples transacciones
  • 3. Un manejador de envento de una rejilla duplica los registros de la misma

¿Te fue útil?

  1. Velneo vDevelop
  2. Scripts
  3. Lenguajes
  4. JavaScript
  5. Clases

VRoot

Última actualización hace 3 años

¿Te fue útil?

La clase VRoot representa a un objeto de Velneo en ejecución. Dispone de funciones para ver o modificar las variables locales y de sistema del objeto, obtener información del objeto (api), transacciones…

theRoot

Velneo nos genera un objeto de la clase VRoot con el nombre theRoot para el objeto principal en ejecución. Veamos algunos ejemplos:

  • Tenemos un formulario con un manejador de evento en lenguaje JavaScript: el objeto theRoot del manejador de evento representa al ejecutor del formulario.

  • Ejecutamos un proceso JavaScript con una acción: el objeto theRoot del proceso representa al ejecutor del proceso en Velneo.

  • Si el objeto es una vista de datos (rejilla, formulario…) estarán disponibles en theRoot las funciones de manejo de interfaz como obtener su vista de datos con la función dataView(), pudiéndose usar las funciones del objeto widget que devuelve.

  • También se pueden obtener otros VRoot, como el de una con su función root().

Indice de funciones

De variables locales tipo array

void ( String szId, Number index, String szValor )

void ( String szId, Number index, Number nValor )

void ( String szId, Number index, Boolean bValor )

void ( String szId, Number index, DateTime dt )

void ( String szId, Number index, Date date )

void ( String szId, Number index, Time time )

Del Api del objeto

De variables locales

De variables de sistema

De transacciones

De datos

De vista de datos

De formulario y lista QML

De lista QML

De JSON

Enumeraciones

Tipos de operación

  • ImportTypeCreateModify : si no existe crea el registro. Si existe, lo modifica.

  • ImportTypeOnlyCreate : dará de alta un nuevo registro. Sl el JSON incluye el campo ID del registro lo y el contenido inicial del ID de la tabla es "siguiente al último", lo ignorará y creará un nuevo registro con el ID que le corresponda.

  • ImportTypeOnlyModify: si el registro existe, lo modifica, si no, no hará nada.

Documentación de funciones

Funciones de variables locales tipo array

void setVar( String szId, Number index, String szValor )

Asigna el contenido a una variable local array de tipo alfabética.

Parámetros:

  • szId: identificador de la variable local.

  • index: número de la posición del elemento en el array, el primero elemento es el 0.

  • szValor: cadena alfabética.

void setVar( String szId, Number index, Number nValor )

Asigna el contenido a una variable local array de tipo numérica.

Parámetros:

  • szId: identificador de la variable local.

  • index: número de la posición del elemento en el array, el primero elemento es el 0.

  • nValor: número.

void setVar( String szId, Number index, Boolean bValor )

Asigna el contenido a una variable local array de tipo booleana.

Parámetros:

  • szId: identificador de la variable local.

  • index: número de la posición del elemento en el array, el primero elemento es el 0.

  • bValor: booleano, 0 ó 1, true o false.

void setVar( String szId, Number index, DateTime dt )

Asigna el contenido a una variable local array de tipo tiempo, fecha y hora.

Parámetros:

  • szId: identificador de la variable local.

  • index: número de la posición del elemento en el array, el primero elemento es el 0.

  • dt: tiempo, fecha y hora.

void setVar( String szId, Number index, Date date )

Asigna el contenido a una variable local array de tipo fecha.

Parámetros:

  • szId: identificador de la variable local.

  • index: número de la posición del elemento en el array, el primero elemento es el 0.

  • date: fecha.

void setVar( String szId, Number index, Time time )

Asigna el contenido a una variable local array de tipo hora.

Parámetros:

  • szId: identificador de la variable local.

  • index: número de la posición del elemento en el array, el primero elemento es el 0.

  • time: hora.

Date varToDate( String szId, Number index )

Devuelve el valor de una variable local array de tipo fecha.

Parámetros:

  • szId: identificador de la variable local.

  • index: número de la posición del elemento en el array, el primero elemento es el 0.

DateTime varToDateTime( String szId, Number index )

Devuelve el valor de una variable local array de tipo tiempo, fecha y hora.

Parámetros:

  • szId: identificador de la variable local.

  • index: número de la posición del elemento en el array, el primero elemento es el 0.

Number varToDouble( String szId, Number index )

Devuelve el valor de una variable local array de tipo numérica, double.

Parámetros:

  • szId: identificador de la variable local.

  • index: número de la posición del elemento en el array, el primero elemento es el 0.

Number varToInt( String szId, Number index )

Devuelve el valor de una variable local array de tipo numérica, integer.

Parámetros:

  • szId: identificador de la variable local.

  • index: número de la posición del elemento en el array, el primero elemento es el 0.

String varToString( String szId, Number index )

Devuelve el valor de una variable local array de tipo alfabética.

Parámetros:

  • szId: identificador de la variable local.

  • index: número de la posición del elemento en el array, el primero elemento es el 0.

Time varToTime( String szId, Number index )

Devuelve el valor de una variable local array de tipo hora.

Parámetros:

  • szId: identificador de la variable local.

  • index: número de la posición del elemento en el array, el primero elemento es el 0.

Funciones del Api del objeto

Number inputType()

VObjectInfo objectInfo()

Number objectType()

Number outputType()

Funciones de variables locales

void setVar( String szId, Boolean bValor )

Asigna el contenido a una variable local de tipo booleana.

Parámetros:

  • szId: identificador de la variable local.

  • bValor: booleano, 0 ó 1, true o false.

void setVar( String szId, Date date )

Asigna el contenido a una variable local de tipo fecha.

Parámetros:

  • szId: identificador de la variable local.

  • date: fecha.

void setVar( String szId, DateTime dt )

Asigna el contenido a una variable local de tipo tiempo, fecha y hora.

Parámetros:

  • szId: identificador de la variable local.

  • dt: tiempo, fecha y hora.

void setVar( String szId, double dValor )

Asigna el contenido a una variable local de tipo numérica, double.

Parámetros:

  • szId: identificador de la variable local.

  • dValor: número con decimales.

void setVar( String szId, int nValor )

Asigna el contenido a una variable local de tipo numérica, integer.

Parámetros:

  • szId: identificador de la variable local.

  • nValor: número entero.

void setVar( String szId, String szValor )

Asigna el contenido a una variable local de tipo alfabética.

Parámetros:

  • szId: identificador de la variable local.

  • szValor: cadena alfabética.

void setVar( String szId, Time time )

Asigna el contenido a una variable local de tipo hora.

Parámetros:

  • szId: identificador de la variable local.

  • time: hora.

Boolean varToBool ( String szId )

Devuelve el valor de una variable local de tipo booleana.

Parámetros:

  • szId: identificador de la variable local.

Date varToDate( String szId )

Devuelve el valor de una variable local de tipo fecha.

Parámetros:

  • szId: identificador de la variable local.

DateTime varToDateTime( String szId )

Devuelve el valor de una variable local de tipo tiempo, fecha y hora.

Parámetros:

  • szId: identificador de la variable local.

Number varToDouble( String szId )

Devuelve el valor de una variable local de tipo numérica, double.

Parámetros:

  • szId: identificador de la variable local.

Number varToInt( String szId )

Devuelve el valor de una variable local de tipo numérica, integer.

Parámetros:

  • szId: identificador de la variable local.

String varToString( String szId )

Devuelve el valor de una variable local de tipo alfabética.

Parámetros:

  • szId: identificador de la variable local.

Time varToTime( String szId )

Devuelve el valor de una variable local de tipo hora.

Parámetros:

  • szId: identificador de la variable local.

Funciones de variables de sistema

String clientCachePath()

Devuelve el path del directorio de caché del cliente.

Number currentPage()

Devuelve la página en curso en un informe.

Boolean isAdministrator()

Devuelve true si el usuario en vAdmin está configurado como supervisor.

Number lastPage()

Devuelve el número total de páginas de un informe.

Number listPos()

Devuelve la posición del registro actual en la lista de registros del objeto.

Number listSize()

Devuelve el número de registros de la lista del objeto.

String userName()

Devuelve el nombre del usuario.

Funciones de transacciones

Boolean beginTrans( String szTitulo )

Inicia una transacción. Devuelve true si la transacción se ha iniciado satisfactoriamente.

Parámetros:

  • szTitulo: título de la transacción que se visualiza en el visor de transacción de vAdmin.

void clientEntertainer()

Con esta función el servidor realiza una notificación al cliente informándole de que el proceso sigue activo y de esta forma se evita que el cliente asuma la finalización del mismo por alcanzar el timeout.

Si desde un cliente ejecutamos un proceso en tercer plano, es decir en el servidor, si la duración del proceso es superior al timeout (actualmente 10 minutos) aunque el proceso continue ejecutándose en el servidor el cliente asume que el proceso ha finalizado de forma anómala al no recibir ninguna información del servidor. Con esta función el programador puede notificar desde el proceso que se está ejecutando en el servidor al cliente evitando que se produzca la desconexión del cliente por llegar al timeout.

Esta función es conveniente usarla en procesos cuya duración sea larga y pueda superar el timeout, de todas formas no debe ejecutarse esta función de forma constante ya que podría afectar al rendimiento del proceso. Una buena práctica sería ejecutar esta función cada determinado número de operaciones cuya duración sea superior a 1 minuto, por ejemplo, e inferior al tiempo de timeout.

Boolean commitTrans()

Finaliza una transacción. Devuelve true si la transacción ha finalizado satisfactoriamente. Al finalizar la transacción se dan por válidas todas las operaciones realizadas en la base de datos.

No es necesario usarla en general, ya que al finalizar el proceso, si hay una transacción abierta, se cierra automáticamente como si se hubiese ejecutado esta función de forma explícita. De hecho, si no es necesario por requerimientos de programación, debemos evitarlo para que ese script se pueda usar en diferentes puntos donde la transacción ya haya sido abierta y no la cierre cuando no deba. En el caso de que se requiera por programación, debemos comprobar previamente que la transacción no exista previamente, ya que entonces no se debe cerrar en el script en curso. Ver la nota siguiente:

En triggers no debemos hacer commit de transacciones ya que es el propio trigger el que gestiona la transacción. Por lo tanto, si tenemos un script que podemos usar en un trigger pero también en otros puntos de nuestra aplicación, deberemos comprobar si ya existe la transacción, sólo si no existe es cuando haremos el commit. Ejemplo:

var nuevaTrans = false;
var hayTrans = theRoot.existTrans();
if ( hayTrans == false ) 
{
  var nuevaTrans = theRoot.beginTrans( "Nombre transacción" )
}
 
// Se crea una transacción
if ( hayTrans || nuevaTrans )
*/

theRoot.beginTrans( "Alta de tbl2" )
{
 // Se modifican los datos
 reg.setField( "NAME", "name" );

 // Se crea el registro
 reg.addRegister();
}

// Metodo correcto
if ( nuevaTrans )
{
  theRoot.commitTrans();
}

void endProgressBar()

Se oculta la barra de progreso de la barra de estado de la ventana.

Boolean existTrans()

Devuelve true si hay una transacción en curso.

void initProgressBar()

Se visualiza la barra de progreso en la barra de estado de la ventana.

Boolean rollbackTrans()

Aborta una transacción y deshace todas sus operaciones. Devuelve true si todas las operaciones de la transacción se han deshecho satisfactoriamente.

Boolean runProcess( String szIdRefProcess )

Ejecuta un proceso Velneo o JavaScript. Permite los siguientes casos:

  • Si se pasa un proceso sin origen los ejecuta.

  • Si el Root corresponde a un objeto de ficha y el proceso es de ficha lo alimenta con la ficha.

  • Si el Root corresponde a un objeto de lista y el proceso de ficha lo alimenta con la ficha seleccionada de la lista.

  • Si el Root corresponde a un objeto de lista y el proceso es de lista lo alimenta con la lista.

Parámetros:

  • szIdRefProcess: cadena que contiene el identificador referencia del proceso ("Alias_proyecto/ID_proceso").

void setProgress( Number percent )

Se actualiza la barra de progreso que se está visualizando en la barra de estado de la ventana al valor indicado en el porcentaje. Al igual que el porcentaje también es posible cambiar el texto o leyenda que se muestra junto a la barra de progreso con la función setTitle().

Antes de fijar el valor porcentual es necesario mostrar la barra de progreso con la función initProgressBar() y una vez finalizado el proceso se ocultará la barra de progreso con el comando endProgressBar().

Parámetros:

  • percent: número entre 0 y 100 que representa el porcentaje a mostrar en la barra de progreso.

void setTitle( String szTitle )

Cambia el título o leyenda que se muestra al lado de la barra de progreso en la barra de estado de la ventana.

Antes de fijar título o el valor porcentual es necesario mostrar la barra de progreso con la función initProgressBar() y una vez finalizado el proceso se ocultará la barra de progreso con el comando endProgressBar().

Parámetros:

  • szTitle: texto a visualizar junto a la barra de progreso.

Funciones de datos

Variant calcFormulaVelneo( szFormula )

Retorna el valor obtenido de calcular la fórmula de Velneo que indicamos como parámetro.

Parámetro:

  • szFormula: fórmula de Velneo. Se recomienda dar valor entre comillas simples (') para evitar colisiones con entrecomillados (") correspondientes a cadenas en Velneo.

Tendrá como origen, el mismo que theRoot.

Object content()

Funciones de vista de datos

VAbstractDataView dataView()

Funciones de formulario y lista QML

void LoadAuxModel( String szNameModel )

Carga un modelo auxiliar del modelo principal del QML.

Parámetros:

  • szNameModel: mombre del modelo. Este valor se corresponde con la propiedad "Nombre en QML" del modelo auxiliar.

Funciones de lista QML

VModel GetAuxModelFromArray( String szNameModel, Number nIndex )

Devuelve un modelo auxiliar de los existentes en el array de modelos auxiliares. Esta función se utiliza cuando en el modelo auxiliar se configura la propiedad "Modo de sincronización" con el valor "LISTA: un modelo por cada ítem del modelo principal".

Parámetros:

  • szNameModel: nombre del modelo. Este valor se corresponde con la propiedad "Nombre en QML" del modelo auxiliar.

  • nIndex: número de orden del modelo en el array de modelos. El primero elemento del array es el 0.

De JSON

VariantMap registerFromJSON( String szJSON, ImportType nTipoOp, String szTabla, String szIndice)

Recibe como parámetro un objeto JSON para crear o modificar un registro o una lista de registros, el tipo de operación, la tabla y el índice .

Parámetros:

  • szJson: es la cadena con el Json que se va a usar para modificar o dar de alta el registro o los registros. Si el Json representa un array, se iterará e irá creando o modificando por cada elemento del array. Si es un objeto, lo tomará como una ficha.

  • szTabla: idref de la tabla de destino.

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

Devuelve un VariantMap con los siguientes campos:

  • ok: booleano con el retorno de ok.

  • errors: cadena de texto con formato array de JSON con los errores.

Podremos obtener estos campos del VariantMap del modo siguiente:

Ejemplo 1:

var operacion = theRoot.registerFromJSON( JSON_RECIBIDO, N_TIPO_OP, ID_TABLA, INDICE )
var bOk = operacion.ok;
var errores = operacion.errors;
var lista = new VRegisterList(theRoot);
var lista = operacion.registerList;

Ejemplo 2:

var operacion = theRoot.registerFromJSON( JSON_RECIBIDO, N_TIPO_OP, ID_TABLA, INDICE )
var bOk = operacion["ok"];
var errores = operacion["errors"];
var lista = new VRegisterList(theRoot);
var lista = operacion["registerList"];

Ejemplos

1. Iniciar transacción

if (theRoot.beginTrans("Titulo"))
{
    var bOK = true;
    var szErrMsg = "";

    for( var x=0; bOK && ( x < theRegisterListIn.sizeList() ); x++)
    {
        var registro = theRegisterListIn.readLockingAt(x);
        bOK = registro.isOK();
        if ( bOK )
        {
            registro.setField( "IDCAMPO1", dato );
            registro.setField( "IDCAMPO2", hoy );
            .....
            registro.modify();
            bOK = registro.isOK();
        }
        if ( !bOK )
            szMsg = registro.errorMessage();
    }
    if ( !bOK )
    {
        theRoot.rollbackTrans();
        .... // Mensaje de error
    }
}
else
{
     .... //Mensaje de error
}

2. Múltiples transacciones

// Se crea un registro vacío en memoria y se le asigna la tabla
var reg = new VRegister( theRoot );
reg.setTable( "vbaseUsuariosDat/USR" );

// Se ejecuta un bucle para dar 10 altas en 10 transacciones diferentes
for ( var i=0; i < 10; ++i )
{
    // Se crea una transacción
    if ( theRoot.beginTrans( "Alta de usuario. Transacción " + i ) )
    {
        // Se modifican los datos
        reg.setField( "NAME", "Usuario_" + i );

        // Se crea el registro
        reg.addRegister();

        // Se añaden el registro a la lista de salida
        theRegisterListOut.append( reg );

        // Se cierra la transacción
        theRoot.commitTrans();
    }
}

3. Un manejador de envento de una rejilla duplica los registros de la misma

//Convertimos la lista a JSON
var operacion = theRegisterListIn.toJson( [] );
var bOk = operacion.ok;
var szJson = operacion.json;
var errores = operacion.errors;

//Si se ha generado el JSON procedemos a duplicar la lista
if (bOk)
{
	theRoot.beginTrans("Duplicar lista lista");

	var alta = theRoot.registerFromJson( szJson, VRoot.ImportTypeOnlyCreate, "miapp_dat/ART_M", "ID" );
	var bOkAlta = alta.ok;
	var erroresalta = alta.errors;

	//Mostrar error si no se ha podido llevar a cabo la generación de registros
	if (!bOkAlta)
	{
		alert(erroresalta);
	}
	else{
		theRoot.commitTrans();
	}

}
//Mostrar errores si no se ha podido generar el JSON
else{
	alert(errores);
}

Date ( String szId, Number index )

DateTime ( String szId, Number index )

Number ( String szId, Number index )

Number ( String szId, Number index )

String ( String szId, Number index )

Time ( String szId, Number index )

Number ()

VObjectInfo ()

Number ()

Number ()

void ( String szId, Boolean bValor )

void ( String szId, Date date )

void ( String szId, DateTime dt )

void ( String szId, double dValor )

void ( String szId, int nValor )

void ( String szId, String szValor )

void ( String szId, Time time )

Boolean ( String szId )

Date ( String szId )

DateTime ( String szId )

Number ( String szId )

Number ( String szId )

String ( String szId )

Time ( String szId )

String ()

Number ()

Boolean ()

Number ()

Number ()

Number ()

String ()

Boolean ( String szTitulo )

void ()

Boolean ()

void ()

Boolean ()

void ()

Boolean ()

Boolean ( String szIdRefProcess )

void ( Number percent )

void ( String szTitle )

Variant ( szFormula )

Object ()

VAbstractDataView ()

void ( String szNameModel )

VModel ( String szNameModel, Number nIndex )

VariantMap ( String szJSON, ImportType nTipoOp, String szTabla, String szIndice)

Devuelve el tipo de entrada (ninguno, ficha o lista) del objeto manipulado con la clase VRoot. Ver enum de tipos de entrada/salida en la clase

Devuelve un objeto de la clase que representa al objeto manipulado.

Devuelve el tipo del objeto manipulado con la clase VRoot. Ver enum de tipos de objeto en la clase .

Devuelve el tipo de salida (ninguno, ficha o lista) del objeto manipulado con la clase VRoot. Ver enum de tipos de entrada/salida en la clase .

Devuelve un objeto , o Nulo en función del origen del objeto representado por VRoot.

Devuelve un objeto de la clase que representa el objeto referenciado por VRoot.

Equivale a los comando de instrucción de proceso y .

nTipoOp: tipo de operación a realizar en la tabla de destino. Ver .

register: si se trata de una ficha, devuelve un objeto con la ficha creada/modificada.

registerList: si se trata de una lista, devuelve un objeto con la lista creada/modificada.

VObjectInfo
VObjectInfo
VObjectInfo
VObjectInfo
VRegister
VRegisterList
VAbstractDataView
VRegister
VRegisterList
VMdiView
setVar
setVar
setVar
setVar
setVar
setVar
varToDate
varToDateTime
varToDouble
varToInt
varToString
varToTime
inputType
objectInfo
objectType
outputType
setVar
setVar
setVar
setVar
setVar
setVar
setVar
varToBool
varToDate
varToDateTime
varToDouble
varToInt
varToString
varToTime
clientCachePath
currentPage
isAdministrator
lastPage
listPos
listSize
userName
beginTrans
clientEntertainer
commitTrans
endProgressBar
existTrans
initProgressBar
rollbackTrans
runProcess
setProgress
setTitle
calcFormulaVelneo
content
dataView
LoadAuxModel
GetAuxModelFromArray
registerFromJSON
enum de tipos de operación
crear o modificar ficha desde JSON
crear o modificar lista desde JSON