Grupos de atributos compartidos
Varios elementos comparten conjuntos de atributos. El schema los declara una vez como grupo y los referencia desde cada elemento que los acepta; están documentados una sola vez, igual que en el schema.
Que un atributo esté en un grupo compartido no significa que haga lo mismo en todos los elementos que lo aceptan: significa que todos lo admiten.
pdfGrup
Sección titulada «pdfGrup»Atributos que sólo tienen efecto al generar el PDF o la etiqueta impresa.
Atributos para renderizado PDF. Aplican a <field>, <label> y <fieldGroup> (los de nivel documento están en el <histrix>). No afectan la exportación a XLS/CSV: la exportación no lee ningún atributo PDF*.
La grafía es exacta y case-sensitive: NO hay normalización de mayúsculas. El motor busca el atributo tal como está escrito, y el fallback a minúsculas que existía está desactivado. Por eso PDFxxx y pdfxxx son atributos distintos, y cuál funciona depende del atributo: PDFcolWidth, PDFwidth, PDFnolabel y PDFsize van en camelCase; pdfancho, pdffill y pdflineas van en minúscula. Los únicos renombres que hace el motor son tres casos puntuales que valen sólo dentro de <label> (ver PDFancho) y el par pdffill/PDFfill.
33 atributos. Lo aceptan: <label>.
offsetX
Sección titulada «offsetX»texto · opcional
Desplazamiento horizontal en mm que se suma siempre a la posición de la celda. No es un booleano: offsetX="true" aborta la impresión con un error de tipo.
offsetY
Sección titulada «offsetY»texto · opcional
Desplazamiento vertical en mm que se suma siempre a la posición de la celda. No es un booleano: offsetY="true" aborta la impresión con un error de tipo. Y su valor por defecto no es 0 sino el offset superior de página del documento (3 u 8 mm según el caso), así que offsetY="0" no equivale a omitirlo: omitido, la celda ya arranca corrida por ese offset.
PDFaddPage
Sección titulada «PDFaddPage»BoolEstricto · opcional · default false
Si “true”, fuerza salto de página antes de renderizar este elemento.
PDFalign
Sección titulada «PDFalign»texto · opcional · default L
Alineación de la celda: L (izquierda), R (derecha), C (centro), J (justificada). El default declarado acá no es el real: con el atributo ausente la alineación la decide el tipo del campo — los numéricos salen a la derecha, y check, hora y file al centro. Sólo escribiendo el atributo se fuerza otra.
PDFbackgroundColor
Sección titulada «PDFbackgroundColor»texto · opcional
Color de fondo de la celda. Hex de 6 dígitos y sin # (RRGGBB): si el valor no mide exactamente 6 caracteres se resuelve como blanco y sin ningún aviso, así que #RRGGBB (7 caracteres) no pinta nada. Los nombres de color tampoco andan: “orange” mide justo 6, no se descarta y se interpreta como hex basura.
PDFbold
Sección titulada «PDFbold»PdfFontStyle · opcional
Negrita. No es un booleano: selecciona a qué parte de la celda aplica (ver PdfFontStyle). Sólo se consulta al imprimir fichas y etiquetas: en las columnas de una grilla no se mira, así que ahí no tiene efecto.
PDFborder
Sección titulada «PDFborder»texto · opcional
Borde de la celda. PDFborder="true" no dibuja ningún borde: el valor viaja crudo al generador de PDF, que entiende 1 (recuadro completo) o las letras en mayúscula L, T, R, B — izquierda, arriba, derecha, abajo — y sus combinaciones (LR). Cualquier otro valor deja la celda sin borde.
BoolEstricto · opcional · default false
Envuelve el contenido en un box. Útil para destacar zonas.
PDFcellHeight
Sección titulada «PDFcellHeight»texto · opcional
Alto mínimo de fila en número de líneas. Aplicarlo en una columna uniformiza el alto de toda la fila (alto = mayor de las columnas × 1,3 × tamaño de fuente). Se ignora en los campos tipo="check", tipo="grafico" y tipo="file", que calculan su alto por su cuenta.
PDFcolor
Sección titulada «PDFcolor»texto · opcional
Color del texto de la celda. Mismo formato que PDFbackgroundColor: hex de 6 dígitos y sin #. Con # son 7 caracteres, el motor lo resuelve como blanco y el texto queda invisible; y un nombre de 6 letras como “orange” se lee como hex basura. En los dos casos, sin aviso.
PDFcolWidth
Sección titulada «PDFcolWidth»texto · opcional
Ancho de columna de la tabla PDF. Número SIN unidad (ej. “20”): agregar “px” rompe el layout. Fijarlo además desactiva el reajuste automático de esa columna, así que no se ensancha para acomodar el contenido — el texto se parte en varias líneas. No es alias de PDFwidth ni de pdfancho: son tres anchos distintos (ver PDFwidth). La grafía es exacta: PDFcolwidth con w minúscula no la lee nadie.
pdffill
Sección titulada «pdffill»entero · opcional
Nivel de gris del fondo de la celda, 0 (negro) a 255 (blanco). Es la única grafía que fija el color — toda en minúscula. Los valores en uso son 195 y 192. No es un booleano: el número va crudo al generador de PDF, así que un texto como “true” no rellena nada y aborta la impresión con un error de tipo. En un <label> se puede escribir igual: es la misma propiedad.
PDFfill
Sección titulada «PDFfill»texto · opcional
No fija ningún color. Su único efecto es la presencia: declararlo con cualquier valor suprime el gris claro por defecto (240,240,240) y la celda queda con el color que hubiera quedado seteado antes. Para elegir el color hay que usar pdffill en minúscula, que es la grafía que llega al relleno.
PDFfontsize
Sección titulada «PDFfontsize»entero · opcional
Segunda grafía aceptada para el tamaño de fuente del campo, con s minúscula: el motor toma PDFsize y, si no está, ésta. Preferir PDFsize. Ojo con la trampa: PDFfontSize (con S mayúscula) no se lee a nivel campo — ése es el atributo global y va en el <histrix>.
PDFfooter
Sección titulada «PDFfooter»BoolEstricto · opcional · default false
Indica que el campo es parte del footer del PDF.
PDFheader
Sección titulada «PDFheader»BoolEstricto · opcional · default false
Indica que el campo/label es parte del header del PDF (se repite en cada página).
PDFitalic
Sección titulada «PDFitalic»PdfFontStyle · opcional
Itálica. Mismo mecanismo que PDFbold: no es un booleano, elige a qué parte de la celda aplica (ver PdfFontStyle). Sólo se consulta al imprimir fichas y etiquetas; en las columnas de una grilla no tiene efecto.
pdflineas
Sección titulada «pdflineas»BoolDefaultActivo · opcional · default true
Recuadro de las celdas de una grilla embebida en un campo (helper type="object"). Viene activo: sólo el literal “false” lo apaga. Tiene efecto únicamente en campos con contenedor interno; en un campo común no hace nada. La grafía es exacta y en minúscula: PDFlineas no la lee nadie. Para el recuadro de la grilla principal el atributo es PDFlines, y va en el <histrix>.
PDFlineHeight
Sección titulada «PDFlineHeight»texto · opcional
Alto de celda absoluto en mm, no un multiplicador: pisa el alto calculado. Un 1.2 escrito pensando que era un factor deja la celda de 1,2 mm y el texto encimado. El multiplicador de interlineado es otro atributo, PDFheigthRel (sic, con el typo), que este schema todavía no declara.
PDFnoborder
Sección titulada «PDFnoborder»BoolPresencia · opcional
Suprime el borde de la celda de la etiqueta al imprimir ficha o etiqueta, y de paso apaga su relleno. No anula el borde del valor: la celda del valor sigue tomando su borde de PDFborder. Ojo: el motor sólo mira si el atributo está presente, no su valor, así que PDFnoborder="false" también suprime el borde. Para no suprimirlo hay que omitir el atributo. La grafía es exacta: pdfnoborder en minúscula no la lee nadie.
PDFnolabel
Sección titulada «PDFnolabel»BoolEstricto · opcional · default false
Omite el label del campo en el PDF — útil en etiquetas térmicas y planillas compactas. La grafía es exacta: pdfnolabel en minúscula no la lee nadie (hay 20 usos escritos así en el repo, todos inertes). Y el motor lo consulta con criterios distintos en distintos puntos de la impresión, así que PDFnolabel="false" no es un negador confiable: para que el label salga, omitir el atributo.
PDFpageBreak
Sección titulada «PDFpageBreak»BoolDefaultActivo · opcional · default true
Controla el salto de página automático. “false” lo desactiva.
PDFrestorePosition
Sección titulada «PDFrestorePosition»BoolEstricto · opcional · default false
Restaura la posición X/Y del cursor antes de renderizar (para componer cajas superpuestas).
PDFrotate
Sección titulada «PDFrotate»entero · opcional
Rota el texto N grados.
PDFscaleX
Sección titulada «PDFscaleX»entero · opcional
Escala horizontal del texto (en %).
PDFsize
Sección titulada «PDFsize»texto · opcional
Tamaño de fuente en puntos de esta celda. Es la grafía de nivel campo; el motor acepta además PDFfontsize (con s minúscula) como segunda forma. El global del documento es PDFfontSize en el <histrix> (otro atributo).
pdftitulo
Sección titulada «pdftitulo»BoolDefaultActivo · opcional · default true
Fila de títulos de una grilla embebida en un campo. Viene activa: sólo pdftitulo="false" la saca. Como pdflineas, sólo tiene efecto en campos con contenedor interno.
PDFtopMargin
Sección titulada «PDFtopMargin»entero · opcional
No es un margen en mm: suma N líneas al alto de la fila, y sólo en campos que embeben otro contenedor (una grilla o una ficha hija). En un campo común no hace nada.
PDFwidth
Sección titulada «PDFwidth»texto · opcional
Ancho de la grilla embebida de un campo, y en la vista card el ancho de la tarjeta. No es alias de PDFcolWidth ni de pdfancho: son tres anchos distintos — PDFcolWidth es el ancho de columna de la tabla PDF y pdfancho el de la celda del valor en ficha. La grafía es exacta: pdfwidth en minúscula no la lee nadie.
texto · opcional
Posición X de la celda, en mm desde el borde izquierdo de la página. Para desplazar en relativo respecto de donde iría la celda está offsetX, que se suma siempre.
texto · opcional
Alias camelCase de posx.
texto · opcional
Posición Y de la celda en mm, con tres formas mágicas además de la coordenada absoluta: posy="-1" la ubica debajo de todo lo ya impreso; posy="0" o el atributo ausente la deja en la misma línea que el campo anterior; posy="+N" (con el +) la ubica N mm debajo de lo ya impreso. Para desplazar en relativo también está offsetY.
texto · opcional
Alias camelCase de posy.
Identificación del campo y pasaje de valores entre los XML de un movimiento.
Atributos de identificación de campos/elementos.
6 atributos. Lo aceptan: <campo>, <field>.
texto · opcional
Alias SQL de la columna. No es sólo un nombre alternativo: reemplaza el prefijo de tabla con el que se califica la columna, pisando la tabla base del <histrix> y lo que diga tabla. Si el valor no es un alias de tabla realmente presente en el FROM, la consulta sale con SQL inválido y sin ningún aviso. Sirve para resolver colisiones de nombres en JOINs, teniendo presente que lo que se escribe es el prefijo, no el AS.
texto · obligatorio
Identificador del campo. Coincide con el nombre de columna en la tabla SQL (salvo local="true" o <expression>).
texto · opcional
Referencia al id del campo cabecera del que depende este detalle. Usado en INSERT/UPDATE de grids.
id_padre
Sección titulada «id_padre»texto · opcional
En INSERT de grid embebido: toma el valor del campo del formulario padre. Útil para propagar la PK del padre al detalle.
id_temp
Sección titulada «id_temp»texto · opcional
En INSERT: toma el valor del campo temporal (de la tabla base del grid) en lugar del campo de la fila actual.
texto · opcional
Trae a este campo el id autogenerado por otro movimiento. El valor no es un booleano ni “el INSERT anterior”: es el nombre del XML de movimiento del que se toma el id, así que hay que nombrarlo exactamente. Sólo aplica a campos de XMLs de <movimientos>, y además de llenar el campo publica el placeholder [__nombre__] (el mismo nombre que se escribió) para reutilizar ese id en el resto del movimiento.
ImagenGrup
Sección titulada «ImagenGrup»Dimensiones y escala de un campo que muestra una imagen.
Atributos para campos de tipo imagen.
grafico
Sección titulada «grafico»texto · opcional
Sin descripción en el schema.
imageHeight
Sección titulada «imageHeight»entero · opcional
Sin descripción en el schema.
imageScale
Sección titulada «imageScale»número · opcional
Sin descripción en el schema.
imageWidth
Sección titulada «imageWidth»entero · opcional · default 100
Ancho de la imagen del campo, en píxeles. El default="100" vale sólo donde el atributo se respeta: campos <tipo>grafico</tipo> y dos ramas de la impresión. En campos file el ancho por defecto es el que calcula el motor, y una de las ramas del PDF arranca en 50. Fuera de esos casos escribirlo no cambia nada.
KanbanGrup
Sección titulada «KanbanGrup»Atributos para campos de un tablero tipo="kanban".
A diferencia del grupo calendar*, que marca el campo por presencia del atributo, acá el papel se declara con el valor (kanban="title"): un único atributo por campo, con la lista de roles cerrada.
1 atributos. Lo aceptan: <campo>, <field>.
KanbanRol · opcional
Papel del campo dentro de la tarjeta: title, body, tag, person, age, color o action. Un campo sin este atributo no se dibuja en la tarjeta, aunque siga estando en la consulta —así se declaran el campo de estado (statusField) y la clave, normalmente con noshow="true".
tag y action admiten varios campos; el resto, uno. El tablero necesita al menos un campo con kanban="title".
CalendarGrup
Sección titulada «CalendarGrup»Mapeo de campos para la vista de calendario: cada atributo marca qué campo cumple ese rol en el evento.
Atributos para campos de tipo calendario.
15 atributos. Lo aceptan: <campo>, <field>.
calendarCheck
Sección titulada «calendarCheck»BoolPresencia · opcional
En vistas de calendario marca el campo que se muestra como casilla de tildar al lado de cada evento en el panel de listado. Tildarla o destildarla graba 1 o 0 en ese campo del registro en el momento, sin abrir el formulario, avisa el resultado y refresca el calendario. Trampa: para saber qué registro actualizar usa el campo marcado con calendarId, sin ese campo no graba; y como se detecta por presencia, calendarCheck=“false” lo prende igual. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.
calendarColor
Sección titulada «calendarColor»BoolPresencia · opcional
Marca el campo cuyo valor pinta el fondo del evento. Se evalúa por presencia: cualquier valor lo activa, incluido "false"; para desactivarlo hay que omitir el atributo.
calendarDescription
Sección titulada «calendarDescription»BoolPresencia · opcional
Marca el campo cuyo valor es la descripción del evento. Se evalúa por presencia, como todo el grupo calendar*: "false" lo marca igual; para que no participe hay que omitir el atributo.
calendarEditable
Sección titulada «calendarEditable»BoolPresencia · opcional
Marca el campo que habilita la edición del evento desde el calendario. Se evalúa por presencia, como todo el grupo calendar*: cualquier valor lo marca, incluido "false"; para que el campo no participe hay que omitir el atributo.
calendarEndDate
Sección titulada «calendarEndDate»BoolPresencia · opcional
Marca el campo que aporta la fecha de fin del evento. Se evalúa por presencia: "false" lo marca igual; para que no participe hay que omitir el atributo. calendarStopDate escribe la misma propiedad, así que declarar uno en un campo y el otro en otro deja la fecha de fin indefinida: usar uno solo.
calendarEndTime
Sección titulada «calendarEndTime»BoolPresencia · opcional
Marca el campo que aporta la hora de fin del evento. Escribe la misma propiedad que calendarStopTime: son dos nombres para el mismo dato, y declarar uno en un campo y el otro en otro deja la hora de fin indefinida. Se evalúa por presencia: "false" lo marca igual; para que no participe hay que omitir el atributo.
calendarId
Sección titulada «calendarId»BoolPresencia · opcional
Marca el campo que aporta el identificador del evento. Se evalúa por presencia, como todo el grupo calendar*: calendarId="false" lo marca igual; para que no participe hay que omitir el atributo.
calendarRecurringRule
Sección titulada «calendarRecurringRule»BoolPresencia · opcional
Marca el campo que lleva la regla de repetición del evento. Se evalúa por presencia: "false" lo marca igual y el default="false" declarado no equivale a omitirlo. La única forma de que el campo no aporte la regla es no escribir el atributo.
calendarStartDate
Sección titulada «calendarStartDate»BoolPresencia · opcional
Marca el campo que aporta la fecha de inicio del evento. Se evalúa por presencia: "false" lo marca igual; para que no participe hay que omitir el atributo. Tiene además un fallback: si ningún campo lo declara, el calendario usa el primer campo de tipo fecha del XML.
calendarStartTime
Sección titulada «calendarStartTime»BoolPresencia · opcional
Marca el campo que aporta la hora de inicio del evento. Se evalúa por presencia, como todo el grupo calendar*: "false" lo marca igual; para que no participe hay que omitir el atributo.
calendarStopDate
Sección titulada «calendarStopDate»BoolPresencia · opcional
En vistas de calendario marca el campo que tiene la fecha de fin del evento, y con eso el evento se dibuja abarcando hasta esa fecha; al arrastrar o estirar el evento, la fecha nueva se escribe en ese campo. Es exactamente lo mismo que calendarEndDate: los dos apuntan al mismo lugar interno, así que ponerlos en campos distintos es ambiguo y gana el último que aparezca en el XML. Si ningún campo lo declara, el fin se toma del primer campo de tipo fecha. Se detecta por presencia: con “false” también queda marcado. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.
calendarStopTime
Sección titulada «calendarStopTime»BoolPresencia · opcional
Marca el campo como hora de fin del evento. Es el mismo dato que calendarEndTime (los dos escriben la misma propiedad): declarar uno en un campo y el otro en otro deja la hora de fin indefinida. Como el resto de los calendar* de campo, el motor sólo mira que el atributo esté presente, no su valor: calendarStopTime="false" marca el campo igual.
calendarSubject
Sección titulada «calendarSubject»BoolPresencia · opcional
Marca el campo cuyo valor es el título del evento en el calendario. Se evalúa por presencia: cualquier valor lo marca, incluido "false", y el default="false" declarado no equivale a omitirlo. Para que el campo no sea el título hay que no escribir el atributo.
calendarSum
Sección titulada «calendarSum»BoolPresencia · opcional
No produce ningún efecto. El motor lo reconoce y se acuerda de qué campo quedó marcado, pero después nadie usa ese dato: no totaliza nada ni muestra nada en el calendario. Para totalizar una columna el atributo vivo es suma. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.
calendarTextColor
Sección titulada «calendarTextColor»BoolPresencia · opcional
Marca el campo que aporta el color del texto del evento. Se evalúa por presencia, igual que calendarColor: cualquier valor lo activa, incluido "false"; para desactivarlo hay que omitir el atributo.
UiFlags
Sección titulada «UiFlags»El conjunto más grande del schema. Lo comparten <field>, <campo>, <fieldGroup> y <label>, porque el parser copia los atributos de los tres últimos al mismo objeto de campo.
Atributos de control de UI/visibilidad/estado para <field> y <fieldGroup>. Cubre: visibilidad, edición, validación, exportación, búsqueda, formato y propagación entre formularios.
164 atributos. Lo aceptan: <campo>, <field>, <fieldGroup>.
Identificación y datos
Sección titulada «Identificación y datos»texto · opcional
Hace que la columna destino se resuelva en tiempo de ejecución: en vez de grabar en la columna que corresponde al id del campo, graba en la columna cuyo nombre sale del valor de otro campo del formulario, que es el que se nombra acá. Permite altas contra columnas variables (por ejemplo, elegir la columna del mes a impactar desde un combo). Trampas: si el campo referenciado está vacío o no existe, el campo simplemente no se graba y no hay aviso; y sólo funciona en el alta (insert/replace), en la modificación se ignora por completo. Tampoco actúa sobre campos locales, con expresión, ni de otra tabla que la base. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.
Visibilidad y estado
Sección titulada «Visibilidad y estado»BoolEstricto · opcional
Oculta el campo en la UI: el input se renderiza con display:none y queda en el DOM, así que conserva su valor, se postea y las <validation> (client-side) lo siguen encontrando.
Un campo con noshow="true" nunca se exporta a XLS/CSV, ni agregándole export="true": el chequeo del ocultamiento es posterior e independiente. Para tener la columna en el export y no en pantalla va colstyle="display:none;". La única exportación que ignora el ocultamiento es la de XML.
No es lo mismo que oculto, que directamente no renderiza el campo.
BoolEstricto · opcional
No es alias de noshow: son dos mecanismos distintos. Con oculto="true" el campo no se renderiza — no llega al HTML —, se excluye del UPDATE y sale del export. Con noshow="true" el input se dibuja con display:none y sigue en el DOM.
La diferencia importa porque las <validation> son client-side y buscan el input: con oculto la condición nunca dispara, con noshow sí.
oculto="false" oculta el campo igual: cualquier valor no vacío lo activa. Para que el campo se vea hay que omitir el atributo.
BoolEstricto · opcional · default false
Renderiza el input como type="hidden": el valor se sigue posteando y la celda y la etiqueta se dibujan igual, así que no sirve para ocultar el campo. Para eso van noshow (lo deja en el DOM) u oculto (no lo renderiza).
display
Sección titulada «display»texto · opcional
Mueve el campo de lugar en la pantalla de consulta. Los únicos valores que el motor reconoce son toolbar y filter (los busca como substring): el campo se renderiza en la barra de herramientas o en la barra de filtros y deja de tener columna en la grilla. Cualquier otro valor no hace nada.
muestra
Sección titulada «muestra»BoolTrueFalse · opcional
En un <field> dentro de <tabla_ex> (la forma legacy del combo): con “true” el texto visible de la opción incluye también la clave, no sólo la descripción. El equivalente en un <helper type="combo"> es showKey.
showValor
Sección titulada «showValor»BoolEstricto · opcional · default false
Nada que ver con combos. Aplica a campos que embeben otro contenedor (los de showObjTabla / helper type="object") y decide si, además de la grilla hija, se muestra el valor propio del campo. En un combo no tiene efecto: el atributo parecido que sí vive ahí es showKey, que va en el <field> del helper.
showInForm
Sección titulada «showInForm»BoolDefaultActivo · opcional · default true
Con showInForm=“false” el campo desaparece del formulario de carga (el renglón de inputs de la grilla), pero la columna sigue existiendo en la grilla y el campo sigue formando parte de la grabación y de los cálculos. Es el inverso de esconder la columna: acá se esconde el input y se deja ver el dato. Sólo tiene efecto en las grillas de ingreso y en el abm en línea; en fichas y formularios comunes se ignora en silencio. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.
deshabilitado
Sección titulada «deshabilitado»BoolTrueFalse · opcional
Campo de sólo lectura. Los campos con <expression> lo asumen automáticamente; deshabilitado="false" los fuerza editables — y en los checkbox es además el escape para poder editarlos cuando la vista deshabilitó todos los checks.
Sin default declarado a propósito: el motor lo evalúa con más de un criterio según el tipo de campo, así que escribir el valor por defecto no equivale a omitir el atributo.
disabled es la otra grafía del mismo flag y tiene menor precedencia: si el campo declara las dos, gana deshabilitado.
disabled
Sección titulada «disabled»BoolTrueFalse · opcional
Otra grafía de deshabilitado: no se emite al HTML, el motor la normaliza al mismo flag interno. Tiene menor precedencia — si el campo declara las dos, gana deshabilitado.
editable
Sección titulada «editable»BoolTrueFalse · opcional
Es opt-in de la edición inline: editable="true" hace editable esta columna dentro de la grilla. editable="false" no bloquea nada — sólo hace algo acompañando a linkint, donde suprime el link. Para que un campo sea de sólo lectura va deshabilitado.
BoolPresencia · opcional
Campo local: existe en el formulario pero NO se mapea a una columna SQL. NO funciona junto con <expression>: si el campo tiene expression, el motor ignora local.
Sólo el literal local="true" lo hace local. local="false" y el legacy local="local" dejan el campo en el peor estado: sigue entrando al SELECT y al WHERE — si la columna no existe la consulta revienta con 1054 Unknown column — pero queda excluido del INSERT, así que su valor no se graba. Para que el campo sea uno normal hay que omitir el atributo.
BoolEstricto · opcional
Si “true”, expone el valor del campo del form padre al grid hijo embebido (vía sesión PHP). Necesario para que <if> del grid lea el valor.
BoolEstricto · opcional
En campos <tipo>file</tipo>: con “true” la celda muestra un botón para abrir el archivo en vez de la miniatura. Hermanos: download (descargar), viewer (visor embebido) y svg.
BoolDefaultActivo · opcional · default true
Con clear=“false” el campo conserva el valor que tiene cuando se limpia el formulario (después de grabar, o al pedir uno nuevo), en vez de volver a vacío o a su valor por defecto. Es útil para datos que se repiten carga tras carga, como fecha o depósito. Trampa: no protege a los combos ni a las listas desplegables, que se reinician igual porque se resuelven antes de mirar este atributo. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.
lazyLoad
Sección titulada «lazyLoad»BoolEstricto · opcional
En una columna que muestra una grilla embebida, evita ejecutar la consulta interna mientras se dibuja el listado: deja un lugar reservado y recién trae el contenido cuando ese renglón se acerca a la pantalla (se anticipa unos 200 píxeles al scrollear). Sirve para listados de muchos renglones donde cada renglón abría su propia consulta. Consecuencia: si el renglón nunca se llega a ver, esa consulta no se hace nunca, y el contenido cargado así no está disponible al imprimir o exportar el listado. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.
Clave y grabación
Sección titulada «Clave y grabación»esClave
Sección titulada «esClave»BoolPresencia · opcional
Marca el campo como clave primaria: entra al WHERE y al UPDATE, y su input queda obligatorio. Para claves compuestas, marcar todos los campos que la forman. Es crítico en las ayudas popup: si ninguna columna está marcada, elegir una fila no llena el campo destino.
esClave="false" no desactiva nada: el campo se sigue tratando como clave. Para que no lo sea hay que omitir el atributo.
esclave
Sección titulada «esclave»texto · opcional
Forma legacy en minúscula, y no es lo mismo que esClave: funciona como su negador. Con esClave="true" esclave="false" el campo deja de tratarse como clave — que es el único modo de desactivarlo, porque esClave="false" no lo desactiva. Es una rareza heredada: en código nuevo, si el campo no es clave, no declarar esClave.
autoinc
Sección titulada «autoinc»BoolPresencia · opcional
Marca el campo como autoincremental (PK con AUTO_INCREMENT): el motor lo excluye del INSERT y después recupera el id generado para rellenarlo.
autoinc="false" no es lo mismo que omitir el atributo: el campo queda excluido del INSERT igual — su valor no se graba, en silencio — y la recuperación del id, que exige el literal "true", no corre. O sea que no se inserta ni se rellena. Para que el campo grabe como uno normal hay que omitir el atributo.
autoing
Sección titulada «autoing»texto · opcional
Se emite como atributo del input para que el ingreso de la fila avance solo al completar el campo (grids ing). Se usa junto a <complete>.
BoolDefaultActivo · opcional · default true
update="false" excluye el campo del UPDATE generado. No lo pone read-only: el input se sigue editando y lo que se tipea simplemente no se graba; para bloquear la edición va deshabilitado. La comparación es contra el literal en minúscula: update="FALSE" no hace nada.
noupdate
Sección titulada «noupdate»BoolPresencia · opcional
No es el inverso de update y no toca el SQL (para dejar un campo afuera del UPDATE va update="false"). Viaja al HTML y se evalúa por presencia en el browser: en un combo evita que los atributos del <option> elegido se propaguen a los campos homónimos del formulario. Cualquier valor lo activa, incluido "false"; para desactivarlo hay que omitir el atributo.
noEmpty
Sección titulada «noEmpty»BoolEstricto · opcional · default false
Con "true" oculta la columna entera cuando ninguna fila del resultado tiene valor en ese campo — no suprime filas — y omite su total al pie si la suma da 0. Útil en consultas con columnas que sólo tienen sentido para ciertos filtros.
replace
Sección titulada «replace»texto · opcional
No reemplaza texto en el valor mostrado. Es un flag (replace="true") que marca al campo destino de un <detalle> como clave de matching cuando los datos vuelven de un <importar>: es el campo por el que el motor busca el renglón del grid que tiene que actualizar. Equivale a marcarlo esClave sólo para ese ida y vuelta.
forceCellValue
Sección titulada «forceCellValue»BoolEstricto · opcional
Escape de suma: en un campo con suma="true" que se pasa como <parameter> a otro XML, lo que viaja es el total acumulado de la columna; con forceCellValue="true" viaja el valor de la fila. Sin suma no hace nada, y no tiene relación con <expression>.
rememberValue
Sección titulada «rememberValue»BoolEstricto · opcional · default false
Conserva el valor del campo entre sesiones del mismo usuario (persistencia en perfil).
onClearForm
Sección titulada «onClearForm»OnClearFormValor · opcional
Con onClearForm=“uniqid”, cada vez que se limpia el formulario el campo se rellena con un identificador único nuevo (13 caracteres hexadecimales) en lugar de quedar vacío. Sirve para tokens o claves temporales que tienen que ser distintas en cada carga. Es el único valor que el motor reconoce: cualquier otro texto no hace nada. No aplica a combos ni listas desplegables, y se ejecuta aun cuando el campo tenga clear=“false”. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.
Validación
Sección titulada «Validación»mandatory
Sección titulada «mandatory»BoolPresencia · opcional
Vuelve obligatoria la condición de ese campo: si el campo no llegó a tener ninguna condición armada (por ejemplo, un filtro que el usuario dejó vacío), la consulta no se ejecuta —ni la de datos ni la del contador— y la pantalla queda vacía con cero registros, sin ningún mensaje. Sirve para listados pesados que no deben traer nada hasta que se elija un filtro. Dos trampas: alcanza con que el atributo esté escrito con cualquier valor para que actúe, incluso mandatory=“false” (sólo lo apagan el valor 0 o el vacío, o sacar el atributo); y si el campo es local nunca genera condición, así que la pantalla queda vacía para siempre. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.
validar
Sección titulada «validar»BoolTrueFalse · opcional
Activa la validación obligatoria del campo (similar a required). Sin default declarado a propósito: Data/Field:2076 trata la ausencia como validar (== 'false' para desactivar) y View/UI:1079 exige “true” explícito.
errorMessage
Sección titulada «errorMessage»texto · opcional
Mensaje que aparece si la validación del campo falla.
texto · opcional
Máscara de entrada (formato 9999-9999-X, etc.).
maxlength
Sección titulada «maxlength»entero · opcional
Atributo HTML maxlength del input.
maxsize
Sección titulada «maxsize»entero · opcional
Es alias de maxlength, no del size del input: limita la cantidad de caracteres que se pueden tipear. El ancho visible sale del elemento <size>. Usarlo creyendo que es ancho termina truncando el dato.
entero · opcional
Valor numérico máximo permitido.
entero · opcional
Valor numérico mínimo permitido.
BoolEstricto · opcional · default false
No valida nada: es presentación. Con noZero="true" el valor 0 se muestra como celda vacía en lugar de “0”. No rechaza el cero ni impide grabar.
texto · opcional
Se copia tal cual al campo del formulario, pero nada en la interfaz lo mira: no valida ni formatea nada, así que escribirlo no cambia el comportamiento. La validación de CUIT de verdad —dígito verificador y máscara 99-99999999-9— la da el tipo de dato cuit del campo, no este atributo. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.
texto · opcional
Dirección de email asociada al campo (para botón “enviar mail”).
cellMaxLength
Sección titulada «cellMaxLength»entero · opcional
Corta el texto de la celda a N caracteres en la grilla (el valor completo se sigue guardando y viaja al formulario). Útil para columnas de observaciones que ensanchan la tabla.
forceSize
Sección titulada «forceSize»BoolEstricto · opcional
Levanta el recorte automático del ancho del input en el formulario de carga de una grilla de ingreso. Sin este atributo, un campo con tamaño declarado mayor a 40 se dibuja igual con 40 de ancho en las grillas de ingreso; con forceSize=“true” se respeta el tamaño declarado, con el techo general de 77 que sigue valiendo en todo lo que no sea ficha. Sólo afecta el ancho del input, no el de la columna de la grilla. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.
numberPrecision
Sección titulada «numberPrecision»entero · opcional
Cantidad de decimales para campos numéricos.
SQL y consulta
Sección titulada «SQL y consulta»texto · opcional
Nombre de la tabla SQL a la que pertenece la columna. Requerido cuando varias tablas del JOIN tienen una columna con el mismo nombre (evita SQL ambiguo).
oplogico
Sección titulada «oplogico»texto · opcional
Operador lógico con el que la condición de este campo se une a la anterior: "and" (default) | "or". Ojo con el nombre: conecta hacia atrás, no con la condición siguiente. Efecto lateral de "or": se pierde el reemplazo, así que la condición se agrega a la que el mismo campo ya hubiera puesto en vez de sustituirla, y el campo termina aportando dos condiciones ORadas.
BoolTrueFalse · opcional
No es una condición: es un flag de ruteo. Decide si la <condicion> de este campo va al HAVING o al WHERE.
Sólo tiene efecto si el campo tiene <expression>, y el default depende del motor: en MySQL/SQLite la ausencia manda la condición al HAVING y having="false" la baja al WHERE; en SQL Server es al revés — hace falta having="true" explícito. Por eso no se declara un default acá.
Se puede escribir en el <field> o en el <expression>, que es la forma dominante en el repo. En una <condicion> no se lee.
noselect
Sección titulada «noselect»BoolEstricto · opcional · default false
No es UI, es SQL. noselect="true" saca el campo de la lista del SELECT pero conserva sus <condicion> en el WHERE/HAVING: es la forma de filtrar por una columna sin traerla, el caso típico de los filtros sobre consultas agrupadas. Requiere el literal "true".
fullSearch
Sección titulada «fullSearch»BoolEstricto · opcional · default false
Cambia cómo se arma la condición de este campo: parte el texto buscado por espacios o comas y ANDea un like '%palabra%' por cada token sobre la misma columna, así que “juan perez” matchea aunque las palabras vengan en otro orden o con texto en el medio. No tiene relación con conBusqueda, que es otra función y no interviene.
BoolDefaultActivo · opcional · default true
Si “false”, desactiva el ordenamiento por esta columna en la grilla. Ojo que repeat="false" (o norepeat="true") lo desactiva también, como efecto lateral.
orderType
Sección titulada «orderType»OrdenTipo · opcional
Dirección de orden por defecto del campo: "ASC" | "DESC". tipoOrden no es un alias simétrico: si están los dos escritos gana tipoOrden. Y el orden de la tabla temporal sólo reconoce "DESC" en mayúscula, así que orderType="desc" ordena el SQL pero deja la memoria en ascendente. Escribirlo siempre en mayúscula.
BoolEstricto · opcional
Totaliza la columna al pie en grillas, consultas y PDF.
Efecto lateral: si el campo se pasa como <parameter> a otro XML, lo que viaja es el total acumulado y no el valor de la fila; para mandar el de la fila hay que agregar forceCellValue="true".
Al imprimir, el motor sólo mira si el atributo está presente, no su valor: suma="false" totaliza igual, y para no totalizar hay que omitirlo.
treeSum
Sección titulada «treeSum»BoolEstricto · opcional
No produce ningún efecto en el motor actual. Era el atributo con el que el árbol viejo acumulaba los importes de los hijos hacia los nodos padre; ese renderizador se reescribió y hoy la suma hacia arriba del árbol se declara con suma. Si tenés XMLs que todavía lo traen, ese campo no está sumando nada por este atributo. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.
liveSum
Sección titulada «liveSum»BoolPresencia · opcional
Le agrega una marca a la celda de esa columna, pero hoy esa marca no la usa nadie: no hay estilo asociado ni cálculo que la lea, así que el atributo no produce ningún efecto visible. Se activa con cualquier valor —incluido liveSum=“false”— y se apaga sacando el atributo. Para totalizar una columna en vivo el atributo que sí funciona es suma. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.
texto · opcional
No agrupa radios ni arma fieldsets. Tiene dos usos: en un campo de la tabla, cuando el campo aporta una condición activa el <join grupo="…"> del mismo nombre (JOIN condicional: la tabla se suma sólo si se filtró por ese campo); y dentro de <filters> agrupa los filtros de la barra.
Estilo y presentación
Sección titulada «Estilo y presentación»texto · opcional
CSS inline del campo. No separa el <td> del input: style, Formstyle y formStyle terminan los tres aplicados al input y al <td>, y se concatenan sin ; de separación — style="color:red" junto con Formstyle="width:5em" produce color:redwidth:5em y se pierden las dos reglas. Conviene usar uno solo por campo; si se usan varios, cerrar cada valor con ;.
colstyle
Sección titulada «colstyle»texto · opcional
CSS inline de la columna en grillas. colstyle="display:none;" oculta la columna pero conserva el campo en el form vertical de entrada y sí lo exporta a XLS/CSV: es la forma de tener una columna en el export sin mostrarla en pantalla, que noshow no permite. En el PDF, en cambio, una columna oculta así queda excluida igual que con noshow, y print="true" no la recupera.
filterStyle
Sección titulada «filterStyle»texto · opcional
CSS inline del campo en la barra de filtros. Útil para angostar (width:0em;) o resaltar un filtro, pero no queda contenido ahí: al armar la barra el motor pisa con este valor el style del campo y no lo restaura, así que el mismo CSS puede reaparecer después en la celda de la grilla y en el formulario.
Formstyle
Sección titulada «Formstyle»texto · opcional
CSS inline del campo. No es “el del input” en contraposición al <td> de style: los dos se aplican al input y al <td>, y se concatenan sin ; de separación. formStyle (camelCase) tampoco lo reemplaza: se suma. Ver la trampa completa en style.
formStyle
Sección titulada «formStyle»texto · opcional
Tercera grafía del CSS inline del campo. No reemplaza a Formstyle: si están los dos, los valores se suman, y sin ; de separación entre ellos. Ver style.
getStyle
Sección titulada «getStyle»texto · opcional
Nombre de un campo del row cuyo valor se usa como CSS inline del campo actual (ej. getStyle="color_celda" aplica style desde la columna color_celda de la fila).
buttonStyle
Sección titulada «buttonStyle»texto · opcional
CSS inline aplicado al botón generado por el campo (usado en tipo="button" o helpers tipo link). También válido a nivel <fieldGroup> para estilar todos sus botones.
imageStyle
Sección titulada «imageStyle»texto · opcional
En campos de archivo que se muestran como miniatura, se inyecta tal cual como estilo inline de la imagen (por ejemplo para redondear una foto de perfil).
Se aplica sólo a la miniatura: si el campo está configurado para abrirse con botón o con visor, o si el archivo es un SVG, no llega a usarse. No confundirlo con style, que estiliza la celda; y no sirve para el ancho, que lo sigue definiendo el <size> del campo.
titleColor
Sección titulada «titleColor»BoolEstricto · opcional
Sirve únicamente en la vista de árbol cuando se la pide dibujada como imagen. Marcado en un campo cuyo valor es un color en hexadecimal, ese color se usa para el título de cada nodo del dibujo. Si en cambio se usa textColor, el color va al cuerpo del nodo y el título se calcula solo, 25 tonos más oscuro; titleColor es para fijarlo a mano. Trampa: exige color=“true” en el mismo campo y valor no vacío, y no tiene ningún efecto en el árbol HTML normal. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.
texto · opcional
Clase CSS del <td> de la celda en la grilla. No es alias de clase, que va a la class del input: cambiar uno por el otro no produce el mismo HTML.
texto · opcional
Clase CSS del input del campo, y de la celda en columnas editables. A nivel campo no tiene default.
No es alias de Class: ése va a la clase del <td> de la grilla. Cambiar uno por el otro no produce el mismo HTML.
El mismo nombre existe además a nivel <histrix>, y ahí sí tiene default — en un grid ing vale ParentingClass y en otras vistas la clase por defecto de la vista. Ese default no aplica al campo.
colspan
Sección titulada «colspan»entero · opcional
Atributo HTML colspan del <td> contenedor.
rowspan
Sección titulada «rowspan»entero · opcional
Atributo HTML rowspan del <td> que contiene el campo.
labelColspan
Sección titulada «labelColspan»entero · opcional
Atributo HTML colspan de la celda de la etiqueta, no la del input — para esa está colspan. El valor pasa crudo al HTML. Se ignora si el campo tiene sincelda="true": ahí la etiqueta se emite sin <td> y las propiedades de celda no aplican. Escrito en minúscula (labelcolspan) no lo lee nadie: la grafía se compara exacta.
texto · opcional
Modificador de posición de la celda. "nobr" evita el salto de línea (mantiene la siguiente celda en el mismo renglón en forms verticales de grids ing).
tdWidth
Sección titulada «tdWidth»texto · opcional
Ancho de la celda del campo. No es CSS: se emite como el atributo HTML width del <td> y como ancho de la columna en la grilla, así que sólo acepta píxeles o porcentaje — tdWidth="10em" lo ignora el navegador.
texto · opcional
Alto del control. Usado en tipo file (image upload), qr (alto del código QR, default 240) y campos similares. Acepta px o valor numérico.
texto · opcional
No es el size del input — ése sale del elemento <size>. Como atributo en minúscula sólo tiene efecto en campos geoPoint, donde fija el zoom/tamaño del mapa.
lblsize
Sección titulada «lblsize»entero · opcional
Ancho de la celda de la etiqueta en el PDF de una ficha, no tamaño de fuente, y sin ningún efecto en HTML. El ancho de la celda del valor es pdfancho. Para el tamaño de la etiqueta va el atributo size del <label>.
entero · opcional
Atributo HTML cols para <textarea>.
BoolEstricto · opcional · default false
No dibuja un swatch: toma el valor del campo como color y lo aplica de background-color al input y a la celda, con el texto encima. El valor tiene que ser un color válido para CSS.
pintado
Sección titulada «pintado»BoolPresencia · opcional
Hace que, cada vez que Histrix llena el formulario con los datos de un renglón de la grilla, el contenido de ese campo quede seleccionado (pintado), de modo que la primera tecla que toque el usuario lo reemplace en vez de agregarse. Trampa: se activa por presencia del atributo, así que pintado=“false” también lo prende; para apagarlo hay que borrar el atributo. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.
watermark
Sección titulada «watermark»texto · opcional
No es el placeholder del input: es exclusivo del PDF. Estampa el texto como marca de agua sobre la imagen de un campo file al imprimir; en HTML no hace nada. Si el valor coincide con el id de otro campo del XML, se usa el valor de ese campo en lugar del texto literal, así que la marca puede salir de un dato de la fila.
prefijo
Sección titulada «prefijo»texto · opcional
Texto antepuesto al valor del campo en render. También aceptado como elemento <prefijo>.
texto · opcional
Sólo en <tipo>button</tipo>: clase de icono del botón (ej. ui-icon-search). Junto con text, style, tooltip y name es uno de los atributos que el campo-botón pasa al botón que genera.
BoolTrueFalse · opcional
Sólo en <tipo>button</tipo>: con “false” el botón muestra únicamente el icono, sin texto.
tooltip
Sección titulada «tooltip»texto · opcional
Tooltip del campo. Dos caminos, los dos a nivel <field>: en tipo="button" se pasa al botón (junto con icon, text, style y name), y en la grilla sale como el title de la celda — o sea que escribir title="…" en el <field> termina también acá. No va en el <histrix>: ahí no lo lee nadie, aunque haya ~716 XMLs con <histrix tooltip="false"> que no hacen nada.
inputType
Sección titulada «inputType»texto · opcional
Fuerza el control con el que se dibuja el campo sin cambiarle el tipo de dato. Los valores que cambian algo son textArea (caja multilínea) y select (lista desplegable); cualquier otro cae en el input común.
Es la opción de menor prioridad y la pisan varias cosas: si el campo tiene combo u opciones pasa a lista, si su tipo ya impone un control (archivo, fecha) gana el tipo, y si el <size> es 100 o más el motor lo pasa a multilínea por su cuenta. El valor no queda en el HTML, así que no hay rastro en el input para diagnosticar.
multiple
Sección titulada «multiple»BoolEstricto · opcional
Permite múltiples valores (en selects o file inputs).
BoolEstricto · opcional · default false
No es un salto de línea, es un corte de control. break="true" convierte el campo en campo de corte del listado: cada vez que su valor cambia entre filas se cierra el grupo y se emiten los subtotales y promedios parciales — agrupando las filas en la grilla y en el PDF. El salto de línea lo controla modpos.
sincelda
Sección titulada «sincelda»BoolEstricto · opcional
Si “true”, el campo se renderiza SIN su <td> contenedor. Útil para juntar inputs en la misma celda.
transparent
Sección titulada «transparent»BoolEstricto · opcional
Acompaña a color=“true” (o a un campo de tipo color): además de pintar el fondo de la celda y del input con el color que trae el valor, pinta el texto de ese mismo color, así que el código hexadecimal queda invisible y se ve solamente el recuadro pintado. Aplica tanto en la columna de la grilla como en el input del formulario. Trampa: solo se activa escribiendo “true”, y si el campo no tiene color=“true” (ni es de tipo color) no hace absolutamente nada. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.
texto · opcional
En campos de archivo o imagen: nombre de otro campo de la misma consulta que actúa de reemplazo cuando el archivo no existe. En vez de dejar la celda vacía dibuja un círculo con las iniciales del texto de ese campo, del tamaño que indique el <size>.
Sólo actúa en la celda de la grilla o listado, y sólo cuando falta la imagen: si el archivo existe se muestra la foto y el atributo se ignora.
BoolEstricto · opcional
En campos de archivo cambia la forma de insertar la imagen en la grilla o el formulario: la marca como contenido SVG y la pide sin el parámetro de ancho, así que sale en su tamaño natural en lugar de escalada al ancho del campo. Como toma ese camino alternativo, ese render pierde las clases de zoom, el texto alternativo y el imageStyle del campo. Trampa: es hermano de download, open y viewer, y cualquiera de esos tres gana si está puesto, dejando a svg sin efecto. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.
Interacción entre campos
Sección titulada «Interacción entre campos»BoolEstricto · opcional · default false
Marca el campo como controlador: habilita o deshabilita en el browser los campos que lo referencian con activador. No recalcula valores, y si ningún campo le apunta con activador no hace nada.
activador
Sección titulada «activador»texto · opcional
id del campo del que depende este campo: nace deshabilitado mientras el campo referenciado no valga exactamente 1 (con "S", "true" o "X" queda deshabilitado). Para que se habilite en vivo al cambiar el otro campo, ese campo tiene que llevar activa="true".
habilita
Sección titulada «habilita»texto · opcional
La dirección es la inversa de lo que sugiere el nombre. El valor es el id del campo controlador, y el que se deshabilita es este campo: con habilita="pagado", este campo queda deshabilitado mientras pagado valga falso. Escribirlo al revés deshabilita el campo equivocado.
Se resuelve en el servidor al renderizar y sobre el último valor grabado del controlador — no hay reacción en el browser cuando el controlador cambia. Cuentan como falso sólo 0, "0" y "false".
desactiva
Sección titulada «desactiva»BoolEstricto · opcional · default false
Inverso de activa sobre el campo controlador: en vez de habilitar, deshabilita en el browser los campos que lo referencian con activador. habilita no participa de este mecanismo.
texto · opcional
La dirección es la inversa de lo que sugiere el nombre. El valor es el id del campo destino: al cambiar este campo, su valor se copia hacia el campo nombrado. Escribirlo esperando traer el valor del otro campo no copia nada.
onRefresh
Sección titulada «onRefresh»texto · opcional
Comportamiento al refrescar la fila/form. Ej: “focus” devuelve el foco al campo después del refresco.
texto · opcional
Son dos atributos distintos con el mismo nombre, según el tag donde se escriba. Este attributeGroup lo comparten <field> y <fieldGroup>, así que la declaración es una sola pero la semántica no:
- En
<fieldGroup repeat="N">= loop: clona el grupo N veces. El valor puede ser un número o elidde un campo que contenga el número; dentro del grupo queda disponible el sufijo__repeat__. - En
<field repeat="false">= no repetir el valor en filas consecutivas iguales de la grilla, y además desactiva el ordenamiento de esa columna. Es equivalente anorepeat="true". Un número en un<field>no hace nada: sólo se compara contra el literal “false”.
norepeat
Sección titulada «norepeat»BoolPresencia · opcional
En grillas y en el PDF, no vuelve a imprimir el valor de la columna en filas consecutivas que lo repiten: sólo se ve en el primer renglón de cada bloque. Efecto lateral: también desactiva el ordenamiento de esa columna. repeat="false" en el <field> es la otra forma de escribir lo mismo.
autocomplete
Sección titulada «autocomplete»ModoAutocompletado · opcional
No es el autocomplete de HTML: es el modo del helper de ayuda del campo. Valores con efecto: "true" (autocompletar mientras se tipea) y "full" (autocompletar más botón que abre el popup de ayuda). "on" y "off" caen al comportamiento por defecto: no prenden ni apagan nada. Alias español: autocompletar.
autominchars
Sección titulada «autominchars»entero · opcional
Cantidad mínima de caracteres antes de disparar el autocompletado (default 3).
helpButton
Sección titulada «helpButton»BoolEstricto · opcional · default false
Al revés de lo que sugiere el nombre: oculta el input del campo y convierte el botón del helper de ayuda en un botón etiquetado que abre el popup. Si el campo no tiene helper de ayuda, lo único que hace es esconder el input y dejarlo sin forma de cargarse.
editableSelect
Sección titulada «editableSelect»BoolPresencia · opcional
En combos: permite tipear texto libre además de elegir de la lista. Trampa: editableSelect="false" lo activa igual, y el default="false" declarado no equivale a omitirlo. La única forma de tener un combo cerrado es no escribir el atributo.
selectExpand
Sección titulada «selectExpand»BoolEstricto · opcional · default false
Renderiza el combo como listbox de 5 filas visibles (size="5" en el <select>), siempre, no al hacer foco: la lista queda desplegada todo el tiempo y ocupa el alto de 5 opciones.
ignoreOption
Sección titulada «ignoreOption»BoolEstricto · opcional · default false
No ignora la opción vacía del combo: hace lo contrario de descartar el valor. Cuando el valor guardado no figura entre las opciones, con "true" se muestra ese valor crudo en la celda en vez de dejarla vacía. Sirve para no perder de vista datos históricos cuyo código ya no está en la tabla de opciones.
enablecopy
Sección titulada «enablecopy»BoolEstricto · opcional
No agrega ningún botón de copiar. En campos con <expression> o deshabilitados evita el atributo HTML disabled y deja el input en readonly, que es lo que permite seleccionar el texto con el mouse para copiarlo.
Enlaces
Sección titulada «Enlaces»linkdes
Sección titulada «linkdes»texto · opcional
Texto descriptivo del link cuando el campo es renderizado como enlace.
linkWidth
Sección titulada «linkWidth»texto · opcional
Ancho de la ventana que abre el linkint de este campo. Hay dos formas de setear lo mismo y al motor le da igual cuál se use: linkWidth en el <field>, o width dentro de un <helper type="link">. Se ignora si el campo tiene linktab="true": con eso el link abre en una pestaña del navegador y no se le pasa ni ancho ni alto.
linkHeight
Sección titulada «linkHeight»texto · opcional
Alto de la ventana que abre el linkint de este campo. Mismo mecanismo y misma excepción que linkWidth: con linktab="true" no se aplica.
linkmodal
Sección titulada «linkmodal»BoolPresencia · opcional
Si “true”, el link del campo abre en modal en vez de nueva pestaña.
linktab
Sección titulada «linktab»BoolEstricto · opcional · default false
Si “true”, el link del campo abre en nueva tab del navegador.
download
Sección titulada «download»texto · opcional
Es un booleano, no un nombre de archivo. Con download="true" la celda de un campo file muestra un botón de descarga en lugar de la miniatura. Tiene hermanos con la misma mecánica que el XSD todavía no declara: open, viewer y svg.
BoolEstricto · opcional
En campos <tipo>file</tipo>: con “true” la celda muestra un botón que abre el archivo en el visor embebido en vez de la miniatura.
texto · opcional
Rol del campo en una estructura jerárquica. Valores reales: “padre” (columna que apunta al nodo padre), “hijo” (clave del nodo, la que se usa para recursionar), y para árboles nested-set “left” | “right” | “order” (con fallback a las columnas lft/rgt si no se declaran).
Preferir la grafía en minúscula arbol, no ésta. Escribiendo arbol el motor setea las dos propiedades y quedan contentos todos los lectores. Escribiendo Arbol sólo queda la mayúscula, y entonces fallan los lectores que buscan la minúscula: el treemap y el organigrama (donde además se usan valores numéricos por nivel) y la vista de árbol. En el repo hay 0 usos de Arbol= y 71 de arbol=.
texto · opcional
Grafía recomendada para el rol del campo en el árbol (mismos valores que Arbol). Es la única que funciona en todos los caminos: escrita así, el motor setea además la propiedad con mayúscula, así que la leen tanto la construcción del árbol y de la consulta (que buscan la mayúscula) como los gráficos y la vista de árbol (que buscan la minúscula). La normalización es unidireccional: al revés no funciona.
nodeTitle
Sección titulada «nodeTitle»BoolEstricto · opcional
En un tipo="arbol", usa este campo como título de cada nodo en el gráfico del árbol, no en el árbol HTML. Pisa el default, que es el campo esClave — o sea que sin este atributo cada caja del gráfico se rotula con el id. Se ve sólo al abrir el botón “vista de árbol”, que aparece únicamente cuando la vista es un árbol. Requiere el literal "true".
Exportación
Sección titulada «Exportación»BoolTrueFalse · opcional
Sólo puede excluir, nunca incluir. export="false" saca el campo del XLS/CSV; export="true" no agrega nada, porque el ocultamiento se chequea después y por separado: un campo con noshow="true" u oculto="true" nunca se exporta, ni con export="true". Para tener la columna en el export y no en pantalla va colstyle="display:none;". La única exportación que ignora el ocultamiento es la de XML.
xlsFormat
Sección titulada «xlsFormat»texto · opcional
Formato de celda aplicado al exportar a planilla, en el format string de la planilla (ej. "#.##0,00"). Sobreescribe el formato que el motor elige según el <tipo> del campo.
xmlField
Sección titulada «xmlField»texto · opcional · default field
Nombre del tag XML usado al exportar este campo con tipo="exportXML". Default: “field”.
xmlCdata
Sección titulada «xmlCdata»BoolDefaultActivo · opcional · default true
En la exportación a XML, xmlCdata="false" emite el valor del campo crudo, sin envolverlo en <![CDATA[…]]>. El motor envuelve por defecto y sólo reacciona al literal "false": con "true" o cualquier otro valor el CDATA se mantiene, así que escribirlo en positivo es redundante. Se usa cuando el campo ya contiene XML anidado y el CDATA lo escaparía, dejando los tags como texto en la salida.
texto · opcional
No es una URL: es el nombre del elemento del <item> que este campo alimenta cuando el contenedor se exporta como feed RSS. Valores útiles: title, description, link, pubDate. El mapeo va del campo al feed, no del feed al campo.
htmlspecialchars
Sección titulada «htmlspecialchars»BoolEstricto · opcional
Con “true” escapa el valor del campo al mostrarlo, de modo que el HTML que venga en el dato se vea como texto en vez de interpretarse. Requiere el literal “true”.
Imagen y PDF
Sección titulada «Imagen y PDF»BoolEstricto · opcional
En la impresión PDF de fichas, tarjetas y etiquetas hace que el contenido del campo se dibuje como imagen dentro de la celda en lugar de imprimirse como texto (el texto de la celda pasa a ser la palabra “Imagen”). Sólo el valor “true” lo activa. El ancho se saca de un parámetro ancho que tiene que venir dentro del propio valor del campo, como en los enlaces a miniaturas; si no viene, la imagen sale a su tamaño natural y normalmente desborda la celda. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.
PDFtitle
Sección titulada «PDFtitle»texto · opcional
Texto que se imprime como renglón de título, con fondo, arriba de la grilla embebida de un campo cuando el comprobante sale en PDF; además se reserva un renglón extra de alto para ese título. Sólo aplica a campos declarados como tabla embebida, y hay una condición fácil de pasar por alto: el título se dibuja únicamente si el campo también trae declarado showValor; el alto extra, en cambio, se reserva siempre, así que sin showValor queda un renglón vacío. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.
pdfancho
Sección titulada «pdfancho»texto · opcional
Ancho de la celda del valor en el layout vertical del PDF de una ficha. El ancho de la etiqueta es lblsize. No tiene nada que ver con PDFcolWidth, que es el ancho de columna de una tabla PDF.
Tres formas de setear la misma propiedad: este atributo en el <field>, el tag hijo <pdfancho> y el atributo PDFancho del <label>. PDFancho escrito en el <field> no lo lee nadie — hay 250 usos así en el repo que no hacen nada.
imageWidth
Sección titulada «imageWidth»entero · opcional · default 100
Ancho de la imagen del campo, en píxeles. El default="100" vale sólo donde el atributo se respeta: campos <tipo>grafico</tipo> y dos ramas de la impresión. En campos file el ancho por defecto es el que calcula el motor, y una de las ramas del PDF arranca en 50. Fuera de esos casos escribirlo no cambia nada.
imageHeight
Sección titulada «imageHeight»entero · opcional
Sin descripción en el schema.
imageScale
Sección titulada «imageScale»número · opcional
Sin descripción en el schema.
grafico
Sección titulada «grafico»texto · opcional
Sin descripción en el schema.
Calendario
Sección titulada «Calendario»calendarAllDay
Sección titulada «calendarAllDay»BoolPresencia · opcional
Marca el campo que indica si el evento ocupa todo el día. Como el resto de los calendar* de campo, se evalúa por presencia: cualquier valor lo marca.
seconds
Sección titulada «seconds»BoolDefaultActivo · opcional · default true
En campos de hora, incluye los segundos en el formato visible. Trampa: escribir el valor documentado como default apaga la función. El motor arranca con los segundos prendidos por un true booleano interno y compara por identidad estricta; cualquier valor escrito en el XML llega como texto y ya no coincide, así que seconds="true" deja de imprimir los segundos igual que seconds="false". Para tener segundos hay que omitir el atributo.
defaultValue
Sección titulada «defaultValue»entero · opcional
Escrito con V mayúscula actúa sobre el encabezado de la columna, no sobre el campo: el valor se publica en el encabezado y, en columnas de tipo check que muestran el tilde de “marcar todos”, defaultValue=“1” hace que ese tilde del encabezado arranque marcado. Dos advertencias: que arranque marcado no marca los renglones (los renglones se marcan sólo cuando el usuario clickea el tilde), y únicamente el valor 1 lo activa. Ojo con la confusión de mayúsculas: defaultvalue todo en minúscula es otro atributo distinto, que sí llega al campo del formulario y lo rellena con ese valor al limpiar el formulario o al salir del campo dejándolo vacío. Ningún XML del repo lo usa: es una función viva del motor que nadie descubrió, así que no hay ningún uso real contra el que contrastar este comportamiento.
defaultvalue
Sección titulada «defaultvalue»texto · opcional
Valor por defecto que se emite al input y que el formulario usa al limpiarse. No confundir con el elemento <valor>, que fija el valor inicial del campo server-side.
texto · opcional
Es un opt-out booleano, no un modo de importación. El único valor con efecto es import="false", que deja el campo afuera de la importación desde archivo; cualquier otro valor, y la ausencia, lo dejan participando.
offsetX
Sección titulada «offsetX»texto · opcional
Desplazamiento horizontal en mm que se suma siempre a la posición de la celda. No es un booleano: offsetX="true" aborta la impresión con un error de tipo.
offsetY
Sección titulada «offsetY»texto · opcional
Desplazamiento vertical en mm que se suma siempre a la posición de la celda. No es un booleano: offsetY="true" aborta la impresión con un error de tipo. Y su valor por defecto no es 0 sino el offset superior de página del documento (3 u 8 mm según el caso), así que offsetY="0" no equivale a omitirlo: omitido, la celda ya arranca corrida por ese offset.
PDFaddPage
Sección titulada «PDFaddPage»BoolEstricto · opcional · default false
Si “true”, fuerza salto de página antes de renderizar este elemento.
PDFalign
Sección titulada «PDFalign»texto · opcional · default L
Alineación de la celda: L (izquierda), R (derecha), C (centro), J (justificada). El default declarado acá no es el real: con el atributo ausente la alineación la decide el tipo del campo — los numéricos salen a la derecha, y check, hora y file al centro. Sólo escribiendo el atributo se fuerza otra.
PDFbackgroundColor
Sección titulada «PDFbackgroundColor»texto · opcional
Color de fondo de la celda. Hex de 6 dígitos y sin # (RRGGBB): si el valor no mide exactamente 6 caracteres se resuelve como blanco y sin ningún aviso, así que #RRGGBB (7 caracteres) no pinta nada. Los nombres de color tampoco andan: “orange” mide justo 6, no se descarta y se interpreta como hex basura.
PDFbold
Sección titulada «PDFbold»PdfFontStyle · opcional
Negrita. No es un booleano: selecciona a qué parte de la celda aplica (ver PdfFontStyle). Sólo se consulta al imprimir fichas y etiquetas: en las columnas de una grilla no se mira, así que ahí no tiene efecto.
PDFborder
Sección titulada «PDFborder»texto · opcional
Borde de la celda. PDFborder="true" no dibuja ningún borde: el valor viaja crudo al generador de PDF, que entiende 1 (recuadro completo) o las letras en mayúscula L, T, R, B — izquierda, arriba, derecha, abajo — y sus combinaciones (LR). Cualquier otro valor deja la celda sin borde.
BoolEstricto · opcional · default false
Envuelve el contenido en un box. Útil para destacar zonas.
PDFcellHeight
Sección titulada «PDFcellHeight»texto · opcional
Alto mínimo de fila en número de líneas. Aplicarlo en una columna uniformiza el alto de toda la fila (alto = mayor de las columnas × 1,3 × tamaño de fuente). Se ignora en los campos tipo="check", tipo="grafico" y tipo="file", que calculan su alto por su cuenta.
PDFcolor
Sección titulada «PDFcolor»texto · opcional
Color del texto de la celda. Mismo formato que PDFbackgroundColor: hex de 6 dígitos y sin #. Con # son 7 caracteres, el motor lo resuelve como blanco y el texto queda invisible; y un nombre de 6 letras como “orange” se lee como hex basura. En los dos casos, sin aviso.
PDFcolWidth
Sección titulada «PDFcolWidth»texto · opcional
Ancho de columna de la tabla PDF. Número SIN unidad (ej. “20”): agregar “px” rompe el layout. Fijarlo además desactiva el reajuste automático de esa columna, así que no se ensancha para acomodar el contenido — el texto se parte en varias líneas. No es alias de PDFwidth ni de pdfancho: son tres anchos distintos (ver PDFwidth). La grafía es exacta: PDFcolwidth con w minúscula no la lee nadie.
pdffill
Sección titulada «pdffill»entero · opcional
Nivel de gris del fondo de la celda, 0 (negro) a 255 (blanco). Es la única grafía que fija el color — toda en minúscula. Los valores en uso son 195 y 192. No es un booleano: el número va crudo al generador de PDF, así que un texto como “true” no rellena nada y aborta la impresión con un error de tipo. En un <label> se puede escribir igual: es la misma propiedad.
PDFfill
Sección titulada «PDFfill»texto · opcional
No fija ningún color. Su único efecto es la presencia: declararlo con cualquier valor suprime el gris claro por defecto (240,240,240) y la celda queda con el color que hubiera quedado seteado antes. Para elegir el color hay que usar pdffill en minúscula, que es la grafía que llega al relleno.
PDFfontsize
Sección titulada «PDFfontsize»entero · opcional
Segunda grafía aceptada para el tamaño de fuente del campo, con s minúscula: el motor toma PDFsize y, si no está, ésta. Preferir PDFsize. Ojo con la trampa: PDFfontSize (con S mayúscula) no se lee a nivel campo — ése es el atributo global y va en el <histrix>.
PDFfooter
Sección titulada «PDFfooter»BoolEstricto · opcional · default false
Indica que el campo es parte del footer del PDF.
PDFheader
Sección titulada «PDFheader»BoolEstricto · opcional · default false
Indica que el campo/label es parte del header del PDF (se repite en cada página).
PDFitalic
Sección titulada «PDFitalic»PdfFontStyle · opcional
Itálica. Mismo mecanismo que PDFbold: no es un booleano, elige a qué parte de la celda aplica (ver PdfFontStyle). Sólo se consulta al imprimir fichas y etiquetas; en las columnas de una grilla no tiene efecto.
pdflineas
Sección titulada «pdflineas»BoolDefaultActivo · opcional · default true
Recuadro de las celdas de una grilla embebida en un campo (helper type="object"). Viene activo: sólo el literal “false” lo apaga. Tiene efecto únicamente en campos con contenedor interno; en un campo común no hace nada. La grafía es exacta y en minúscula: PDFlineas no la lee nadie. Para el recuadro de la grilla principal el atributo es PDFlines, y va en el <histrix>.
PDFlineHeight
Sección titulada «PDFlineHeight»texto · opcional
Alto de celda absoluto en mm, no un multiplicador: pisa el alto calculado. Un 1.2 escrito pensando que era un factor deja la celda de 1,2 mm y el texto encimado. El multiplicador de interlineado es otro atributo, PDFheigthRel (sic, con el typo), que este schema todavía no declara.
PDFnoborder
Sección titulada «PDFnoborder»BoolPresencia · opcional
Suprime el borde de la celda de la etiqueta al imprimir ficha o etiqueta, y de paso apaga su relleno. No anula el borde del valor: la celda del valor sigue tomando su borde de PDFborder. Ojo: el motor sólo mira si el atributo está presente, no su valor, así que PDFnoborder="false" también suprime el borde. Para no suprimirlo hay que omitir el atributo. La grafía es exacta: pdfnoborder en minúscula no la lee nadie.
PDFnolabel
Sección titulada «PDFnolabel»BoolEstricto · opcional · default false
Omite el label del campo en el PDF — útil en etiquetas térmicas y planillas compactas. La grafía es exacta: pdfnolabel en minúscula no la lee nadie (hay 20 usos escritos así en el repo, todos inertes). Y el motor lo consulta con criterios distintos en distintos puntos de la impresión, así que PDFnolabel="false" no es un negador confiable: para que el label salga, omitir el atributo.
PDFpageBreak
Sección titulada «PDFpageBreak»BoolDefaultActivo · opcional · default true
Controla el salto de página automático. “false” lo desactiva.
PDFrestorePosition
Sección titulada «PDFrestorePosition»BoolEstricto · opcional · default false
Restaura la posición X/Y del cursor antes de renderizar (para componer cajas superpuestas).
PDFrotate
Sección titulada «PDFrotate»entero · opcional
Rota el texto N grados.
PDFscaleX
Sección titulada «PDFscaleX»entero · opcional
Escala horizontal del texto (en %).
PDFsize
Sección titulada «PDFsize»texto · opcional
Tamaño de fuente en puntos de esta celda. Es la grafía de nivel campo; el motor acepta además PDFfontsize (con s minúscula) como segunda forma. El global del documento es PDFfontSize en el <histrix> (otro atributo).
pdftitulo
Sección titulada «pdftitulo»BoolDefaultActivo · opcional · default true
Fila de títulos de una grilla embebida en un campo. Viene activa: sólo pdftitulo="false" la saca. Como pdflineas, sólo tiene efecto en campos con contenedor interno.
PDFtopMargin
Sección titulada «PDFtopMargin»entero · opcional
No es un margen en mm: suma N líneas al alto de la fila, y sólo en campos que embeben otro contenedor (una grilla o una ficha hija). En un campo común no hace nada.
PDFwidth
Sección titulada «PDFwidth»texto · opcional
Ancho de la grilla embebida de un campo, y en la vista card el ancho de la tarjeta. No es alias de PDFcolWidth ni de pdfancho: son tres anchos distintos — PDFcolWidth es el ancho de columna de la tabla PDF y pdfancho el de la celda del valor en ficha. La grafía es exacta: pdfwidth en minúscula no la lee nadie.
texto · opcional
Posición X de la celda, en mm desde el borde izquierdo de la página. Para desplazar en relativo respecto de donde iría la celda está offsetX, que se suma siempre.
texto · opcional
Alias camelCase de posx.
texto · opcional
Posición Y de la celda en mm, con tres formas mágicas además de la coordenada absoluta: posy="-1" la ubica debajo de todo lo ya impreso; posy="0" o el atributo ausente la deja en la misma línea que el campo anterior; posy="+N" (con el +) la ubica N mm debajo de lo ya impreso. Para desplazar en relativo también está offsetY.
texto · opcional
Alias camelCase de posy.
BoolDefaultActivo · opcional · default true
print="false" excluye el campo del PDF. print="true" no puede forzar lo contrario: las exclusiones son independientes y se suman, así que un campo con noshow, oculto o colstyle="display:none;" no se imprime aunque lleve print="true".
tagGroup
Sección titulada «tagGroup»texto · opcional
En un campo <tipo>tags</tipo>: nombre del grupo de tags del que sale la lista de sugerencias y donde se guardan los nuevos. Sin él el campo comparte el grupo por defecto con todos los demás.