La personalización de la división de documentos en SAP Business One permite adaptar los documentos de ventas, compras e inventario a los procesos específicos de una organización mediante Campos Definidos por el Usuario (UDF), Valores Definidos por el Usuario (UDV), Tablas Definidas por el Usuario (UDT) y Objetos Definidos por el Usuario (UDO).
Estas herramientas permiten añadir información en el encabezado o en las líneas de los documentos, automatizar cálculos y búsquedas, conservar la trazabilidad durante el flujo documental y crear estructuras propias para gestionar datos que no contempla la funcionalidad estándar.
Qué significa personalizar la división de documentos en SAP
En SAP Business One, la división de documentos puede entenderse como la separación de la información del documento en un encabezado general y en líneas de detalle con datos independientes para cada posición.
Los campos pueden insertarse a nivel de encabezado, donde la información aplica a la totalidad del documento (por ejemplo, instrucciones especiales de entrega para un pedido global). Alternativamente, pueden ubicarse a nivel de fila, comportándose como columnas adicionales en las tablas de detalle, lo cual es vital para atributos específicos de cada línea de producto dentro de una transacción.
Esta distinción resulta fundamental cuando una misma transacción contiene artículos, servicios, centros de coste, ubicaciones, responsables o condiciones diferentes. Los datos generales deben permanecer en el encabezado, mientras que los atributos propios de cada posición deben conservarse en las líneas.
Herramientas para personalizar documentos
El objetivo de este documento es proporcionar a la Dirección una visión detallada sobre cómo las herramientas de personalización -Campos Definidos por el Usuario (UDF), Valores Definidos por el Usuario (UDV), Tablas Definidas por el Usuario (UDT) y Objetos Definidos por el Usuario (UDO)- pueden transformar la eficiencia operativa y la captura de datos estratégicos.
La implementación de estas herramientas permite cerrar la brecha entre los requisitos comerciales específicos y la funcionalidad estándar del software. Desde el seguimiento de atributos cualitativos de clientes hasta la automatización de cálculos complejos en documentos de ventas, estas capacidades aseguran que el ERP evolucione al ritmo de la empresa.
Es fundamental comprender que estas personalizaciones no son meros "parches", sino extensiones estructurales que se integran en la base de datos, sobreviven a las actualizaciones de versión y pueden ser gestionadas a través de herramientas de migración estándar.
Campos definidos por el usuario en encabezados y líneas
La necesidad más inmediata en cualquier implementación es la captura de datos que el sistema estándar no contempla. Los Campos Definidos por el Usuario (UDF) son la respuesta a esta necesidad, permitiendo agregar puntos de datos específicos a la mayoría de los objetos de negocio, incluyendo datos maestros (como socios de negocios y artículos) y documentos de marketing.
Campos de encabezado
Los campos de encabezado almacenan información aplicable al documento completo. Esta ubicación es adecuada cuando el valor no cambia entre las distintas posiciones de una transacción.
Los campos pueden insertarse a nivel de encabezado, donde la información aplica a la totalidad del documento (por ejemplo, instrucciones especiales de entrega para un pedido global).
Campos de línea
Los campos de línea permiten conservar información independiente para cada posición del documento. Esta estructura es especialmente importante cuando las líneas contienen artículos o servicios con atributos diferentes.
Alternativamente, pueden ubicarse a nivel de fila, comportándose como columnas adicionales en las tablas de detalle, lo cual es vital para atributos específicos de cada línea de producto dentro de una transacción.
La división entre encabezado y líneas evita que un dato específico de una posición se aplique erróneamente a todo el documento y permite analizar posteriormente la información con mayor precisión.
Propagación entre documentos relacionados
Es importante destacar que, al agregar un campo a un objeto de documento de marketing, el sistema propaga esta estructura a todos los tipos de documentos logísticos relacionados (ventas, compras e inventario), garantizando una coherencia estructural a lo largo de la cadena de suministro.
Esta propagación permite conservar una misma lógica de datos cuando la información pasa de un documento base a un documento destino, por ejemplo, desde un pedido hasta una entrega o desde un documento de compras hasta un documento posterior del proceso logístico.
Ubicación visual de los campos
A nivel de interfaz, los campos de encabezado residen inicialmente en una ventana lateral secundaria, pero mediante las herramientas de edición de interfaz de usuario, estos pueden arrastrarse e integrarse visualmente en el formulario principal, optimizando la ergonomía para el usuario final.
La organización visual debe reflejar la división funcional del documento: los datos generales deben permanecer accesibles en el encabezado y los atributos específicos deben mostrarse junto a las líneas correspondientes.
Tipos de campos y control de la información
La integridad de la base de datos depende de la correcta selección del tipo y estructura del campo, una elección que es irreversible una vez creado el campo.
SAP Business One permite definir campos alfanuméricos, numéricos, de fecha/hora, o de unidades y totales, cada uno con comportamientos específicos.
| Tipo de información | Aplicación |
|---|---|
| Alfanumérica | Datos textuales, códigos y observaciones |
| Numérica | Valores cuantitativos |
| Fecha/hora | Fechas y momentos asociados al documento |
| Unidades y totales | Cantidades, importes y valores acumulados |
| General | Enlaces a archivos externos o imágenes |
Por ejemplo, los campos de tipo "General" pueden albergar enlaces a archivos externos o imágenes, facilitando la gestión documental digital directamente desde el ERP.
Valores permitidos y validación
Para asegurar la calidad del dato, el sistema permite imponer reglas de validación estrictas.
Se pueden predefinir listas de valores válidos (como niveles de estatus de cliente: Oro, Plata, Bronce), obligando al usuario a seleccionar una opción aprobada y eliminando errores de digitación.
Asimismo, se puede configurar la obligatoriedad de los campos, impidiendo la creación de registros si la información crítica no ha sido completada13.
Estas reglas son especialmente útiles en los campos de línea, donde una captura incorrecta puede afectar únicamente a una posición concreta y generar diferencias entre cantidades, responsables, ubicaciones o condiciones de entrega.
Vinculación con entidades existentes
Aún más potente es la capacidad de vincular un UDF a entidades del sistema existentes; esto permite, por ejemplo, conectar un contrato de servicio directamente con una factura específica, creando trazabilidad cruzada entre módulos que nativamente no estarían conectados.
La vinculación permite que el documento conserve referencias relacionadas sin duplicar manualmente toda la información y facilita el seguimiento de los procesos entre diferentes áreas del sistema.
División documental y flujo de documentos
Desde una perspectiva operativa, los UDF se integran en el ciclo de vida del documento.
Cuando un documento base se copia a un documento destino (por ejemplo, de Pedido a Entrega), los valores de los UDF se transfieren automáticamente, preservando la continuidad de la información.
Esta transferencia permite mantener la relación entre el encabezado y las líneas durante el avance del proceso. Los datos que pertenecen a una posición pueden continuar asociados a esa misma posición en el documento posterior.
Consolidación de documentos con valores diferentes
Sin embargo, existen reglas lógicas de negocio: si múltiples documentos base con valores de UDF diferentes se consolidan en un solo destino, el sistema no copiará el valor para evitar inconsistencias.
Esta regla protege la coherencia del documento destino. Si dos documentos de origen tienen datos personalizados distintos, asignar automáticamente uno de esos valores al documento consolidado podría producir una interpretación incorrecta de la información.
Bloqueo de las líneas en documentos cerrados
Además, los UDF respetan el estado del documento; si un pedido de venta se cierra, los campos personalizados a nivel de fila se bloquean para edición, garantizando la inmutabilidad de los registros históricos.
El bloqueo impide modificar posteriormente la información específica de una línea cuando el documento ya ha finalizado su ciclo operativo.
Automatización mediante Valores Definidos por el Usuario
Mientras que los UDF proporcionan el "contenedor" para los datos, los Valores Definidos por el Usuario (UDV) aportan la "inteligencia" para poblar esos contenedores.
Esta funcionalidad es esencial para reducir la carga manual de datos y minimizar el error humano, permitiendo cálculos automáticos y búsquedas avanzadas.
Listas de valores estáticos
El primero es mediante listas de valores estáticos, donde el usuario selecciona de una lista predefinida que no requiere mantenimiento en la estructura de la base de datos, ideal para opciones simples y rápidas.
Este método es apropiado cuando los valores posibles son limitados y no dependen de cálculos ni de información variable del documento.
Consultas de usuario
El segundo método, y el más estratégico, es la Consulta de Usuario (User Query).
Esta opción permite inyectar lógica SQL o HANA directamente en un campo.
Por ejemplo, se puede configurar una consulta que calcule automáticamente una fecha de entrega sumando días a la fecha del documento, o que recupere el saldo de crédito en tiempo real de un cliente al momento de tomar un pedido.
El resultado de la consulta debe coincidir estrictamente con el tipo de datos del campo destino para asegurar la compatibilidad técnica20.
Actualización por campos dependientes
El verdadero valor de los UDVs reside en su capacidad de actualización automática.
Se puede configurar el sistema para que ejecute la consulta y actualice el campo sin intervención del usuario cuando un "campo dependiente" cambia.
En un escenario típico de ventas, el código del cliente suele actuar como el disparador: al seleccionar el cliente, el sistema rellena automáticamente los campos personalizados con información financiera o logística relevante de ese socio de negocios.
Esta lógica puede utilizarse tanto en el encabezado como en las líneas, siempre que el resultado corresponda al nivel del documento donde se necesita la información.
Modos de actualización de los valores automáticos
Es imperativo que la Dirección comprenda las implicaciones de rendimiento y consistencia de datos al configurar estas automatizaciones.
Existen dos modos de actualización:
Actualizar periódicamente
Actualizar periódicamente: La consulta se ejecuta cada vez que se abre o navega por el documento.
Esto garantiza ver siempre el dato más actual (como un saldo bancario), pero puede impactar el rendimiento del sistema y modificar documentos históricos involuntariamente.
Mostrar valores guardados
Mostrar valores guardados (Recomendado): La consulta se ejecuta una sola vez al momento de la creación o modificación del campo dependiente y guarda el resultado estáticamente.
Esto preserva la integridad histórica del documento, asegurando que la fecha de entrega calculada hace un mes no cambie hoy simplemente por abrir el pedido.
La elección del modo depende de si el valor debe representar una situación dinámica o el estado que existía cuando se creó o modificó el documento.
| Modo | Comportamiento | Principal consideración |
|---|---|---|
| Actualizar periódicamente | La consulta se ejecuta cada vez que se abre o navega por el documento. | Puede impactar el rendimiento y modificar documentos históricos involuntariamente. |
| Mostrar valores guardados | La consulta se ejecuta una sola vez y guarda el resultado estáticamente. | Preserva la integridad histórica del documento. |
Tablas definidas por el usuario para datos relacionados
Cuando los requisitos de negocio exceden la capacidad de unos pocos campos adicionales y requieren almacenar conjuntos de datos relacionados y estructurados, es necesario implementar Tablas Definidas por el Usuario (UDT).
Un ejemplo clásico es la gestión de una flota de vehículos o un registro de conductores, donde cada entrada requiere múltiples atributos (nombre, licencia, disponibilidad).
Las UDT son útiles cuando un único valor no es suficiente y se necesita administrar un conjunto de registros que después pueda relacionarse con documentos o campos personalizados.
Identificación y estructura
Las tablas personalizadas se identifican en la base de datos con el prefijo "@" y pueden clasificarse según su propósito.
La decisión más crítica al crear una UDT es la selección del "Tipo de Objeto", ya que esto determina cómo interactuará la tabla con el resto del sistema.
Tablas sin objeto
Para crear listas desplegables avanzadas que se vinculen a un formulario estándar, se utilizan tablas de tipo "Sin Objeto".
Esto permite vincular la tabla directamente a un UDF en un documento de marketing.
Por ejemplo, en un pedido de venta, un campo "Conductor" podría desplegar los datos de la tabla de conductores, permitiendo al usuario seleccionar el recurso adecuado basándose en columnas informativas adicionales como "Ubicación" o "Turno" visibles en la interfaz de selección.
Esta estructura permite que el documento conserve un valor seleccionado desde una lista administrada, mientras que el usuario dispone de información adicional para elegir correctamente.
Visibilidad operativa
Es fundamental notar que las tablas de usuario, por sí solas, no son visibles para el usuario final en los menús de operación diaria hasta que se vinculan a un formulario o se registran como un objeto, aunque sí son accesibles para importación de datos y consultas desde el primer momento.
Por ello, una UDT puede funcionar como estructura de soporte para la división de documentos sin convertirse necesariamente en un módulo independiente.
Objetos definidos por el usuario como módulos independientes
El nivel más avanzado de personalización es la creación de Objetos Definidos por el Usuario (UDO).
Esto implica elevar una o varias Tablas de Usuario (UDT) a la categoría de entidad de negocio funcional dentro de SAP Business One.
Al registrar una tabla como UDO, el sistema le otorga capacidades nativas: servicios de Añadir, Actualizar, Buscar y Eliminar, así como la navegación mediante las flechas de registro.
Encabezado y líneas en un UDO
Los UDOs se construyen generalmente sobre tablas de tipo "Datos Maestros" o "Documento", y pueden incluir tablas secundarias que funcionan como las líneas de detalle (matriz) de un documento estándar.
Esto permite, por ejemplo, crear un módulo completo de "Gestión de Mantenimiento" donde el encabezado contiene la información del activo y las filas detallan las tareas realizadas.
La estructura reproduce la separación entre información general y datos específicos de cada línea, por lo que puede utilizarse para procesos que necesitan una división documental semejante a la de los documentos estándar.
Integración en el menú y en la interfaz
Una ventaja estratégica del UDO es su capacidad para integrarse en el menú principal del sistema, colocándolo junto a los módulos nativos como Ventas o Finanzas.
Además, se puede definir el estilo visual del formulario (Encabezado o Matriz), proporcionando una experiencia de usuario consistente y profesional que reduce la curva de aprendizaje para el personal.
Personalización y módulos funcionales de SAP
Las transacciones varían según el módulo (MM, SD, FI, PP, etc.) y la versión de SAP que se esté utilizando.
Las transacciones en el contexto de SAP se refieren a las operaciones o actividades individuales que un usuario realiza en el sistema SAP para llevar a cabo tareas específicas.
Cada tarea o proceso en SAP está asociado a una transacción específica que se ingresa en la barra de transacciones de SAP, que es una parte fundamental de la interfaz de usuario de SAP.
Estas transacciones son códigos alfanuméricos que permiten a los usuarios acceder a funciones y datos específicos en el sistema.
En SAP Business One, la personalización de documentos se apoya principalmente en las herramientas de configuración de objetos, campos, tablas y valores definidos por el usuario, mientras que las transacciones y autorizaciones determinan las operaciones a las que cada usuario puede acceder.
Autorizaciones para modificar documentos personalizados
No todos los usuarios deben tener la capacidad de alterar la estructura del ERP o los valores de los campos personalizados.
SAP Business One gestiona esto a través de "Herramientas de personalización" en el módulo de Autorizaciones Generales.
Es posible definir qué usuarios pueden editar UDFs a nivel de fila o encabezado, e incluso hacer invisibles ciertos campos para departamentos que no los requieren, limpiando la interfaz visual y protegiendo datos sensibles.
La separación de autorizaciones entre encabezado y líneas permite controlar con mayor precisión qué información puede modificar cada usuario y en qué parte del documento.
Requisitos técnicos para crear campos y tablas
La creación de campos y tablas modifica la estructura física de la base de datos SQL/HANA.
Por lo tanto, estas operaciones requieren acceso exclusivo; el sistema impedirá o forzará el cierre de sesiones de otros usuarios conectados para garantizar que no haya corrupción de datos durante la reestructuración de las tablas.
Estas actividades deben planificarse fuera del horario operativo.
La planificación es especialmente importante cuando se añaden estructuras que afectan a documentos utilizados simultáneamente por varios departamentos.
Migración, actualizaciones y escalabilidad
Una preocupación común en la personalización es el futuro del software.
Es vital destacar que las personalizaciones realizadas mediante estas herramientas estándar (UDF, UDT, UDO) son totalmente compatibles con las actualizaciones de versión de SAP Business One.
Además, al crear una nueva base de datos de empresa, existe la funcionalidad de copiar estas estructuras personalizadas, facilitando el despliegue en escenarios de múltiples subsidiarias.
Para cargas masivas de datos iniciales, herramientas como el Data Transfer Workbench (DTW) reconocen automáticamente los campos y tablas de usuario, permitiendo la importación mediante plantillas de hoja de cálculo estándar.
Aplicación práctica por nivel de personalización
- Necesidad de un dato adicional: utilizar un UDF en el encabezado o en las líneas del documento.
- Necesidad de una selección controlada: utilizar listas de valores estáticos.
- Necesidad de cálculos o búsquedas automáticas: utilizar una Consulta de Usuario mediante un UDV.
- Necesidad de varios registros relacionados: utilizar una UDT.
- Necesidad de un módulo funcional completo: utilizar un UDO construido sobre una o varias UDT.
Desde el seguimiento de atributos cualitativos de clientes hasta la automatización de cálculos complejos en documentos de ventas, estas capacidades aseguran que el ERP evolucione al ritmo de la empresa.
Desde la simple adición de un campo de "Instrucciones de Entrega" hasta la creación de un subsistema complejo de gestión de flotas, las herramientas están diseñadas para crecer con la organización.

tags: #personalizacion #de #division #de #documentos #sap