Ir al contenido

Expresiones del ERP — Guía rápida de usuario

Referencia práctica del lenguaje de expresiones (reports, columnas calculadas, condiciones). Para la especificación completa: GRAMATICA.md.

Lo básico

Quiero...EscriboResultado
Un campo de la fila[Importe] · [Total Línea]su valor
Un total precalculadoAGG(baseImponible)su valor
Aritmética[Cantidad] * [Precio] * 1.21número
Texto"Cliente: " + [Nombre]texto
Una condición[Importe] > 1000 ? "VIP" : "normal"una de las dos ramas
La misma, en estilo Python"VIP" if [Importe] > 1000 else "normal"idéntico
Valor por defecto si está vacío[Descuento] ?? 0el primero no vacío
Una fecha fija#2026-06-10# · #2026-06-10 14:30#fecha

Vacíos (null): se comporta como la base de datos

Funciones más usadas

FunciónEjemploDa
Round(x, decimales)Round([Importe] * 1.21, 2)121.00
Abs · Floor · CeilingCeiling(2.1)3
Min(a, b) · Max(a, b)Max([Stock], 0)
Upper · Lower · TrimUpper([Nombre])"ACME"
Len(s)Len([NIF])9
Substring(s, inicio, largo)Substring([NIF], 1, 1) (¡desde 1!)primera letra
Replace · PadLeft · PadRightPadLeft([Num], 6, "0")"000043"
Contains · StartsWith · EndsWithStartsWith([CP], "28")true/false
Today() · Now()constantes durante todo el report
Year · Month · DayYear([Fecha])2026
AddDays · AddMonths · AddYearsAddDays([Fecha], 30) (vencimiento)fecha
DateDiffDays(inicio, fin)DateDiffDays([Fecha], Today()) (edad de la deuda)días
IIf(cond, siSí, siNo)IIf([Cantidad] > 0, [Importe]/[Cantidad], 0)solo evalúa la rama elegida
Coalesce(a, b, ...) / IsNull(a, b)Coalesce([Tarifa2], [Tarifa1], 0)primer no-vacío
Format(valor, "formato")Format([Importe], "N2") · Format([Fecha], "dd/MM/yyyy")texto ya formateado (español)
ToDecimal · ToString · ToDateToDecimal([CodigoTexto])conversión explícita

Errores que te avisan

Scripts (avanzado: automatizaciones y plugins)

Donde el sistema lo permita (no en reports), una secuencia de sentencias acabadas en ;:

var total = 0;
foreach (var x in Lineas)
{
    if (x > 10) { total = total + x; }
}
return total;