Errores Interop CLR y manejo de Infolog en Microsoft Dynamics AX 2012

Al trabajar con objetos del framework .NET (algo muy común en AX 2012), debemos tener en cuenta el tratamiento de errores CLR. El tratamiento de errores en Dynamics AX es transparente y no necesita dedicarle demasiada atención durante el desarrollo en X++, pero cuando interviene el Interop con .NET, el manejo de los errores CLR se debe especificar de forma explícita.

El código que suelo utilizar habitualmente (copiado y pegado de mi repositorio personal) como punto de inicio es el siguiente:

static void JAEE_CLRError(Args _args)
{
    System.Exception ex;
   
    new InteropPermission(InteropKind::ClrInterop).assert();  
   
    try
    {
        System.Int32::Parse("JAEE");  // Error: no se puede convertir un texto a Int32
    }
    catch (Exception::CLRError)
    {
        ex = ClrInterop::getLastException();
        if (ex != null)
        {
            info(ex.get_Message());
            ex = ex.get_InnerException();
            if (ex != null)
                error(ex.ToString());
        }
    }    
    catch (Exception::Internal)
    {
        ex = ClrInterop::getLastException();
        if (ex != null)
            info(ex.get_Message());
    }  
   
    CodeAccessPermission::revertAssert();
}

Continue Reading…

Libro: Microsoft Dynamics AX 2012 R2 Services

Después de un parón en la publicación de contenidos, debido a un gran proyecto que verá la luz en los próximos días/semanas, vuelvo a la carga con la revisión de un libro escrito por Klaas Deforche y Kenny Saelen y publicado por Packt Publishing, quienes me han echo llegar una versión digital. Tiene este aspecto:

Microsoft Dynamics AX 2012 Services

Este libro es una especie de segunda parte del que ya mencioné (y recomendé encarecidamente) hace algún tiempo titulado Microsoft Dynamics AX 2012 Services. El contenido es muy parecido e igual de recomendable. Esta segunda versión es más larga que el primero, por lo que abunda más en ciertos contenidos aportando más detalles, aunque el contenido en general es prácticamente el mismo, salvo algunos detalles propios de la revisión R2, que en cuanto a servicios web no son muy numerosos.

Aún así, como digo, es un libro muy recomendable, igual que lo era la primera parte. Cuenta con dos autores ya reconocidos y con la experiencia previa de la primera versión, y con un equipo de revisores de primera, así que el contenido esta bien escrito y bien estructurado, sobre un tema que es obligatorio para cualquier implantación de Microsoft Dynamics AX 2012, como son los servicios web.

Si ya compraste la primera versión, probablemente esta última no te aporte grandes novedades, salvo los detalles en los que profundiza más, y las escasas novedades de la R2. Si en su día no lo compraste, claramente recomiendo comprar esta segunda versión porque la lectura es muy interesante.

Cumulative Update 7 for Microsoft Dynamics AX 2012 R2

Microsoft Dynamics

Esta semana se ha publicado la última actualización acumulativa para Microsoft Dynamics AX 2012 R2 . Esta revisión (6.2.1000.4051), como de costumbre, agrupa todos los hotfixes publicados desde el lanzamiento de la primera versión (ver los CU publicados con anterioridad). Se puede descargar del siguiente enlace:

Igual que ocurrió en el anterior CU6, no se limita a incluir hotfixes y soluciones de problemas como venía siendo habitual, sino que desde el pasado CU6 en estos paquetes se incluyen además mejoras funcionales e incluso funcionalidad nueva. En este caso hay tantas novedades a nivel funcional que han creado una página en TechNet para explicar las novedades, algunas de ella son tan importantes que dedicaré algún post a comentarlas individualmente, y también una guía de instalación:

Comentar brevemente, a nivel funcional, que para España y otros países europeos es muy importante la actualización al nuevo sistema de pagos SEPA que viene incluida en este CU7, entre otras muchas cosas. A nivel técnico las mejoras son también numerosas importantes, y aquí es donde dedicaré futuros post a profundizar sobre ellos individualmente:

En siguientes post comentaremos algunas de estas novedades en mayor profundidad.

Microsoft Lifecycle Services for Microsoft Dynamics (LCS)

Microsoft Dynamics Lifecycle Services

Aunque hace ya algún tiempo que esta utilidad circula de manera más o menos discreta, no se le ha dado mucha difusión porque todavía está en una fase inicial, aunque conviene ir familiarizándose con ella cuanto antes ya que es una funcionalidad prometedora para la gestión de proyectos de Microsoft Dynamics en el futuro.

Microsoft Dynamics Lifecycle Services Overview

 

Se puede acceder a la plataforma en la dirección:

  • lcs.dynamics.com (requiere acceso autorizado a PartnerSource o CustomerSource)

La idea de este servicio es dar soporte a la gestión de proyectos en todas sus fases de manera colaborativa y en la nube, creando un único punto de gestión donde intervengan todas las partes del proyecto, desde los desarrolladores hasta el propio cliente pasando por todo tipo de consultores, partners e integradores, creando documentación, listas de validación, tareas, etc. personalizables para cada fase. La documentación oficial se encuentra en el siguiente enlace:

Y también han creado un blog y algunos vídeos en el siguiente enlace:

Ya hemos visto algunas actualizaciones en la aplicación para adaptarla a este nuevo framework, y seguro que vendrán más en el futuro. La más llamativa es pasada actualización del Grabador de Tareas de Microsoft Dynamics AX 2012, para que estas grabaciones puedan ser subidas al espacio de LCS para reportar bugs o documentar funcionalidades, incluyendo la posibilidad de realizar la grabación en formato vídeo!!

ACTUALIZADO: Desde el blog de Dynamics Latam han publicado un ejemplo de una de las funcionalidades que podemos utilizar en LCS: Análisis de modificaciones en AX 2012

Libro: Extending Microsoft Microsoft Dynamics AX 2012 Cookbook

Vuelvo a la serie de comentarios de libros sobre Dynamics AX y tecnologías relacionadas, con uno escrito por Murray Fife (conocido por su blog y sobre todo por su cuenta de Slideshare) y publicado por Packt Publishing recientemente, quienes amablemente me lo han hecho llegar.

El libro en cuestión se titula Extending Microsoft Dynamics AX 2012 Cookbook. A pesar del título, es importante comentar desde el principio que este NO es un libro sobre programación. Yo pondría como potenciales lectores de esta obra a consultores de integración, preventa y consultores técnicos que quieran conocer las diversas tecnologías que permiten integrar Microsoft Dynamics AX 2012 con sistemas externos como Microsoft Office, Sharepoint, WorkFlow Foundation o cualquier aplicación mediante Servicios Web (ya comenté un libro especializado en este tema concreto).

Extending Microsoft Dynamics AX 2012 Cookbook

El subtitulo elegido por Packt en la portada es un estupendo resumen del contenido en general del libro. Es una guía eminentemente práctica sobre las maneras de ampliar la funcionalidad de Microsoft Dynamics AX 2012 integrándolo con sistemas externos utilizando tecnologías de Microsoft, entre las que se incluyen:

  • Integración con Sharepoint, por ejemplo para tareas de gestión documental, enlace de funcionalidades como Sharepoint My Sites con los Role Pages de Dynamics AX, etc.
  • Integración con WorkFlow Foundation.
  • Integración con Microsoft Office Word y Excel para la creación de informes desde plantillas, y con Outlook para sincronizar contactos y tareas.
  • Integración con las herramientas de Business Intelligence para la creación de reports y scorecards mediante PerformancePoint.
  • Integración con herramientas de comunicaciones como Microsoft Lync.
  • Integración con la seguridad de Windows Server mediante Active Directory para el acceso a determinadas carpetas.
  • Integración con sistemas externos mediante web services.

Una lectura rápida y agradable para conocer integraciones desconocidas para la amplia mayoría de la comunidad y que añaden un potencial enorme a la funcionalidad estándar del producto sin requerir apenas modificaciones desde el estándar. Sólo en un par de capítulos se incluye código X++, el resto puede hacerse sólo con parametrizaciones.

Libro: Microsoft Dynamics AX 2012 Services

Tenía pensado empezar esta serie sobre libros con otro título, pero he cambiado de planes por diferentes motivos. En primer lugar, porque este libro tiene mucha culpa de que me haya decidido a empezar la serie, ya que fue el que me picó el gusanillo del mundo editorial, ya que he tenido la suerte de poder colaborar con su edición como revisor técnico (revisando que el lenguaje sea adecuado y comprensible para una audiencia técnica, y revisando que el código incluido en el libro sea correcto y funcione); En segundo lugar porque es el libro de moda. Acaba de ser publicado y su aceptación y crítica están siendo muy buenas, tanto por la comunidad como dentro de Microsoft.

El libro en cuestión se titula Microsoft Dynamics AX 2012 Services, escrito por Klaas Deforche y Kenny Saelen y editado por Packt Publishing tiene este aspecto:

Microsoft Dynamics AX 2012 Services

En cuanto a contenido, el libro no es muy extenso (unas 200 páginas) pero cada una de ellas contiene información interesante. El trabajo con servicios en Microsoft Dynamics AX 2012 se ha vuelto imprescindible, la propia arquitectura interna del estándar ha cambiado para orientarse totalmente al trabajo por servicios y el antiguo framework RunBase (conocido por todos) se ha convertido en el nuevo SysOperation Framework, totalmente orientado a servicios.

Es por esto que este libro es obligatorio en la biblioteca de cualquier programador o empresa de desarrollo que trabaje con Microsoft Dynamics AX 2012, ya que cumple todos los temas sobre servicios que se han implementado y se deben utilizar:

  • Conocer qué son los servicios y para que sirven. Arquitectura, conceptos y puesta en contexto.
  • Publicar y consumir los servicios estándar que vienen con Dynamics AX 2012
  • Publicar nuestros propios servicios web a medida desde Dynamics AX 2012.
  • Consumir servicios web externos desde Dynamics AX 2012.
  • Utilización del nuevo SysOperation Framework (sustituirá al antiguo RunBase Framework).
  • Funcionamiento de los servicios de AIF.

Como se puede ver, al lista de temas es tan extensa que interesa tanto a quienes extienden la funcionalidad de Dynamics AX como a quienes desarrollan aplicaciones externas que deben comunicarse con éste.

EDIT: Hay una nueva versión de este libro que comenté aquí!