En anteriores post, estuvimos viendo como empezar con los agentes de Business Central (puedes verlo pinchando aquí) y nos fijamos que una de las cosas más importantes es que los agentes sólo podrán hacer, lo que puedan ver. Es decir, lo ideal es tener un Role Center para cada agente y limitar las opciones del menú. Vamos a ponerle orejeras a nuestro agente, para que no se despiste.
¿Qué es un Role Center?
Se trata del punto de entrada de un usuario a Business Central. Es decir, la primera página que ves.
Un Role Center es un objeto de tipo Page, que permite mejorar la experiencia de usuario mediante la asignación de un rol, teniendo una interfaz de usuario que nos permita centrarnos en las tareas a realizar. Obviamente esto no es nuevo para los agentes, ya teníamos un montón de Roles definidos en Business Central para cada perfil o grupo de usuarios.
Hay que tener clara la diferencia entre Permisos y Roles. Una cosa es lo que tiene permisos para hacer y otra cosa lo que puede ver. Si un usuario no tiene permisos para hacer algo, por mucho que busque en el Tell-me, no será capaz de ejecutarlo. En cambio, si simplemente tiene un Role asignado en el que NO visualiza la contabilidad, pero busca en el Tell-me "Plan de cuentas", lo encontrará y podrá visualizarlo.
En nuestros agentes, tenemos que configurar ambas cosas, Role y Permisos asignados.
Desarrollando nuestro Role Center en AL
Como es habitual, tendremos nuestro snipped para crear una página de tipo Role Center, usando tpage y nos generará la estructura necesaria:
Obviamente el tipo de página será RoleCenter.
Después tenemos nuestro Layout y nuestras Actions.
Area de Navegación y Acciones
Se trata de la parte superior de la página. Normalmente encontraremos enlaces a otros objetos como informes, codeunits y páginas.
Esta sería la parte fundamental que vamos a usar en los agentes de Business Central. Es decir, a qué páginas queremos acceder.
Se divide en tres partes:
1 - Menus de navegación (area Sections)
En esta parte, pondremos los menús que necesitemos. En mi ejemplo solamente uno con una sola acción, para mostrar la página "IEAgent Expired Items List"
2 - Barra de navegación (area Embedding)
Corresponde al segundo nivel donde se mostrará una colección de enlaces a otras páginas:
3 - Barra de acciones, donde podemos encontrar las secciones de Creation, Processing y Reporting.
En mi caso, yo no voy a utilizar esta sección para mis agentes, pero sería ir añadiendo opciones en el menú.
En el Layout, iremos añadiendo diferentes páginas de tipo Part que tengamos para ir mostrando. Lo habitual es que pongamos indicadores, informes de Power BI o incluso HeadLines para que nos muestre Insights.
Ya tenemos el RoleCenter, ¿y ahora qué?
El Role Center simplemente es una página. Esa página debemos añadirla a un perfil para que pueda asignarse a un usuario. Esto lo podemos hacer manualmente, buscando por Perfiles y modificando uno que ya tengamos, donde nos indica "Role Center ID", que nos mostrará todas las páginas de tipo Role Center que tengamos:
Pero también podemos crear un perfil directamente desde desarrollo AL. Este objeto se llama profile y se crea igual que cualquier otro desde VS Code.
Tenemos el snipped tprofile que nos creará la estructura y nos permitirá definir el Caption y el RoleCenter que tenga este perfil:
Haciéndolo de esa forma, en caso de desarrollar una extensión, ya lo tendríamos disponible para asignarlo, en nuestro caso al agente:
Opción de personalizar el perfil.
Dentro de la configuración del agente, Microsoft también nos ha suministrado una opción para personalizar el perfil, para poder realizar ajustes.
Con este diseño, hemos limitado la visualización de lo que nuestro agente puede hacer, lo que es fundamental para que nuestras "Instrucciones" no se dispersen. Recordad que el agente, cuantas menos opciones tenga, más fácil será darle instrucciones precisas.


No hay comentarios:
Publicar un comentario