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)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
Se ejecuta 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. |
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. |