Blog

Artículos y noticias relacionadas con el mundo AX3 group

Project service automation en Microsoft Dynamics 365

Microsoft creó Dynamics CRM con el fin de gestionar ventas y relaciones con el cliente y mejorarlas. Sin embargo con la llegada de Dynamics 365 Microsoft ha dado un giro al producto y ha ido añadiendo módulos. En este caso trataremos del servicio de proyecto de Dynamics 365, que proporciona la capacidad a CRM de realizar un seguimiento activo de un proyecto desde las etapas de oferta/oportunidad hasta su facturación final. Su manejo es muy sencillo y si vienes de Microsoft Project no tendrás problema ya que conserva una enorme similitud. Pero si tu intención es seguir utilizando Microsoft Project esto no será un problema ya que Microsoft ha desarrollado un plugin que permite que Microsoft Project se sincronice con el módulo y todos los datos de tus proyectos estarán a salvo en la nube.

El módulo contará con varias secciones que tienen que ver con la gestión de proyectos y que detallaremos a continuación:

Gestión de recursos

Es importante una buena planificación y gestión de los recursos. En el módulo de servicio de proyecto podemos dar de alta varios tipos de recursos que puede ser un contacto, un usuario de CRM, una empresa o incluso un equipamiento. Estos recursos se agruparán en unidades organizativas, por ejemplo, en un proyecto de implantación de CRM, la unidad organizativa podría llamarse “Equipo CRM” y los componentes podrían ser 5 miembros del equipo y un jefe de proyecto. Para la gestión de recursos CRM cuenta con el tablero de programación que, de un sólo vistazo, permite al gestor de recursos saber los requerimientos que existen en todos los proyectos y los recursos disponibles.

También permite crear plantillas de horas laborales por cada usuario, grupo de usuarios o proyecto. Dentro del tablero de programación podemos filtrar recursos por disponibilidad, rol o cualificaciones. El rol y las cualificaciones se definirán dentro de la ficha del recurso. Además, dentro de la cualificación se podrá definir el nivel de conocimiento que tiene el recurso. Por ejemplo, si la cualificación es que ese recurso tiene un conocimiento acerca de .Net, se podrá definir si su conocimiento es bajo, medio o avanzado. Todos estos niveles y cualificaciones por supuesto que son personalizables.

Planificación y entrega

En este área nos encontramos todos los proyectos que se han creado. Además, si tenemos varios proyectos que utilizan las mismas pautas, tenemos la opción de generar una plantilla de proyecto que nos permite ahorrar tiempo a la hora de crear proyectos. Dentro de la ficha de un proyecto, además de los datos propios del proyecto, un flujo de proceso de negocio que nos indica todas las etapas por las que suele pasar un proyecto:

En la ficha de proyecto accediendo a las relaciones de ese registro, nos encontramos con la estructura de descomposición de trabajo. En este apartado se definirá la descomposición de tareas que existirá en el proyecto y el rol que deben tener. Y, como se puede apreciar en la imagen, a la derecha nos mostrará el diagrama de Gantt (Los amantes de Microsoft Project podrán ver la gran similitud que existe):

Una vez que se hayan definido las tareas y el rol que debe ocupar esa tarea llega la hora de buscar el recurso adecuado para nuestro proyecto. Para ello debemos acceder a la entidad relacionada “Miembros del equipo”. En este punto tendremos dos opciones:

  1. Reservar el recurso nosotros mismos: A través del tablero de programación que se indica anteriormente.
  2. Enviar una solicitud de reserva: Se crea un registro de solicitud de reserva y un gestor de recursos se encarga de completarla.

Por último, se definirá una lista de precios coste para la unidad organizativa, que indicará el coste de cada rol del equipo. En la ficha del cliente se definirá la lista de precios de venta que al igual que la de coste, indicará el precio de venta de un recurso con un rol determinado. Si cruzamos ambas listas de precios con las tareas definidas en el diagrama anterior obtenemos la estimación económica del proyecto:

Gastos, ausencias y vacaciones

El módulo de servicio de proyecto también permite a los miembros del equipo cargar gastos asociados al proyecto o incluso adjuntar un recibo y solicitar aprobación del gasto. Los gastos podrán estar agrupados en categorías, por ejemplo, una categoría puede ser “viajes” y otro gasto podría ser el coste de la licencia de CRM. Además de gastos, en las entradas de tiempo los usuarios pueden solicitar aprobación de vacaciones o ausencias tal y como se muestra en la siguiente imagen:

Si quieres una información más detallada acerca del funcionamiento de este módulo, no dudes en ponerte en contacto con nosotros.

Autonuméricos nativos en cualquier entidad de Dynamics 365

Es muy común el uso de autonuméricos en MS Dynamics CRM. Los autonuméricos forman parte de CRM desde hace unas versiones. Sin embargo estos autonuméricos están limitados a unas pocas entidades del sistema, y podemos encontrarlo accediendo a el Área de configuración –> Administración –> Numeración automática

   

Con esta numeración podemos configurar un prefijo personalizable. El sufijo será aleatorio aunque se podrá elegir la longitud y entre el prefijo y el sufijo estará el autonumérico. Por ejemplo, para la entidad de contrato tendrá el siguiente formato:

CNR-01000-AS7FX3

Sin embargo a partir de la versión 9 de Dynamics 365 estos autonuméricos se pueden crear para cualquier entidad. Microsoft aún no ha implementado la interfaz gráfica necesaria para crear este tipo de campos. Sin embargo se puede crear el campo mediante una llamada a la API. Para crearlo únicamente debemos llamar a la api con la intención de crear un campo de tipo línea única de texto (String) y añadirle la propiedad ‘AutoNumberFormat’. Esta propiedad definirá el formato que queremos para nuestro autonumérico. En el ejemplo del autonumérico anterior el formato se compone de los siguientes elementos:

 

{Prefijo]-{NúmeroSecuencial:Longitud}-{StringAleatorio:Longitud}

 

En la propiedad ‘AutoNumberFormat’ debemos insertar la siguiente cadena de caracteres para que CRM lo interprete:

 

CNR-{SEQNUM:5}-{RANDSTRING:6}

 

SEQNUM y RANDSTRING hacen referencia a variables del sistema que generan un autonumérico y un string aleatorio respectivamente. Aparte de estas dos propiedades también existirá la posibilidad de insertar una fecha en el autonumérico mediante la propiedad DATETIMEUTC seguida del formato. Por ejemplo:

CNR-{SEQNUM:5}-{RANDSTRING:6}-{DATETIMEUTC:yyyyMM}

 

Un ejemplo de la llamada a la API para la creación de un atributo de este tipo podría ser la siguiente:

Por último, existe la posibilidad de establecer un valor de inicio para el autonumérico. Esto quiere decir que si tenemos previamente registros creados en CRM y queremos que el autonumérico comience en un número que no sea el predeterminado habrá que modificar el parámetro ‘Seed’. Para ello habrá que ejecutar una petición del tipo ‘SetAutoNumberSeedRequest’. En este tipo de petición habrá que especificar nombre de entidad, campo y valor por el que queramos que comience:

La comunidad de Microsoft ya ha desarrollado herramientas para la implementación de autonuméricos que permiten la creación de este tipo de atributos sin tener que recurrir al código aunque es de esperar que Microsoft implemente esta funcionalidad en la interfaz gráfica de CRM en futuras versiones.

Reiniciar servicios de AOS mediante PowerShell en AX2012

Se puede dar el caso de realizar un reinicio controlado de todos los AOS de AX2012 de una implantación de forma secuencial y en ocasiones, remota, para lo cual podemos hacer uso de un comando PowerShell que podemos automatizar a posteriori.

Para ello, podemos utilizar los siguientes comandos:

Reinicio del servicio en el mismo equipo:

1
  Get-Service -Name AOS60`$01 Restart-Service

Reinicio del servicio desde un equipo remoto:

1
  Get-Service -Name AOS60`$02 -ComputerName REMOTE_MACHINE_NAME | Restart-Service

Los números finales del parámetro -Name indican el número de instancia de AOS dentro del equipo, en el caso de disponer de más de un servicio de AOS por máquina.

Para automatizar el reinicio de todos los servicios sería posible salvar todos los comantos en un fichero ps1 para automatizar su ejecución mediante el task scheduler de Windows.

Aunque normalmente el servicio se para y se inicia sin problemas, sería también posible ejecutar un cierre forzado del/los proceso/s AX32Serv.exe si por alguna circunstancia el servicio no se ha detenido / iniciado en un tiempo determinado.

Espero haya sido de utilidad.

Entidades virtuales en Dynamics 365: algunas consideraciones para utilizarlas

Una de las novedades que trae la versión 9 de Dynamics 365 son las entidades virtuales. Descubre qué son y algunas consideraciones para su uso.

¿Qué es una entidad virtual?

Cuando hablamos de una entidad virtual en el entorno de Dynamics 365 lo hacemos de archivos que contienen campos con datos de origen externo. Estas entidades virtuales aparecen en Dynamics 365 como registros de entidad normal, aunque contienen datos de una base de datos externa.

Las entidades virtuales están disponibles para todos los clientes de esta solución de Microsoft para empresas. Incluso están presente en los clientes personalizados que han sido desarrollados con servicios web de Dynamics 365 Customer Engagement.

Dentro de una entidad virtual se distinguen tres componentes: un proveedor de datos, un registro de origen de datos y una entidad virtual. El proveedor de datos contempla una serie de complementos y una entidad de origen de datos. Por su parte, el origen de datos es un registro de entidad en Dynamics 365 que engloba los metadatos, encargados de representar el esquema de los parámetros de conexión. En último lugar, la entidad virtual se refiere a un origen de datos en la definición de la entidad.

La principal ventaja de las entidades virtuales es la integración de información de bases de datos externas de una forma cómoda y sin duplicidad. Además, para los administradores y personalizadores del sistema, el uso de entidades virtuales hace más fácil la administración y la configuración de Dynamics 365.

 

Consideraciones para usar las entidades virtuales

Pese a que su uso es beneficioso para las empresas que utilizan Dynamics 365, hay que tener presente algunas consideraciones para sacar el máximo provecho:

— Las entidades virtuales son una excelente manera de consultar información, pero son solo de lectura. Por tanto, no permiten la edición.

— Las entidades personalizadas que ya existen no pueden convertirse en entidades virtuales.

  • No admiten funciones de auditoría.
  • Dentro de los campos de la entidad virtual, está limitado su uso. Por ejemplo, no se pueden usar en paquetes acumulativos ni campos calculados.
  • Una entidad virtual de Dynamics 365 no puede ser un tipo de actividad de entidad.
  • Hay limitaciones en cuanto a las características de las filas de la tabla. De hecho, hay funcionalidades de las filas de la tabla que no se pueden habilitar en las entidades virtuales. Por ejemplo, quedan excluidas funciones como seguridad de campo, búsqueda por relevancia, detección de duplicados y seguimiento de los cambios, entre otros.
  • Necesitan un modelo de seguridad personalizado para el origen de datos externo, ya que las entidades virtuales son propiedad de la empresa y no aceptan los conceptos de seguridad de Dynamics 365.

Estas son algunas consideraciones para utilizar las entidades virtuales en Dynamics 365, aunque existen otras. Si quieres mantenerte al tanto de toda la información sobre esta solución para empresas y sus funcionalidades, suscríbete a nuestro blog y no te pierdas nuestro contenido.

Adxstudio aka Dynamics 365 Portals

El 28 de septiembre del 2015 Microsoft anunciaba la adquisición de Adxstudio Inc. Con esta operación Microsoft dejó claro que las organizaciones de hoy en día están buscando nuevas y diferentes maneras de conectar, apoyar y comprometerse con sus clientes. Adxstudio se convertía de esta forma en un componente de Microsoft Dynamics y no solo en un proveedor de software independiente (ISV).

Esta adquisición surgió por la creciente necesidad de los clientes de CRM de poder conectar sus sitios web directamente a sus sistemas CRM. En este sentido existen varias herramientas de integración que pueden configurarse para transferir datos desde CRM a las bases de datos del sitio web en cuestión, incluso existen aplicaciones web que pueden ser modificadas para leer y escribir directamente en CRM siguiendo varios métodos. Sin embargo, Adxstudio ofrece una solución diferente. Con Adxstudio no partes de un sitio web que tienes que conectar al CRM del cliente, sino que el punto de partida es el propio CRM, y desde él, se construye el portal de manera nativa.

Anteriormente, Microsoft Dynamics CRM solo permitía que los usuarios con licencia accedieran a la aplicación y a sus datos específicos, pero ahora, usando el portal, es posible compartir información de tu CRM con otros potenciales clientes e inversores sin necesidad de que tengan una licencia. De esta forma, un usuario tiene la alternativa de iniciar sesión en el portal y una vez iniciada, la gestión de acceso al sitio y de los contenidos que el usuario puede ver se hace mediante la configuración del portal.

Otra ventaja que tiene Adxstudio es que ofrece la posibilidad de acceder al código de todo el proyecto, de manera que podemos editarlo y desarrollar soluciones personalizadas. Además, Adxstudio incorpora la posibilidad de usar código Liquid, que nos permite personalizar el portal de una manera más sencilla que modificando el proyecto del portal a través de Visual Studio.

El código Liquid permite acceder al modelo de objetos de CRM pudiéndolo usar con el propio código HTML de un Web Page o un Web Template. Además, en la página oficial de Adxstudio tenemos mucha documentación bien estructurada sobre código Liquid y sobre todas las entidades y objetos que podemos usar para crear nuestro portal.

https://community.adxstudio.com/products/adxstudio-portals/documentation

Otro aspecto muy interesante que ofrece Adxstudio es que, al personalizar nuestras páginas desde el editor de código HTML, disponemos del marco necesario para aplicar estilos CSS, JavaScript e incluso podemos utilizar Bootstrap para modificar la apariencia general del portal con sólo subir un archivo.

En agosto de 2018 Microsoft dejará de actualizar y dar soporte a Adxstudio para continuar ofreciendo el mismo servicio a través de otro producto, Dynamics 365 Portals. Aunque los 2 sistemas están coexistiendo actualmente, con el paso del tiempo los nuevos portales acabarán sustituyendo a Adxstudio. Aun así, creemos que es importante analizar el concepto y la tecnología que hay detrás de Adxstudio ya que Dynamics 365 Portals, aunque presenta algunas diferencias con Adxstudio, hereda tanto la apariencia como toda su idea del desarrollo.

Con el cambio de Adxstudio a Dynamics 365 Portals, se espera que Microsoft vaya mejorando y aumentando las características de los portales para que sean cada vez mejores y cuenten con más características.

En este sentido ya se ha mejorado en varios aspectos. Por ejemplo, en la implementación de diferentes idiomas en un mismo portal sin la necesidad de crear portales diferentes para cada uno de ellos. Esta mejora difiere significativamente a la solución que daba Adxstudio a la plataforma multiidioma. Ahora disponemos de una nueva entidad que se llama Website Languajes que añade una nueva capa, de manera que ya no tenemos que duplicar la web entera como hacíamos antes con la herramienta que copiaba la web.

También tenemos nuevas extensiones Liquid que podemos usar en nuestras plantillas para mejorar esta funcionalidad. Así tenemos: website.languajes que proporciona la colección de los idiomas que tenemos disponibles, pages.languajes que es una lista con los idiomas disponibles para la página que se está usando, o website.selected_languaje, que identifica qué idioma está mostrando la web en ese momento.

Otra de las mejoras que ya se han llevado a cabo es la posibilidad de incrustar un gráfico directamente en la web con una nueva extensión Liquid. Además, ahora contamos con una nueva web template llamada “Partner Dashboard”, que proporciona un ejemplo de cómo embeber varios gráficos, entity lists y otros componentes en una única página para dar mayor riqueza al portal.

Estaremos pendientes de las nuevas actualizaciones que Microsoft va a ir llevando a cabo en Dynamics CRM Portals para estar al día de las nuevas características y mejoras que se puedan implantar. Por otro lado, a los que sigan usando Adxstudio, a partir de agosto del 2018, Microsoft dejará de soportar el producto y será un buen momento para plantearse si migrar a CRM 2016 online o a CRM 365 online.

PowerApps: ¿Cómo agrupar datos procedentes de varias fuentes?

Para poder tener todo el potencial de los datos distribuidos en todas las fuentes de las que hablamos tenemos que ser capaces de acceder a ellos. Un ejemplo clásico puede ser el hecho de tratar de aunar datos que tenemos en un Excel sin necesidad de cargarlos en un CRM, por ejemplo.

Si nos fijamos, en el detalle de un contacto de Outlook, no existe el campo de país, un dato que puede ser interesante en multitud de escenarios.

Supongamos que ese dato lo tenemos en una tabla de Excel con los países de procedencia de cada contacto y queremos cruzar este dato con los contactos de Outlook.

En este caso, vamos a utilizar como indicador único el nombre del contacto (es suficiente para este ejemplo), el objetivo es aunar en una misma pantalla de cliente la información de ambas fuentes.

Una vez tenemos un cliente seleccionado de una lista, en este caso mediante ContactGallery.Selected obtenemos el acceso a este elemento y con la sentencia:

“First(Filter(Tabla1_1, ContactGallery.Selected.DisplayName=Name)).Pais”

Podemos cruzar ese elemento con la tabla de Excel correspondiente obteniendo el país de la línea cuyo Name coincide con el DisplayName del seleccionado, pudiendo añadir el campo a nuestra pantalla de detalle.

Esperamos que sea de ayuda para entender mejor el mundo de las powerapps y su gran alcance.

AX3