Mostrando entradas con la etiqueta job. Mostrar todas las entradas
Mostrando entradas con la etiqueta job. Mostrar todas las entradas

viernes, 23 de octubre de 2015

Importar Clientes Prospecto (Relaciones Empresariales) en AX 2012 R3 [JOB]

Buenos tardes a todos, durante la migración de Dynamics AX4 a AX2012 R3 nos encontramos con que no existe ninguna entidad en el DMF (Data Migration FrameWork) para importar clientes prospecto (antiguas relaciones empresariales en AX4).

En este caso he realizado un JOB para simular este proceso. Utilizando las clases System.Data.SqlClient podemos leer datos directamente de la base de datos SQL Server de AX4.
El job puede ser ejecutado para actualizar los nuevos clientes prospecto creados durante la fase de migración.

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:

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, 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.