lunes, 22 de diciembre de 2014

Microsoft Dynamics AX 2012 R3 CU8 - FAQ


Con el lanzamiento anunciado recientemente de la actualización acumulativa CU8 para Microsoft Dynamics AX 2012 R3 (6.3.1000.309) con KB2998197, hay varios cambios fundamentales en cómo se distribuye y se instala en entornos locales el paquete CU. La diferencia más notable es que la instalación de la actualización se descarga primero y no contiene realmente ningún fichero de actualización de productos. Las correcciones y mejoras se descargan como parte de la ejecución del instalador de actualizaciones. Aquí se resuelven algunas de las preguntas o dudas mas comunes que pueden surgir:
  1. Mi entorno no me permite descargar el paquete desde el sitio web de Lifecycle Services (LCS). ¿Dónde está el "paquete sin conexión?
    • El paquete completo se puede aplicar con una nueva instalación de  AX2012R3 cuando se utiliza el proceso inserción de la update en el disco de instalación. Usted tendrá que acceder a LCS y descargar el paquete CU8 y guardarlo como un paquete de actualización personalizada localmente. Este paquete de actualización se puede copiar a cualquier ubicación para su uso en modo "offline". Esto aparece en la Guía de instalación (paso 7 en la página 7):
      "Opcional: En la página Guardar cambios, haga clic en Guardar paquete de actualización personalizada. A continuación, puede volver a utilizar el paquete de instalación que ha creado en otro equipo en su entorno.
      Después de que el paquete de actualización personalizada se ha creado, puede abrir la ubicación donde queda almacenado."
  2. ¿Por qué hay dos números de versión de CU8?
    • Al instalar CU8 en una instalación existente, los modelos granulares se instalan de forma individual. El paquete específico que indica todas las correcciones de aplicaciones incluidas en CU8 es la build específica: 6.3.1000.473.
      En mi caso 
      aquí podéis ver como queda al realizar la actualización sobre una instalación existente de AX2012R3:
      Versión del kernel: 6.3.1000.309
      Versión de aplicación: 6.3.1000.473



  3. ¿Por qué hay más de 1500 modelos nuevos instalados en mi sistema cuando veo los modelos instalados en pantalla Ayuda> Acerca?
    • CU8 es una colección de todas las revisiones publicadas anteriormente, actualizaciones legales, y mejoras de características. Cada uno de estos cambios es capturado en su propio modelo individual con el objetivo de lograr menos dependencias entre parches, en comparación con el desarrollo actual de AX2012 R2.
  4. ¿Qué es "Spliptreaming" y por qué debo utilizarlo?
    • Slipstreaming está bien definido en la pagina 4 de la Guía de instalación:

      "Si va a instalar Microsoft Dynamics AX 2012 R3, por primera vez, puede utilizar el asistente de configuración y el proceso slipstreaming para instalar CU 8 junto con el resto del producto. Cuando se usa este proceso, el programa de instalación detecta automáticamente las actualizaciones y las aplica."
      Básicamente consiste en descargar el paquete de actualizaciones y meterlo en la carpeta "Updates" como veis en la imagen (descarga desde LCS):


  5. ¿CU8 requiere Visual Studio 2013?
    • Sí. Si necesita abrir un proyecto de Visual Studio como por ejemplo un diseño de informes u otro proyecto de C #, Visual Studio 2013 es obligatorio.


jueves, 18 de diciembre de 2014

Nueva actualización de Dynamics AX para facturas electrónicas (España)

A partir del 15 de Enero de 2015, las facturas enviadas o recibidas de/a las Administraciones Públicas deberán ser presentadas solo a través de formato electrónico.

El Gobierno Español ha definido un sólo punto general de entrada de Facturas Electrónicas de la Administración General del Estado. Este punto general de entrada se conoce como FACe (https://face.gob.es/es/) y permite la presentación de facturas electrónicas a
través de 2 métodos:
  • Cargar la factura electrónica en una página web.
  • Utilizar la integración de servicios web.

En ambos casos, la factura electrónica debe ser generada usando un formato estándar definido por la AEAT conocido como FacturaE.


Desde Microsoft, se ha publicado un nuevo hotfix relacionado con la factura electrónica para España (e-factura). Está disponible para Microsoft Dynamics AX 2009 SP1, Dynamics AX 2012, Dynamics AX 2012 R2, y Dynamics AX 2012 R3.

Se han realizado los siguientes cambios funcionales en Dynamics AX:
  • Nuevos parámetros de e-factura en el módulo de Clientes que permiten definir diferentes escenarios.
  • Creación automática de facturas electrónicas al contabilizar Facturas de venta, facturas de servicio o facturas de proyectos, así como Notas de abono.
  • Firma electrónica de e-facturas, tanto con el Certificado de Empresa como con Certificado de usuario.
  • Nueva funcionalidad para definir si las facturas electrónicas se crearán automáticamente o para clientes en particular.
  • Monitorización, re-creación, re-firma y re-envío de facturas electrónicas en el caso de que sea necesario por motivos del negocio.
  • La versión soportada de “FacturaE” es 3.2.1.

El hotfix de puede descargar en el siguiente enlace: https://mbs2.microsoft.com/Knowledgebase/KBDisplay.aspx?scid=kb;EN-US;2980045

El Whitepaper con la descripción de la funcionalidad está disponible (de momento sólo en inglés) en este enlace: https://mbs.microsoft.com/partnersource/spain/deployment/documentation/msdax20092012elecinvoicefacturaspain

viernes, 12 de diciembre de 2014

Añadir parámetros a informe SSRS basado en una Query [AX2012]

En el siguiente artículo veremos como añadir parámetros a un informe SSRS que utiliza como origen de datos una Query. Después presentaremos estos parámetros en el formulario Dialog de AX2012.

1. Creamos una nueva Query en el AOT y la llamamos JRVendTable.
2. Añadimos la tabla VendTable al nodo Data Sources.
3. Añadimos los siguientes campos al nodo Fields:

jueves, 20 de noviembre de 2014

Cumulative Update 8 para Microsoft Dynamics AX2012 R3 disponible


Cumulative Update 8 (CU8) para Dynamics AX 2012 R3 está disponible para descargar en CustomerSource y PartnerSource. CU8 incluye algunas nuevas características ademas de varias actualizaciones y hotfix.
Novedades y hotfix en CU8
  • Nuevas funciones: CU8 incluye varias actualizaciones y mejoras en varios modulos de AX2012R3. La lista completa de características las podéis encontrar aquí, What's new in Microsoft Dynamics AX 2012 R3 cumulative update 8. Como desarrollador destacaría que ya podemos utilizar Visual Studio 2013, gracias a "Microsoft Dynamics AX developer tools for Visual Studio 2013".
  • Application hotfixex: CU8 incluye mas de mil revisiones. Para ver la lista completa de hotfix, ver CU8 download page.
  • Binary hotfixes: CU8 incluye mas de cien Binary hotfixes. Para ver la lista completa, CU8 download page.
  • Actualizaciones especificas para países: CU8 incluye varias actualizaciones especificas para paises y regiones. Para ver la lista completa, ver CU8 download page. Destacar aquí varias mejoras referentes a la normativa SEPA (reports, batch process...)

martes, 18 de noviembre de 2014

Gráfico en informe SSRS [AX2012]

En el siguiente articulo vamos a aprender a crear un informe con un gráfico circular (en AX Pie or Doughnut Chart). Utilizaremos un Query de AX para obtener los datos. En en ejemplo se muestran el importe de facturación por grupos de clientes. Al final obtendremos algo así:



martes, 11 de noviembre de 2014

Adjuntar documentos mediante X++ en AX2012 R3

En el departamento de compras me solicitaron adjuntar de manera automática una serie de documentos (pdf) a los registros de facturas de compra. Aquí os propongo un ejemplo de como adjuntar un documento en AX mediante x++.

Para ello utilizaremos la tabla DocuRef y la clase DocuActionArchive. En el siguiente ejemplo adjunto al cliente "000001" el documento "documento.pdf" situado en el directorio C:/

static void DocumentAttachment(Args _args)
{
    DocuRef docuRef;
    DocuActionArchive archive;
    CustTable _custtable;

    str _path;
    ;

    _path=@"c:\\documento.pdf";
    _custtable = CustTable::find("000001");    

    if (_custtable!=null) {

        ttsBegin;
        docuRef.clear();
        docuRef.RefRecId = _custtable.RecId;
        docuRef.RefTableId = tableNum("CustTable");
        docuRef.RefCompanyId = curext();
        docuRef.Name = _path;
        docuRef.TypeId = 'Archivo';
        docuRef.insert();

        archive = new DocuActionArchive();
        archive.add(docuRef, _path);
        ttsCommit;
    }

    info("Documento adjuntado correctamente");
}

Podemos realizar un proceso automático que haga una lectura de todos los documentos y los adjunte en sus registros correspondiente. Aquí tenéis mas información:

lunes, 27 de octubre de 2014

Nuevas clases para enviar E-mail con AX 2012 R3

En la nueva versión de Dynamics AX 2012 (la R3) existe un nuevo framwork para el envío de e-mail. Está basado totalmente en la API de .Net. Una gran parte del código estándar de AX utiliza esta nueva clase. Requiere .Net 4.5 para ser usado.
Tenéis un ejemplo en \Classes\TrvMailHelper\sendMail
Podéis encontrar mas información en MSDN SysMailerNet Class [AX 2012]

lunes, 6 de octubre de 2014

miércoles, 10 de septiembre de 2014

Dynamics AX 2012 - Lista completa de flujos de trabajo

Microsoft Dynamics AX 2012 R3 cuenta con 75 tipos de flujo de trabajo en la instalación predeterminada. La utilización de estos flujos puede ser muy útil para las empresas pues añade un valor añadido a las implantaciones del ERP.

Lo más importante es saber cuáles son estos y flujos y lo que hacen. Después con unas pequeñas modificaciones podemos adaptarlos a las necesidades de cada empresa. Puede haber flujos de trabajo con múltiples configuraciones que utilizan uno o más de los flujos de trabajo que aquí muestro.


He utilizado el siguiente JOB para extraer la lista completa del AOT. Cambiando el código de idioma 'es' se puede sacar la lista con diferentes traducciones. Algunos aparecen en inglés, supongo que será debido a que la etiqueta no tiene traducción al castellano.

JOB:

static void ListaFlujosDeTrabajo(Args _args)
{
    #AOT
    #Properties
    TreeNodeIterator    NodeIterator;
    TreeNode            Node;    
  
    NodeIterator = TreeNode::findNode(#WorkflowTypesPath).AOTiterator();
    Node  = NodeIterator.next();
  
    while (Node)
    {       
        info(strFmt("%1 ; %2", SysLabel::labelId2String2(findProperty(Node.AOTgetProperties(), #PropertyLabel), 'es'),
                               SysLabel::labelId2String2(findProperty(Node.AOTgetProperties(), #PropertyHelpText), 'es')));
      
        Node = NodeIterator.next();
    }
}

martes, 9 de septiembre de 2014

lunes, 1 de septiembre de 2014

Configurar Microsoft Dynamics AX 2012 X++ Editor Extensions

Si hemos desarrollado anteriormente en Visual Studio o Visual Basic y ahora tenemos que trabajar con el editor X++ de Dynamics AX quizás echaremos de menos algunas características que nos facilitan la vida a los desarrolladores. Sobre todo cuando tenemos muchas líneas de código. Por suerte y gracias a nuestro amigo José Antonio Estevan podemos instalar una extensión para el editor X++ con unos sencillos pasos:

Paso 1: Descargar el archivo zip de CodePlex

http://ax2012editorext.codeplex.com/


viernes, 29 de agosto de 2014

Usar formularios como LookUp (desplegable) en Dynamics AX 2012

Imaginemos que necesitamos un control StringEdit que nos despliegue una lista de todos los proveedores. Podemos hacerlo de manera automática asignando el ExtendedDataType al campo y estaría listo. Pero si queremos personalizar los campos que nos despliega podemos usar formularios como LookUp.

Empezaremos creando el propio formulario desplegable o LookUp:



miércoles, 13 de agosto de 2014

Comprobar la sentencia SQL a partir de consulta select en X++

Si queremos saber que sentencia SQL ejecuta el procesador de consultas de SQL Server a partir de nuestra consulta select en X++ debemos hacer lo siguiente:


  1. Agregar la palabra clave generateOnly en la sentencia select de X++.
  2. Llamar al método getSQLStatement().
Ejemplo:


static void JobSQL(Args _args)
{
    PurchAgreementHeader      purchAgreementHeader;
    PurchAgreementActivity    purchAgreementActivity;    

    select generateonly purchAgreementHeader join purchAgreementActivity
        where purchAgreementHeader.RecId == purchAgreementActivity.PurchAgreementHeader;
    
    info(purchAgreementHeader.getSQLStatement());
}

Lo que resulta:


Nuevo libro: Inside Microsoft Dynamics AX 2012 R3


Nuestro libro favorito "Inside Microsoft Dynamics AX 2012" se ha actualizado para AX 2012 R3 y ahora está disponible en formato de libro electrónico. Sin duda uno de los mas completos, sino el que más, sobre AX 2012. La edición impresa estará disponible el 21 de agosto. 


Entre las novedades: 

  • Un nuevo capítulo sobre el desarrollo de las "comapion apps" para AX 2012. 
  • Un nuevo capítulo sobre la gestión del ciclo de vida de la aplicación, que incluye descripciones de las herramientas que se incluyen con Lifecycle Services.
  • Nuevas secciones sobre el soporte para LINQ y gestión de impresión.

Los enlaces para adquirir la copia digital:

martes, 12 de agosto de 2014

AX 2012: Ingeniería inversa

Cando trabajamos con objetos (tablas o clases) que no hemos diseñado nosotros, es muy posible que necesitemos saber mas acerca de estos objetos. Necesitaríamos realizar técnicas de ingeniería inversa. En AX 2012 disponemos de una excelente herramienta de ingeniería inversa.
En primer lugar crearemos un proyecto vacío y agregamos las tablas o clases sobre las que deseamos realizar ingeniería inversa.










martes, 22 de julio de 2014

Copiar lista de favoritos de un usuario a otro

El menú de favoritos es una herramienta muy útil en Dynamics AX. Ha existido desde hace tiempo en todas las versiones de AX
Una consulta común que me ha surgido dentro de la empresa es, poder copiar los favoritos de un usuario a otro.
De manera estándar no se puede, pero si buscamos un poco podemos hacerlo con ayuda de un job. Dynamics AX guarda los favoritos en la tabla SysPersonalization, en el campo “Buffer”.

El siguiente job copia el menú de favoritos del usuario A al usuario B. Si el usuario B tiene ya favoritos, se perderán, ya que primero han de ser borrados.

viernes, 11 de julio de 2014

Compilación en paralelo con AxBuild.exe para AX 2012 R2

En este artículo se describe como la nueva utilidad de AXBuild.exe disponible en Cumulative Update 7 (CU7), se usa para incrementar la velocidad de compilación de Microsoft Dynamics AX2012 R2.

Para aplicar Cumulative Update 7 para Microsoft Dynamics AX2012 R2, podéis acceder desde el siguiente link:



miércoles, 9 de julio de 2014

Colección de libros

Impresionante colección de eBooks gratuitos de Microsoft, incluye:

Windows 8.1, Windows 8, Windows 7, Office 2013, Office 365, Office 2010, SharePoint 2013, Dynamics CRM, PowerShell, Exchange Server, Lync 2013, System Center, Azure, Cloud, SQL Server, y muchos mas. Con enlaces para la descarga.


martes, 1 de julio de 2014

Actualización de Dynamics AX 2012 R2 a R3


Recopilando información para realizar el proceso de actualización de la versión R2 a R3 he encontrado diverso material pero todo en ingles. Aquí os describo una pequeña guía básica para el proceso traducida al castellano.

La última guía de actualización que se encuentra en MSDN está muy bien descrita y cubre el proceso de actualización completa. Sin embargo, aquí tenéis una visión general del proceso de actualización y los detalles a tener en cuenta antes de iniciar la actualización. Espero que esto os ayude a realizar una actualización sin problemas.

DDL script generator for Dynamics AX 2012 R2 Synchronization

Description:
The standard synchronization process is a single threaded process. This causes performance problems in larger upgrades like AX 2012 RTM to R2, because we example add the partition column to all tables and indexes.
By using the DDL scripts we can push the sql server and disk system to the limit.  
Please read the disclaimer when you hit the "Export Script".

lunes, 30 de junio de 2014

Packtpub Great Offer!! - $10 ANY eBook/Video


This month marks 10 years since we embarked on our mission to deliver effective learning and information services to IT professionals. To celebrate this huge milestone, we are offering 
ALL of our eBooks and Videos at just $10 each for 10 days – this promotion covers every title and you can stock up on as many copies as you like until July 5th