nexabase-report 0.26.1 → 0.26.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{generated-DCQvzm6K.js → generated-DbO5fAwh.js} +20 -1
- package/dist/{html2pdf-CTACjved.js → html2pdf-DxtlCkep.js} +2 -2
- package/dist/{index-DKPRjQTy.js → index-35TqocHc.js} +2284 -2258
- package/dist/{index.es-Bemp_eur.js → index.es-7h9BlTTU.js} +2 -2
- package/dist/{jspdf.es.min-C0YcflL1.js → jspdf.es.min-69sqBnsw.js} +1 -1
- package/dist/nexabase-report.es.js +1 -1
- package/dist/nexabase-report.umd.js +137 -118
- package/dist/{pptxgen.es-CRbRa9cO.js → pptxgen.es-ChpReMqp.js} +1 -1
- package/package.json +1 -1
|
@@ -211,7 +211,7 @@ pestaña Inicio deciden cuál se ve encima.</p>
|
|
|
211
211
|
{
|
|
212
212
|
id: "expresiones",
|
|
213
213
|
title: "Expresiones y totales",
|
|
214
|
-
search: `expresion, campo, suma, total, subtotal, formula, variable, parametro expresiones y totales dentro del contenido de un elemento puedes insertar datos con dos sintaxis distintas. la diferencia importa más de lo que parece. las dos sintaxis sintaxis para qué ejemplo {{campo}} insertar el valor de un campo {{cliente}} {[expresión]} calcular algo {[precio cantidad]} {{campo}} es una ruta de campo , no una expresión: solo admite nombres de campo. todo lo que sea cálculo, función o parámetro va entre {[ ]} . totales y subtotales función devuelve sum(campo) la suma count( ) el número de filas avg(campo) el promedio min(campo) / max(campo) el menor / mayor first(campo) / last(campo) el primero / último puedes sumar una columna calculada , no solo un campo: {[sum(precio cantidad)]} dónde pones el total decide qué suma esto es lo que más confusión causa: en un pie de grupo , {[sum(monto)]} da el subtotal de ese grupo en el pie de reporte , da el total general si estás dentro de un grupo y necesitas el total completo del reporte, usa la familia all : sumall , countall , avgall , minall , maxall . ignoran el grupo y leen todas las filas. subtotal: {[sum(monto)]} · del total: {[sum(monto) / sumall(monto) 100]}% el error más frecuente con los totales si un total sale 0 , casi siempre es la fuente de datos de la banda . un pie de reporte que suma el detalle de una factura tiene que apuntar a la fuente del detalle . si apunta a la cabecera, suma la única fila de la cabecera —que no tiene el campo— y muestra cero. revisa el campo fuente de datos en las propiedades de la banda. texto, números y fechas {[upper(nombre)]} mayúsculas {[concat(nombre, ' ', apellido)]} unir textos {[len(codigo)]} longitud {[round(total)]} redondear {[formatnumber(total, 2)]} 1.234,56 {[formatdate(fecha, 'dd/mm/yyyy')]} 31/12/2026 condiciones {[iif(saldo 0, 'pendiente', 'pagado')]} {[isnull(observacion, 'sin observaciones')]} variables del sistema {{page}} número de página {{totalpages}} total de páginas {{today}} fecha actual parámetros los parámetros del reporte se leen con $ , dentro de una expresión : {[$region]} valor del parámetro "region" zona: {[$region]} un parámetro no funciona escrito como {{$region}} : esa sintaxis es para campos. y como el código de barras solo lee campos, tampoco puede alimentarse de un parámetro. campos calculados si la misma fórmula aparece en varios sitios, defínela una vez en el diccionario , como campo calculado, y úsala por su nombre. cambias la fórmula en un sitio y cambia en todo el reporte. variables del reporte para acumulados que avanzan fila a fila —un saldo corriente, por ejemplo— usa las variables del reporte del diccionario. se definen con una expresión, una operación de acumulación y si se reinician en cada grupo o solo al final del reporte.`,
|
|
214
|
+
search: `expresion, campo, suma, total, subtotal, formula, variable, parametro expresiones y totales dentro del contenido de un elemento puedes insertar datos con dos sintaxis distintas. la diferencia importa más de lo que parece. las dos sintaxis sintaxis para qué ejemplo {{campo}} insertar el valor de un campo {{cliente}} {[expresión]} calcular algo {[precio cantidad]} {{campo}} es una ruta de campo , no una expresión: solo admite nombres de campo. todo lo que sea cálculo, función o parámetro va entre {[ ]} . totales y subtotales función devuelve sum(campo) la suma count( ) el número de filas avg(campo) el promedio min(campo) / max(campo) el menor / mayor first(campo) / last(campo) el primero / último puedes sumar una columna calculada , no solo un campo: {[sum(precio cantidad)]} dónde pones el total decide qué suma esto es lo que más confusión causa: en un pie de grupo , {[sum(monto)]} da el subtotal de ese grupo en el pie de reporte , da el total general si estás dentro de un grupo y necesitas el total completo del reporte, usa la familia all : sumall , countall , avgall , minall , maxall . ignoran el grupo y leen todas las filas. subtotal: {[sum(monto)]} · del total: {[sum(monto) / sumall(monto) 100]}% el error más frecuente con los totales si un total sale 0 , casi siempre es la fuente de datos de la banda . un pie de reporte que suma el detalle de una factura tiene que apuntar a la fuente del detalle . si apunta a la cabecera, suma la única fila de la cabecera —que no tiene el campo— y muestra cero. revisa el campo fuente de datos en las propiedades de la banda. texto, números y fechas {[upper(nombre)]} mayúsculas {[lower(nombre)]} minúsculas {[trim(texto)]} quitar espacios de los extremos {[concat(nombre, ' ', apellido)]} unir textos {[len(codigo)]} longitud {[left(codigo, 3)]} los primeros 3 caracteres {[right(codigo, 4)]} los últimos 4 caracteres {[substring(codigo, 2, 3)]} 3 caracteres desde la posición 2 {[replace(texto, 'a', 'b')]} reemplazar {[round(total)]} redondear {[formatnumber(total, 2)]} 1.234,56 {[formatdate(fecha, 'dd/mm/yyyy')]} 31/12/2026 rellenar con caracteres (padleft / padright) para completar un texto o número hasta una longitud fija —folios, códigos de cuenta, alinear importes— rellena con el carácter que indiques. equivale al lpad / rpad de crystal reports o sql. {[padleft(folio, 6, '0')]} 45 000045 (rellena por la izquierda) {[padright(nombre, 10, '.')]} ana ana.......(rellena por la derecha) {[padleft(codigo, 8)]} rellena con espacios si no indicas carácter el tercer argumento (el carácter de relleno) es opcional ; por defecto es un espacio. si el texto ya es igual o más largo que la longitud pedida, no se recorta . lpad y rpad son alias de padleft y padright . condiciones {[iif(saldo 0, 'pendiente', 'pagado')]} {[isnull(observacion, 'sin observaciones')]} variables del sistema {{page}} número de página {{totalpages}} total de páginas {{today}} fecha actual parámetros los parámetros del reporte se leen con $ , dentro de una expresión : {[$region]} valor del parámetro "region" zona: {[$region]} un parámetro no funciona escrito como {{$region}} : esa sintaxis es para campos. y como el código de barras solo lee campos, tampoco puede alimentarse de un parámetro. campos calculados si la misma fórmula aparece en varios sitios, defínela una vez en el diccionario , como campo calculado, y úsala por su nombre. cambias la fórmula en un sitio y cambia en todo el reporte. variables del reporte para acumulados que avanzan fila a fila —un saldo corriente, por ejemplo— usa las variables del reporte del diccionario. se definen con una expresión, una operación de acumulación y si se reinician en cada grupo o solo al final del reporte.`,
|
|
215
215
|
element: "",
|
|
216
216
|
html: `<h1>Expresiones y totales</h1>
|
|
217
217
|
<p>Dentro del contenido de un elemento puedes insertar datos con dos sintaxis distintas. La
|
|
@@ -287,12 +287,31 @@ que sea cálculo, función o parámetro va entre <code>{[ ]}</code>.</p>
|
|
|
287
287
|
y muestra cero. Revisa el campo <strong>Fuente de datos</strong> en las propiedades de la banda.</p>
|
|
288
288
|
<h2>Texto, números y fechas</h2>
|
|
289
289
|
<pre><code>{[upper(nombre)]} MAYÚSCULAS
|
|
290
|
+
{[lower(nombre)]} minúsculas
|
|
291
|
+
{[trim(texto)]} Quitar espacios de los extremos
|
|
290
292
|
{[concat(nombre, ' ', apellido)]} Unir textos
|
|
291
293
|
{[len(codigo)]} Longitud
|
|
294
|
+
{[left(codigo, 3)]} Los primeros 3 caracteres
|
|
295
|
+
{[right(codigo, 4)]} Los últimos 4 caracteres
|
|
296
|
+
{[substring(codigo, 2, 3)]} 3 caracteres desde la posición 2
|
|
297
|
+
{[replace(texto, 'a', 'b')]} Reemplazar
|
|
292
298
|
{[round(total)]} Redondear
|
|
293
299
|
{[formatNumber(total, 2)]} 1.234,56
|
|
294
300
|
{[formatDate(fecha, 'dd/MM/yyyy')]} 31/12/2026
|
|
295
301
|
</code></pre>
|
|
302
|
+
<h2>Rellenar con caracteres (padLeft / padRight)</h2>
|
|
303
|
+
<p>Para completar un texto o número hasta una longitud fija —folios, códigos de cuenta,
|
|
304
|
+
alinear importes— rellena con el carácter que indiques. Equivale al <code>LPAD</code>/<code>RPAD</code> de
|
|
305
|
+
Crystal Reports o SQL.</p>
|
|
306
|
+
<pre><code>{[padLeft(folio, 6, '0')]} 45 -> 000045 (rellena por la IZQUIERDA)
|
|
307
|
+
{[padRight(nombre, 10, '.')]} Ana -> Ana.......(rellena por la DERECHA)
|
|
308
|
+
{[padLeft(codigo, 8)]} -> rellena con espacios si no indicas carácter
|
|
309
|
+
</code></pre>
|
|
310
|
+
<ul>
|
|
311
|
+
<li>El tercer argumento (el carácter de relleno) es <strong>opcional</strong>; por defecto es un espacio.</li>
|
|
312
|
+
<li>Si el texto <strong>ya es igual o más largo</strong> que la longitud pedida, <strong>no se recorta</strong>.</li>
|
|
313
|
+
<li><code>lpad</code> y <code>rpad</code> son alias de <code>padLeft</code> y <code>padRight</code>.</li>
|
|
314
|
+
</ul>
|
|
296
315
|
<h2>Condiciones</h2>
|
|
297
316
|
<pre><code>{[iif(saldo > 0, 'Pendiente', 'Pagado')]}
|
|
298
317
|
{[isNull(observacion, 'Sin observaciones')]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { g as Nl, c as ut, d as Vl } from "./index-
|
|
2
|
-
import { j as Xl } from "./jspdf.es.min-
|
|
1
|
+
import { g as Nl, c as ut, d as Vl } from "./index-35TqocHc.js";
|
|
2
|
+
import { j as Xl } from "./jspdf.es.min-69sqBnsw.js";
|
|
3
3
|
function Jl(Pe, br) {
|
|
4
4
|
for (var fe = 0; fe < br.length; fe++) {
|
|
5
5
|
const HA = br[fe];
|