Ir al contenido

Campos: <field> y <fieldGroup>

<field> —o <campo>, su alias— es el elemento central de cualquier XML: define una columna de la consulta, su presentación y su comportamiento. <fieldGroup> agrupa campos y copia sus atributos a cada campo hijo, así que casi todo lo que vale en un campo vale también en el grupo.

Campo de formulario o columna de grid/consulta. Es el bloque fundamental: representa una columna SQL, un campo local (local="true"), un valor calculado (<expression>) o un control de UI sin persistencia. Aliases del tag: <field> (canónico) y <campo> (español).

Elemento Veces Descripción
<label> 0..n Etiqueta legible del campo (header de columna o label del input).
<expression> 0..n Expresión SQL para valores calculados. Va al SELECT (o HAVING si hay GROUP BY).
<expresion> 0..n Alias español de <expression>.
<tipo> 0..n Tipo del campo (date, numeric, check, file, geoPoint, etc.).
<formato> 0..n Formato de visualización (ej. “dd/mm/yyyy” en fechas, “#.##0,00” en numéricos).
<format> 0..n Alias inglés de <formato>.
<size> 0..n Tamaño visual del input o ancho de columna.
<maxsize> 0..n Máximo de caracteres del input (atributo HTML maxlength).
<parametro> 0..n Parámetros pasados al XML referenciado por obj/linkint (popups, helpers de tipo “parameter”).
<options> 0..n Lista de opciones fijas para radio/select (no dependen de SQL).
<opciones> 0..n Alias español de <options>.
<help> 0..n Texto de ayuda contextual del campo (tooltip).
<helper> 0..n Helper UI: combo dinámico, link a otro XML, popup de ayuda, grilla embebida, etc.
<tabla_ex> 0..n Tabla externa (legacy). Equivalente a <helper type="object"> o <ayuda_ex>.
<ayuda> 0..n Helper popup de ayuda inline (combo o lookup).
<ayuda_ex> 0..n Ayuda externa (popup completo desde otro XML).
<valor> 0..n Valor por defecto del campo. Con eval="true" se evalúa como PHP (ej. date('d/m/Y')).
<operador> 0..n Operador de la condición de filtro/JOIN del campo (=, !=, like, in, between, etc.).
<operator> 0..n Alias inglés de <operador>.
<condicion> 0..n Condición SQL del campo. Va al WHERE (o HAVING si having="true"/hay GROUP BY).
<condition> 0..n Alias inglés de <condicion>.
<attribute> 0..n El texto del tag no es un valor: es el id de otro campo. El motor copia el valor de ese otro campo a la propiedad Histrix que nombra el…
<if> 0..n Condicional <if exp="..."><true>X</true><false>Y</false></if>.
<setvar> 0..n Guarda el valor del campo en una propiedad del contenedor de esa instancia, con el nombre que dice el texto del tag.
<detalle> 0..n Nombre lógico del campo destino al volver de un popup hijo (mecanismo <importar resume>).
<prefijo> 0..n Texto que se antepone al valor del campo al renderizar (en pantalla y PDF).
<habilita> 0..n Está al revés de lo que sugiere el nombre: el texto del tag es el id del campo controlador, y el que se habilita o deshabilita es **el campo…
<jseval> 0..n Evaluación JS al cambiar el campo. Resultado va al campodestino.
<visibleWhen> 0..n Muestra u oculta este campo según una condición: el tag va sobre el campo controlado, no sobre el que dispara la condición.
<requiredWhen> 0..n Hace obligatorio este campo mientras se cumpla la condición, y le saca la marca cuando deja de cumplirse.
<enabledWhen> 0..n Habilita este campo mientras se cumpla la condición y lo deshabilita cuando deja de cumplirse.
<eval> 0..n No es JavaScript: es PHP que corre server-side al parsear el XML, y decide si el campo existe.
<preparam> 0..n Condición pre-filtrado aplicada a este campo antes de la query principal.
<importar> 0..n Configura popup hijo que alimenta el grid via este campo.
<actualiza> 0..n Al cambiar este campo, envía su valor a otros campos/combos/grids/helpers (refrescos en cascada).
<paring> 0..n Alimenta con una condición SQL al contenedor embebido del campo (el que abre obj / linkint / el helper).
<jsfunction> 0..n Función JS asociada a un evento del campo (onfocus, onblur, onkeypress…).
<pdfancho> 0..n Ancho de la columna del valor en la ficha impresa. Su contraparte para la etiqueta es el atributo size del <label>.
<complete> 0..n Expresión que el motor evalúa al completarse el campo. Ej: <complete>numero + 1</complete>.
<checklabel> 0..n Etiqueta que acompaña al checkbox, a la derecha del control.
<htmllabel> 0..n Texto alternativo del encabezado de columna, y sólo se usa cuando la etiqueta normal está vacía.
<conditionalDisplay> 0..n No es una expresión: es el id de otro campo. Si el valor de ese campo es falsy, este campo no se renderiza.
<onformchange> 0..n Código a ejecutar cuando cambia cualquier campo del form.
<pdf> 0..n Código PHP que reemplaza el dibujado de este campo en el PDF. El contenido se ejecuta al imprimir la celda y, si devuelve algo, ese valor se usa…

texto · opcional

Campo interno asociado.

texto · opcional

Contenedor interno asociado.

texto · opcional

Nombre del XML referenciado como objeto embebido (grid hijo o ficha link).

texto · opcional

Directorio del XML referenciado por obj. Con barra inicial (/carpeta) reemplaza el subdirectorio vigente; sin barra se concatena a él.

texto · opcional

Directorio de lectura/subida de los archivos de este campo (file, files, dir), que se concatena al del contenedor. En los adjuntos del PDF (attach="true") puede además nombrar una columna: en ese caso ese tramo de la ruta sale del valor de la columna en cada fila.

BoolEstricto · opcional · default false

Muestra dentro de la celda la grilla del contenedor embebido del campo (el que trae obj). Con esa grilla visible, el valor propio del campo se muestra sólo si además lleva showValor. Combinado con lazyLoad="true" difiere la carga.

texto · opcional

Motivo que se muestra cuando el campo no valida. Trabaja junto a validar="true": si el valor del campo (o su último valor grabado) no es true ni 1, el botón de procesar queda deshabilitado y este texto es el tooltip que explica por qué. Es un atributo: escrito como elemento (<invalid>…</invalid>) el mensaje no se muestra nunca.

BoolEstricto · opcional · default false

Si “true”, incluye el campo en el UPDATE aunque su valor no haya cambiado respecto al original.

BoolEstricto · opcional · default false

Nada que ver con filtros opcionales, y sólo hace algo con el literal “true”: las <options> del campo dejan de aplicarse al armar el input (el combo sale sin opciones) y el valor de cada fila se traduce por el texto de la opción al recorrer el resultado. Alcanza con un campo con valop para que el contenedor procese el resultado fila por fila.

BoolEstricto · opcional · default false

La celda muestra el acumulado de la columna hasta esa fila en lugar del valor propio de la fila (y recibe la clase de celda sumada). Exige el literal “true”, y necesita que el campo lleve además suma="true": sin la suma el acumulado no se calcula y la columna sale en 0. Con norepeat no acumula.

BoolEstricto · opcional · default false

Con el literal “true”, al restaurar el campo se vuelve al valor original del registro aun cuando valauto="true" mandaría a conservar el <valor> declarado. Sin este atributo la restauración ya ocurre con valauto en “false”, que es el comportamiento por omisión: sólo hace falta para ganarle a un valauto="true".

BoolEstricto · opcional

Decide si los cambios de este campo entran a la auditoría. Está al revés de lo que sugiere el nombre: con el atributo ausente el campo se audita igual, y el único valor con efecto es log="false", que lo excluye. La auditoría además tiene que estar prendida en el contenedor: con <histrix log="false"> no se audita ningún campo.

BoolTrueFalse · opcional

Campo obligatorio. El form no graba si está vacío. Sin default declarado a propósito: el motor lo evalúa con dos criterios a la vez — hay lecturas que tratan la ausencia como obligatorio (comparan contra 'false') y otras que exigen el literal “true”. Conviene ponerlo siempre explícito. Ojo: es un atributo; escrito como elemento (<required>true</required>) no lo lee nadie y el campo no queda obligatorio.

BoolPresencia · opcional

Convierte al campo en validador de la fila: si su valor es 0, la fila se descarta y no graba. El motor sólo mira si el atributo está presente, no su valor, así que validRow="false" lo activa igual y el default="false" de esta declaración es engañoso: para no validar hay que omitir el atributo.

BoolDefaultActivo · opcional · default true

No valida tipos, y viene activo. Sólo aplica a campos tipo="date": prendido — que es lo que pasa cuando el atributo falta — convierte un valor de 8 dígitos ddmmyyyy en fecha. El único valor útil es checkType="false", que desactiva esa conversión; el default="false" de esta declaración es engañoso. Nada de esto valida números.

BoolEstricto · opcional

Si “true”, el campo participa de la búsqueda aunque tenga opciones cargadas (se lo consulta al re-aplicar las condiciones de la consulta). Va en el <field>: escrito en el <helper> queda en el helper, donde no lo lee nadie.

texto · opcional

Nombre de columna o expresión que se usa en el ORDER BY en lugar del campo. Es la forma de ordenar por un campo calculado o por otra columna que la mostrada — el <expression> escrito dentro de un <field> de <order> no se lee.

OrdenTipo · opcional · default ASC

Dirección de orden del campo. orderType es el nombre inglés pero no son alias simétricos: el motor toma el primero que esté seteado, así que con los dos declarados gana tipoOrden. Y el reordenamiento en memoria de la tabla temporal reconoce sólo DESC en mayúsculas: con tipoOrden="desc" la consulta sale ordenada y la tabla temporal no.

BoolEstricto · opcional · default false

Con el literal “true” la celda de total del pie no suma la columna: el número sale de evaluar el <if> del campo sobre la fila de totales. Es la forma de armar un total que depende de otros totales (un porcentaje, un neto), y necesita que el campo tenga <if>: de ahí saca el valor.

BoolEstricto · opcional

Si “true”, al renderizar nuevo registro el <valor> se aplica como valor (vs sólo como default).

texto · opcional

CSS inline de la etiqueta del campo, incluida la del checkbox. El motor lo lee junto con Formstyle y toma el primero que esté seteado: si el campo declara los dos, gana Formstyle. Se acepta también como atributo del <label>, donde escribe la misma propiedad.

BoolEstricto · opcional · default false

No tiene nada que ver con popups ni con devolverle valores al padre. Convierte el resultado del <if> del campo en un acumulado fila a fila (un running total que arranca de nuevo en la fila 0) y desplaza la suma normal de la columna.

BoolEstricto · opcional

Sólo actúa en campos de un contenedor embebido, y sólo con el literal “true”: al cambiar el valor recarga la cabecera del formulario y dispara la grabación del contenedor de origen. No es el mecanismo para refrescar campos dependientes — eso lo dispara el campo de origen con <actualiza>.

BoolEstricto · opcional

Va en el campo destino de un <jseval>: cuando el cálculo le escribe un valor nuevo no se dispara su evento change, así que los <jseval> que dependen de él no se recalculan y la cascada se corta ahí. Sólo lo activa el literal “true”.

BoolEstricto · opcional · default false

Con el literal “true”, las filas en las que el valor de este campo sea 1 o true quedan bloqueadas: se marcan como no editables y se pintan grisadas. Con cualquier otro valor en la celda, la fila queda normal.

BoolEstricto · opcional · default false

El valor del campo en cada fila se agrega como clase CSS del <tr>; si hay varios campos marcados, se concatenan. Cualquier valor no vacío lo activa, incluido “false”: para desactivarlo hay que omitir el atributo.

ModoAutocompletado · opcional

Alias español de autocomplete, y no es el atributo HTML del input: es el modo del helper de ayuda del campo. Los valores con efecto son “true” (autocompletado sobre el input) y “full” (autocompletado + popup de la ayuda); on/off no prenden ni apagan nada. Sin helper de ayuda declarado no hace nada.

BoolEstricto · opcional · default false

Si “true”, al grabar usa el VALUE de la opción seleccionada del combo, no el texto visible.

texto · opcional

Directorio del XML al que apunta linkint. Si falta, se usa el directorio del XML del contenedor.

texto · opcional

Nombre del XML interno al que linkea el campo (genera link clickable). En un campo con attach="true" cumple una segunda función: lo que se adjunta al PDF no es un archivo del disco sino el PDF generado por ese XML.

BoolEstricto · opcional

Al generar el PDF adjunta un archivo por cada renglón, usando el valor del campo como nombre. La ruta se arma con el directorio de datos, el path del contenedor y el path del campo — que puede nombrar una columna, en cuyo caso ese tramo sale del valor de la fila. Si el archivo no existe no adjunta nada y no avisa. Con watermark el nombre visible del adjunto se toma de otra columna, y con linkint en vez de buscar un archivo se genera el PDF de ese XML y se adjunta ése. Sólo actúa con el literal “true”.

texto · opcional

Simbología del código de barras cuando el campo dibuja un código: el valor se pasa tal cual al generador. Si falta se usa int25 (Interleaved 2 of 5). El valor en uso en el repo es “QR”. No confundir con el encode del <tipo>, que es otra cosa: ahí define el algoritmo de encriptación y sólo se mira con Type="password".

Acepta además los 186 atributos de UiFlags, idGrup, CalendarGrup, KanbanGrup.

Campo de formulario o columna de grid/consulta. Es el bloque fundamental: representa una columna SQL, un campo local (local="true"), un valor calculado (<expression>) o un control de UI sin persistencia. Aliases del tag: <field> (canónico) y <campo> (español).

Acepta los mismos 218 atributos y los mismos elementos hijos que <field>, que es donde están documentados.

Agrupador visual/lógico de campos. Se renderiza en el orden de aparición. Los <field> sueltos (fuera de cualquier fieldGroup) se renderizan al final del form.

Con xml="..." + dir="..." incluye un XML externo como fieldGroup (resuelto server-side). Útil para compartir campos entre formularios (ej. datos de agente de retención compartidos entre IG e IB).

  • Va dentro de: <include> (0..n), <tabla> (0..n), <table> (0..n)
  • Atributos: 169 (5 propios y 164 heredados de grupos)
Elemento Veces Descripción
<if> 0..n Inclusión condicional del fieldGroup.
<field> 0..n Campo dentro del grupo.
<campo> 0..n Alias español de <field>.
<validation> 0..n Validación de formulario declarada dentro del grupo. Sólo se registra si el <if> del grupo dio verdadero, y por eso es la forma de declarar una…
<cierraproceso> 0..n Proceso de cierre declarado dentro del grupo. Igual que la <validation> de acá: sólo se registra si el <if> del grupo dio verdadero.

texto · opcional

Directorio del XML externo.

texto · opcional

Identificador del grupo (sirve para targeting CSS y referencias).

texto · opcional

Etiqueta del grupo (header del fieldset).

BoolEstricto · opcional

Aplica valauto a todos los campos del grupo.

texto · opcional

Nombre del XML externo a incluir como fieldGroup (resuelto server-side).

Acepta además los 164 atributos de UiFlags.

Etiqueta legible del campo (header de columna o label del input). Se usa también como clave en logs de auditoría.

  • Va dentro de: <campo> (0..n), <field> (0..n)
  • Contenido: texto libre.
  • Atributos: 47 (14 propios y 33 heredados de grupos)

entero · opcional

Sin descripción en el schema.

texto · opcional

Sin descripción en el schema.

texto · opcional

Sin descripción en el schema.

texto · opcional

Sin descripción en el schema.

texto · opcional

Sin descripción en el schema.

texto · opcional

CSS de la etiqueta. El motor lo lee junto con Formstyle al armar el <label> y su celda, y también lo aplica a la etiqueta de un checkbox. Se puede escribir acá o en el <field>: los atributos del <label> se copian al mismo campo.

texto · opcional

Modificador de posición. El valor que el motor entiende es nobr: con modpos="nobr" la etiqueta o el campo no pasa al renglón siguiente — vale en el ABM, en los ing con subtipo="vertical", en la barra de filtros, en el PDF y en la planilla exportada. Es la forma canónica, con ~15.000 usos. nobr es el valor de este atributo, no un atributo en sí: escribir nobr="true" no hace nada, no se declara a propósito.

texto · opcional

Ancho de la celda del valor en la ficha impresa. Misma propiedad que PDFancho acá y que el <pdfancho> del campo — ver la doc de pdfancho en UiFlags.

texto · opcional

Ancho de la celda del valor en la ficha impresa. Es el único lugar donde esta grafía funciona: el renombre que la habilita se aplica sólo al tag <label>. Escrita en el <field> no la lee nadie — ahí va pdfancho en minúscula — y hay unos 250 usos de PDFancho en <field> que no hacen nada.

entero · opcional

Sin descripción en el schema.

BoolEstricto · opcional

Sin descripción en el schema.

número · opcional

Sin descripción en el schema.

texto · opcional

Sin descripción en el schema.

texto · opcional

Convierte la etiqueta en un link que abre otro XML: el valor es el XML destino. Sirve para colgar una pantalla de consulta o de configuración del propio título del campo, sin gastar una columna ni un botón.

Acepta además los 33 atributos de pdfGrup.

Tipo del campo (date, numeric, check, file, geoPoint, etc.). Determina render y validación.

BoolPresencia · opcional

Imprime el importe en letras. El motor lo evalúa por presencia y con comparación laxa: aletras="false" ENCIENDE la conversión igual — cualquier valor no vacío la prende. Para no convertir hay que omitir el atributo; el default="false" de esta declaración es engañoso.

texto · opcional

Algoritmo con el que se encripta el valor, y sólo se consulta cuando el <tipo> lleva Type="password". Valores reconocidos: encrypt y plain; cualquier otro valor, o la ausencia del atributo, aplica md5(). No confundir con el encode del <field>, que es la simbología del código de barras.

texto · opcional

El único valor con efecto es password: hace que el campo se trate como contraseña y habilita la encriptación del valor (ver encode). Cualquier otro valor es inerte, incluido Type="Image", que es el más escrito del repo y no hace nada. Va con T mayúscula: escrito type no lo lee nadie.

texto · opcional

Prefijo de ruta/URL de los archivos del campo (file/files): se antepone al path del contenedor para leer el archivo y para armar el link de descarga.

Expresión SQL para valores calculados. Va al SELECT (o HAVING si hay GROUP BY). Soporta '[__campo__]' para inyectar valores de campos locales.

  • Va dentro de: <campo> (0..n), <field> (0..n)
  • Contenido: texto libre.
  • Atributos: 2 (propios)

BoolTrueFalse · opcional · default false

Sin descripción en el schema.

BoolEstricto · opcional

Sin descripción en el schema.

Expresión (SQL) para valores calculados.

  • Va dentro de: <campo> (0..n), <field> (0..n)
  • Contenido: texto libre.
  • Atributos: 2 (propios)

Acepta los mismos 2 atributos que <expression>, que es donde están documentados.

Valor por defecto del campo. Con eval="true" se evalúa como PHP (ej. date('d/m/Y')).

  • Va dentro de: <campo> (0..n), <field> (0..n)
  • Contenido: texto libre.
  • Atributos: 3 (propios)

BoolEstricto · opcional

Si “true”, se aplica sólo como default (no pisa valor existente al editar).

BoolEstricto · opcional · default false

Si “true”, el contenido se evalúa como expresión PHP en el server.

texto · opcional

Sólo tiene sentido junto a eval="true". Sin retval, el contenido tiene que ser una expresión PHP que devuelva el valor. Con retval, el contenido se ejecuta como una secuencia de sentencias (se pueden declarar variables, hacer un if, un loop) y retval nombra la variable de la que sale el valor final.

Además, con retval no se hace la sustitución de [__campo__] en el cuerpo: el código llega tal cual se escribió.

Valor literal contra el que comparar, como alternativa a <expression>. Con eval="true" el contenido se evalúa como PHP.

  • Va dentro de: <field> (0..n)
  • Contenido: texto libre.
  • Atributos: 1 (propios)

BoolEstricto · opcional · default false

Sin descripción en el schema.

Valores posibles de un parámetro (type="parameter"), para que el panel los ofrezca como lista en lugar de un texto libre. Dos formas, excluyentes: con xml (+ dir y <parameter> opcionales) los valores salen de una consulta; sin xml, se enumeran a mano con <value id="...">.

Elemento Veces Descripción
<value> 0..n Valor fijo: el id es lo que se guarda, el texto lo que se muestra.
<parameter> 0..n Parámetro que se pasa al XML de values (pares name/value).

texto · opcional

Directorio del XML de valores.

texto · opcional

XML que provee los valores. Si está, se ignoran los <value> fijos.

Tamaño visual del input o ancho de columna.

  • Va dentro de: <campo> (0..n), <field> (0..n)
  • Contenido: texto libre.

No acepta atributos.

Texto de ayuda contextual del campo (tooltip).

  • Va dentro de: <campo> (0..n), <field> (0..n)
  • Contenido: texto libre.

No acepta atributos.

Nombre lógico del campo destino al volver de un popup hijo (mecanismo <importar resume>). El padre matchea por este nombre.

  • Va dentro de: <campo> (0..n), <field> (0..n)
  • Contenido: texto libre.

No acepta atributos.

No inyecta HTML: hace condicional un atributo de Histrix según el valor de otra columna. El id es el nombre del atributo Histrix que se va a setear en este campo (print, noshow, oculto, linkint…) y el texto del tag es el id de otro campo, cuyo valor se copia en ese atributo. Ejemplo real: <attribute id="print">muestra_iva</attribute> — el campo se imprime o no según lo que traiga la columna muestra_iva en la fila.

Si el campo nombrado no existe o viene sin valor, el atributo queda vacío (o sea, apagado). Para data-* o aria-* no sirve.

  • Va dentro de: <campo> (0..n), <field> (0..n)
  • Contenido: texto libre.
  • Atributos: 1 (propios)

Acepta los mismos 1 atributos que <field>, que es donde están documentados.

Inyecta una propiedad arbitraria en el contenedor embebido del helper: el id es el nombre de la propiedad y el texto del tag es el valor. Es la única vía declarativa para setear algo que el helper no expone como atributo, y por eso mismo no hay validación posible del nombre ni del valor: lo que se escriba se asigna tal cual. Funciona en los combos y en type="external".

Acepta los mismos 1 atributos que <field>, que es donde están documentados.

Etiqueta que acompaña al checkbox, a la derecha del control.

  • Va dentro de: <campo> (0..n), <field> (0..n)
  • Contenido: texto libre.

No acepta atributos.

Expresión que el motor evalúa al completarse el campo. Ej: <complete>numero + 1</complete>.

  • Va dentro de: <campo> (0..n), <field> (0..n)
  • Contenido: texto libre.

No acepta atributos.

No es una expresión: es el id de otro campo. Si el valor de ese campo es falsy, este campo no se renderiza. Si el id no existe en el XML la búsqueda devuelve falso y el render revienta con error, así que el nombre tiene que estar declarado como <field> (puede ser noshow="true").

  • Va dentro de: <campo> (0..n), <field> (0..n)
  • Contenido: texto libre.

No acepta atributos.

Alias inglés de <formato>.

  • Va dentro de: <campo> (0..n), <field> (0..n)
  • Contenido: texto libre.

No acepta atributos.

Formato de visualización (ej. “dd/mm/yyyy” en fechas, “#.##0,00” en numéricos).

  • Va dentro de: <campo> (0..n), <field> (0..n)
  • Contenido: texto libre.

No acepta atributos.

Está al revés de lo que sugiere el nombre: el texto del tag es el id del campo controlador, y el que se habilita o deshabilita es el campo que declara <habilita>. Escribirlo como dice el nombre deshabilita el campo equivocado. Se resuelve server-side al renderizar (no hay handler JS) y mira el último valor grabado del controlador, no lo que el usuario acaba de tipear. Cuentan como falso sólo 0, '0', 'false' y false.

  • Va dentro de: <campo> (0..n), <field> (0..n)
  • Contenido: texto libre.

No acepta atributos.

Texto alternativo del encabezado de columna, y sólo se usa cuando la etiqueta normal está vacía. Ojo con el nombre: el único camino que lo renderiza escapa el HTML, así que los tags salen a la vista como texto en vez de aplicarse.

  • Va dentro de: <campo> (0..n), <field> (0..n)
  • Contenido: texto libre.

No acepta atributos.

Máximo de caracteres del input (atributo HTML maxlength).

  • Va dentro de: <campo> (0..n), <field> (0..n)
  • Contenido: texto libre.

No acepta atributos.

Código a ejecutar cuando cambia cualquier campo del form.

  • Va dentro de: <campo> (0..n), <field> (0..n)
  • Contenido: texto libre.

No acepta atributos.

Ancho de la columna del valor en la ficha impresa. Su contraparte para la etiqueta es el atributo size del <label>. También se puede fijar con PDFancho en el <label>, que escribe la misma propiedad.

  • Va dentro de: <campo> (0..n), <field> (0..n)
  • Contenido: texto libre.

No acepta atributos.

Guarda el valor del campo en una propiedad del contenedor de esa instancia, con el nombre que dice el texto del tag. No es una variable de sesión: vive lo que vive la instancia. La contracara para leerla es <getvar>, que este schema no declara.

  • Va dentro de: <campo> (0..n), <field> (0..n)
  • Contenido: texto libre.

No acepta atributos.

SELECT cuyo resultado se compara con el valor del campo. Soporta '[__campo__]' para interpolar otros campos del form.

  • Va dentro de: <field> (0..n)
  • Contenido: texto libre.

No acepta atributos.

Valor fijo: el id es lo que se guarda, el texto lo que se muestra.

  • Va dentro de: <values> (0..n)
  • Contenido: texto libre.
  • Atributos: 1 (propios)

Acepta los mismos 1 atributos que <field>, que es donde están documentados.

Condición de procesamiento del bloque entero: es texto PHP que se evalúa antes de leer los filtros y, si da falso, el bloque no se procesa. No es el <if> de un campo: no lleva exp ni ramas <true>/<false>, y su resultado no es un valor sino un sí/no sobre si el bloque existe.

No acepta atributos.

Operador de comparación (==, !=, …). Default ==. Suele ir en CDATA cuando lleva < o >.

  • Va dentro de: <field> (0..n)
  • Contenido: texto libre.

No acepta atributos.

Parámetro que se pasa al XML de values (pares name/value).

  • Va dentro de: <values> (0..n)
  • Contenido: texto libre.
  • Atributos: 2 (propios)

texto · obligatorio

Sin descripción en el schema.

texto · opcional

Sin descripción en el schema.

Código PHP que reemplaza el dibujado de este campo en el PDF. El contenido se ejecuta al imprimir la celda y, si devuelve algo, ese valor se usa en lugar del render normal del campo. Con esto se resuelven celdas que el motor no sabe dibujar (un código de barras, una imagen calculada, un bloque con formato propio).

Es ejecución de código arbitrario dentro del XML: cualquiera que pueda editar el XML puede correr PHP en el servidor. Usarlo sólo si no hay alternativa declarativa, y tener en cuenta que un error de sintaxis acá tira abajo la impresión entera, no sólo la celda.

  • Va dentro de: <campo> (0..n), <field> (0..n)
  • Contenido: texto libre.

No acepta atributos.