FlexHub

Scripts

La lista de scripts de la empresa y su ventana: título, cuándo se ejecuta, campos que lo disparan y editor DinaScript con comprobación y Yudo.

FlexHub → Scripts lista todos los scripts de la empresa. Un script es código que se ejecuta cuando pasa algo en una ficha de su sección.

Qué es un evento y cuándo se dispara cada uno está en Scripts; el lenguaje, en DinaScript.

Antes de empezar

  • Ser Administrador de la empresa. Ver FlexHub.
  • Tener la sección del script. Un script siempre cuelga de una sección, y por eso la lista global no tiene botón de alta. Se crea en la ventana de la sección, pestaña Contenido → Scripts, con Nuevo (Secciones). También desde el panel Scripts del diseñador de fichas, con Nuevo (Diseñando la ficha).

La lista

La tarjeta Scripts lleva el icono Recargar, el buscador (nombre y nombre interno) y el embudo Filtros. El embudo trae Sección, Estado (Obsoletos, Eliminados) y Origen (Míos, De otros módulos), y arranca en Míos.

La rejilla tiene Script, Sección, Módulo, Modificado y Editar. Sección es un botón que abre la sección por su pestaña Contenido, y sale vacía si el script se ha quedado sin sección. Módulo dice Propio o el módulo del que viene, y lleva la etiqueta Obsoleto o Eliminado cuando corresponde. Pulsar la fila abre el script, igual que Editar. Los scripts no tienen categoría, así que esa columna no sale.

Vacía: Sin scripts con «No hay ningún script que mostrar. Cambia la búsqueda o crea uno desde su sección.», o el motivo del embudo. Con Míos solo y algo escondido: Ver de otros módulos (N).

La lista es la misma pantalla que la de informes, con otro tipo: Informes.

La ficha de un script

Una sola ventana crea y edita el script. Su título dice qué haces: Nuevo script o Editar script. A la derecha del título, el interruptor Yudo.

La primera tarjeta, fuera de las pestañas, es la ficha del script:

ElementoQué hace
TítuloEl nombre del script. De él sale el nombre interno: si lo cambias, revisa el código que lo llama.
Nombre internoLa palabra con la que se llama al script desde el código. Solo se lee.
SecciónLa sección de la que cuelga. Solo se lee.

Debajo salen los avisos del script: si está marcado como obsoleto, el candado con el motivo si no se puede cambiar, el resultado del último guardado, el de consolidar y el de Yudo. La ventana no muestra quién creó el script ni cuándo: la API no los publica.

Después vienen dos pestañas, General y Código, y la ventana abre siempre en General. El pie lleva Releer (solo con el script ya creado), Aceptar y Cerrar. Aceptar no sale si el script no se puede cambiar o no se ha podido leer.

Crear un script

Nuevo

En la ventana de la sección, pestaña Contenido → Scripts, pulsa Nuevo. Se abre Nuevo script en la pestaña General.

Título

Escribe el Título, la primera caja de la ficha. Es obligatorio.

Cuándo se ejecuta

Elige el evento en Cuándo se ejecuta (no se puede cambiar después). La lista la manda el servidor; los tres eventos que el motor no puede ejecutar (el independiente y los dos de informe) no se ofrecen. Si la lista llega vacía, un aviso lo dice y el script no se puede crear: cierra la ventana y vuelve a abrirla para pedirla otra vez.

Los campos que lo disparan

Con un evento de campo, pulsa Añadir campo y elige uno en la ventana Añadir campo. Con campos en la lista, el script solo se ejecuta cuando cambia uno de ellos; sin ninguno, se ejecuta con cada evento. Dos eventos exigen un campo, el de pulsar un campo y el de antes de agregar una relación: el rótulo pasa a Campo que lo dispara (obligatorio) y sale Falta el campo hasta que lo pones. Hasta 10.

Código y Aceptar

Escribe el código en la pestaña Código y pulsa Aceptar. El botón pasa a Creando… mientras el servidor consolida el esquema (unos 11 segundos), y mientras tanto Cerrar está apagado. El código viaja en el alta; si no se puede traducir, el servidor no crea el script y lo dice. Sin nada que revisar, la ventana se cierra sola.

Si el título contiene «destinador», el motor cambia el momento en que se ejecuta el script, y ese momento no se dispara por ningún campo. Al crear, la ventana pregunta con Ese título cambia cuándo se ejecuta: Crearlo así o Cambiar el título. Al renombrar, el servidor lo rechaza y la ventana para antes con Título no permitido. En un script que ya lo lleva, General marca Cuándo se ejecuta con un triángulo y un aviso dice en qué momento se ejecuta realmente. Para arreglarlo, quita esa palabra del título y pulsa Aceptar.

General

La pestaña tiene una tarjeta, Cuándo se ejecuta y con qué campos.

ElementoQué hace
Cuándo se ejecutaAl crear, el desplegable del evento. Al editar, se lee con un candado: el evento no se cambia después de crear el script. Para otro momento, crea otro script.
Campos que lo disparanEl contador (Ninguno o n de 10), el botón Añadir campo y una etiqueta por campo con su aspa. Sin campos, la tarjeta dice Sin campos: se ejecuta con cada evento.

Con un evento de formulario la lista no sale: «Este evento no se dispara por ningún campo. Se ejecuta sobre la ficha entera.» Los campos guardados de antes se conservan, pero ese evento no los usa. Si al crear cambias a uno de esos eventos con campos ya puestos, la ventana los quita y avisa con Se han quitado los campos.

La ventana Añadir campo busca por nombre (también por nombre interno, aunque no se muestre). Los campos que ya disparan el script salen al final, apagados, con Ya lo dispara; pasados 40, Ver más (N). Si el evento no se dispara con cualquier campo, un aviso encima de la lista dice con cuáles, por ejemplo «solo salta desde un campo de tipo Relación». El servidor acepta cualquier campo: un campo del tipo equivocado guarda un script que no se dispara nunca.

Si los campos de la sección no llegan, una nota lo dice. Los que ya están puestos se conservan al guardar, y Añadir campo vuelve a intentar leerlos.

Código

La pestaña Código lleva la tarjeta Código DinaScript: el editor, con dos botones.

  • Ayuda abre Ejemplos de DinaScript, la forma de cada línea: un comentario, una variable de número o de texto, una condición en una línea, un bloque if y un bucle. También leer y escribir campos con C., la fecha de hoy con D.DatosEspeciales.FechaActual y el valor de un algoritmo con A.. Cada bloque se copia, e Insertar lo pega en el cursor; en solo lectura, Insertar no sale. Los huecos en mayúsculas se cambian por lo tuyo. Los nombres de las funciones no están en esa lista: los ofrece el editor.
  • Comprobar pide al servidor que compile el código, sin guardarlo ni ejecutarlo. El código también se comprueba solo, medio segundo después de parar de escribir.

Escribe F. y salen las funciones del motor con su descripción; dentro del paréntesis, lo que espera cada parámetro. C. ofrece los campos de la sección con las relaciones encadenadas un nivel, A. sus algoritmos, D. los datos del contexto y S. el esquema (enumeraciones, intervalos y atributos de la sección y de sus campos).

Lo que tiene errores sale subrayado en rojo y listado en el panel Problemas, debajo del editor, con su Ln y Col. Pulsa una línea y el cursor va a ese punto del código. La cabecera Problemas pliega y despliega la lista, que muestra hasta 50 problemas.

La barra de estado, al pie del editor, dice Comprobando…, Sin errores, N problemas o Sin comprobar; con Sin comprobar, el motivo sale al pasar el ratón. Lleva también Solo lectura si el script no se puede cambiar y el lenguaje, DinaScript. El icono Pantalla completa, al final de la barra, lleva el editor con su panel y su barra a toda la pantalla. Se vuelve con Esc o con el mismo botón.

AvisoQué hacer
Sin sugerencias: este servidor todavía no publica el catálogo de funciones.El servidor de la empresa no contesta al catálogo flexfunciones. El editor colorea y guarda igual, sin autocompletado.
No se ha podido comprobar el código.El servidor no ha contestado a la comprobación. Pulsa Comprobar para repetirla; si guardas así, nadie ha revisado el código.
Sin errores. El código es válido; comprueba que hace lo que quieres.Nada que corregir. El aviso no dice que el script haga lo que quieres: pruébalo en una ficha de la sección.

Lo que se guarda es el código legible, tal como se ve; el servidor lo traduce a su formato interno. Que el código sea válido no quiere decir que se pueda guardar: eso depende de tus permisos y del módulo del que venga el script.

Yudo, el copiloto

El interruptor Yudo de la barra de título abre el chat Yudo · Copiloto de código, pegado a la derecha. Conserva si lo dejaste encendido o apagado, en todas las ventanas que llevan Yudo. No sale si la IA está desactivada en la empresa, si no tienes presupuesto semanal de IA o si ya lo has gastado (Yudo).

Yudo lee el código, busca funciones y campos, escribe en el editor y comprueba lo escrito. No guarda ni cambia el título, el evento ni los campos. Al escribir, la ventana salta a Código y avisa: Yudo ha cambiado el código. Revísalo: no se guarda hasta que pulses «Aceptar». con el botón Deshacer los cambios de Yudo. Con el script en solo lectura, Yudo no escribe. Ni apagarlo ni Releer borran la conversación; cerrar la ventana, sí.

Guardar, releer y cerrar

  • Aceptar guarda el título, los campos y el código en una operación. Los diez campos viajan en bloque. Si el servidor rechaza algo, la ficha lo lista por Propiedad (Título, Campos que lo disparan o Código) con su Motivo, y queda pendiente para el siguiente intento.
  • Tras un rechazo, la ventana vuelve a leer el script. Si alguien lo cambió mientras lo tenías abierto, lo que no habías cambiado muestra lo suyo y lo tuyo sigue en pantalla. Si esa persona también cambió el código, en el editor se queda el tuyo y el aviso lo dice. Si el script no ha cambiado en el servidor, el aviso dice que repetir daría la misma respuesta: arregla el motivo antes de volver a pulsar Aceptar.
  • Al renombrar, el título necesita al menos 3 caracteres. Con menos, la ventana para con Título demasiado corto y no guarda nada, tampoco el código.
  • Si un cambio guardado no se aplica hasta consolidar, la ficha lo avisa con Consolidar ahora. Consolidar reconstruye la estructura de toda la empresa y tarda unos diez segundos, así que la ventana pregunta antes en Consolidar la estructura.
  • Releer vuelve a leer el script del servidor; mientras lee, el botón dice Leyendo…. Con cambios pregunta antes, en Releer y perder los cambios.
  • Cerrar con cambios pregunta en Cerrar sin guardar: Perder los cambios o Seguir editando. Ni pulsar fuera ni Esc cierran la ventana.
  • Un script eliminado abre en solo lectura: copia su código y créalo otra vez con Nuevo en su sección. Un script no se elimina desde FlexHub.
  • Un script de un módulo que no desarrolla tu licencia se lee con el motivo del servidor y no se cambia.

En esta página