0

Escenario real de URS en Dynamics 365 CE

Introducción URS

Una de las funcionalidades estándar más modernas y potentes (y a veces desconocida) que dispone la Power Platform es el conocido como Universal Resource Scheduler (URS). Es por esto que he decidido publicar acerca de esto, no solo explicando las funcionalidades, sino intentando aplicarlo a un escenario real simple y explicando el paso a paso.

Este módulo nació inicialmente como parte de la solución de Field Service que se adquirió de la empresa FieldOne en 2015 (https://blogs.microsoft.com/blog/2015/07/16/microsoft-acquires-fieldone-global-provider-of-field-service-management-solutions-for-the-enterprise/). En su solución ya se incluía un tablero de programación con muchas entidades adicionales para configurar recursos y sus configuraciones.

Durante los últimos años, la App de Field Service ha ido evolucionando y ha nacido también la App de Project Service Automation (PSA) que también hacía uso del URS para la planificación de recursos. Con esta evolución también ha evolucionado la posibilidad de planificar recursos, permitiendo incluso aislarla de estas dos Apps, permitiendo que el módulo de planificación de recursos sea una funcionalidad aislada incluso a Field Service y PSA. Con estas dos Apps, podemos planificar recursos para Órdenes de trabajo (Field Service) o tareas de proyectos (PSA).

Desde hace no mucho, el URS se ha abierto también a la posibilidad de planificar incluso cualquier tipo de registro. Por eso hoy tenemos la capacidad en la Power Plaform (aka Dynamics 365 CE) de planificar cualquier tipo de entidad, ya sea estándar o personalizada. Esto nos abre un abanico nuevo de escenarios donde pudiese encajar el URS, como por ejemplo visitas médicas, formaciones, visitas comerciales, gestión de oportunidades, Casos de soporte, etc.

Desde el punto de vista de licenciamiento, se puede disponer del URS incluso fuera de las Apps de Field Service y de PSA (versión agosto 2019):

ERD Dynamics 365 Customer Engagement URS - 1
Y a nivel técnico incluso como soluciones, el URS ya dispone de una solución independiente a otras Apps:

ERD Dynamics 365 Customer Engagement URS - 2
Disponer de la posibilidad de tener un panel de planificación del trabajo, donde se pueda no solo visualizar, sino también actuar sobre el mismo, es vital en muchas organizaciones y facilita mucho el trabajo de planificación de recursos, visualizar disponibilidades e identificar posibles problemas.
ERD Dynamics 365 Customer Engagement URS - 3

Entidades

La solución de URS, tiene como objetivo principal, el poder planificar recursos a unas determinadas tareas, que pueden ser cualquier tipo de entidad de la plataforma. Además de gestionar disponibilidades de los recursos tiene en cuenta muchísimas funcionalidades adicionales:

  • Gestión de “pools” de recursos y cuadrillas
  • Gestión de territorios y diferentes localizaciones
  • Equipos y unidades de negocio
  • Skills o características de los recursos, incluso con diferentes niveles
  • Posibilidad de gestionar estados personalizados o flujos de gestión de las planificaciones propios
  • Calendarios personales y de empresa
  • Priorizaciones
  • Gestión de requerimientos de recursos y reserva de estos

A nivel de configuración existen una serie de entidades principales que deben ser utilizadas:
ERD Dynamics 365 Customer Engagement URS - 4

Y a nivel de planificación y operativa de la solución, todo se basa en la entidad de Recursos. En el siguiente diagrama he resumido a muy alto nivel y simplificándolo mucho el diagrama de las entidades principales:
ERD Dynamics 365 Customer Engagement URS - 5

 

Mi escenario: configuración

En mi aplicación práctica, lo que voy a hacer es plantear un escenario imaginario de una empresa que realiza formaciones y que requiere gestionar la carga de los diferentes recursos de profesores de formación.

Por un lado se recibirán los Cursos contratados por los clientes en una entidad de “Cursos” con unas fechas estimadas, que luego deben ser planificados según la disponibilidad de los recursos.

Por otro lado, los formadores tendrán unas características para tres tipos de cursos diferentes:

  • Formaciones técnicas
  • Formaciones funcionales
  • Formaciones de preventa

Como los equipos de formadores pueden ir cambiando, se deberían crear “pools” de recursos, ya que las disponibilidades de recursos pueden ir cambiando durante el año y por lo tanto no siempre se sabe a quién se debe asignar un curso con nombre y apellido.

El encargado de la formación planifica los Cursos y los asigna inicialmente a un “pool” de recursos según el tipo de formación, luego se asigna las personas en concreto y por último el formador debe aprobar dicha asignación para que la fecha quede confirmada.

A continuación voy a explicar paso a paso como he configurado este escenario y como se resuelve su aplicación práctica desde el punto de vista de un usuario.

Configuración

Inicialmente me he creado una versión de trial que ya incluye la App de Field Service, para que se incluya también el URS. Una vez terminado de configurar en entorno, se dispone de una App Específica con el URS:

ERD Dynamics 365 Customer Engagement URS - 6

Accediendo a la misma, podemos empezar a configurar todos los elementos del URS para nuestro escenario planteado.

Inicialmente accedemos a los Roles de los diferentes formadores y creamos los tres planteados:
ERD Dynamics 365 Customer Engagement URS - 7

Luego configuramos los “skills” o características de los mismos:
ERD Dynamics 365 Customer Engagement URS - 8

Se pueden definir también niveles de conocimientos para dichos skills, en este caso yo he dejado los valores estándar que propone la plataforma “Familiar”, “Good” y “Proficient”:

ERD Dynamics 365 Customer Engagement URS - 9

Luego configuro los estados por los que pueden pasar mi planificación de Cursos. En este caso he ignorado los estados estándar que la plataforma propone para hacer un escenario mas simple. Mis estados pueden ser solo 4:

  • Propuesta planificación: cuando se le ha propuesto un formador
  • Aceptada: cuando el formador la acepta
  • Completada: cuando ya se ha realizado la formación
  • Cancelada: cuando finalmente no se requiere y se cancela

ERD Dynamics 365 Customer Engagement URS - 10

Recursos

En mi caso he estimado que mis formadores son usuarios de la plataforma, pero podrían ser externos o incluso Contactos. De esta manera he creado 5 usuarios:
ERD Dynamics 365 Customer Engagement URS - 11

Y les he definido como plantilla de calendario la predeterminada de la plataforma, que en realidad podría ser personalizable y configurable por recurso también:
ERD Dynamics 365 Customer Engagement URS - 12

Lo perfiles de mis usuarios son los siguientes:

ERD Dynamics 365 Customer Engagement URS - 13    

Luego he creado tres recursos nuevos de tipo “pool” para asignar los anteriores recursos de usuarios:
ERD Dynamics 365 Customer Engagement URS - 14
ERD Dynamics 365 Customer Engagement URS - 15

Entidad de Cursos

Una vez configurados todos los elementos principales, voy a crear mi entidad de Cursos, una entidad muy simple donde solo incluyo el cliente y las fechas del mismo:

ERD Dynamics 365 Customer Engagement URS - 16

Una vez creada la entidad, configurada sus vistas y formularios y añadida a una App nueva, voy a activar la entidad para que pueda ser planificada con URS. Para esto debemos ir a administración del URS y habilitar la entidad:
ERD Dynamics 365 Customer Engagement URS - 17

Luego seleccionamos la entidad y publicamos los cambios. Esto lo que hace es crear un par de relaciones entre la entidad de Curso y “Bookable Resource Booking”:

Cuidado aquí !!: si le digo a la plataforma que cree la relación, esta se creará de forma predeterminada con el prefijo “_new”. No es una buena práctica recomendada, por lo que lo ideal sería crear la relación manualmente y luego venir aquí y seleccionarla y asignarla.
ERD Dynamics 365 Customer Engagement URS - 18

Una vez creada nos abre la pantalla de configuración de los comportameintos de la planificación de recursos para Cursos. Aquí selecciono que la reserva por defecto será de un día, y luego relleno los campos de estos según los que he creado:
ERD Dynamics 365 Customer Engagement URS - 19

De forma predeterminada, las planificaciones se propondrán en estado “Propuesta planificación” y el paso a “Aceptado” podría ser realizada por ejemplo por el formador a través de un Flow por ejemplo que realice un simple update en el campo del estado en la entidad de reserva.

Utilizando URS para Cursos

Ahora que ya tengo todo configurado, voy a empezar a crear cursos y ver posibilidades de utilización como usuario.

En primer lugar, entro y me creo unas cuantos Cursos de diferentes tipos:
ERD Dynamics 365 Customer Engagement URS - 20

Si accedemos ahora mismo al panel de planificación no se ve nada aún. En dicho panel aparecen solo aquellos registros de “Booking Requirements” o de reservas o “Bookable Resource Booking”.

Aquí se abren algunos de caminos para el usuario que necesite planificar los recursos:

  • Planificar los Cursos formadores determinados
  • Planificar los Cursos a “pool” de recursos sin determinarlos con nombre y apellido aún
  • Crear requerimientos de reserva para que otra persona lo asigne

En cuanto a lo primero, lo que hago es lo siguiente desde el propio formulario del Curso:
ERD Dynamics 365 Customer Engagement URS - 21

Allí filtramos por tipo de recurso (Usuarios) y seleccionamos y planificamos:
ERD Dynamics 365 Customer Engagement URS -22

Lo mismo se puede hacer si se filtra por “pool”:
ERD Dynamics 365 Customer Engagement URS - 23

Por último se podría crear un requerimiento de recurso, relacionándole lo que haga falta:
ERD Dynamics 365 Customer Engagement URS - 24

Incluso con la posibilidad de definir en dicho requerimiento que tipo de preferencias se desean:
ERD Dynamics 365 Customer Engagement URS - 25

Estos requerimientos podrían ser creados también de forma automática a través de un Workflow (o un Flow).

De esta manera podemos empezar a visualizar cargas de trabajos y en la parte inferior los requerimientos nuevos de reserva:
ERD Dynamics 365 Customer Engagement URS - 26

En caso de que se hayan asignado Cursos a un pool de recursos, se puede visualizar también en la misma vista los miembros de dicho pool y asignar a los recursos identificados manualmente:
ERD Dynamics 365 Customer Engagement URS - 27

Las posibilidades de panel de programación son muy potentes, en cuanto a visualización y acción de las planificaciones. Se pueden crear vistas con filtros predeterminados, cambiar vistas por horas, días, semanas o meses, se pueden visualizar en mapas, enviar a imprimir vistas determinadas, etc. El objetivo es que toda la planificación se pueda gestionar en un sitio manualmente y sin navegar por otras pantallas.

De esta manera y en tan solo unos minutos, podemos configurar un entorno de Dynamics 365 CE para la utilización del módulo estándar de URS. Creo que es una muy potente funcionalidad que nos permite ser utilizada en una infinidad de escenarios de planificación de recursos. En este caso me he centrado en un escenario de negocio muy sencillo para explicarlo, pero podemos tener en cuenta temas de geoposicionamiento, tiempo de viaje, cuadrillas, requerimientos de salas o inventario, etc.

Espero les resulte útil y que podáis replicarlo para nuevos escenarios de negocio mas complejos.

 


4

Al utilizar este sitio web aceptas las condiciones de uso y aviso legal del mismoCerrar