Reportes de documentos de ventas
Consulta detallada de documentos de ventas y pedidos por vendedor, cliente, punto de venta y distrito con tarjeta de resumen, filtros avanzados y exportación a Excel
Desde Reportes Ventas puedes consultar un informe detallado de los documentos de venta y pedidos registrados en el Data Warehouse (DWH). El reporte muestra cada transacción individual con su vendedor, fecha, cliente, punto de venta, ubicación geográfica, montos y cantidades tanto de pedidos como de ventas. Incluye una tarjeta de resumen con totales consolidados, filtros por vendedor, cliente y distrito, además de exportación a Excel.
Esta vista se encuentra en la ruta Inicio > Sistema de Inteligencia Comercial > Reportes Ventas dentro del sistema. Requieres un perfil con permisos de acceso al módulo de analíticas para operar.
Vista principal — Reporte de documentos de ventas
Al ingresar al módulo, el sistema carga automáticamente los datos del mes actual (desde el día 1 del mes hasta la fecha y hora actual). La vista se compone de cuatro áreas: barra de herramientas, panel de filtros, tarjeta de resumen y tabla de datos.
Título de la página
En la parte superior izquierda se muestra el encabezado:
REPORTES VENTAS
Este es un título <h1> sin breadcrumb de navegación.
Barra de herramientas
En la parte superior derecha se encuentran dos botones de acción:
| Botón | Icono | Estilo | Descripción |
|---|---|---|---|
| Exportar | pi pi-file-excel | p-button-outlined | Abre un diálogo para exportar los datos filtrados a un archivo Excel (.xlsx) |
| Actualizar | pi pi-refresh | p-button-outlined | Recarga todos los datos del reporte ejecutando nuevamente la consulta al DWH |
El botón Actualizar reinicia completamente el estado del reporte: limpia todas las listas de filtros, los totales del resumen, los datos de la tabla y ejecuta una nueva consulta al DWH con las fechas actuales.
Panel de filtros
Debajo de la barra de herramientas se encuentra un panel con 5 filtros organizados en una grilla responsiva de 4 columnas en escritorio (lg:col-3), 3 columnas en tablet (md:col-4) y columna completa en móvil.
Filtro de fechas
| Campo | Componente | Formato | Valor por defecto | Descripción |
|---|---|---|---|---|
| Fecha de inicio | p-calendar | dd/mm/yy | Primer día del mes actual (YYYY-MM-01 00:00:00) | Fecha desde la cual se consultan los documentos de venta |
| Fecha de fin | p-calendar | dd/mm/yy | Fecha y hora actual (YYYY-MM-DD HH:mm:ss) | Fecha hasta la cual se consultan los documentos de venta |
Ambos calendarios tienen las siguientes propiedades:
| Propiedad | Valor |
|---|---|
| Mostrar ícono | Sí ([showIcon]="true") |
| Mostrar hora | No ([showTime]="false") |
| Mostrar segundos | No ([showSeconds]="false") |
| Formato de hora | 12 horas ([hourFormat]="'12'") |
| Posición del popup | Anexado al body (appendTo="body") |
Validación de rango máximo de 3 meses
Este reporte tiene un límite de rango de 3 meses. Si seleccionas un rango de fechas que supere los 3 meses, el sistema muestra una notificación de error: "Ingrese un rango de fecha menor a 3 meses por favor." (duración: 5 segundos, severidad: error). Luego, ajusta automáticamente la fecha de inicio a 3 meses antes de la fecha de fin y no ejecuta la consulta.
El sistema valida la diferencia en meses entre la fecha de inicio y la fecha de fin. Si |diferencia| > 3 meses:
- Muestra la notificación de error.
- Restablece la fecha de inicio a
fecha_fin - 3 meses(formatoYYYY-MM-DD 00:00:00). - Mantiene la fecha de fin sin cambios.
- Desactiva el indicador de carga y no ejecuta la consulta.
Validaciones adicionales al cambiar fechas
Al modificar cualquiera de las dos fechas, se ejecutan las siguientes validaciones antes de la validación de rango:
Validar fecha de inicio no sea futura
Si la Fecha de inicio es posterior a la fecha actual, se restablece automáticamente a la fecha de hoy (YYYY-MM-DD 00:00:00).
Validar que fecha fin no sea anterior a fecha inicio
Si la Fecha de fin es anterior a la Fecha de inicio, se restablece automáticamente a la fecha y hora actual (YYYY-MM-DD HH:mm:ss).
Validar rango máximo
Se valida que el rango no supere 3 meses. Si lo supera, se muestra el error y se ajusta la fecha de inicio.
Recargar datos
Si todas las validaciones pasan, el sistema ejecuta la consulta al DWH con el nuevo rango.
Filtro de vendedores
| Propiedad | Valor |
|---|---|
| Componente | p-multiSelect |
| Etiqueta | Vendedores |
| Modo de visualización | Chips (display="chip") |
| Campo de opción | text (formato: \{apellido_paterno\} \{apellido_materno\} \{nombres\}) |
| Búsqueda | Habilitada, filtra por text |
| Botón limpiar | Sí ([showClear]="true") |
| Placeholder | SELECCIONE |
| Mensaje vacío | "No se encontraron registros." |
| Mensaje filtro vacío | "No se han encontrado resultados" |
| Evento al limpiar | onClear: Limpia la selección y recalcula los filtros |
Filtro de clientes
| Propiedad | Valor |
|---|---|
| Componente | p-multiSelect |
| Etiqueta | Clientes |
| Modo de visualización | Chips (display="chip") |
| Campo de opción | text |
| Búsqueda | Habilitada, filtra por text |
| Botón limpiar | Sí ([showClear]="true") |
| Placeholder | SELECCIONE |
| Mensaje vacío | "No se encontraron registros." |
| Mensaje filtro vacío | "No se han encontrado resultados" |
| Evento al limpiar | onClear: Limpia la selección y recalcula los filtros |
El nombre del cliente se determina así: si el cliente tiene razon_social (y no es cadena vacía), se usa la razón social. Si no, se construye como \{apellido_paterno\} \{apellido_materno\} \{nombres\}.
Filtro de distritos
| Propiedad | Valor |
|---|---|
| Componente | p-multiSelect |
| Etiqueta | Distritos |
| Modo de visualización | Chips (display="chip") |
| Campo de opción | text |
| Búsqueda | Habilitada, filtra por text |
| Botón limpiar | Sí ([showClear]="true") |
| Placeholder | SELECCIONE |
| Mensaje vacío | "No se encontraron registros." |
| Mensaje filtro vacío | "No se han encontrado resultados" |
| Evento al limpiar | onClear: Limpia la selección y recalcula los filtros |
Los distritos se obtienen del campo ubigeo_codigo de cada punto de venta, traducido al nombre del distrito usando la tabla de ubigeos en caché local (erpx-global-ubigeos). La lista se ordena alfabéticamente y elimina duplicados.
Lógica de filtrado
Los filtros se aplican del lado del cliente sobre los datos ya cargados (data_complete). Cada filtro reduce progresivamente el conjunto de datos:
Filtrar por vendedores
Si hay vendedores seleccionados, solo se muestran los registros cuyo vendedor_id coincida. Si no se selecciona ninguno, pasan todos.
Filtrar por clientes
Si hay clientes seleccionados, solo se muestran los registros cuyo cliente_id coincida. Si no se selecciona ninguno, pasan todos.
Filtrar por distritos
Si hay distritos seleccionados, solo se muestran los registros cuyo cliente_punto_venta.ubigeo_nombre coincida con alguno de los distritos elegidos.
Ordenar resultados
Los datos filtrados se ordenan usando lodash sortBy por tres campos en orden de prioridad:
vendedor_text(nombre del vendedor, ascendente)fecha(fecha de la transacción, ascendente)cliente_text(nombre del cliente, ascendente)
Recalcular totales del resumen
Se recalculan todos los contadores y totales de la tarjeta de resumen con los datos filtrados.
A diferencia de otros reportes, este módulo cuenta con un botón dedicado de limpiar (onClear) en cada multiselect. Al usar este botón, la selección se vacía explícitamente y los filtros se recalculan inmediatamente.
Tarjeta de resumen
Debajo de los filtros se muestra una tarjeta (p-card) con el título RESUMEN en el encabezado. La tarjeta contiene 8 indicadores distribuidos en dos columnas:
| Indicador | Columna | Descripción |
|---|---|---|
| TOTAL VENDEDORES | Izquierda | Cantidad de vendedores únicos en los datos filtrados |
| TOTAL CLIENTES | Derecha | Cantidad de clientes únicos en los datos filtrados |
| FECHA | Izquierda | Rango de fechas efectivo de los datos: \{fecha_mínima\} - \{fecha_máxima\} en formato DD/MM/YYYY hh:mm A |
| TOTAL DISTRITOS | Derecha | Cantidad de distritos únicos en los datos filtrados |
| TOTAL PEDIDO MONTO | Izquierda | Suma total de montos de pedidos, formateado con locale es-PE y 2 decimales |
| TOTAL PEDIDO PACKS | Derecha | Suma total de cantidades de pedidos (packs) |
| TOTAL VENTA MONTO | Izquierda | Suma total de montos de ventas, formateado con locale es-PE y 2 decimales |
| TOTAL VENTA PACKS | Derecha | Suma total de cantidades de ventas (packs) |
Los totales del resumen se recalculan cada vez que se aplica un filtro. Si filtras por un vendedor específico, los totales reflejan únicamente los datos de ese vendedor. El rango de fechas mostrado corresponde a la fecha mínima y máxima reales de los datos filtrados, no a las fechas de los filtros de calendario.
Tabla de datos
La tabla utiliza el componente p-table de PrimeNG con las siguientes propiedades:
| Propiedad | Valor |
|---|---|
| Clave de fila | vendedor_id |
| Desplazamiento horizontal | Habilitado ([scrollable]="true", responsiveLayout="scroll") |
| Columnas redimensionables | Sí ([resizableColumns]="true", columnResizeMode="expand") |
| Paginación | Sí, 50 registros por página |
| Mostrar página actual | Sí, con plantilla personalizada: "Mostrando del {first} al {last} de {totalRecords} registros" |
| Estilo | p-datatable-gridlines erpx-main |
| Indicador de carga | Spinner mientras se consultan los datos |
Indicador de paginación superior
Además de la paginación estándar de p-table, se muestra un texto informativo encima de la tabla:
Mostrando página {página_actual} con {registros_en_página} registros de {total_registros} entradas
Este indicador se actualiza al cambiar de página.
Columnas de la tabla
| # | Columna | Ancho | Alineación | Contenido |
|---|---|---|---|---|
| 1 | VENDEDOR | 125px (fijo) | Derecha | Nombre completo del vendedor |
| 2 | FECHA VENTA | 150px (fijo) | Izquierda | Fecha y hora de la transacción en formato DD/MM/YYYY hh:mm A |
| 3 | RAZON SOCIAL | Auto | Izquierda | Razón social o nombre completo del cliente |
| 4 | PUNTO VENTA | 150px (fijo) | Derecha | Nombre del punto de venta del cliente |
| 5 | DIRECCION | 300px (fijo) | Derecha | Dirección completa del punto de venta |
| 6 | DISTRITO | 125px (fijo) | Izquierda | Nombre del distrito obtenido del código de ubigeo |
| 7 | LATITUD | 125px (fijo) | Izquierda | Coordenada de latitud del punto de venta |
| 8 | LONGITUD | 125px (fijo) | Izquierda | Coordenada de longitud del punto de venta |
| 9 | PEDIDO MONTO | 125px (fijo) | Derecha | Monto total de pedidos, formateado con locale es-PE y 2 decimales |
| 10 | PEDIDO PACKS | 125px (fijo) | Derecha | Cantidad de pedidos (packs), valor numérico entero |
| 11 | VENTA MONTO | 125px (fijo) | Derecha | Monto total de ventas, formateado con locale es-PE y 2 decimales |
| 12 | VENTA PACKS | 125px (fijo) | Derecha | Cantidad de ventas (packs), valor numérico entero |
A diferencia del reporte de avances de ventas, este reporte no incluye columnas de cuota ni porcentaje de alcance. En su lugar, incluye FECHA VENTA, LATITUD, LONGITUD y separa los montos y cantidades en pedidos y ventas.
Formato de moneda
Los montos en las columnas PEDIDO MONTO y VENTA MONTO se muestran con:
- Separador de miles: punto (
.) — localees-PE - Separador de decimales: coma (
,) - Decimales: exactamente 2
Ejemplo: 1.234,56
Los montos en este reporte no llevan prefijo S/. en la tabla (a diferencia del reporte de avances de ventas). Se muestra únicamente el valor numérico formateado.
Agrupación de datos
Los registros del DWH se agrupan por la combinación de cuatro claves:
vendedor_id + cliente_id + cliente_punto_venta_id + tiempo_codigo
La diferencia clave con el reporte de avances de ventas es que aquí se incluye tiempo_codigo en la clave de agrupación. Esto significa que cada registro mantiene su fecha y hora individual, permitiendo ver el detalle de cada transacción por separado.
Para cada grupo, se calculan cuatro valores a partir de los registros agrupados:
| Dato | Indicador DWH | Cálculo |
|---|---|---|
| pedidos_monto | PEDIDOS_MONTO | Suma de valor de todos los registros con este indicador |
| pedidos_cantidad | PEDIDOS_CANTIDAD | Suma de valor de todos los registros con este indicador |
| ventas_monto | DOCUMENTOS_VENTAS_MONTO | Suma de valor de todos los registros con este indicador |
| ventas_cantidad | DOCUMENTOS_VENTAS_CANTIDAD | Suma de valor de todos los registros con este indicador |
Fecha de la transacción
La fecha se extrae del campo tiempo_codigo del primer registro del grupo. El formato almacenado es YYYYMMDDHHmm y se convierte a formato legible DD/MM/YYYY hh:mm A.
Ejemplo: 202603081430 → 08/03/2026 02:30 PM
Consulta al Data Warehouse (DWH)
Al cargar o actualizar el reporte, el sistema ejecuta una única consulta al DWH (a diferencia del reporte de avances que ejecuta dos):
search=** AND fecha:[{fecha_inicio} TO {fecha_fin}] AND tipo:1 AND indicador_codigo:DOCUMENTOS_VENTAS_MONTO,DOCUMENTOS_VENTAS_CANTIDAD,PEDIDOS_MONTO,PEDIDOS_CANTIDAD
| Parámetro | Valor |
|---|---|
| fecha_inicio | Fecha de inicio a las 00:00:00 en formato YYYYMMDD000000 |
| fecha_fin | Fecha de fin al final del día en formato YYYYMMDDHHmmss |
| tipo | 1 |
| indicador_codigo | DOCUMENTOS_VENTAS_MONTO,DOCUMENTOS_VENTAS_CANTIDAD,PEDIDOS_MONTO,PEDIDOS_CANTIDAD (4 indicadores separados por coma) |
| from | 0 |
| size | 100,000,000 |
Endpoint DWH
| Endpoint | Método | URL base |
|---|---|---|
v2.0.1/erpx/analiticas/dwh | GET | https://msserver1.davix.app |
Este reporte consulta 4 indicadores en una sola petición al DWH, lo que lo hace más eficiente que el reporte de avances (que usa 2 peticiones separadas). Los indicadores son: montos de ventas, cantidades de ventas, montos de pedidos y cantidades de pedidos.
Procesamiento de datos del DWH
Una vez recibidos los datos del DWH, el sistema realiza el siguiente procesamiento:
Formatear nombres de clientes
Para cada registro, si el cliente tiene razon_social no vacía, se usa como texto. Si razon_social es null o cadena vacía, se construye como \{apellido_paterno\} \{apellido_materno\} \{nombres\}.
Resolver nombres de distritos
Para cada punto de venta, se toma el ubigeo_codigo y se busca en la tabla de ubigeos en caché local (erpx-global-ubigeos) para obtener el nombre del distrito.
Formatear nombres de vendedores
Para cada registro, se construye el nombre del vendedor como \{apellido_paterno\} \{apellido_materno\} \{nombres\}.
Extraer listas únicas para filtros
Se generan las listas de opciones para los multiselects:
- Distritos: Nombres de distritos únicos, ordenados alfabéticamente
- Clientes: Objetos
clienteúnicos porid - Vendedores: Objetos
vendedorúnicos porid
Agrupar registros
Se agrupan por la clave compuesta vendedor_id-cliente_id-cliente_punto_venta_id-tiempo_codigo. Para cada grupo se calculan los 4 montos/cantidades.
Ordenar y presentar
Los datos se ordenan por vendedor → fecha → cliente y se muestran en la tabla. Se calculan los totales para la tarjeta de resumen.
Exportar a Excel
Al hacer clic en el botón Exportar, se abre un diálogo dinámico (DynamicDialog) con las opciones de exportación.
Propiedades del diálogo
| Propiedad | Valor |
|---|---|
| Título | Exportar |
| Z-index base | 10000 |
| Ancho | 50vw (50% del ancho de la ventana) |
| Posición | Pegado arriba (top: 0, bottom: 0, maxHeight: 100%) |
| Modal | No (modal: false) |
| Cerrar con Escape | No (closeOnEscape: false) |
| Datos enviados | Los datos actualmente filtrados de la tabla (reportesDocumentosVentas.data) |
Campos del diálogo de exportación
Nombre de archivo personalizado
| Propiedad | Valor |
|---|---|
| Etiqueta | "Customizar nombre de archivo" |
| Tooltip | "Puede customizar el nombre del archivo a exportar." (ícono pi pi-exclamation-circle) |
| Componente | input[type="text"] con pInputText dentro de un p-inputgroup |
| Valor por defecto | reporte-export-\{timestamp\} (donde \{timestamp\} es new Date().getTime()) |
| Botón de reinicio | Ícono pi pi-refresh a la derecha del campo. Al hacer clic, restablece el nombre a pedidos-export-\{timestamp\} con un nuevo timestamp |
Tipo de exportación
| Propiedad | Valor |
|---|---|
| Etiqueta | "Exportar" |
| Tooltip | "Seleccione la exportación a realizar." (ícono pi pi-exclamation-circle) |
| Componente | p-dropdown |
| Opciones | Una única opción: LISTA DE REPORTE (valor: 1) |
| Valor por defecto | 1 (LISTA DE REPORTE) |
| Búsqueda | Habilitada ([filter]="true", filtra por name) |
| Placeholder | SELECCIONE |
Botones del diálogo
Los botones se ubican en un footer fijo en la parte inferior de la pantalla (position: fixed, bottom: 0, z-index: 10000):
| Botón | Icono | Estilo | Acción |
|---|---|---|---|
| Cancelar | pi pi-times | p-button-primary p-button-text | Cierra el diálogo sin exportar |
| Guardar | pi pi-check | p-button-primary | Genera y descarga el archivo Excel. Muestra indicador de carga mientras procesa |
Estructura del archivo Excel generado
| Propiedad | Valor |
|---|---|
| Nombre del archivo | \{nombre_personalizado\}.xlsx |
| Nombre de la hoja | Pedidos |
| Librería | xlsx-js-style |
| Estilo de bordes | medium, color #FFFFAA00 |
| Encabezados | Negrita, tamaño 11, centrados, ajuste de texto |
| Cuerpo | Normal, tamaño 10, centrados, ajuste de texto |
Columnas del Excel
| Columna | Ancho | Tipo dato |
|---|---|---|
| VENDEDOR | 30 | Texto |
| FECHA VENTA | 20 | Texto |
| RAZON SOCIAL | 30 | Texto |
| PUNTO VENTA | 30 | Texto |
| DIRECCION | 30 | Texto |
| DISTRITO | 20 | Texto |
| LATITUD | 8 | Texto |
| LONGITUD | 8 | Texto |
| PEDIDO TOTAL | 8 | Numérico (0.00) |
| PEDIDO PACKS | 8 | Numérico (0) |
| VENTA TOTAL | 8 | Numérico (0.00) |
| VENTA PACKS | 8 | Numérico (0) |
Las columnas numéricas del Excel (PEDIDO TOTAL, PEDIDO PACKS, VENTA TOTAL, VENTA PACKS) se exportan con tipo numérico (t: 'n') y formato específico (z: '0.00' para montos, z: '0' para cantidades). Esto permite que Excel reconozca los valores como números y puedan usarse en fórmulas y cálculos.
El Excel exporta únicamente los datos que están visibles en la tabla en ese momento, es decir, los datos ya filtrados. Si deseas exportar todos los datos, asegúrate de que no haya filtros activos.
Diferencias con el reporte de avances de ventas
| Característica | Reportes de avances de ventas | Reportes de documentos de ventas |
|---|---|---|
| Indicadores DWH | 1 (DOCUMENTOS_VENTAS_MONTO) + metas | 4 (DOCUMENTOS_VENTAS_MONTO, DOCUMENTOS_VENTAS_CANTIDAD, PEDIDOS_MONTO, PEDIDOS_CANTIDAD) |
| Consultas DWH | 2 (ventas + metas) | 1 (todos los indicadores) |
| Agrupación | vendedor_id + cliente_id + punto_venta_id | vendedor_id + cliente_id + punto_venta_id + tiempo_codigo |
| Tarjeta de resumen | No | Sí (8 indicadores) |
| Columna FECHA VENTA | No | Sí |
| Columnas LATITUD/LONGITUD | No | Sí |
| Columnas PEDIDO MONTO/PACKS | No | Sí |
| Columnas CUOTA y % ALCANCE | Sí | No |
| Filtro de zonas | Sí | No |
| Filtro de alcance de venta | Sí (rango numérico) | No |
| Validación rango 3 meses | No | Sí |
| Ordenación | Sin ordenación específica | Por vendedor → fecha → cliente (lodash sortBy) |
| Prefijo moneda S/. | Sí | No |
| Tipos numéricos en Excel | Texto (t: 's') | Numérico (t: 'n') |
Flujo completo de carga del reporte
Inicialización
Al ingresar, se establece la fecha de inicio como el primer día del mes actual y la fecha de fin como la fecha y hora actual. Se cargan los ubigeos desde la caché local del navegador.
Validación de rango
Se valida que el rango de fechas no supere 3 meses. Si lo supera, se muestra un error y se ajusta la fecha de inicio.
Consulta al DWH
Se ejecuta una consulta al DWH con los 4 indicadores de documentos de ventas y pedidos para el rango de fechas seleccionado.
Procesamiento de datos
Se formatean los nombres de clientes y vendedores, se resuelven los distritos por ubigeo, se extraen las listas únicas para los filtros y se agrupan los registros por vendedor-cliente-punto de venta-tiempo.
Cálculos y ordenación
Para cada grupo se calculan los 4 valores (pedido monto, pedido packs, venta monto, venta packs). Los datos se ordenan por vendedor, fecha y cliente.
Presentación
Los datos se muestran en la tabla paginada con 50 registros por página. Se calculan y muestran los totales en la tarjeta de resumen. Los filtros se llenan con las opciones disponibles.
Paginación personalizada
Este reporte implementa un control de paginación personalizado que rastrea:
| Parámetro | Valor inicial | Descripción |
|---|---|---|
first | 1 | Índice del primer registro mostrado |
totalRecords | 50 | Total de registros en los datos filtrados |
current | 0 | Página actual (base 0) |
size | 50 | Registros por página |
totalCurrentList | 50 | Cantidad de registros visibles en la página actual |
Al cambiar de página, el sistema calcula:
- Si es la última página:
totalCurrentList = totalRecords - (página × size) - Si no es la última página:
totalCurrentList = size(50)
Autenticación
Todas las peticiones al servidor incluyen las siguientes cabeceras HTTP:
| Cabecera | Valor |
|---|---|
accept | application/json |
Authorization | Bearer \{token\} |
enterprise-id | ID de la empresa del usuario autenticado |
Problemas comunes
| Problema | Causa | Solución |
|---|---|---|
| Aparece el error "Ingrese un rango de fecha menor a 3 meses por favor" | El rango de fechas seleccionado supera los 3 meses | Reduce el rango de fechas a un máximo de 3 meses |
| La tabla no muestra datos | No hay documentos de venta ni pedidos en el DWH para el rango seleccionado | Amplía el rango de fechas o verifica que existan transacciones registradas |
| La tarjeta de resumen muestra todos los totales en 0 | No hay datos para el rango seleccionado o todos los filtros excluyen los datos | Limpia los filtros y verifica que haya datos disponibles |
| El rango de FECHA en el resumen no coincide con las fechas del filtro | El resumen muestra las fechas mínima y máxima reales de los datos, no del filtro | Es el comportamiento esperado; refleja el rango real de datos encontrados |
| La columna DISTRITO aparece vacía | El punto de venta no tiene ubigeo_codigo configurado | Verifica que los puntos de venta tengan el ubigeo correctamente asignado |
| Los filtros de vendedores/clientes/distritos están vacíos | No hay datos en el DWH para el rango de fechas seleccionado | Las listas se generan dinámicamente; sin datos, no hay opciones |
| La fecha de inicio se restablece sola | Se seleccionó una fecha futura o el rango superó 3 meses | El sistema corrige automáticamente las fechas inválidas |
| El Excel muestra "PEDIDO TOTAL" en vez de "PEDIDO MONTO" | Las columnas del Excel tienen nombres ligeramente diferentes a la tabla | Es el comportamiento esperado; el Excel usa PEDIDO TOTAL y VENTA TOTAL |
| Los números en el Excel se muestran como texto | Error de formato en la exportación | Los montos y cantidades se exportan como tipo numérico (t: 'n'); si hay un valor vacío, puede mostrarse como texto |
Páginas relacionadas
- Reportes de avances de ventas — Reporte de avances de ventas con metas y porcentaje de alcance.
- Métricas — Configuración de métricas de rendimiento con indicadores personalizados.
- Métricas — Detalles — Visualización de gráficos y datos de métricas configuradas.
- Mapas de calor — Visualización geográfica de vendedores y puntos de venta en mapa interactivo.