Funciones de sistema y seguridad
Registros creados y modificados desde scripts, llamadas HTTP, codificación, hashes, QR, TOTP, contraseñas y detección de cuentas contables.
Funciones del espacio F. para operar con el sistema: crear y modificar registros desde un script, lanzar peticiones HTTP, codificar texto, generar claves y códigos, y localizar cuentas contables. Las convenciones comunes (tipos de datos, sufijos, contextos) están en el índice de funciones.
Crear y modificar registros por script
Las funciones API_ guardan registros desde el propio script. El flujo tiene tres pasos: abrir el registro con API_BeginAddRecord o API_BeginModifyRecord, asignar campos con API_SetRecordFieldValue y confirmar con API_CommitSaveRecord.
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
API_BeginAddRecord | (sección) | Relación (GUID) | Crea un registro nuevo en la sección y devuelve su GUID. |
API_BeginModifyRecord | (sección) | — | Inicia la modificación de un registro existente de la sección. |
API_SetRecordFieldValue | (sección, campo, valor) | — | Asigna el valor de un campo del registro abierto. El tipo del valor depende del campo. |
API_CommitSaveRecord | () | Entero | Confirma y guarda en base de datos los cambios pendientes. |
API_DeleteRecord | (sección) | — | Elimina definitivamente un registro de la sección. |
API_RestoreRecord | (sección) | — | Restaura un registro eliminado de la sección. |
Sin API_CommitSaveRecord no se guarda nada: los cambios quedan pendientes hasta que lo llamas.
Tras el guardado, las SaveInfo_ te dicen qué ha pasado:
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
SaveInfo_AffectedCount | (sección) | Entero | Registros afectados por el último guardado en la sección. |
SaveInfo_AffectedID | (sección) | Relación (GUID) | GUID del registro afectado por el último guardado. |
SaveInfo_DurationMs | (sección) | Entero | Duración del último guardado, en milisegundos. |
Ejecutar scripts y servicios externos
Todas ejecutan en scripts independientes.
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
ExecuteScript | (script) | — | Ejecuta otro script por su identificador. |
WebClient_Request | (endpoint, método, diccionario) | Texto | Lanza una petición HTTP al endpoint y devuelve la respuesta. |
IndexText | (texto) | Entero | Añade un texto al índice en memoria y devuelve su posición. |
BuildArrayJSON | () | Texto | Monta un array JSON con los valores indexados. |
Maps_KilometersBetween2Coordinates | (desde, hasta) | Decimal | Kilómetros entre dos coordenadas geográficas. |
Maps_MinutesBetween2Coordinates | (desde, hasta) | Entero | Minutos de viaje entre dos coordenadas geográficas. |
Los parámetros de la petición HTTP viajan en un diccionario de funciones de texto:
num parametros = F.DicT_New()
F.DicT_Add(parametros, "email", v.email)
txt respuesta = F.WebClient_Request("https://api.ejemplo.com/altas", "POST", parametros)Equipo local: solo en el Terminal
Operan sobre la máquina donde corre la aplicación: portapapeles, archivos y procesos. Solo ejecutan en el Terminal, en scripts independientes.
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
ClipboardGet | () | Texto | Lee el texto del portapapeles. |
ClipboardSet | (texto) | — | Copia el texto al portapapeles. |
IOFileExists | (ruta) | Entero (1/0) | El archivo existe en la ruta indicada. |
IODirectoryExists | (ruta) | Entero (1/0) | La carpeta existe en la ruta indicada. |
OSProcessStart | (directorio, archivo, comando, esperar, timeoutMs) | — | Arranca un proceso del sistema, con espera y timeout opcionales. |
RunCMD | (comando) | Texto | Ejecuta un comando de sistema predefinido y devuelve su salida. |
Codificar y descodificar
Escapan texto para incrustarlo en HTML, URLs o JSON sin romper la sintaxis. Ejecutan en documentos dinámicos y funciones API; URLEncode también vale en scripts de formulario e independientes.
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
HtmlEncode | (texto) | Texto | Escapa los caracteres especiales de HTML. |
HtmlDecode | (texto) | Texto | Deshace la codificación HTML y recupera el texto original. |
URLEncode | (texto) | Texto | Escapa un texto para usarlo en una URL. |
URLDecode | (texto) | Texto | Deshace la codificación URL y recupera el texto original. |
JSONEncode | (texto) | Texto | Escapa un texto para usarlo como valor JSON. |
GetBase64 | (imagen, tamaño) | Texto | Devuelve una imagen en Base64, al tamaño indicado. |
Códigos QR
Ambas ejecutan en documentos dinámicos y funciones API.
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
BuildQR | (url) | Texto | Genera un código QR a partir de una URL. |
BuildQR_Verifactu | (nif, numSerie, fecha, importe) | Texto | Genera el QR Verifactu de una factura con sus datos fiscales. |
Hashes, claves y códigos
Todas valen en scripts independientes salvo ToSHA1, que solo ejecuta en documentos dinámicos y funciones API. NewGuid vale en cualquier contexto.
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
NewGuid | () | Texto | Genera un GUID aleatorio nuevo. |
NewPassword | (longitud, especiales) | Texto | Genera una contraseña aleatoria, con o sin caracteres especiales. |
ToSHA1 | (texto) | Texto | Hash SHA-1 del texto. |
CreateSecretKeyTotp | (longitud) | Texto | Genera una clave secreta para códigos TOTP. |
ComputeCodeTotp | (claveSecreta) | Texto | Calcula el código TOTP vigente para una clave secreta. |
El secreto TOTP se genera una vez; el código se recalcula a partir de él cada vez que lo necesitas:
txt secreto = F.CreateSecretKeyTotp(32)
txt codigo = F.ComputeCodeTotp(secreto)Contabilidad
Localizan grupos, cuentas y subcuentas del plan contable por su código. Las Detect* ejecutan en scripts de formulario; IsAccountOrSubAccount también en algoritmos y scripts independientes.
| Función | Parámetros | Devuelve | Qué hace |
|---|---|---|---|
DetectAccount | (código) | Relación (GUID) | GUID de la cuenta a partir del código de cuenta o subcuenta. |
DetectAccountByType | (código, tipo) | Relación (GUID) | GUID del grupo, cuenta o subcuenta, según el tipo a extraer. |
DetectAccountGroup | (código) | Relación (GUID) | GUID del grupo contable a partir del código. |
DetectSubAccount | (código) | Relación (GUID) | GUID de la subcuenta a partir de su código. |
IsAccountOrSubAccount | (cuenta, subcuentas) | — | Comprueba si la cuenta coincide con los códigos indicados, separados por comas. |
Funciones de documentos y gráficos
Construir tablas en memoria, escribir en la salida de documentos dinámicos, generar URLs firmadas de archivos y montar gráficos y mapas por código.
Espacio de Nombres (S.)
Referencia del espacio S. de DinaScript para acceder al esquema de Flex (secciones, campos, relaciones), a la sesión del usuario y a las variables de preguntas en tiempo de ejecución.