viernes, 21 de noviembre de 2014

Descargar actualizaciones para Dynamics AX 2012 desde Lifecycle services

Lo primero que haremos será loguearnos con nuestra cuenta de CustomerSource o PartnerSource en Microsoft Dynamics Lifecycle Services:

https://lcs.dynamics.com/



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

A new #PacktOffer

A new #PacktOffer for all the #developers and #programmers Best time to stock up on your learning material - bit.ly/ZfYa2o


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();
    }
}