nexabase-report 0.26.5 → 0.27.0
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-DbO5fAwh.js → generated-BjsMhDVX.js} +6 -1
- package/dist/{html2pdf-CE5Eyaw1.js → html2pdf-CA9TRu0R.js} +2 -2
- package/dist/{index-Cn6Cqgwt.js → index-CoBfRZRG.js} +7221 -7212
- package/dist/{index.es-vGrWbc-I.js → index.es-BNVDomhu.js} +2 -2
- package/dist/{jspdf.es.min-DChmagUZ.js → jspdf.es.min-CV8qUop3.js} +1 -1
- package/dist/nexabase-report.es.js +1 -1
- package/dist/nexabase-report.umd.js +183 -178
- package/dist/{pptxgen.es-DLWQLHCY.js → pptxgen.es-CwrnvNzX.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 {[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.`,
|
|
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 {[formatdate(fecha, 'dd/mmm/yyyy')]} 31/dic/2026 {[upper(formatdate(fecha, 'dd/mmm/yyyy'))]} 31/dic/2026 {[formatdate(fecha, 'd de mmmm de yyyy')]} 31 de diciembre de 2026 mmm es el mes abreviado (3 letras) y mmmm el nombre completo, ambos en el idioma del reporte ( ctx.locale , español por defecto). para mayúsculas, combina con upper(...) como en el ejemplo. 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
|
|
@@ -298,7 +298,12 @@ y muestra cero. Revisa el campo <strong>Fuente de datos</strong> en las propieda
|
|
|
298
298
|
{[round(total)]} Redondear
|
|
299
299
|
{[formatNumber(total, 2)]} 1.234,56
|
|
300
300
|
{[formatDate(fecha, 'dd/MM/yyyy')]} 31/12/2026
|
|
301
|
+
{[formatDate(fecha, 'dd/MMM/yyyy')]} 31/Dic/2026
|
|
302
|
+
{[upper(formatDate(fecha, 'dd/MMM/yyyy'))]} 31/DIC/2026
|
|
303
|
+
{[formatDate(fecha, 'd de MMMM de yyyy')]} 31 de Diciembre de 2026
|
|
301
304
|
</code></pre>
|
|
305
|
+
<p><code>MMM</code> es el mes abreviado (3 letras) y <code>MMMM</code> el nombre completo, ambos en el idioma del reporte
|
|
306
|
+
(<code>ctx.locale</code>, español por defecto). Para mayúsculas, combina con <code>upper(...)</code> como en el ejemplo.</p>
|
|
302
307
|
<h2>Rellenar con caracteres (padLeft / padRight)</h2>
|
|
303
308
|
<p>Para completar un texto o número hasta una longitud fija —folios, códigos de cuenta,
|
|
304
309
|
alinear importes— rellena con el carácter que indiques. Equivale al <code>LPAD</code>/<code>RPAD</code> de
|
|
@@ -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-CoBfRZRG.js";
|
|
2
|
+
import { j as Xl } from "./jspdf.es.min-CV8qUop3.js";
|
|
3
3
|
function Jl(Pe, br) {
|
|
4
4
|
for (var fe = 0; fe < br.length; fe++) {
|
|
5
5
|
const HA = br[fe];
|