Documentación de Velneo
34
34
  • 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
      • Cambiar el aspecto
      • 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 navegador compatibles
      • Acceso a recursos del sistema
      • Siempre HTTPS
      • Funcionamiento de VATPS por websocket
      • CORS para llamadas XmlHttpRequest
  • Aplicación vLanzadera y login social
    • Configuración de vLanzadera en Apache en el Cloud de Velneo
    • Configuración de vLanzadera en Apache en servidores propietarios
  • Velneo vDevelop
    • ¿Qué es Velneo vDevelop?
    • Identificación de usuario
    • Interfaz de Velneo vDevelop
      • Dock de proyecto
      • 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
        • Exportación e importación de objetos
      • 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
          • Columna de rejilla
        • Rejilla avanzada
          • 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
              • Enum de errores de JSON/CSV
            • 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)
            • Controles
              • Ejemplos 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
              • Lista de codecs
            • 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 remotas
          • 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
            • VExtension
              • VExtension: enumeraciones
            • VFile
              • VFile: enumeraciones
            • VFileInfo
            • VFilePathEditBrowser
            • VFinder
            • VFont
            • VFormBlockListDataView
            • VFormDataView
            • VFormulaEditBrowser
            • VGaugeWidget
            • VGPS
            • VGridListDataView
            • VGroupBox
            • VImage
            • VImageEdit
            • VImageWidget
            • VInstancesList
            • VInstance
            • VInstances
            • VItemRegisterPattern
            • VLabel
            • VLineEdit
            • VLineEditBrowser
            • VListBox
            • VListDataView
            • VLogin
            • VMainWindow
              • VMainWindow: enumeraciones
              • VMainWindow: ejemplos
            • 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
            • VSSLKey
            • VSSLInfo
            • VSSLSessionCipher
            • VStackedWidget
            • VSvgButton
            • VSvgSlideSwitch
            • VSvgToggleSwitch
            • VSvgWidget
            • VSysInfo
              • VSisInfo: 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?
    • Activación de licencias de Velneo vServer
    • 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 multitarea: procesos, colas y servicios
      • 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
      • Listas virtuales
  • Velneo vClient Web
    • Cómo incrustar una aplicación de Velneo Web en un DIV de una página html
  • Velneo vServer
    • ¿Qué es Velneo vServer?
    • Instalación y configuración
      • Línea de comandos de Velneo vServer
      • Parámetros configurables de Velneo vServer
        • Componer certificado fullchain
        • Certificados TLS/SSL para intranets
      • Estructura de directorios
    • Iniciar y detener Velneo vServer
    • Funcionalidades
      • Protocolo VATPS
      • Protocolo VATP
      • Multi-hilo
      • Integridad referencial
      • Refrescos terciarios
      • Sistema transaccional
      • Sistema de bloqueos
      • Tecnología bigkey
      • Hilo de control
      • Colas de procesos en 4º plano
    • vPacker
      • Mensajes de log de sistema
  • 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
    • Copias de seguridad automáticas
    • 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
    • Arranque automático de un servidor tras una parada no controlada
    • ¿Qué puedo hacer si tengo una incidencia en mi servidor cloud?
Con tecnología de GitBook
En esta página
  • Generar interfaz
  • Generar objetos para plugin de ChatGpt
  • Notas importantes
  • Galería de objetos
  • Nuevo objeto
  • Nuevo sub-objeto
  • Importador de tablas
  • Origen
  • Separador
  • Nombre en 1ª fila
  • Seleccionar fichero
  • Configuración de tabla y campos
  • Crear variables locales eventos
  • Importar dibujos
  • Buscador (Control + B)
  • Opciones de búsqueda
  • Cambiar estilos
  • Iconos material
  • Editar informe personalizable
  • Nueva carpeta
  • Nueva carpeta hija
  • Propiedades de carpeta
  • Localizar en proyecto
  • Buscar en contenido de objetos
  • Objetos no usados directamente
  • Eliminar carpeta
  • Eliminar
  • Mover de proyecto
  • Últimos modificados
  • Navegante de objetos
  • Anterior objeto editado
  • Siguiente objeto editado
  • Editar objeto de la propiedad
  • Editar objeto padre

¿Te fue útil?

  1. Velneo vDevelop
  2. Interfaz de Velneo vDevelop

Menú Objetos

Última actualización hace 1 año

¿Te fue útil?

Este menú de Velneo vDevelop contiene las opciones siguientes:

Generar interfaz

Control + G

Velneo incorpora una potentísima herramienta que genera la interfaz de una aplicación en muy pocos segundos.

Una vez creadas las tablas del proyecto, si ejecutamos esta opción desde el proyecto de aplicación nos creará todos los objetos visual necesarios para que la aplicación sea plenamente funcional.

Permite crear de forma automática:

El AUTOEXEC con una que contendrá una opción por cada tabla que disparará su correspondiente.

Si en el proyecto de datos las tablas tenían asociado un icono, éste será incluido en la toolbar.

Una CSS que se aplicará desde el marco (que encontraremos en el ) y que podremos personalizar.

Por cada tabla generará:

Un para alta, modificación y baja.

Una / según el tipo de tabla.

Una .

Un .

Un -menú con opciones de búsqueda (cuando se trata de tablas maestras con campos ID y NAME) y una rejilla para mostrar los registros encontrados.

Una para disparar el menú desde la toolbar principal.

A continuación explicamos su manejo.

Al ejecutar la opción se nos presentará una lista de todas las tablas del proyecto de datos heredado:

En la lista podemos seleccionar, o bien todas las tablas (marcando en la casilla de verificación del encabezado de la lista) o bien seleccionar algunas tablas concretas. De este modo, si ya tenemos creados objetos de tablas y añadimos una nueva, podemos crear los de la nueva tabla solamente.

  • No generar el marco AUTOEXEC: si en el proyecto ya teníamos creado el marco AUTOEXEC, activaremos esta opción para que no nos cree otro marco.

  • No generar CSS ni aplicarlas en el marco AUTOEXEC.: ni generará una CSS para la aplicación ni la aplicará en el evento de pre-inicializado del marco.

  • No generar la toolbar principal: si ya teníamos diseñado y marco y una toolbar principal, podemos activar esta opción para que no nos cree otra nueva.

  • No añadir acciones a la toolbar principal: también puede interesarnos crear solamente el macro y su toolbar, pero vacía, para añadir nosotros las acciones a posteriori.

Una vez configurado todo a nuestro gusto, pulsaremos el botón Generar aplicación. Una vez haya terminado, se mostrará un mensaje informativo de los objetos creados en el pie de la ventana:

Esta ventana se adapta al modo claro u oscuro que se tenga configurado en el sistema.

Generar objetos para plugin de ChatGpt

Uno es para exponer un manifiesto necesario para crear un plugin de ChatGpt.

Al abrirlo, se abre una pestaña con un formulario, un botón para generar objetos y un botón de ayuda en la parte superior derecha.

El botón de ayuda tiene enlaces a esta documentación y un vídeo explicativo de la extensión.

En el formulario hay que rellenar los siguientes campos:

  • Email de contacto: dirección de correo electrónico de contacto para el manifiesto. Es importante que el dominio del correo electrónico sea el mismo que el host donde tengamos el servicio de apache con vModApache.

  • Proyecto icono: combox para elegir el proyecto donde tenemos ubicado el icono.

  • Icono: se desplegará la lista de iconos del proyecto seleccionado en el campo anterior y seleccionaremos el que queramos usar para el plugin de ChatGpt.

  • Nombre del plugin para el modelo: necesario para el manifiesto. Solo podemos usar letras y números.

  • Nombre del plugin para el humano: necesario para el manifiesto. Solo podemos usar letras, números y espacios. No puede superar los 30 caracteres de longitud.

  • Descripción del plugin para el modelo: necesario para el manifiesto.

  • Descripción del plugin para el humano: necesario para el manifiesto. No puede superar los 120 caracteres de longitud.

  • Nombre del proyecto proceso V2: nombre del proyecto que contiene el proceso V2 de la Api REST. Necesita un _app o un _dat al final (aunque el propio nombre del proyecto ya lo incluya) para indicar el tipo de proyecto. Si tenemos la solución con la Api REST cargada, se calcula automáticamente. Si no hay que escribirla manualmente.

  • Alias del proyecto tablas Api REST: alias del proyecto donde están las tablas API_KEY_W y API_SEG_W de la Api REST. Si tenemos la solución con la Api REST cargada, se calcula automáticamente. Si no hay que escribirla manualmente.

  • URL de información legal: sitio donde está informado todo el tema de uso política de privacidad. El dominio de esta URL debe coincidir con todos los demás.

Al rellenar la información y hacer click en el botón de “Generar objetos”, se generarán:

  • En objetos del proyecto:

    • Carpeta ChatGPT:

      • Proceso OPENAPI_CHATGPT_MANIFIESTO

      • Proceso OPENAPI_CHATGPT_OPENAPI

  • En scripts del proyecto:

    • Carpeta ChatGPT:

      • Script ai_plugin.js

      • Script openapi_chatgpt.js

Es posible cambiar la información del formulario y volver a generar los objetos si se necesita modificar algún dato.

El flujo a seguir para completar un proceso de generación de un plugin completo es:

  1. Desarrollar el o los procesos Velneo que se encargaran de recibir parámetros a través de variables y devolverán el resultado deseado según se requiera.

  2. Ejecutar nuestra solución, y crear una API KEY, con las siguientes características:

    • Debe ser con tipo de autentificación "Bearer por usuario".

    • Debe tener habilitado como mínimo el método GET.

    • Se deben seleccionar el o los procesos creados en el paso 1.

    • Si el proceso está asociado a una tabla, entonces se deben seleccionar los campos de la tabla que están permitidos.

    • Una vez creada la API KEY, debemos ir al usuario deseado y editar su ficha para que, en la pestaña de API’s, seleccionemos cuál será el registro habilitado y esto nos generará el respectivo token bearer.

    • En este paso, es importante quedarnos con el valor puesto en el Identificador de la ApiKey creada.

  3. Luego vamos a configurar nuestro Apache + vModApache. Para ello editamos el fichero de configuración respectivo y:

    • Agregamos un rewrite, para que nuestro Apache pueda reconocer la petición entrante de ChatGPT y la redireccione correctamente:

      • RewriteEngine on
        RewriteRule ^/\.well\-known/ai\-plugin\.json$ https://%{HTTP_HOST}/api/vERP_2_dat_dat/OPENAPI_CHATGPT_MANIFIESTO?api_name=Identificador_Api_Key
      • De las 2 líneas anteriores referente al rewrite, lo único que se debe modificar es:

        • /api: aquí se debe especificar el valor definido en el Location.

        • /vERP_2_dat_dat: aquí se debe definir el nombre del proyecto donde se hayan generado los objetos de la extensión. Muy importante añadir el sufijo _dat o _app según en qué proyecto lo hayamos generado.

        • Identificador_Api_Key: aquí debemos definir la clave creada en el paso anterior cuando creamos la Api Key enlazada a los procesos en cuestión.

Si el nombre del proyecto donde se han generado los objetos con la extensión de ChatGPT contiene espacios en blanco, en la configuración del "Rewrite" del fichero de configuración del Apache debemos reemplazar estos por la cadena %20. Ejemplo: Si el proyecto se llama "mi Erp_dat_dat", deberíamos escribir: "mi%20Erp_dat_dat".

  • Una vez modificada el fichero, se debe guardar y reiniciar el servicio de Apache.

Una vez hecho todo esto, lo que nos queda es confirmar que todo ha quedado correctamente configurado y para ello, podemos ejecutar la URL de consulta del plugin desde cualquier navegador, para ello la URL será:

https://midominio.com/.well-known/ai-plugin.json

Si todo ha ido bien, deberías ver una respuesta similar a esta en tu navegador:

{
	"schema_version": "v1",
	"name_for_model": "PluginsContactosTESTING",
	"name_for_human": "Plugins para Contactos TESTING",
	"description_for_model": "Plugins para la consulta de contactos desde ChatGPT",
	"description_for_human": "Plugins para la consulta de contactos desde ChatGPT",
	"auth": {
		"type": "user_http",
		"authorization_type": "bearer"
	},
	"api": {
		"type": "openapi",
		"url": "https://contactoschatgpt.velneo.net/api/vERP_2_app_app/CHATGPT:OPENAPI?api_name=ContactosPruebas",
		"has_user_authentication": false
	},
	"logo_url": https://contactoschatgpt.velneo.net/api/vERP_2_dat_dat/CTT_M.jpg",
	"contact_email": "usuario@velneo.net",
	"legal_info_url": "https://contactoschatgpt.velneo.net"
}

De este retorno, debemos verificar que las dos URLs descritas en él, retornen valor, es decir, en el grupo api > url debemos obtener toda la especificación OpenApi de los procesos enlazados.

Y en logo_url deberíamos obtener la imagen o icono elegido en la configuración.

Notas importantes

Si está instalado tu ambiente de forma local, debes asegurarte de tener habilitado el módulo rewrite dentro de tu servicio de Apache.

El campo nombre para el plugin para el modelo solo puede contener letras minúsculas, mayúsculas y/o números. No puede contener espacios, ni ningún carácter especial.

El campo nombre del plugin para el humano puede tener un tamaño máximo de 30 caracteres.

El campo descripción del plugin para el humano puede tener un tamaño máximo de 120 caracteres

Galería de objetos

(F6)

Nuevo objeto

Permite añadir un nuevo objeto al proyecto actual. Esta opción desplegará un submenú con toda la lista de objetos disponibles, en la que seleccionaremos el objeto que se desea crear.

Nuevo sub-objeto

Permite añadir un nuevo sub-objeto al objeto actual. Si el objeto actual puede contener sub-objetos, esta opción desplegará un submenú con toda la lista de sub-objetos disponibles para el objeto actual en la que seleccionaremos el que se desea crear.

Importador de tablas

Nos permite, en edición, crear una tabla a partir de un origen de datos (o bien desde el portapapeles, o bien desde un fichero en disco) y, en ejecución, importar los datos de ese mismo origen de datos.

Al ejecutar esta opción debemos cumplimentar las opciones siguientes:

Origen

Declaración del origen de datos a partir del cual se creará la tabla y se importarán los datos. Los tipos de origen permitidos son:

  • Excel (portapeles): el contenido de una hoja de cálculo copiado en el portapapeles.

  • Fichero csv: un fichero csv en disco.

  • Fichero JSON: un fichero json en disco.

Separador

Esta opción solamente estará disponible si el origen es Excel o fichero CSV.

Debemos especificar qué tipo de separador se usa en el origen de datos elegido. Debe ser uno de éstos:

  • Tabulador.

  • Coma (,).

  • Punto y coma (;).

  • Pipe (|).

En el caso de que el origen sea un fichero json, estas opciones no estarán disponibles.

Nombre en 1ª fila

Esta opción solamente estará disponible si el origen es Excel o fichero CSV.

Activaremos esta opción si en el origen de datos en la primera fila se incluyen los nombres de los campos.

Seleccionar fichero

En el caso de que el origen sea un fichero CSV o un fichero JSON, este botón nos permitirá seleccionar el archivo a importar.

Configuración de tabla y campos

En base al origen de datos y el separador especificado, el sistema nos propondrá un nombre de tabla en la propiedad Nombre tabla, nombre que podemos cambiar.

  • Al importar, preguntar si se vacía la tabla: si activamos esta opción, en el proceso de importación de datos que se generará, se le preguntará al usuario si quiere vaciar la tabla antes de importar los registros. Si no acepta, los registros importados serán añadidos a la tabla sin borrar los que ya hubiese.

En base al origen de datos y el separador indicados, el sistema nos mostrará, de forma automática la lista de campos detectados, indicando su nombre, tipo y longitud aunque puede requerir modificar la configuración según el tipo de campo para adecuarse a las necesidades.

Los formatos de fecha soportados son:

  • dd-mm-yyyy, d-m-yyyy, dd-mm-yy (año 2000), d-m-yy (año 2000), yyyy-mm-dd

  • dd/mm/yyyy, d/m/yyyy, dd/mm/yy (año 2000), d/m/yy (año 2000), yyyy/mm/dd

  • dd.mm.yyyy, d.m.yyyy, dd.mm.yy (año 2000), d.m.yy (año 2000), yyyy.mm.dd

Los formatos numéricos soportados son:

  • Enteros.

  • Sin separadores de miles.

  • Con separadores de miles:

    • 1000, 1,000, 1.000

  • Con decimales:

    • 0.02, 0,02

  • Combinación de separadores y decimales:

    • 1000.02, 1,000.02, 1.000,02

Así mismo, si un campo debe contemplar signo, debemos activar la casilla de verificación. correspondiente al signo.

  • Tabla enlazada: si la tabla a importar tiene un campo enlazado a una tabla maestra del proyecto o de algún proyecto heredado, la seleccionaremos en este parámetro. Al seleccionarlo se activará la opción Indexar, de este modo, al generar la tabla se creará el campo enlazado al maestro y el índice correspondiente.

Podemos crear una nueva solución si no estamos conectados a ninguna, o crear la en el proyecto de datos que tengamos abierto.

En el caso de que el origen sea un CSV (tanto en disco como en memoria), y éste contiene un campo ID, si el registro de origen ya existe en la tabla de destino, lo actualizará, si no existe, lo dará de alta.

Cuando hay comillas en la hoja de cálculo a exportar, puede haber confusiones con las comillas (") ya que a través del portapapeles no se exporta de forma estandarizada, unas veces usa las comillas para indicar comillas y otras para indicar textos que contienen líneas de retorno o similar, creando un texto no importable de forma directa. Para esos casos, se ha de usar la exportación a csv para importar posteriormente, desde el archivo generado, lo que asegurará la correcta importación de textos con comillas.

Crear variables locales eventos

Importar dibujos

Buscador (Control + B)

Esta opción nos permite encontrar objetos, subobjetos de nivel 1 y 2, incluso propiedades de forma muy sencilla, con múltiples opciones de filtrado: por tipo de objeto, por proyecto, por propiedad, etc.

Cuando lanzamos el buscador, este se abrirá en una pestaña en el panel central. Al buscar, lo hará en todos los proyectos de todas las soluciones cargadas en esa sesion de Velneo vDevelop.

Incluye un control donde escribir el texto a buscar. La búsqueda se irá haciendo a medida que vayamos escribiendo. Además disponemos de un botón "Buscar"

Una vez disparada la búsqueda, nos mostrará todos los objetos que coincidan con el criterio de la búsqueda. Si hacemos doble clic en alguno se editará directamente (no es necesario haber abierto antes el proyecto, porque ya al buscar lo abrirá).

Se puede elegir sobre qué proyectos queremos que realice la búsqueda, y sobre cuáles no, simplemente marcando o desmarcándolos.

Solo buscará sobre aquellos proyectos que estén abiertos. En caso de no haber podido abrir un proyecto en edición, no devolverá resultados del mismo.

  • Objetos: permite seleccionar uno o varios tipos de objeto para .

  • Sub-objetos: permite seleccionar uno o varios tipos de sub-objeto.

  • Sub-objetos 2: permite seleccionar uno o varios tipos de sub-objeto de sub-objetos.

  • Valores: permite filtrar por valores.

También pdemos aplicar un filtro desde el listado de objetos encontrados. Al pasar el cursor sobre un tipo de objeto/sub-objeto se activará el icono de filtro, si hacemos clic sobre él, se aplicará el filtro por el objeto, sub-objeto seleccionado:

  • Coincidir mayúsculas/minúsculas: si queremos que la búsqueda se haga respetando mayúsculas y minúsculas.

  • Mostrar por defecto el panel de filtros: si queremos que por defecto nos muestre el panel de filtros.

El botón "Limpiar filtros" nos permite limpiar todos los filtros que hayamos configurado.

Opciones de búsqueda

Se establece la expresión $OBJ como reservada. Si la escribimos en el campo de búsqueda devolverá todos los objetos de todos los proyectos de todas las soluciones cargadas.

Podemos utilizar el carácter | para refinar búsquedas, o el carácter & para sumar resultados de búsqueda. Ejemplos:

$OBJ | formulario&rejilla devolverá todos los objetos, luego sobre ese resultado, refinará la búsqueda para encontrar todo lo que sean formularios y rejillas, y esta sera lo que muestre en pantalla como resultado de búsqueda.

$OBJ | rejilla | columna devolverá todos los objetos, luego hará una búsqueda por todo lo que sea rejilla, y luego por todo lo que sea columna.

$OBJ | rejilla | conexion&manejador devolverá todos los objetos, luego hará una búsqueda por todo lo que sea rejilla, y luego por todo lo que sea conexión de evento o manejador de evento.

Articulos | Formulario & rejilla | conexión devolverá todo lo que coincida con el texto buscado "Articulos" para luego rebuscar todo lo que sean formularios o rejilla y por último volver a rebuscar por conexión.

Importante resaltar que se pueden utilizar tanto | o & como se quiera.

Los filtros sólo muestras valores que tengan relación con la búsqueda obtenida, es decir, si tras buscar solo encuentra formularios y rejillas, en la sección de filtros -> objetos, solo tendrás disponible para filtrar por esos 2.

Los filtros no solo están en el panel izquierdo, sino que puedes aplicar filtros rápidos desde la misma lista de resultados. Haciendo clic en el enlace que aparece en la segunda fila de cada columna.

A continuación mostramos los nombres de objetos, sub-objetos y sub-sub-objetos que podemos usar.

Objetos

Tabla

Indice complejo

Variable global

Tabla estática

Dibujo

Rejilla

Árbol visor de tablas arboladas

Casillero

Formulario

Multivista

Impresora lógica

Informe

Búsqueda

Lupa

Localizador

Cesta

Proceso

Función

Librería externa

Acción

Menú

Toolbar

Tubo de lista

Tubo de ficha

Protocolo TCP/IP

Constante

Marco

Bloc de formularios

Cola de procesos

Esquema

Puerto serie

Fichero adjunto

Imagen SVG

Control SVG

ViewFlow

Alternador de lista

ComboView

ListView

Lista QML

Rejilla Avanzada

Formulario QML

Gráfico

Reemplazo

Sub-objetos

Campo

Índice

Enlace plural

Actualizacion

Parte de índice complejo

Variable

Item de tabla estática

Trigger

Columna de rejilla

Control

Seccion de informe

Agrupamiento de informe

Calculo de informe

Componente de búsqueda

Indice del localizador

Conexion de evento

Manejador de evento

Instrucción de proceso

Lanzador de acción

Dock

Drop

Item de un esquema

Funcion de DLL Inserción

Intercomunicador TCP

Modelo auxiliar

Columna de rejilla avanzada

Banda de rejilla avanzada

Traspaso de campo

Ficha de extensión de formulario

Serie de un gráfico

Eje de un gráfico

Sub-sub-oobjetos

Componente de actualizacion

Subcontrol

Control de informe

Instrucción de proceso

Parametro de funcion de DLL

Subindexador

Condicion de estilo de rejilla

User role

No podemos buscar textos de menos de tres caracteres.

Cambiar estilos

Es posible cambiar el estilo de un grupo de objetos usando el checkbox de selección de la primera columna o cambiar un objeto individual usando el interruptor de la columna de la derecha.

Esta opción se adapta al modo claro u oscuro que se tenga configurado en el sistema.

Iconos material

Esta ventana se adapta al modo claro u oscuro que se tenga configurado en el sistema.

Editar informe personalizable

Nueva carpeta

Las carpetas son objetos que nos permitirán organizar los objetos de un proyecto en el panel central de Velneo vDevelop. Esta opción añadirá una carpeta en el panel central del proyecto en mismo nivel que el objeto o la carpeta que estuviese seleccionada en el momento de su ejecución.

Nueva carpeta hija

Esta opción añadirá una carpeta en el panel central del proyecto dentro de la carpeta seleccionada en el momento de su ejecución.

Propiedades de carpeta

(Alt + Intro)

Permite modificar las propiedades de la carpeta seleccionada en el panel central de Velneo vDevelop. Podremos modificar su nombre, el color de la fuente y el icono de la carpeta.

Localizar en proyecto

Buscar en contenido de objetos

Esta opción permite buscar un texto en el contenido de objetos de la solución y de las soluciones heredadas, permite buscar tanto en propiedades de objetos como en fórmulas y en el nombre de los comandos de instrucción de proceso. La búsqueda incluye los campos fórmula de tipo Javascript.

Incluye un control en el que podemos escribir la cadena a buscar. Para iniciar la búsqueda, una vez escrita la cadena, pulsaremos la tecla intro.

En la parte inferior del panel se mostrará la lista de todos los objetos que coincidan con el criterio de búsqueda y el primero de ellos será editado automáticamente.

Si desmarcamos la opción coincidir mayúsculas y minúsculas, no se tendrán en cuenta las mayúsculas y las minúsculas a la hora de buscar las coincidencias.

Objetos no usados directamente

Esta opción permite buscar objetos que no sean usados de forma directa por otros objetos de la aplicación. Debemos tener en cuenta que el que no se use un objeto directamente no quiere decir que no se use realmente, por ejemplo, si un proceso es usado solamente en un script, esta opción lo devolverá como no usado directamente por ningún objeto.

Esta opción se adapta al modo claro u oscuro que se tenga configurado en el sistema.

Eliminar carpeta

Borra la carpeta seleccionada en el panel central de Velneo vDevelop. Debemos tener precaución pues no borrará solamente la carpeta seleccionada sino que borrará también todos los objetos y sub-carpetas que contenga.

Eliminar

Elimina el objeto que seleccionemos tanto en el Inspector de objetos como en el panel central de Velneo vDevelop.

Mover de proyecto

Últimos modificados

Presenta la lista de los últimos objeto modificados en la sesión actual de Velneo vDevelop. Si seleccionamos uno, será editado.

Navegante de objetos

Nos permite navegar entre propiedades y sus objetos. Contiene las opciones siguientes:

Anterior objeto editado

Nos permite navegar al objeto que haya sido editado con anterioridad. Si hacemos clic en el botón de la flecha situado junto a este icono, se desplegará una lista con todos los objetos editamos con anterioridad. Seleccionando uno, accederemos a él.

Siguiente objeto editado

Nos permite navegar al objeto que haya sido editado con posterioridad al objeto actual. Si hacemos clic en el botón de la flecha situado junto a este icono, se desplegará una lista con todos los objetos editamos posteriormente. Seleccionando uno, accederemos a él.

Editar objeto de la propiedad

Editar objeto padre

Crear objeto para la propiedad

Un .

Si la tabla tiene , generará en el formulario un separador con un subformulario por plural.

Si la tabla tiene , en el formulario, en los controles de los se incluirá un menú de botón con las opciones alta/ver/localizar.

Si pulsamos sobre el botón de la rueda dentada , podremos indicar si no queremos generar algún objeto/grupo de objetos. Las opciones disponibles son:

Generar para ejecución web: generará solamente aquellos objetos de interfaz que son funcionales en . Es decir, no generará , ya que no son funcionales en Velneo Web.

Esta opción es una herramienta para generar los objetos en nuestro proyecto de Velneo que son necesarios para poder crear un plugin de que conecte el chat con las instancias de nuestra solución.

Si queremos tener acceso a plugins en ChatGPT debemos dirigirnos a la pagina del proveedor y documentarnos al respecto: .

La extensión creará dos junto con sus scripts del proyecto.

El otro proceso es para generar dinámicamente la información que ChatGpt necesita a partir de los procesos que expongamos en la .

Estos procesos son los que, con ayuda de la nos genera un punto de enlace para empezar a desarrollar los procesos que se encargarán de comunicarse con ChatGpt.

Para su correcto funcionamiento, es necesario tener cargada una solución que tenga los objetos de la y tener abierto el proyecto en el que se quiere que se generen los objetos.

Senda del script API_REST_FUNCIONES_V2 para el include: el código JavaScript del segundo proceso necesita un del script api_rest_funciones_v2.js de la API REST. Si tenemos la solución con la Api REST cargada, se calcula automáticamente. Si no, hay que escribirla manualmente.

Agregamos la correspondiente con la instancia donde queremos activar el plugin.

Se debe utilizar la propiedad de los objeto , para documentar de forma concreta la funcionalidad del proceso. Debemos tener en cuenta que para ChatGPT esta descripción no puede exceder los 300 caracteres. El mismo límite de 300 caracteres, aplica para la propiedad comentarios de cada variable del proceso.

Aquellas variables que no quieres que sean documentadas con la especificación OpenApi, debes marcarle el "Privado".

Abre la .

Opción específica para .

Si el origen de datos elegido es un texto en el portapapeles, se activará el botón Pegar del portapapeles, al pulsarlo pasaremos a la fase de .

Si el origen de datos elegido es un fichero csv en disco, se activará el botón Seleccionar fichero, al pulsarlo, el sistema nos pedirá que seleccionemos el fichero y, una vez seleccionado, pasaremos a la fase de .

Si pulsamos el botón que se encuentra junto al nombre de la tabla, podremos desplegar las opciones de configuración de la importación de la tabla, que son:

Campo primario: si en el origen existe un campo primario (que identifica a cada registro de forma única y exclusiva), desplegando esta opción podremos indicar cuál es. En el caso de que en el origen haya una columna llamada "ID", "Código" o "Code" se asignará automáticamente si el origen es Excel o CSV. En el caso de que el origen sea JSON solamente hará la asignación automática si el JSON contiene un campo "ID". En la generación de la tabla se generará un índice de con el campo seleccionado.

Campo nombre: si en el origen existe un campo que contiene el nombre del registro, desplegando esta opción podremos indicar cuál es. En el caso de que en el origen haya una columna llamada "Nombre" o "Name" lo asignará automáticamente si el origen es Excel o CSV. En el caso de que el origen sea JSON solamente hará la asignación automática si el JSON contiene un campo "NAME". En la generación de la tabla se generará los índices de tipo , y del campo seleccionado.

Para cambiar el tipo de un campo no tendremos más que hacer clic en el botón para desplegar la lista de tipos de campo y seleccionar el adecuado.

En el caso de que el fichero de origen sea un JSON y éste incluya campos de tipo u , éstos serán identificados como alfabéticos, así que tendremos que asignarle el tipo de campo adecuado.

Si pulsamos el botón que se encuentra junto al nombre de cada campo, podremos desplegar las opciones de configuración de la importación de dicho, que son:

Indexar: creará un de tipo de ese campo.

Trozos: añadirá el campo al de la tabla que se va a crear en la tabla.

Palabras: añadirá el campo al de la tabla que se va a crear en la tabla.

Esta opción creará también un en primer plano para la obtención de los datos en ejecución, y otro en 3er plano para su importación.

Se pueden usar ya esos objetos, pero también se usar la opción de para completar la interfaz, pues esta extensión crea un menú de importación en el que incorpora los procesos de importación generados por esta opción.

En determinados objetos, existen una serie de específicas para manejadores de eventos de dichos objetos. Para ampliar información sobre las mismas, consultar los siguientes capítulos de la documentación:

(variable EVENT_PARAMS). (variables EVENT_SENDER_COL y EVENT_SENDER_ID).

Permite hacer una importación masiva de dibujos en el proyecto actual. Ver el capítulo dedicado a los para ampliar información al respecto.

Podemos establecer filtros para refinar la búsqueda disparada. Para ello pulsaremos el botón . Podremos filtrar por:

El botón nos permite configurar las opciones siguientes:

Esta opción nos permite marcar o desmarcar un estilo a todos los objetos de un mismo tipo. Nos pedirá el tipo de objeto, el estilo y si queremos activarlo o desactivarlo. Ejemplo de uso: activar el a todos los formularios de un proyecto.

Esta opción nos permite buscar y encontrar en español el icono que necesitas entre más de 5.000 iconos , darle el tamaño, color, nombre que deseas y crearlo directamente en tu proyecto como o como o bien exportarlo a disco.

Permite Abrir el editor de para para poder editar un fichero XML con la definición del informe.

Esta opción localiza en el panel central de Velneo vDevelop el objeto que seleccionemos en el .

Al ejecutarla se abrirá un panel en la parte inferior de Velneo vDevelop. En dicho panel podremos hacer búsquedas dentro del contenido de los tanto del proyecto en curso como en los heredados.

El sistema buscará tanto en propiedades de objetos como en y en de Velneo. Así, por ejemplo, podremos buscar en qué fórmulas o propiedades se usa un campo o una cadena determinada, en qué procesos se usa un comando de instrucción de proceso concreto, etc.

Si tenemos un proceso público y que es usado solamente para ser ejecutado a través de Internet por , también será devuelto por esta opción, objetos que hayamos creado para ser usados en soluciones que hereden nuestra solución, también serían devueltos al ejecutar esta opción. Por lo tanto, debemos ser cautelosos a la hora de borrar los objetos que retorne esta opción.

Permite mover el objeto actual a un . Ver el capítulo para ampliar información al respecto.

Si en una propiedad tenemos asignado un objeto, nos permite editarlo directamente. Por ejemplo, en las propiedades de una que dispara una , editar esta última.

Nos permite editar el objeto padre de un sub-objeto. Por ejemplo, estando en las propiedades de una de rejilla, editar la .

Nos permite crear directamente un objeto desde una propiedad. Por ejemplo, desde una nos permite crear el a disparar.

localizador
plurales
Velneo Web
rejillas avanzadas
ChatGpt
https://openai.com/blog/chatgpt-plugins
procesos JavaScript
Api REST
Api REST
Api REST
proyectos de datos
proceso
Conexión de evento
Rejilla
dibujos
estilo Material
dibujo
imagen SVG
informes personalizables
objetos
fórmulas
procesos
Velneo vModApache
acción
búsqueda
columna
rejilla
conexión de evento
manejador de evento
galería de objetos
configuación de tabla y campos
configuación de tabla y campos
Generar Interfaz
marco
toolbar
menú
formulario
rejilla
árbol
rejilla avanzada
alternador de lista
formulario
acción
proceso
índice
proyecto heredado
inspector de scripts
Inspector de objetos
maestros
include
campos enlazados a maestro
comentarios
clave única
acepta repetidas
palabras
trozos de palabras
acepta repetidas
índice PARTS
índice WORDS
mover objeto
directiva Location
estilo personalizable
objeto dibujo
objeto binario
estilo
variables locales