Explorar por categoría

Cómo optimizar reportes con Crystal Reports en SAP Business One

Aprende a editar layouts existentes, crear informes desde cero y agregar la información fiscal del CFDI a tus reportes de Crystal Reports en SAP Business One.

Taller: Optimización de reportes en Crystal Reports

  • Qué cubre: edición y creación de reportes con Crystal Reports en SAP Business One, incluyendo la integración de información fiscal (CFDI)

  • Impartido por: César Vázquez, consultor del área de soporte de Avantis, SAP Gold Partner en México con más de 20 años de experiencia y más de 500 implementaciones

  • Dirigido a: consultores de TI, administradores de SAP Business One y usuarios clave que generan o personalizan reportes e informes fiscales.

Temas

  1. Qué es Crystal Reports y qué diferencia tiene con el formato PLD.
  2. Requisitos para crear o editar reportes.
  3. Cómo editar un layout existente.
  4. Cómo conectar Crystal Reports a tu base de datos (SQL y HANA).
  5. Cómo agregar información fiscal (CFDI) a un reporte.
  6. Cómo crear un informe desde cero.

Aprendizaje del taller

  • Distinguir los tres requisitos necesarios para crear o editar reportes en Crystal Reports.
  • Editar un layout existente en SAP Business One, desde agregar un logo hasta modificar campos.
  • Conectar Crystal Reports a una base de datos SQL o HANA.
  • Identificar el DocEntry y el Object Type de un documento sin necesidad de escribir una consulta SQL.
  • Agregar la información fiscal del CFDI a un reporte, incluyendo el sello digital del SAT y el folio fiscal.
  • Crear un informe desde cero en SAP Business One, con fórmulas, parámetros y filtros.

Qué necesitas antes de crear o editar reportes en Crystal Reports

SAP Business One requiere tres elementos antes de que puedas empezar a crear o modificar reportes en Crystal Reports:

1. Conocimiento de las tablas de SAP Business One y su relación entre ellas

Como Crystal Reports consulta directamente el motor de base de datos, necesitas identificar en qué tabla vive la información que quieres mostrar y cómo se relaciona con otras tablas. SAP Business One te ayuda a identificarlas: si colocas el cursor sobre un campo dentro de un documento y usas la herramienta Ver > Información de sistema, el sistema te muestra a qué tabla y a qué campo corresponde.

2. Acceso al servidor de base de datos con un usuario dedicado

Necesitas un usuario de base de datos (distinto al usuario con el que inicias sesión en el cliente de SAP), ya sea de SQL o de HANA. Aunque existen usuarios por default (SA para SQL, System para HANA), la buena práctica es crear un usuario específico con permisos de solo lectura sobre las bases o esquemas que vas a consultar, para no exponer credenciales con más privilegios de los necesarios.

3. El driver de edición de Crystal Reports, no el de solo lectura

Cuando instalas el cliente de SAP Business One, se instala automáticamente una versión de Crystal Reports llamada Runtime, que solo permite visualizar reportes creados, pero no editarlos. Para poder modificar o crear reportes necesitas el driver SAP Crystal Reports for SAP Business One, que puedes solicitar a tu equipo de TI o directamente con nosotros como tu partner.

Este driver debe coincidir con la versión de SAP Business One que tienes instalada, según la matriz de compatibilidad de SAP; si la versión no coincide, el sistema muestra un error de conexión al intentar editar un reporte.

Cómo editar un layout existente en SAP Business One

Un layout es un reporte vinculado a un tipo de documento específico (por ejemplo, un pedido de ventas o una factura). Para editar uno ya existente debes seguir los siguientes pasos:

  1. Ubica el layout. Desde Gestión > Definiciones > General > Gestión de informes y de layouts, selecciona el tipo de documento que quieres modificar. SAP Business One incluye layouts genéricos por default, sin información personalizada de tu empresa.
  2. Verifica si es un PLD o un Crystal Report. Genera una vista previa del documento antes de editar; si el formato es un PLD (el formato nativo anterior a Crystal Reports), no vas a poder editarlo con este driver, así que selecciona primero el layout de tipo Crystal.
  3. Abre el editor. Da clic derecho sobre el layout y selecciona Editar, o usa el acceso directo Diseñador de layouts desde un documento abierto.
  4. Agrega datos fijos o dinámicos. Desde las pestañas de Vista previa y Diseño, puedes insertar objetos de texto (como un número de teléfono fijo), imágenes (como tu logo) y campos de la base de datos. Recuerda que todo lo que corresponda a datos que se repiten por artículo o servicio debe ir en la sección de detalles, no en la de encabezado, o el sistema generará una página distinta por cada línea del documento.
  5. Guarda el archivo con un nombre lógico distinto. SAP Business One usa dos nombres: el del archivo en tu equipo y el nombre lógico con el que se ve dentro del sistema. Si intentas subir un layout con el mismo nombre lógico que uno de los genéricos de SAP, el sistema no te va a permitir sobrescribirlo; cámbialo desde Archivo > Resumen de información > Título antes de guardarlo.
  6. Impórtalo a SAP Business One. Desde Gestión de informes y de layouts > Importar, selecciona el archivo y elige a qué documento corresponde (por ejemplo, RDR1 para un pedido de tipo artículo).
  7. Fíjalo como estándar. Puedes definir el layout como predeterminado para todos los usuarios, solo para el usuario actual, o solo para un socio de negocios específico.

Si después de fijar un layout como estándar sigues viendo el anterior al generar la vista previa, verifica primero que no exista una personalización activa para ese usuario o socio de negocios. Otra alternativa es seguir la ruta Archivo > Previsualizar layouts. Desde ahí puedes elegir manualmente qué layout generar sin depender del que esté fijado como estándar, o usar la opción Exportar informe para generar el PDF directamente desde Crystal Reports.

Cómo conectar Crystal Reports a tu base de datos

Antes de que un layout o informe pueda consultar información real, necesitas establecer su origen de datos desde Base de datos > Establecer ubicación del origen de datos.

La conexión varía según el motor:

  • Para SQL: - Tipo de conexión: OLE DB (ADO) - Driver recomendado: SQL Server Native Client 11.0 - Datos necesarios: nombre del servidor, usuario, contraseña y nombre de la base de datos (puedes confirmar el nombre del servidor desde la pantalla de inicio de sesión del cliente de SAP)
  • Para HANA: - Tipo de conexión: ODBC - Cadena de conexión recomendada: la que hace referencia a Crystal Reports vía proxy - Datos necesarios: Server Node (host y puerto) y el nombre de la base de datos, que en HANA se llama esquema y normalmente es “NDB” por default, aunque puede variar según cómo esté configurado tu servidor

Una vez conectado, usa la opción Actualizar para que Crystal Reports valide que la estructura de la base de datos coincida con lo que pide el reporte; esto evita errores cuando mueves un reporte de un ambiente de pruebas a uno productivo, o entre servidores distintos.

Cómo agregar información fiscal (CFDI) a un reporte

Si timbras de forma nativa en SAP Business One, la información del CFDI (sello digital del SAT, fecha de timbrado, RFC, certificado del PAC y folio fiscal) se guarda en la tabla ECM2, relacionada con el documento de venta mediante dos campos:

  • El campo que identifica el documento dentro de ECM2 debe ser igual al DocEntry del documento (por ejemplo, la tabla de facturas para el caso de facturas de deudores, o la de notas de crédito o pagos según el documento).
  • El campo de tipo de objeto dentro de ECM2 debe ser igual al Object Type del documento (13 para facturas, 14 para notas de crédito, 24 para complementos de pago).

Si usas una solución de facturación distinta a la nativa (un add-on), la tabla cambia: algunos guardan la información en su propia tabla de conexión, y otros la colocan directamente en un campo de usuario dentro del mismo documento.

Al construir la consulta, usa un LEFT JOIN para la relación con ECM2, no un INNER JOIN. Si usaras INNER JOIN y hubiera documentos sin timbrar o sin relación con esa tabla, el reporte completo saldría en blanco. Reserva el INNER JOIN para relaciones que sí garantizan una coincidencia, como la de un documento a nivel cabecera con su detalle.

Cómo crear un informe desde cero en SAP Business One

A diferencia de un layout, un informe no está ligado a un tipo de documento específico sino a un módulo (por ejemplo, Socios de negocio o Ventas), y no necesita generarse desde un documento abierto. Este es el proceso:

  1. Abre Crystal Reports for SAP Business One y selecciona Nuevo informe en blanco.
  2. Conéctate por consulta. Es más flexible que conectarte por tablas cuando necesitas combinar varios campos. Identifica los campos que necesitas (por ejemplo, nombre del socio de negocios, número de factura, fecha, moneda, total, monto de impuestos y estatus del documento).
  3. Agrega los campos al diseño. Colócalos en la sección de detalles si se repiten por documento, y usa objetos de texto para etiquetas fijas (como “Estado de cuenta” o “Cliente:”).
  4. Crea fórmulas para datos que SAP Business One no calcula de forma nativa. Por ejemplo, no existe un campo de subtotal por default: se calcula restando el monto de impuestos al total del documento.
  5. Define parámetros para filtrar el reporte. Crea un parámetro de tipo texto para el código del socio de negocios y uno de tipo fecha con rango de valores para el periodo. Sin esto, el reporte traería la información de todos los clientes a la vez.
  6. Vincula los parámetros a la consulta desde Informe > Fórmulas de selección > Registro, indicando que el código del socio de negocios y la fecha del documento deben coincidir con los parámetros, y que el estatus del documento debe ser “abierto” si el objetivo es un estado de cuenta de saldos pendientes.
  7. Genera la vista previa para confirmar que el sistema te solicita los parámetros y ajusta el diseño (alineación, tamaño de campos, logo).
  8. Guarda el archivo con un nombre lógico propio y súbelo desde Gestión de informes y de layouts > Importar, seleccionando esta vez el módulo al que corresponde (por ejemplo, Socios de negocio), no una tabla de documento.

Si el archivo ya está abierto en Crystal Reports cuando intentas importarlo, SAP Business One va a mostrar un mensaje de error indicando que el archivo está dañado o en uso; cierra el archivo antes de subirlo para evitarlo.

Problemas que resuelve Crystal Reports en SAP Business One

  • Reportes sin la imagen corporativa de la empresa (sin logo, tipografía o datos fijos). Solo se necesita personalizar el layout una sola vez y en automático los demás ya tendrán el formato correcto.
  • La falta de un estado de cuenta o reporte de cobranza automatizado se resuelve creando un informe con parámetros reutilizables en lugar de armarlo manualmente cada vez.
  • Si falta información fiscal del CFDI en las facturas que se entregan al cliente, se puede completar agregando los campos del sello digital y el folio fiscal directamente al layout de facturación.
  • Ajustes menores de formato, como cambiar un logo o agregar un dato fijo, que hoy implican levantar un ticket con tu partner y esperar respuesta, los puede resolver tu propio equipo en minutos, una vez que cuenta con el driver de edición y conoce la estructura básica de las tablas.

Preguntas frecuentes

¿Cuál es la diferencia entre un layout y un informe en SAP Business One?

Un layout en SAP Business One está ligado a un tipo de documento específico, como un pedido de ventas o una factura, y normalmente se genera desde ese documento abierto. Un informe no está ligado a un documento en particular, sino a un módulo del sistema, como Socios de negocio o Ventas.

¿Necesito instalar algo adicional para editar reportes en SAP Business One?

Sí, necesitas el driver SAP Crystal Reports for SAP Business One. El driver que se instala por default junto con el cliente de SAP Business One (llamado Runtime) solo permite visualizar reportes, no editarlos ni crear nuevos.

¿Puedo usar Crystal Reports si mi empresa usa SAP Business One con HANA?

Sí, Crystal Reports funciona igual con SQL y con HANA en SAP Business One; la diferencia está en cómo estableces la conexión a la base de datos, ya que HANA usa una conexión ODBC en lugar de OLE DB.

¿Cómo identifico el DocEntry de un documento en SAP Business One sin hacer una consulta SQL?

Puedes identificar el DocEntry de un documento abriéndolo dentro de SAP Business One y revisando Herramientas > Log de modificaciones, donde el sistema muestra ese dato sin necesidad de escribir ninguna consulta.

¿Los talleres de Avantis son gratuitos?

Los Talleres Viernes One® de Avantis son gratuitos y forman parte de los recursos educativos que compartimos con nuestros clientes y con la comunidad de SAP Business One en México.

¿Necesito ser cliente de Avantis para ver este taller?

No necesitas ser cliente de Avantis para ver este taller: se comparte para que más empresas conozcan cómo personalizar sus reportes en SAP Business One. Algunas sesiones en vivo o capacitaciones avanzadas sí son exclusivas para nuestros clientes.

¿Necesitas ayuda para personalizar los reportes de tu empresa en SAP Business One?

Agenda una sesión con nosotros para revisar qué reportes necesita tu equipo y cómo aprovechar mejor Crystal Reports en tu operación.

Agenda tu sesión con Avantis

Recibe nuestros
últimos posteos

Email*

*Campos obligatorios | Aviso de Privacidad

Más populares

Capacitación SAP Business One: ventajas e importancia blog-avantis-icono-flecha

Capacitación SAP Business One: ventajas e importancia

SAP Business One es una gran herramienta que te permite controlar los procesos de tu empresa en un mismo lugar. No obstante, la capacitación constante es clave para obtener todos ...

Cursos de SAP: incrementa tus habilidades profesionales blog-avantis-icono-flecha

Cursos de SAP: incrementa tus habilidades profesionales

Comprender cómo usar un software empresarial como SAP y cómo integrarlo a las habilidades profesionales es una ventaja en el mercado laboral.