viernes, 13 de enero de 2017

Rellenar con 0 un texto en AX2012

AX2012 nos proporciona una manera fácil de añadir caracteres extra a una cadena de texto. Imaginemos que necesitamos representar una secuencia FV-#### dentro de AX. Necesitamos entonces incrementar un contador para después almacenarlo o mostrarlo con un formato tipo "FV-0001", "FV-0002" etc. Será necesario entonces rellenar el contador con ceros.

Podemos utilizar los métodos strRFix () y strLFix () para lograr esto.

    
// ------------------------------------------------(c) 2017 Last
// System: Microsoft Dynamics AX 2013 R3 CU12
// Description:     JOB de ejemplo para rellenar con 0
// Creator:         Juan Ruiz Romero
// Creation date:   13.01.2017
// -----------------------------------------------------------------
// -----------------------------------------------------------------
static void testRellenar0(Args _args)
{
    int i = 1;
    str cadena;
    str resultado;
    
    /*Creamos un string, de longitud 4, con el valor de i y rellenamos con 0*/    
    cadena = strRFix(int2str(i), 4, "0");
    resultado = strFmt("FV-%1", cadena);    
    info(resultado);
    
    cadena = strLFix(int2str(i), 4, "0");
    resultado = strFmt("FV-%1", cadena);    
    info(resultado);
}

Esto llenará resultado con FV-0001. Si usamos strLFix en lugar de strRFix, se rellenará con 0 a la derecha, dando como resultado FV-1000.



jueves, 23 de junio de 2016

Crear documentos de MS Word desde AX 2012 R3

Buenas tardes a todos, hace tiempo que no publico nada en el blog por motivos de falta de tiempo, los que hayan realizado una migración de algún ERP me entenderán....

Nuestro objetivo de hoy es crear documentos de Word directamente desde AX 2012. Para ello utilizaremos una plantilla de Word previamente diseñada, que después utilizaremos en nuestro código x++.

Crearemos nuestra plantilla, para ello insertaremos los marcadores de posición en el lugar deseado, según veis en la imagen:


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.

viernes, 12 de junio de 2015

Actualización Acumulativa 9 (CU9) para AX 2012 R3

Ayer (10 de junio) fue liberada la nueva actualización acumulativa 9 para Dynamics AX 2012 R3, conocida popularmente como CU9. Esta actualización ya puede ser descargada desde Lifecycle Services, CustomerSource y PartnerSource. El Build number para este CU9 es 6.3.2000.326. Para los que necesitéis instrucciones para la instalación, pueden descargar la guía oficial de instalación de CU9 para AX 2012R3.
Esta CU9 presenta cambios en los siguientes módulos:
– Recursos Humanos
– Retail
– TMS
– WMS
También presenta cambios en las siguientes funcionalidades específicas de país:
Australia, Bélgica, Brasil, Europa, Alemania, India, Italia, Lituania, México, Holanda, Polonia, Rusia, España, Reino Unido, Estados Unidos.
A nivel de Desarrollo, también se introdujo un cambio en la funcionalidad de Extensibilidad MPOS en Retail.
Para ver el detalle de estos cambios, pueden consultar la página oficial aquí (What’s new). Para el caso de WMS y TMS, pueden encontrar información aún más detallada sobre los cambios aquí (Blog oficial de SCM).
Como sucedió con la CU8 de AX 2012 R3, el número de versión de la aplicación mostrará un número distinto de 6.3.2000.323 si se le aplica la CU9 a una instalación existente de AX2012R3. Esto es debido a todos los modelos granulares que han sido aplicados al sistema a través del instalador de CU9. El modelo (ax-model) que indica que todo los modelos de la CU9 han sido aplicados es el que tiene el número de versión 6.3.2000.323. Usando el método de  slipstream como se detalla en la guía de instalación, resultará en una instalación con un único modelo aplicado para la CU9, con el build number 6.3.2000.326.

jueves, 15 de enero de 2015

Depurar código desde Visual Studio en AX2012

A partir de la versión 6 de AX (AX2012) la mayor parte del código se ejecuta en el entorno de CIL y no puede depurarse desde el depurador de Microsoft Dynamics AX en X++. Igual os habréis sorprendido al introducir un punto de interrupción en x++ y después ver que no se ejecuta el depurador aun estando seguros de que la ejecución pasa por ese punto. Esto significa que el código se está ejecutando en CIL y necesitamos depurarlo con Visual Studio.

Vamos a ver el proceso que debemos realizar (siempre en un entorno de tes/desarrollo):

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