Extensiones del Web client de SAP Business One: qué puede construir y qué pasa con sus add-ons
Por Zain Abbas, Kodenova · Actualizado el
Cada vez más usuarios de SAP Business One trabajan en el navegador, y quien tiene un add-on de escritorio se pregunta qué pasará con él. Este resumen se basa en la guía de extensibilidad del Web client y en la documentación de administración de SAP.
¿Qué es el Web client de SAP Business One?
Es el cliente de navegador de SAP Business One, con la lógica de negocio del producto y la experiencia de usuario SAP Fiori. Lee y escribe en la misma base de datos de la empresa que el cliente de escritorio, así que ambos pueden convivir.
- No es exclusivo de HANA: la guía del administrador para Microsoft SQL Server explica cómo instalarlo, y allí corre como servicio de Windows.
- Necesita el Service Layer, instalado y registrado en el System Landscape Directory (SLD).
- Navegadores: Firefox, Chrome y Safari (Mac y iPad). Puerto por defecto: 443.
¿Qué se puede extender?
| Tipo de extensión | Qué hace | Tecnología | Desde | Datos |
|---|---|---|---|---|
| App tile (Fiori/SAPUI5, React, Angular, Vue, Blazor, SAP Build) | Una app nueva detrás de un tile | SAPUI5 o su framework, empaquetado como .mtar | Guía actual | Service Layer o su propio back end |
| URL mashup | Un tile que abre una app web externa | Cualquier app web | Guía actual | Back end de la app, con el contexto del Web client |
| Extensión con la UI API del Web client | Añade o cambia controles en vistas estándar soportadas y en vistas de UDO/UDT | JavaScript (hasta ECMAScript 2017) y archivos de overlay JSON | 10.0 FP 2405 | Service Layer (OData v4) con getService |
| Eventos de servidor | Avisa a un back end cuando cambian los objetos de negocio | Webhooks del Service Layer | 10.0 FP 2602 | Webhook Messenger Service |
La UI API del Web client trabaja con overlays (*.layout.json), que colocan controles before o after de otro control, o lo modifican con on, identificado por su GUID. SAP marca límites claros: solo los controles expuestos, solo las vistas soportadas, eventos solo por interacción del usuario y código hasta ECMAScript 2017. En los URL mashups dentro de un iframe, tenga en cuenta las cookies de terceros: SAP recomienda instalar el Web client y el SLD bajo el mismo dominio raíz, o abrir el mashup en una pestaña nueva.
¿Qué no pueden hacer los add-ons clásicos?
La UI API clásica es una interfaz DCOM al cliente de escritorio en ejecución, de modo que sus menús, formularios y eventos no aparecen en el Web client. No hay una cancelación equivalente a nivel de documento en el evento “before” del formulario. Las reglas que deben valer en cualquier cliente van en SBO_SP_TransactionNotification, que se ejecuta en la base de datos dentro de la transacción de guardado (vea los ejemplos de transaction notification).
¿Cómo migrar un add-on existente?
- Separe pantallas y lógica. La lógica suele migrar primero.
- Lleve las reglas al servidor: validaciones a la transaction notification, y contabilizaciones e integraciones a un servicio sobre el Service Layer.
- Revise la lista de vistas soportadas de su feature package. Si la pantalla está, rehaga el cambio como overlay. Si no, use una app tile o una vista de UDO.
- Convierta las pantallas independientes en apps tile, o en un URL mashup si la app ya existe en la web.
- Use ambos clientes durante la transición y pruebe en una copia de la empresa con su versión exacta.
Para elegir la API de cada pieza, vea la comparación Service Layer, DI API, UI API, B1if y API Gateway. El generador de solicitudes del Service Layer ayuda a reescribir llamadas de DI API.
Kodenova es independiente y trabaja junto a su partner de SAP. Si tiene un add-on que llevar al Web client, vea desarrollo de add-ons a medida para SAP Business One o contacte con Kodenova indicando su versión y feature package.
Fuentes
- SAP Help Portal: Web client extensibility, Introduction
- SAP Help Portal: Tile Extensions
- SAP Help Portal: Creating a URL Mashup App
- SAP Help Portal: UI API Extensions (10.0 FP 2405)
- SAP Help Portal: Web Client UI API References
- SAP Help Portal: Web Client UI API, Supported Views
- SAP Help Portal: Deploying Web Client Extensions on Extension Manager
- SAP Help Portal: Third-Party Cookies for Web Client Extensions
- SAP Help Portal: SAP Business One Administrator's Guide, 10.0 SP 2505 (Microsoft SQL Server, PDF)
- SAP Help Portal: Service Layer webhooks (10.0 FP 2602)
- SAP Help Portal: SDK de SAP Business One, User Interface API
Servicios relacionados
Preguntas frecuentes
¿El Web client de SAP Business One necesita SAP HANA?
No. La guía del administrador de SAP para la versión Microsoft SQL Server incluye la instalación del Web client, que allí corre como servicio de Windows. Su requisito previo es un Service Layer instalado y registrado en el System Landscape Directory, en cualquiera de las dos bases de datos.
¿Puedo usar mi add-on actual en el Web client?
Sus pantallas no. La UI API clásica es una interfaz COM al cliente de escritorio de Windows, así que sus menús, formularios y eventos solo aparecen allí. La lógica de negocio sí puede pasar a un proceso de servidor que use el Service Layer y servir a los dos clientes.
¿Qué es un URL mashup en el Web client?
Un tile que abre una aplicación web externa, dentro del Web client o en una ventana nueva. El enlace puede llevar los marcadores {b1-companyID}, {b1-language}, {b1-theme} y {b1-companyName}. El Web client los sustituye, y así la app conoce la empresa y el idioma sin preguntar.
¿Desde qué versión se pueden personalizar las vistas estándar?
Desde SAP Business One 10.0 FP 2405, cuando SAP publicó la UI API del Web client. Permite personalizar una lista definida de vistas de lista y de detalle, y las vistas de sus UDO y UDT. SAP añade vistas en cada feature package; revise la lista de su versión exacta.
¿Cómo se despliega una extensión del Web client?
Se empaqueta como archivo .mtar, se importa en el SAP Business One Extension Manager, se asigna a una o varias empresas y se abre en el Web client. El Extension Manager forma parte de las Server Tools y se abre en el navegador en /ExtensionManager del servidor del SLD.
¿Listo para empezar?
Cuéntenos lo que necesita. Recibirá una respuesta técnica clara, un alcance definido y un precio fijo, normalmente en 24 horas.
