Error 0x80040211 () en envío mails

1 Estrella2 Estrella3 Estrella4 Estrella5 Estrella (1 votos, promedio: 3,00 de 5)
Cargando…
Escrito por René Roca el . Posteado en Consultoria, Tecnica, X++

Cuando trabajamos con varios AOS en Dynamics AX 2012, y utilizamos el envío de mails, nos podemos encontrar en la situación que desde un AOS nos funcione el envío perfectamente, pero desde otro AOS nos muestre el siguiente mensaje de error:

error_mail

Este error se produce, porque Dynamics Ax guarda el password del usuario de correo electrónico por AOS, si  vemos el método password de la tabla SysEmailParameters podemos ver como para recuperar el password busca por ID de AOS en la tabla SysEmailSMTPPassword

static SMTPPassword password()
{
    CryptoBlob cryptoBlob = connull();
    SysEmailSMTPPassword SMTPPassword;
 
    AOSId AOSId;
    AOSInstanceId AOSInstanceId;
 
    ;
    [AOSId,AOSInstanceId] = SysEmailSMTPPassword::currentAOSInstance();
 
    SMTPPassword = SysEmailSMTPPassword::find(AOSId,AOSInstanceId);
 
    if (SMTPPassword.RecId != 0)
        cryptoBlob = SMTPPassword.Password;
 
    if (cryptoBlob != connull())
        return cryptoblob2str(WinapiServer::cryptUnProtectData(cryptoBlob));
    else
        return '';
}

Si examinamos la tabla SysEmailSMTPPassword, tendríamos que tener una entrada para cada AOS, para ello tendremos que informar la contraseña en los parámetros de correo electrónico conectandonos a cada uno de los AOS que tenga nuestra instalación.
Si tenéis alguna duda de como conectaros a un AOS concreto, podemos ver como se hace en el siguiente artículo.

Conectarse a un AOS

1 Estrella2 Estrella3 Estrella4 Estrella5 Estrella (Sin calificar)
Cargando…
Escrito por René Roca el . Posteado en Consultoria, Tecnica

Cada vez las instalaciones de Dynamics AX son más complejas y con más usuarios, es por ello que en muchas de ellas se trabaja con mas de una AOS.
Si por alguna razón queremos conectarnos a un AOS en concreto podemos utilizar la siguiente sentencia:

ax32.exe -loadbalance=0 -aos2=axline@nombre_del_aos

Por ejemplo si tenemos un AOS que se llama PRODAOS1 y nos queremos conectar a él, y tenemos instalado el cliente en la ruta estandar ejecutaremos la siguiente sentencia:

"C:\Program Files (x86)\Microsoft Dynamics AX\60\Client\Bin\Ax32.exe" -loadbalance=0 -aos2=axline@PRODAOS1

AOS Crash, Análisis DUMP

1 Estrella2 Estrella3 Estrella4 Estrella5 Estrella (Sin calificar)
Cargando…
Escrito por René Roca el . Posteado en Consultoria, Programacion, Tecnica, X++

En algunas ocasiones nos encontramos que cuando estamos trabajando con Dynamics Ax 2012, nuestro sistema puede ser inestable con caídas de algún AOS de forma inexplicable.

Estas caídas pueden ser debidas a problemas de códigos o algún componente mal instalado que no esté afectando a nuestro sistema.

Para detectar estas caídas podemos utilizar las siguiente herramienta:

Primero de todo tendremos que descargar e instalar la aplicación, tenemos que seleccionar la opción de 64 Bits, a continuación se muestra el proceso de instalación.

Una vez instalado el programa, lo podremos encontrar en la siguiente en la entrada Debug Diagnostics Tool 2, en el menú de programas instalados.

Abrimos el programa y procedemos a la configuración de una nueva regla, para poder interceptar cuando se produzca una caída del AOS y guardar su información en un fichero DUMP.

  1. Creamos una nueva alerta de tipo Crash
  2. Seleccionamos la opción “A Specific process”
  3. Seleccionamos el proceso del AOS, AX32Serv.exe
  4. Indicamos el número dumps máximos que capturaremos.
  5. Especificamos el nombre de la alerta y la ubicación donde guardamos los DUMPS
  6. Activamos la alerta
  7. Dejamos la sesión abierta con Debug Diagnostics Tools funcionando para capturar los DUMPS.

A continuación se muestra pasa a paso como crear una regla.

En el último paso sino tenemos descargados los símbolos de Microsoft, nos propondrá configurarlos.

Una vez que tenemos el fichero Dump creado, haremos botón derecho sobre el y seleccionaremos Analyze Crash/Hang Issue
001

Con esto conseguiremos que se analice el fichero dump, esta acción puede tardar unos cuantos minutos en finalizar.
001

Una vez analizado el fichero DUMP, obtendremos un report donde veremos información sobre el AOS que ha caído y lo más importante de todo el último call stack ejecutado.
001

En la sección Analisys Summary en el apartado error, si hacemos click sobre el número de thread que ha dado error,en nuestro caso el 24 podremos ver la pila de llamada que provocó el error.
001

En nuestro caso esta teniendo un problema con el proceso de Programación de OF, visto que las últimas llamadas del Call Stack hacen referencencia a las clases

JobScheduling
ProdJournalCheckPost.Run

001

Nota Nota: Por parte de Microsoft se ha liberado en Life Cycle una funcionalidad también para el análisis de dumps, podeís obtener más información en el siguiente Link.

Cumulative Update 9 para Dynamics Ax R3

1 Estrella2 Estrella3 Estrella4 Estrella5 Estrella (1 votos, promedio: 5,00 de 5)
Cargando…
Escrito por René Roca el . Posteado en Consultoria

Microsoft acaba de liberar el Cumulative Update 9 para Dynamics Ax, podéis decargarlo via lifeCycle y aquí podéis descargar la guía de instalación

Esta nueva actualización nos cambiará la numeración de nuestra aplicación al código: 6.3.2000.326.

Destacar que esta versión trae nuevas funcionalidades para el módulo de almacenes:

Warehouse management

You can now set up demand replenishment so that it checks whether there’s any demand replenishment work that’s been created in the same location that is not yet finalized. If existing work is found with an appropriate quantity available, the existing work will be used instead of creating new replenishment work. For more information, see Set up replenishment.

It is now possible to display a list of open work items on warehouse mobile devices. The list can be configured to filter on different fields and the user can select any work displayed on the list to be directed to its specific instructions. For more information, see Configure mobile devices for warehouse work.

You can manually pack transfer orders from the packing station. This is particularly useful in retail environments if you want to pack cartons that will refill retail stores from a distribution center.

Two new locations directive action strategies are now supported for the work order type Inventory movement: Consolidate and Empty location with no incoming work. For more information, see Create a location directive, and Dynamics AX SCM R&D Team blog.

You can now report as finished on a mobile device in overproduction scenarios. For more information, see Set up production processes in a warehouse.

You can process a wave that includes multiple shipments from both sales and transfer orders. This is useful when you are planning waves according to destinations of shipments.

When using the auto-release to warehouse process you can now consolidate multiple sales orders for the same customer into a single shipment if the Consolidate shipment at release to warehouse parameter is set on the Warehouse form. For more information, see Sales orders and fulfillment rates in Warehouse management.

The following improvements has been made with regard to batch reservation strategies:

  • The FEFO batch reservation strategy now takes the “Best before date” and the “Expiration date” of the batches into account.
  • You can reserve items across different batch numbers when releasing sales orders.

For more information, see Create a location directive.

En el siguiente link, os dejo una lista de errores que soluciona el CU9.

NotaNota: Gracias a mi compañero Albert Porra, ampliamos un poco más la información sobre la parte de Retail

Para los clientes del POS comentaros que, tras el CU9 ya han aparecido algunos KB posteriores. En uno de ellos, se actualiza la versión de la librería de controles DevExpress que se utiliza en el POS. En concreto, se ha pasado de la versión v2011.2 a la v2014.2. En principio esto debería resolver los problemas recurrentes en la visualización del POS… A nivel de desarrollo, este cambio de versión de este componente de terceros es muy crítico ya que requiere que en el entorno de desarrollo tengamos esa librería actualizada. Por tanto, recomendaría que aquellos clientes que quieran actualizar el POS al CU9 se les aconseje aplicar además el KB3059368 (v6.3.2000.3013)

Clientes de AX con versión sin actualizar.

1 Estrella2 Estrella3 Estrella4 Estrella5 Estrella (2 votos, promedio: 4,00 de 5)
Cargando…
Escrito por René Roca el . Posteado en Consultoria, Tecnica

Cuando trabajamos con el cliente de Dynamics AX instalado en local dentro de nuestra organización, tenemos que revisar que todos nuestros clientes estén actualizados con la misma versión de Kernel.
Para ello tenemos varias opciones.

  • Revisar en el visor de sucesos donde se está ejecutando el AOS.

Visor de eventos, servidor AOS

  • Podemos ejecutar las siguientes sentencias SQL que nos indicarán las versiones que se están ejecutando y que usuarios tienen el problema.
SELECT buildNum,MAX(CREATEDDATETIME) AS lastDate
FROM sysuserlog
GROUP BY BUILDNUM
SELECT userid,
	   computername,
	   buildNum,
	   MAX(CREATEDDATETIME) AS lastdate
FROM sysuserlog
GROUP BY userid,computername,BUILDNUM
ORDER BY BUILDNUM ASC

notaNota:Tener usuarios que se conectan con clientes en versiones anteriores puedo probocar problemas de caidas de AOS