Esta documentación está en fase de desarrollo y puede contener errores.

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ónParámetrosDevuelveQué 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()EnteroConfirma 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ónParámetrosDevuelveQué hace
SaveInfo_AffectedCount(sección)EnteroRegistros 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)EnteroDuración del último guardado, en milisegundos.

Ejecutar scripts y servicios externos

Todas ejecutan en scripts independientes.

FunciónParámetrosDevuelveQué hace
ExecuteScript(script)Ejecuta otro script por su identificador.
WebClient_Request(endpoint, método, diccionario)TextoLanza una petición HTTP al endpoint y devuelve la respuesta.
IndexText(texto)EnteroAñade un texto al índice en memoria y devuelve su posición.
BuildArrayJSON()TextoMonta un array JSON con los valores indexados.
Maps_KilometersBetween2Coordinates(desde, hasta)DecimalKilómetros entre dos coordenadas geográficas.
Maps_MinutesBetween2Coordinates(desde, hasta)EnteroMinutos 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ónParámetrosDevuelveQué hace
ClipboardGet()TextoLee 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)TextoEjecuta 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ónParámetrosDevuelveQué hace
HtmlEncode(texto)TextoEscapa los caracteres especiales de HTML.
HtmlDecode(texto)TextoDeshace la codificación HTML y recupera el texto original.
URLEncode(texto)TextoEscapa un texto para usarlo en una URL.
URLDecode(texto)TextoDeshace la codificación URL y recupera el texto original.
JSONEncode(texto)TextoEscapa un texto para usarlo como valor JSON.
GetBase64(imagen, tamaño)TextoDevuelve una imagen en Base64, al tamaño indicado.

Códigos QR

Ambas ejecutan en documentos dinámicos y funciones API.

FunciónParámetrosDevuelveQué hace
BuildQR(url)TextoGenera un código QR a partir de una URL.
BuildQR_Verifactu(nif, numSerie, fecha, importe)TextoGenera 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ónParámetrosDevuelveQué hace
NewGuid()TextoGenera un GUID aleatorio nuevo.
NewPassword(longitud, especiales)TextoGenera una contraseña aleatoria, con o sin caracteres especiales.
ToSHA1(texto)TextoHash SHA-1 del texto.
CreateSecretKeyTotp(longitud)TextoGenera una clave secreta para códigos TOTP.
ComputeCodeTotp(claveSecreta)TextoCalcula 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ónParámetrosDevuelveQué 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.

Índice de funcionesScriptsDocumentos dinámicos

On this page