LL-Dominus Manual del diseñador
Manual de usuario

Diseñar informes y etiquetas en LL-Dominus

Guía práctica de la pantalla, sus iconos y cada grupo de propiedades. Las medidas se expresan en milímetros. La vista previa interna ayuda a maquetar el diseño completo; la ejecución externa muestra el resultado real.

Crear el primer informe

El diseño funciona como una mesa de trabajo: configura el papel, coloca objetos, define sus propiedades, comprueba la composición completa en la vista previa interna y valida el resultado final mediante la ejecución externa.

1Crear

Usa Nueva plantilla para informes o Nueva plantilla de etiquetas para hojas con varias etiquetas.

2Configurar papel

Abre la pestaña Documento y revisa formato, orientación, ancho y modo de altura.

3Dibujar

Elige una herramienta. Para texto basta un clic; para los demás objetos, arrastra desde una esquina hasta la opuesta.

4Editar

Selecciona el objeto y modifica el panel Propiedades. Los cambios se reflejan en el lienzo.

5Probar

Usa la pestaña Vista previa para revisar toda la maquetación. Después abre Imprimir vista previa para ejecutar condiciones, registros y paginación como salida real.

6Guardar

Guarda con el nombre de trabajo. Guardar como crea otra plantilla; Exportar descarga una copia.

Regla prácticaDiseña con medidas reales, valida primero con pocos datos y termina probando un caso con varias páginas o muchas líneas.
Volver arriba ↑

Zonas de la pantalla

Vista general actual del diseñador con todos los iconos de la barra superior, las pestañas Propiedades, Documento y Objetos, el grupo Datos básicos, la barra completa de herramientas de objetos, el papel, las reglas y la barra de estado unificada.
Vista general. La ayuda utiliza capturas reales de la aplicación; la apariencia puede variar ligeramente según el tamaño de la ventana.
ZonaPara qué sirve
Barra superiorArchivo, historial, zoom, cuadrícula, orden, alineación, manual, atajos y pantalla completa.
Pestaña PropiedadesMuestra únicamente los campos del objeto seleccionado. La cabecera con su tipo y nombre permanece fija al desplazarse, y las propiedades se organizan en grupos plegables.
Pestaña DocumentoConfigura el papel, la orientación y la altura. En plantillas de etiquetas añade en la misma pestaña el formato y la distribución de etiquetas.
Pestaña ObjetosOrganiza capas, permite activar u ocultar capas y localiza todos los objetos de la plantilla.
Herramientas verticalesActiva el tipo de objeto que se va a insertar en el papel.
ReglasIndican coordenadas reales en milímetros. El origen está en la esquina superior izquierda del papel.
Papel o lienzoÁrea imprimible de diseño. Los objetos fuera del papel no forman parte del resultado normal.
Barra de estadoUnifica en un solo pie el documento, las coordenadas del ratón, el nombre del objeto y la geometría de la selección. Cada dato aparece separado y precedido por una etiqueta en negrita.
Diseño frente a ejecuciónDentro del diseñador, tanto en Diseño como en su pestaña Vista previa, no se ejecutan las condiciones de aparición: se muestra la composición completa para poder maquetarla. Las condiciones se aplican únicamente en la ejecución real fuera del diseñador.
Volver arriba ↑

Iconos de la barra superior

Al dejar el puntero sobre cualquier icono aparece su nombre. Los separadores verticales dividen la barra en los siguientes grupos funcionales, de izquierda a derecha:

1. Archivo

IconoAcciónSignificado
Nueva plantillaCrea un informe normal y descarta el diseño actual después de la confirmación correspondiente.
Nueva plantilla de etiquetasCrea una hoja de etiquetas: el objeto se diseña una vez y el motor lo repite en cada posición.
AbrirMuestra las plantillas disponibles para cargar una.
GuardarActualiza la plantilla actual.
▣+Guardar comoGuarda una copia con otro nombre sin sustituir la original.
Exportar copiaDescarga al equipo el contenido de la plantilla.

2. Variables y configuración

Este grupo está aislado mediante un separador a cada lado para distinguir la configuración de la plantilla de las operaciones de archivo y salida.

Variables y acumuladoresAdministra cálculos reutilizables y sumas de ejecución.
{ }Configuración privadaEdita la sección avanzada reservada de la plantilla. Úsala solo cuando conozcas el contrato esperado.

3. Salida y diagnóstico

Imprimir vista previaSale de la previsualización de maquetación, ejecuta la plantilla con sus condiciones y abre el resultado real preparado para impresión.
IRGenerar IRGenera el documento intermedio para comprobar qué objetos, medidas y páginas recibe el renderizador.

4. Historial

DeshacerRevierte el último cambio registrado.
RehacerRecupera el último cambio deshecho.

5. Zoom y visualización

Zoom −Aleja la vista sin alterar las medidas del documento.
Zoom +Acerca la vista sin alterar las medidas.
1:1Ajustar / 1:1Alterna entre encajar la página y la escala real del diseñador.
#CuadrículaMuestra u oculta la rejilla de apoyo. No se imprime.
</>JSONMuestra u oculta la representación guardable del documento para diagnóstico. Arrastra su borde superior para cambiar la altura; el contenido dispone de desplazamiento vertical y horizontal.

6. Orden de capas

Traer al frenteColoca la selección delante de todos los objetos de su capa.
Enviar al fondoColoca la selección detrás de los demás objetos de su capa.
↑1Subir una capa visualAvanza una posición en el orden de dibujo.
↓1Bajar una capa visualRetrocede una posición en el orden de dibujo.

7. Alineación, distribución y tamaño

|←Alinear izquierdaIguala el borde izquierdo de los objetos seleccionados.
→|Alinear derechaIguala el borde derecho.
TAlinear arribaIguala el borde superior.
Alinear abajoIguala el borde inferior.
Centrar horizontalIguala el centro horizontal de la selección.
Centrar verticalIguala el centro vertical.
···Distribuir horizontalNecesita tres o más objetos seleccionados para activarse. Mantiene fijos los objetos de los extremos y reparte uniformemente los demás entre ambos.
Distribuir verticalNecesita tres o más objetos seleccionados para activarse. Mantiene fijos los objetos superior e inferior y reparte uniformemente los demás entre ambos.
=WIgualar anchoAplica a la selección el ancho del objeto de referencia.
=HIgualar altoAplica a la selección el alto del objeto de referencia.

8. Ayuda y ventana

Manual del diseñadorAbre esta guía en otra pestaña. No modifica el diseño.
?Atajos de tecladoAbre la ayuda rápida de teclas que ya incorpora el diseñador.
Pantalla completaAmplía el área de trabajo; vuelve a pulsarlo para salir.
Salir del diseñadorDisponible cuando Xailer abre el diseñador en modo quiosco. Si existen cambios pendientes, permite elegir Guardar y salir, Salir sin guardar o Cancelar. Edge sólo comienza a cerrarse después de resolver esta elección.
Las alineaciones necesitan selección múltipleSelecciona objetos concretos manteniendo Ctrl o Mayús mientras haces clic. También puedes hacerlo sin teclado: pulsa en una zona vacía del papel y arrastra el ratón para dibujar un marco que seleccione todos los objetos que alcance.
Distribución de objetosDistribuir horizontal o verticalmente requiere como mínimo tres objetos seleccionados.
Volver arriba ↑

Herramientas de objetos

ATexto

Inserta texto literal, campos o fórmulas. Un clic crea el objeto; doble clic permite editar rápidamente su contenido.

Línea

Dibuja líneas horizontales, verticales o diagonales. Arrastra para marcar longitud y dirección.

Rectángulo

Crea cajas, fondos, marcos y zonas visuales con relleno, borde, redondeo y sombra.

Elipse

Crea círculos u óvalos con las mismas propiedades visuales generales.

Imagen

Inserta logotipos o imágenes desde una ruta, una fórmula o datos.

|||Código

Inserta EAN-13, EAN-8, EAN-128/GS1-128, Code 128, Data Matrix o QR.

Tabla

Define cabeceras, detalle repetitivo, pies y grupos. Se configura con doble clic.

Texto enriquecido

Crea contenido con varias fuentes, tamaños, estilos y colores dentro del mismo objeto. Utiliza una única propiedad Contenido, igual que Texto, y puede combinar HTML fijo con campos o fórmulas. Consultar su funcionamiento completo.

La herramienta activa queda resaltada. Pulsa Esc para cancelar una inserción.

Volver arriba ↑

Documento y papel

La pestaña Documento mantiene la configuración de la página separada de las propiedades del objeto y permanece disponible haya o no una selección.

Pestaña Documento con papel, orientación, ancho, modo de altura y alto.
La pestaña Documento de un informe normal. Si la plantilla es de etiquetas, sus propiedades aparecen debajo en esta misma pestaña.
CampoSignificadoDónde actúa
PapelFormato físico. Los formatos conocidos rellenan las dimensiones; Personalizado permite introducirlas.Diseño y runtime
OrientaciónVertical o Apaisado. Intercambia la relación entre ancho y alto del formato.Diseño y runtime
AnchoAncho real en milímetros. Solo es editable cuando el formato lo permite.Diseño y runtime
Modo de alturaAltura fija crea páginas físicas; Según contenido crea un documento continuo cuya altura final depende de lo impreso.Diseño y runtime
AltoAltura física de una página fija, en milímetros.Diseño y runtime
Alto del lienzoSolo en continuo. Proporciona espacio para colocar objetos, pero no fija la longitud de salida.Solo diseño
Margen inferiorSolo en continuo. Papel libre que se añade después del último contenido renderizado.Diseño y runtime
Todas las coordenadas están en milímetrosEl zoom cambia únicamente el tamaño en pantalla. No cambia el papel ni las posiciones guardadas.
Volver arriba ↑

Tickets y papel continuo

Para un ticket no hace falta diseñar una página artificialmente larga. Configura:

  1. Papel: Personalizado.
  2. Ancho: el ancho útil de la impresora, por ejemplo 76 u 80 mm según el dispositivo.
  3. Modo de altura: Según contenido (continuo).
  4. Alto del lienzo: solo el espacio cómodo para colocar cabecera, tabla y pie durante el diseño.
  5. Margen inferior: separación que debe quedar antes del corte.

La altura final se calcula hasta el último objeto que realmente se imprime, más el margen inferior. Si una tabla crece, empuja sus pies y el documento aumenta.

No uses el alto del lienzo para crear metros de papelSu función es dar espacio de edición. En modo continuo, la longitud de salida debe depender del contenido, no de una tabla alargada manualmente.

Qué probar antes de imprimir

Volver arriba ↑

Plantillas de etiquetas

Una plantilla de etiquetas separa el papel físico de la etiqueta que se diseña. En el lienzo se edita una etiqueta; en la vista previa se repite sobre la hoja. Tanto el papel como la distribución se configuran en la pestaña Documento.

Pestaña Documento de una plantilla de etiquetas con la configuración del papel, las medidas, los márgenes y la distribución.
Configuración del papel y de su distribución de etiquetas.
CampoSignificadoDónde actúa
Formato comercialAplica una distribución conocida. Configuración manual permite ajustar todos los valores.Diseño y runtime
Ancho / Alto etiquetaTamaño de cada etiqueta individual; también determina el lienzo editable.Diseño y runtime
Columnas / FilasCantidad de posiciones que caben en la hoja.Diseño y runtime
Margen izquierdo / superiorDistancia desde el borde del papel hasta la primera etiqueta.Diseño y runtime
Separación horizontal / verticalHueco físico entre etiquetas.Diseño y runtime
Desplazamiento horizontal / verticalCorrección fina aplicada al imprimir para calibrar una impresora concreta. La miniatura permite comprobarla sin alterar la geometría comercial.Runtime e impresión; reflejado en diseño
Orden de impresiónPor filas avanza de izquierda a derecha; por columnas avanza de arriba abajo.Diseño y runtime
Miniatura HojaComprueba visualmente si la distribución cabe en el papel. Los avisos indican desbordamientos.Solo diseño

Empezar en una etiqueta usada

Al imprimir una hoja de varias etiquetas, selecciona la primera posición libre en la cuadrícula blanca. Las posiciones anteriores se conservan vacías; no tienes que crear objetos en blanco.

Calibración recomendadaImprime primero en una hoja normal, superpónla a la hoja adhesiva y corrige solo los desplazamientos X/Y.
Volver arriba ↑

Seleccionar, mover y redimensionar

Selección simple

Haz clic en un objeto. Sus tiradores permiten cambiar tamaño y la pestaña Propiedades muestra únicamente sus campos.

Selección múltiple

Mantén Ctrl y haz clic, o arrastra un marco sobre varios objetos. Después puedes alinear, distribuir o mover el grupo.

Movimiento exacto

Arrastra para mover libremente o escribe Izquierda y Superior. Las flechas permiten ajustes controlados.

Menú contextual

El botón derecho ofrece Copiar, Pegar, Eliminar, Traer al frente y Enviar al fondo.

Orden de dibujo frente a capa

El orden de dibujo decide qué objeto tapa a otro. El campo Capa decide a qué capa lógica pertenece. Son conceptos diferentes: subir un objeto no cambia su capa.

Objeto bloqueadoUn objeto con Bloqueado activo permanece seleccionable y editable desde Propiedades, pero no se puede mover ni redimensionar en el lienzo. Selecciónalo de nuevo para consultar sus propiedades o desbloquearlo.
Volver arriba ↑

Propiedades comunes

Estos campos permiten consultar y modificar el aspecto y el comportamiento del objeto seleccionado. Si seleccionas varios objetos, se muestran únicamente las propiedades que comparten y los cambios se aplican a toda la selección.

Organización del panel

ElementoFuncionamiento
Cabecera fijaMuestra el tipo y el nombre del objeto seleccionado. Permanece visible mientras se desplazan sus propiedades.
Cabecera de un grupoHaz clic en ella para desplegar o cerrar solo ese grupo. Cada grupo funciona de forma independiente, por lo que puede quedar uno, varios o ninguno abierto.
Datos básicosEs el primer grupo de cualquier objeto individual y se abre inicialmente porque contiene sus propiedades principales. En una selección múltiple se denomina Propiedades comunes. Los demás grupos empiezan cerrados.
Icono «Desplegar todos»El pequeño icono con dos flechas hacia abajo, situado en la cabecera fija, abre todos los grupos a la vez.
Icono «Cerrar todos»El pequeño icono con dos flechas hacia arriba cierra todos los grupos a la vez.
CampoSignificadoDónde actúa
NombreIdentificador legible dentro del diseñador y la lista de objetos. Usa nombres únicos y descriptivos.Solo diseño
Tipo de objetoClase interna informativa que determina cómo se compone y renderiza el objeto.Diseño y runtime
CapaOrganiza el objeto en diseño. En ejecución también se comprueba la condición de esa capa.Diseño y runtime
Condición de apariciónFórmula booleana. Si devuelve falso, el objeto no se imprime. El diseñador y su preview interno no la evalúan, por lo que el objeto permanece disponible para maquetarlo.Runtime y vista previa real
VisibleInterruptor general del objeto. Activado lo muestra en el lienzo y permite imprimirlo; desactivado lo oculta en el diseñador y evita que se imprima.Diseño y runtime
BloqueadoImpide mover o redimensionar el objeto en el lienzo. Sigue siendo seleccionable y sus propiedades se pueden consultar, modificar o desbloquear. No cambia la salida impresa.Solo diseño
Izquierda / SuperiorCoordenadas de la esquina superior izquierda respecto al papel.Diseño y runtime
Derecha / InferiorCoordenadas calculadas del borde opuesto. Resultan útiles para alinear con una medida concreta.Diseño y runtime
Ancho / AltoTamaño del marco del objeto.Diseño y runtime
Color de fondoColor base del relleno.Diseño y runtime
Tipo de rellenoSólido utiliza únicamente Color de fondo. Los degradados horizontal y vertical mezclan Color de fondo con Color final. Los degradados reflejados utilizan además Color intermedio en el centro.Diseño y runtime
Color final / intermedioSolo intervienen cuando el Tipo de relleno es un degradado. En modo Sólido, sus colores y sus fórmulas Fx se conservan, pero no cambian el aspecto del objeto.Diseño y runtime
Opacidad del rellenoTransparencia únicamente del relleno, tanto sólido como degradado: 0 es totalmente transparente y 1 totalmente opaco. No modifica el texto ni el borde.Diseño y runtime
RotaciónÁngulo del objeto en grados.Diseño y runtime
OpacidadTransparencia del objeto completo: relleno, contenido, borde y sombra.Diseño y runtime
Márgenes internosSeparación superior, derecha, inferior e izquierda entre el borde y el contenido. El control central enlaza o separa los cuatro valores.Diseño y runtime
Borde: color y grosorApariencia del contorno. Un grosor cero elimina el trazo efectivo.Diseño y runtime
Borde: visibilidadActiva cada lado de forma independiente.Diseño y runtime
RedondeoRadio visual de las esquinas.Diseño y runtime
Sombra: grosorTamaño del desplazamiento de la sombra.Diseño y runtime
Sombra: transparenciaGrado de transparencia de la sombra.Diseño y runtime
Sombra: colorColor de la sombra.Diseño y runtime
Ayuda contextual de cada propiedadPasa el puntero sobre el nombre o el control de cualquier propiedad para ver su explicación. Todos los tooltips indican expresamente si la propiedad afecta al modo Diseño, al runtime o impresión, o a ambos.
Botón fxCuando aparece junto a un campo, abre el editor de fórmulas. Un fx resaltado indica que existe una fórmula dinámica asociada.
Volver arriba ↑

Texto

Panel de propiedades de un texto con cabecera fija, botones globales y el grupo Datos básicos desplegado.
Datos básicos es el primer grupo de cualquier objeto individual y aparece desplegado. Las cabeceras con flecha controlan cada grupo y los dos pequeños iconos superiores permiten abrirlos o cerrarlos todos.
ContenidoTexto literal entre comillas o expresión. Usa fx para insertar campos y funciones sin escribirlos de memoria.
Fuente / TamañoFamilia tipográfica y tamaño en puntos.
Negrita, Cursiva, Subrayado, TachadoEstilos tipográficos independientes.
Partir si no cabePermite continuar el texto en otra línea dentro del ancho del objeto.
Continuar entre páginasPermite que un contenido largo pase a una página posterior.
Interlineado adicionalEspacio añadido entre líneas. Cero usa el interlineado natural de la fuente.
Espacio entre párrafosSeparación adicional después de cada párrafo.
Conservar párrafos vacíosMantiene saltos vacíos intencionados.
Justificación forzadaDistribuye el texto para ocupar el ancho disponible, incluida la última línea cuando corresponda.
Recortar espacios exterioresElimina espacios al principio y al final del resultado.
Color / Opacidad textoApariencia del contenido sin modificar el fondo ni el borde.
AlineaciónIzquierda, centro, derecha o decimal. Decimal alinea cantidades por el separador.
Posición decimalPunto dentro del ancho donde debe quedar el separador decimal.
Alineación verticalColoca el contenido arriba, centrado o abajo dentro del marco.
Para títulos de una sola líneaDesactiva Partir si no cabe, deja interlineado y espacio de párrafo a cero y da al objeto el ancho suficiente.
Volver arriba ↑

Texto enriquecido

Permite mezclar fuentes, tamaños, colores, fondos y estilos dentro de un mismo objeto. El diseñador guarda una única expresión en Contenido; no existen modos separados para contenido fijo y fórmula.

Editor de texto enriquecido con fuente, tamaño, colores, ortografía, fórmulas, estilos y una variable OMEMQUERY incrustada.
El botón {fx} inserta un campo o una fórmula en la posición del cursor sin perder el formato visual aplicado alrededor.

Crear y editar

  1. Activa la herramienta Texto enriquecido, identificada por el icono de una hoja con líneas y la esquina doblada, y haz clic o arrastra sobre el papel.
  2. Haz doble clic en el objeto o pulsa Editar… junto a la propiedad Contenido.
  3. Edita el contenido y pulsa Aceptar. El diseñador convierte automáticamente el HTML en una cadena literal válida para el evaluador.
  4. Cancelar cierra la ventana sin modificar el objeto.
Contenido dinámico existenteSi Contenido contiene una fórmula dinámica, por ejemplo OMEMQUERY.texto, el editor visual avisa antes de sustituirla por HTML fijo. Cancelar conserva la fórmula sin cambios.

La propiedad Contenido

NecesidadContenidoResultado
HTML fijo"<p>Texto <strong>enriquecido</strong></p>"El editor visual genera y escapa esta cadena. Normalmente no es necesario escribirla a mano.
Campo o variableOMEMQUERY.textoEl evaluador obtiene su valor y detecta automáticamente si es RTF, HTML o texto plano.
Expresión completa"<p><strong>" + OMEMQUERY.codigo + "</strong></p>"Concatena datos mediante la sintaxis normal del editor de fórmulas.
Campo dentro del editor visual{{OMEMQUERY.descripcion}}El marcador se sustituye durante la ejecución y conserva el formato aplicado en esa posición.
Botones fx diferentesEl botón fx de la propiedad Contenido edita la expresión completa. El botón {fx} de la ventana enriquecida inserta una expresión dentro del HTML en la posición del cursor.

Barra del editor

FuenteSelecciona Arial, Calibri, Courier New, Georgia, Segoe UI, Tahoma, Times New Roman o Verdana. Al mover el cursor muestra la fuente del texto situado en esa posición.
TamañoPermite escribir valores entre 4 y 200 puntos, incluidos decimales. Pulsa Enter o cambia de control para aplicarlo.
Texto / FondoEl cuadrado de color abre el selector. El botón con el nombre aplica el color actual a la selección o lo deja activo para seguir escribiendo. Vuelve a pulsarlo para desactivarlo y dejar de aplicar ese color.
ABCActiva o desactiva la corrección ortográfica del navegador. Empieza desactivada y no forma parte del contenido guardado.
Deshacer / RehacerActúan dentro de la edición enriquecida actual.
EstilosNegrita, cursiva, subrayado, tachado, superíndice, subíndice y limpiar formato.
Alineación y listasIzquierda, centro, derecha, justificada, lista numerada y lista con viñetas. Los iconos representan la distribución real de las líneas.
{fx}Abre el editor normal de fórmulas e inserta el resultado como marcador enriquecido.

Propiedades del objeto

ContenidoCadena literal, campo, variable o expresión. Dispone de los botones Editar… y fx.
Alineación verticalColoca la caja tipográfica en la parte superior, central o inferior. En Xailer la fuente puede reservar un pequeño espacio natural para acentos y ascendentes; no es un margen interno.
DesbordamientoRecortar limita el contenido al marco; Visible permite que continúe fuera de él.
Márgenes internosSeparación adicional respecto al borde. Los objetos nuevos comienzan con los cuatro valores a cero; el borde conserva su propio grosor.
Fondo, borde y transformaciónUtilizan las propiedades comunes del resto de objetos.

HTML, RTF y texto plano

Dentro de una tabla: cómo insertarlo

  1. Cierra el editor de configuración de la tabla para volver al papel y asegúrate de que la línea y la celda de destino sean visibles.
  2. Activa la herramienta Texto enriquecido de la barra vertical.
  3. Haz clic dentro de la celda. El objeto queda asociado a ella y seleccionado automáticamente.
  4. Edita su propiedad Contenido, usa fx o abre Editar…, exactamente igual que con un texto enriquecido situado fuera de una tabla.

Las celdas admiten Texto, Texto enriquecido, Código de barras o Imagen. Consulta también el procedimiento completo del apartado Insertar contenido en una celda.

Prueba final recomendadaComprueba el objeto en Diseño, en la pestaña Vista previa y mediante Imprimir vista previa. Si recibe RTF desde Xailer, prueba además un registro con RTF, otro con HTML o texto plano y otro con el campo vacío.
Volver arriba ↑

Línea, rectángulo y elipse

Línea

OrientaciónHorizontal, vertical, diagonal descendente o diagonal ascendente.
ColorColor del trazo.
GrosorAncho real del trazo en milímetros.
EstiloContinua, discontinua o punteada.

Rectángulo y elipse

Se configuran mediante las propiedades comunes de relleno, borde, transformación, redondeo y sombra. Son útiles como fondo, marco o elemento visual; colócalos al fondo cuando deban quedar detrás del texto.

Líneas finas y zoomUna línea muy fina puede verse distinta según el zoom por el ajuste a píxeles de la pantalla. Comprueba la vista previa y la impresión, que trabajan con la medida real.
Volver arriba ↑

Imagen

Origen / contenidoRuta, contenido de datos o fórmula que devuelve la imagen.
Tipo de origen: AutoEl motor determina si el valor es una ruta o datos.
Tipo de origen: RutaTrata el valor como ubicación de archivo o recurso.
Tipo de origen: DatosTrata el valor como contenido de imagen codificado.
Mantener proporciónEvita deformar la relación original entre ancho y alto.
Ajuste: ContenerMuestra la imagen completa; puede dejar espacio libre.
Ajuste: CubrirLlena todo el marco; puede recortar bordes.
Ajuste: EstirarLlena ancho y alto aunque cambie la proporción.
Imagen no visibleComprueba primero el resultado de la fórmula y que el recurso sea accesible para el motor de ejecución, no solo para el navegador del diseñador.
Volver arriba ↑

Códigos de barras

Panel actual del objeto código de barras con el grupo Datos básicos, contenido, tipo EAN-128 y opción Mostrar texto.
El tipo y el contenido deben ser compatibles para producir un código legible.
ContenidoDato literal o fórmula que se codificará.
TipoEAN-13, EAN-8, EAN-128 (GS1-128), Code 128, Data Matrix o QR.
Mostrar textoMuestra debajo del símbolo el valor legible por personas. En QR y Data Matrix normalmente se deja desactivado.
Recortar espacios exterioresElimina espacios iniciales y finales del valor antes de codificar.
Fuente y estilosConfiguran el texto legible, no las barras o módulos.
Color / FondoColor del símbolo y del fondo. Usa alto contraste.

Elegir el tipo correcto

EAN-13 / EAN-8Identificadores comerciales numéricos de longitud fija. No sirven para texto libre.
EAN-128 (GS1-128)Datos logísticos con identificadores de aplicación GS1. No equivale a un Code 128 libre aunque use su simbología base.
Code 128Contenido alfanumérico compacto sin semántica GS1 obligatoria.
Data MatrixCódigo 2D compacto, apropiado para poco espacio.
QRCódigo 2D muy extendido para identificadores, direcciones y más contenido.
Comprobación obligatoriaImprime al tamaño definitivo y escanea con el lector real. No reduzcas el objeto hasta que las barras o módulos se unan visualmente.
Volver arriba ↑

Tablas

Una tabla organiza líneas repetitivas y sus elementos asociados. Haz doble clic sobre ella —o sobre un marcador de sección— para abrir su configuración.

Editor de tabla con pestañas, lista de líneas, opciones de paginación, bordes, celdas y anchos.
Editor de una sección de tabla. Cada pestaña mantiene sus propias líneas y celdas.

Pestañas

TablaResumen de nombre, posición y tamaño, más opciones generales.
CabeceraLíneas que identifican las columnas al inicio.
LíneaDetalle repetido por cada registro.
PieContenido posterior al detalle: totales, observaciones o cierres.
Cabecera grupoSe imprime al cambiar el valor de la expresión de ruptura.
Pie grupoCierra cada grupo antes de comenzar el siguiente.

Opciones generales

Separadores hasta el pieProlonga los separadores verticales por el espacio de tabla disponible.
Tamaño fijo de la tablaMantiene el pie en el fondo definido; desactivado permite que siga al contenido.
Condición salto páginaFórmula que fuerza un salto cuando se cumple.
Modo de alturaFija conserva el marco; Según contenido adapta el alto al resultado.

Líneas y celdas

Ajustar las columnas directamente en el papel

No es obligatorio volver a abrir la configuración para corregir un ancho. En la vista Diseño, sitúa el puntero sobre una línea vertical que separe dos celdas de la tabla. Cuando estés sobre el separador, mantén pulsado el botón izquierdo y arrástralo horizontalmente.

Ajuste visual rápidoSelecciona la tabla si fuera necesario y arrastra directamente los separadores verticales que ves en el lienzo. Es la forma más rápida de cuadrar las columnas con su contenido.

Insertar contenido en una celda

Las celdas no se rellenan desde el editor de configuración de la tabla. Primero se define allí la sección, la línea, el número de celdas y sus anchos; después se inserta el contenido directamente sobre la tabla visible en el papel.

  1. Prepara la celda: abre la tabla con doble clic, entra en Cabecera, Línea, Pie, Cabecera grupo o Pie grupo y crea la línea y las celdas necesarias con . Ajusta su alto y sus anchos.
  2. Vuelve al papel: cierra el editor de la tabla. La sección y sus celdas deben verse en el lienzo.
  3. Elige el contenido: activa en la barra vertical Texto, Texto enriquecido, Código de barras o Imagen.
  4. Inserta: haz un clic dentro de la celda de destino. No es necesario arrastrar ni dibujar un marco.
  5. Configura: el objeto queda seleccionado y aparecen sus propiedades. En Texto enriquecido puedes usar HTML fijo, una fórmula o variable y el botón Editar….
Un contenido por celdaCada celda admite un solo objeto de contenido. Si activas otro tipo y haces clic sobre una celda que ya contiene uno, el nuevo objeto sustituye al anterior. El objeto pertenece a la celda: al modificar la estructura o mover la tabla, continúa asociado a ella.
Cómo reconocer que se ha insertadoLa herramienta se desactiva tras el clic, el contenido aparece dentro de la celda y sus propiedades se muestran inmediatamente. También figura en la pestaña Objetos con la indicación “(tabla)”.

Paginación avanzada

Mantener unidosEvita partir esa línea cuando sea posible.
Mantener con anteriorIntenta que la línea no se separe de la anterior.
Repetir como cabeceraRepite una cabecera de grupo cuando el grupo continúa en otra página.
Salto despuésTermina la página después de imprimir la línea.
Suprimir siNo imprime la línea cuando la fórmula es verdadera.
Forzar sumas aunque se suprimaActualiza acumuladores aunque la línea no se dibuje.
Reset acumuladoresSelecciona qué acumuladores vuelven a su valor inicial al pasar por esa línea.
Patrón cebraAlterna dos colores en las líneas repetidas.
Expresión de rupturaCampo o fórmula cuyo cambio abre y cierra grupos.
Evita celdas que no cabenEl ancho útil es el ancho de la tabla menos los márgenes internos. Si la suma de columnas lo supera, el contenido se solapa o se recorta.
Volver arriba ↑

Capas y lista de objetos

Tercera pestaña, Objetos, con la lista de capas y los objetos de la capa activa.
La pestaña Objetos permite localizar elementos que quedan detrás de otros o fuera de la vista.

Las capas permiten preparar variantes en una misma plantilla. Cada objeto tiene una capa y cada capa puede incluir una condición de ejecución.

+ Añadir capaCrea una capa vacía y la convierte en la capa activa.
Duplicar capaCopia la configuración de la capa activa y sus objetos para preparar una variante.
Eliminar capaPermite mover sus objetos a la capa principal o eliminarlos junto con ella. La capa principal no se puede borrar.
Casilla de visibilidadMuestra u oculta la capa solo durante el diseño; sirve para trabajar sin que unas variantes tapen a otras.
ColorColor identificativo de la capa en el diseñador. No sustituye los colores propios de impresión.
NombreNombre editable de la capa.
ContadorNúmero de objetos asignados a esa capa.
CondiciónFórmula booleana que decide si la capa participa en la ejecución.
ƒxAbre el editor de fórmulas para la condición de la capa.
Lista ObjetosMuestra solo los objetos de la capa activa; un clic selecciona el elemento en el lienzo.
Dos capas impresas a la vezRevisa tanto la condición de cada capa como la condición de los objetos. Una fórmula vacía suele significar “imprimir siempre”.
Volver arriba ↑

Editor de fórmulas

Editor de fórmulas con variables, constantes, funciones, documentación, expresión y validación.
Selecciona una variable, constante o función y pulsa Insertar. Validar ejecuta la expresión con el motor.
VariablesCampos de datos —incluidos los del primer registro de detalle disponible—, variables de usuario y acumuladores del contexto.
ConstantesValores predefinidos del lenguaje.
FuncionesCatálogo por categorías, con buscador y detalle de uso.
DetalleExplica sintaxis, parámetros, retorno y ejemplo de la función seleccionada.
FórmulaExpresión que se guardará en la propiedad.
ValidarComprueba sintaxis y, cuando es posible, muestra el resultado real.
AceptarGuarda la expresión validada en el campo que abrió el editor.
CancelarCierra sin aplicar la edición.

Ejemplos

Sintaxis recomendadaUsa la forma canónica Barcode(...). El editor actual también admite Barcode (...), pero la primera forma facilita la importación y el intercambio con otros motores.
Volver arriba ↑

Variables y acumuladores

Ventana Variables y acumuladores con lista, botones y editor de nombre, tipo y fórmula.
Las variables centralizan cálculos; los acumuladores conservan un valor que evoluciona durante la ejecución.
VariableCálculo con nombre reutilizable en varias propiedades.
AcumuladorValor que se actualiza durante el recorrido de los registros, por ejemplo una suma.
NombreIdentificador con el que se insertará en fórmulas. Evita espacios y nombres duplicados.
TipoTexto, numérico, fecha, booleano, imagen o memo. Debe coincidir con el resultado esperado.
FórmulaExpresión que obtiene o actualiza el valor.
+ / Duplicar / PapeleraCrea, copia o elimina una definición.
Subir / BajarCambia el orden de evaluación cuando unas definiciones dependen de otras.
Orden de evaluaciónSi una variable usa otra variable, coloca primero la definición de la que depende.
Volver arriba ↑

Vista previa del diseñador e impresión

Hay dos comprobaciones diferentes y es importante no confundirlas:

Pestaña Vista previaEstá dentro del diseñador y sirve para revisar la maquetación completa. No ejecuta las condiciones de aparición: mantiene visibles los objetos, capas y secciones condicionados para poder valorar el diseño total.
Imprimir vista previaRealiza una ejecución fuera del diseñador. Aquí sí se aplican las condiciones de aparición, los datos, la paginación y las reglas reales de salida.

Antes de dar un formato por terminado

Cuándo usar IR

El documento intermedio ayuda a distinguir si un fallo nace en la composición o en el renderizado. Si un objeto no figura en el IR, revisa datos y condiciones; si figura correctamente pero se dibuja mal, revisa el renderizador.

La vista previa interna enseña el diseño completoQue aparezcan simultáneamente objetos o variantes con condiciones incompatibles es intencionado dentro del diseñador. Para comprobar qué se imprimirá realmente, usa Imprimir vista previa o ejecuta la plantilla fuera del diseñador.
Volver arriba ↑

Problemas frecuentes

No puedo seleccionar un objetoBúscalo en la pestaña Objetos y comprueba que su objeto y su capa estén visibles. Bloqueado no impide seleccionarlo ni editar sus propiedades; solo evita moverlo o redimensionarlo en el lienzo.
Un objeto se ve dentro del diseñador pero no en la salida externaEs el comportamiento esperado cuando no cumple su condición de aparición. Revisa Visible, la condición del objeto, la condición de la capa y los datos usados por ambas.
La vista previa interna enseña dos variantesEs intencionado para poder revisar la maquetación completa. Si también se imprimen las dos en la ejecución externa, verifica que las condiciones de capa sean excluyentes y que ninguna esté vacía.
El texto tiene demasiado espacioComprueba interlineado adicional, espacio entre párrafos, párrafos vacíos, alto del objeto y márgenes internos.
El texto se reparte con huecosDesactiva Justificación forzada o cambia la alineación a izquierda/centro/derecha.
El texto enriquecido muestra etiquetas HTMLComprueba que el objeto sea realmente Texto enriquecido y no Texto. Si solo ocurre en Xailer, actualiza tanto la librería del engine como TRenderTPrinter.prg; el respaldo enriquecido nunca debe imprimir las etiquetas.
Un campo enriquecido vacío muestra contenido extrañoEl resultado correcto es vacío. Revisa que el campo enviado sea una cadena vacía o NIL y que no contenga espacios, un RTF incompleto o texto residual.
Editar… avisa que sustituirá una fórmulaContenido contiene una expresión dinámica que no puede editarse visualmente como HTML fijo. Cancela para conservarla o confirma únicamente si deseas reemplazarla.
Una fórmula no concatenaValida cada operando, sus tipos y espacios. Usa el editor para insertar campos y la función de conversión adecuada cuando un dato sea numérico.
La fórmula Barcode da errorInserta la función desde el catálogo, selecciona un tipo admitido y revisa comas, comillas y tipo del contenido. La forma recomendada es Barcode(...).
El código no se puede leerAumenta tamaño, usa fondo blanco y color oscuro, revisa el contenido permitido e imprime al 100% sin “ajustar a página”.
Faltan líneas o pies de tablaRevisa condiciones y supresiones de cada sección, anchos de celda, altura, paginación avanzada y modo de altura.
El ticket deja papel de sobraUsa modo Según contenido, reduce el alto de lienzo a una medida de trabajo y revisa el margen inferior.
Las etiquetas no coincidenComprueba formato, márgenes, separaciones y corrige únicamente los desplazamientos de impresión.
Una línea fina cambia con el zoomEs un posible ajuste a píxel de pantalla. Comprueba preview e impresión; si es necesario aumenta ligeramente el grosor real.
Guardar no produce el resultado esperadoComprueba el nombre actual en el estado. Usa Guardar como si necesitas conservar el original.

Información útil al comunicar una incidencia

Volver arriba ↑

Glosario

PlantillaDefinición editable del documento, sus objetos y configuración.
LienzoSuperficie de trabajo en la que se colocan objetos.
ObjetoElemento de diseño: texto, texto enriquecido, línea, figura, imagen, código o tabla.
Texto enriquecidoObjeto cuyo único Contenido puede devolver HTML, RTF o texto plano y puede incluir campos o fórmulas con formato propio.
CapaGrupo lógico de objetos con organización y condición propias.
FórmulaExpresión que calcula un valor o una condición durante la ejecución.
ContextoConjunto de datos, variables y opciones disponibles al ejecutar.
Vista previa del diseñadorPrevisualización de maquetación que muestra el diseño completo sin aplicar condiciones de aparición.
Imprimir vista previaEjecución real fuera del diseñador que sí aplica condiciones, datos y paginación.
IRDocumento intermedio ya compuesto, previo al renderizado final.
RenderizadorComponente que convierte el documento intermedio en una salida visible o imprimible.
DetalleSección de tabla que se repite por cada registro.
Ruptura de grupoCambio de valor que cierra un grupo de tabla y abre el siguiente.
Papel continuoDocumento cuya altura final depende del contenido, como un ticket.
Desplazamiento de etiquetaCorrección de calibración física aplicada a toda la distribución.
Ayuda de atajosLa ventana de atajos existente sigue disponible en el icono ? del diseñador. Este manual la complementa y no la sustituye.
Volver arriba ↑

Grupos y funciones del editor de fórmulas

Esta es la lista completa de funciones publicadas que aparecen en el editor. La sintaxis indica los argumentos admitidos; los argumentos entre corchetes son opcionales.

Cómo usar los ejemplosHaz doble clic en una función dentro del editor para insertarla, sustituye los valores del ejemplo por campos o expresiones de tu informe y pulsa Validar. Los alias se conservan para importar fórmulas procedentes de List & Label.

Cadenas

15 funciones

Crean, buscan, recortan o transforman textos y rutas.

FunciónQué haceSintaxis y ejemplo
AllTrimAlias: ATrim$Elimina los espacios al principio y al final de un texto.AllTrim(texto)
AllTrim(" Dominus ")
AtAlias: StrPosDevuelve la posición de la primera aparición de un texto dentro de otro.At(busqueda, texto)
At("min","Dominus")
ContainsIndica si un texto contiene otro texto.Contains(texto, buscar)
Contains("Dominus Software","Software")
hb_MemoReadAlias: LoadFile, LoadFile$Lee un fichero completo y devuelve su contenido como texto o cadena de bytes.hb_MemoRead(fichero)
LoadFile$("IBANfras.txt")
LeftAlias: Left$Obtiene los primeros caracteres de un texto.Left(texto, longitud)
Left("Dominus",3)
LenDevuelve el número de caracteres de un texto.Len(texto)
Len("Dominus")
LowerAlias: Lower$Convierte un texto a minúsculas.Lower(texto)
Lower("DOMINUS")
LTrimAlias: LTrim$Elimina los espacios situados al principio.LTrim(texto)
LTrim(" Dominus")
ProjectPathAlias: ProjectPath$Devuelve la ruta del proyecto o de la plantilla actual.ProjectPath([incluirFichero])
ProjectPath(.T.)
RAtAlias: StrRPosDevuelve la posición de la última aparición de un texto.RAt(busqueda, texto)
RAt("min","Dominus Dominus")
RightAlias: Right$Obtiene los últimos caracteres de un texto.Right(texto, longitud)
Right("Dominus",3)
RTrimAlias: RTrim$Elimina los espacios situados al final.RTrim(texto)
RTrim("Dominus ")
StrTranAlias: ChrSubst$, StrSubst$Sustituye una cadena por otra dentro de un texto.StrTran(texto, buscar [, reemplazar [, posicion [, ocurrencias]]])
StrTran("Dominus","D","L")
SubStrAlias: Mid$Obtiene una parte de un texto desde una posición.SubStr(texto, inicio [, longitud])
SubStr("Dominus",2,3)
UpperAlias: Upper$Convierte un texto a mayúsculas.Upper(texto)
Upper("Dominus")

Numéricas

5 funciones

Realizan cálculos y ajustes sobre valores numéricos.

FunciónQué haceSintaxis y ejemplo
AbsDevuelve el valor absoluto de un número.Abs(numero)
Abs(-10)
Exp10Calcula una potencia de base 10.Exp10(numero)
Exp10(2)
IntDevuelve la parte entera de un número.Int(numero)
Int(12.34)
MaxDevuelve el mayor de los valores recibidos.Max(valor1, valor2)
Max(12,34)
RoundRedondea un número a la cantidad de decimales indicada.Round(numero [, decimales])
Round(12.3456,2)

Fechas

9 funciones

Crean fechas, extraen sus componentes y convierten entre fecha y texto.

FunciónQué haceSintaxis y ejemplo
AddDaysSuma días a una fecha.AddDays(fecha, dias)
AddDays(DateYMD(2026,6,29),7)
CToDConvierte un texto dd/mm/aa o dd/mm/aaaa en fecha.CToD(texto)
CToD("29/06/26")
DateAlias: TodayDevuelve la fecha actual.Date()
Date()
DateYMDCrea una fecha a partir del año, mes y día.DateYMD(año, mes, dia)
DateYMD(2026,6,29)
DToCConvierte una fecha en texto con formato de fecha.DToC(fecha)
DToC(SToD("20260629"))
DToSConvierte una fecha en texto aaaammdd.DToS(fecha)
DToS(SToD("20260629"))
MonthAlias: Month$Devuelve el número de mes de una fecha.Month(fecha)
Month(DateYMD(2026,6,29))
SToDConvierte un texto aaaammdd en fecha.SToD(texto)
SToD("20260629")
YearAlias: Year$Devuelve el año de una fecha.Year(fecha)
Year(DateYMD(2026,6,29))

Conversión

6 funciones

Convierten tipos, aplican formatos y generan colores o códigos de barras.

FunciónQué haceSintaxis y ejemplo
BarcodeGenera un código de barras o bidimensional a partir de un texto.Barcode(texto, tipo)
Barcode("123456789012","EAN13")
ChrAlias: Chr$Devuelve el carácter correspondiente a un código numérico.Chr(codigo)
Chr(65)
RGBCrea un color con sus componentes rojo, verde y azul.RGB(rojo, verde, azul)
RGB(255,0,0)
StrAlias: CStr, CStr$Convierte un valor numérico en texto.Str(numero [, longitud [, decimales]])
Str(TOTAL,10,2)
TransformAlias: Date$, FormatDate, FStr$, Str$Formatea un valor mediante una máscara compatible con Harbour.Transform(expresion, mascara)
Transform(1234.56,"@E 999,999.99")
ValConvierte un texto numérico en número.Val(texto)
Val("123.45")

Lógicas

5 funciones

Comprueban condiciones y eligen valores según el resultado.

FunciónQué haceSintaxis y ejemplo
CondAlias: If, IIfDevuelve un valor u otro según una condición.Cond(condicion, valorVerdadero, valorFalso)
Cond(TOTAL > 1000,"VIP","Normal")
EmptyIndica si un valor está vacío.Empty(valor)
Empty(CLIENTES.EMAIL)
IFAlias: If, IIf, CondDevuelve un valor u otro según una condición.IF(condicion, valorVerdadero, valorFalso)
IF(TOTAL > 1000,"VIP","Normal")
IIfAlias: Cond, IfForma alternativa de elegir entre dos valores.IIf(condicion, valorVerdadero, valorFalso)
IIf(TOTAL > 1000,"VIP","Normal")
IsNullIndica si un valor es nulo.IsNull(valor)
IsNull(NULL())

Informe

20 funciones

Consultan el registro, los grupos, la paginación y valores propios de la ejecución.

FunciónQué haceSintaxis y ejemplo
AskStringAlias: AskString$Solicita o representa un valor de texto externo.AskString(texto, preguntarCadaRegistro, valorPropuesto [, longitudMaxima])
AskString("Cliente",False,"Dominus",20)
DowAlias: Dow$Devuelve el día de la semana de una fecha.Dow(fecha)
Dow(DateYMD(2026,6,29))
GroupChangedIndica si una expresión ha cambiado respecto al registro anterior.GroupChanged(expresion)
GroupChanged(LINEAS_FACTURA.CODCLI)
HourDevuelve la hora de una fecha o fecha/hora.Hour([fechaHora])
Hour("2026-07-21 14:30:00")
IsFirstRecordIndica si el detalle está evaluando el primer registro.IsFirstRecord()
IF(IsFirstRecord(),"Primero","")
IsLastRecordIndica si el detalle está evaluando el último registro.IsLastRecord()
IF(IsLastRecord(),"Último","")
LastPageAlias: LastpageIndica si la página actual es la última del informe.LastPage()
IF(LastPage(),"FIN","")
LastPageByIndica si es la última página de una clave o documento.LastPageBy(clave)
LastPageBy(CLAVE_FACTURA)
NextDevuelve una expresión evaluada en el registro siguiente.Next(expresion)
Next(LINEAS_FACTURA.CODIGO_ARTICULO)
NowDevuelve la fecha y hora actuales.Now()
Now()
NULLRepresenta un valor nulo.NULL()
IF(Empty(CODIGO),NULL(),CODIGO)
PageAlias: Page$Devuelve el número de página actual.Page()
"Página " + Str(Page())
PageByDevuelve la página relativa dentro de una clave o documento.PageBy(clave)
PageBy(CLAVE_FACTURA)
PagesDevuelve el total de páginas del documento.Pages()
"de " + Str(Pages())
PreviousDevuelve una expresión evaluada en el registro anterior.Previous(expresion)
Previous(LINEAS_FACTURA.CODIGO_ARTICULO)
ReccountAlias: RecCountDevuelve el total de registros del detalle.Reccount()
"Líneas: " + Str(Reccount())
RecnoAlias: RecNoDevuelve el número del registro de detalle actual.Recno()
Str(Recno()) + "/" + Str(Reccount())
SumSuma el valor de una expresión en el conjunto de registros.Sum(valor)
Sum(LINEAS.IMPORTE)
TotalPagesAlias: TotalPages$Devuelve el número total de páginas del documento.TotalPages()
Page() + " / " + TotalPages()
TotalPagesByDevuelve el total de páginas de una clave o documento.TotalPagesBy(clave)
TotalPagesBy(CLAVE_FACTURA)
Referencia sincronizada con el editorLa lista incluye todas las funciones cuyo estado es publicable en el catálogo del lenguaje. Las funciones todavía pendientes no se ofrecen en el editor ni se documentan aquí como disponibles.
Volver arriba ↑