No hace mucho he descubierto una genial herramienta que nos simplifica la genereación de nuevas plantillas para flujos de trabajo.

Si habéis creado alguna vez, un nuevo Workflow dentro de Dynamics Ax, sabreis que tiene un gran trabajo debido a la gran cantidad de objetos AOT que uno tiene que crear y vincular, pero gracias a Amer, podemos simplificar todo esto en 3 simples pasos.

Podéis encontrar más información en el link del autor http://blog.amer-ax.com/?p=475

Fuente: Ammer Blog

Hoy os traigo un impresionante documento que explica el proceso de instalación y configuración de Workflows, creo que es un documento de obligada lectura.

Este documento ha sido escrito por Sumit Loya, y podéis descargarlo en los siguientes links.

Articulo Original de Sumit Loya

Descarga directa del documento

A continuación os dejo un código para poder enviar correos electrónicos mediante Dynamics Ax 2009, espero que os sirva de ayuda ;)

En caso que os dé un error al enviar el mail, podéis consultar la siguiente lista de errores, para detectar que está pasando

SysEmailParameters sysEmailParameters = SysEmailParameters::find();
InteropPermission  interopPermission;
SysMailer            sysMailer;
;
 
//Inicialización de los parámetros de correo electrónico.
interopPermission = new InteropPermission(InteropKind::ComInterop);
interopPermission.assert();
sysMailer = new SysMailer();
 
if(sysEmailParameters.smtpRelayServerName)
{
 sysMailer.SMTPRelayServer(sysEmailParameters.smtpRelayServerName,
 sysEmailParameters.smtpPortNumber,
 sysEmailParameters.smtpUserName,
 SysEmailParameters::password(),
 sysEmailParameters.ntlm);
}
else
{
 sysMailer.SMTPRelayServer(sysEmailParameters.smtpServerIPAddress,
 sysEmailParameters.smtpPortNumber,
 sysEmailParameters.smtpUserName,
 SysEmailParameters::password(),
 sysEmailParameters.ntlm);
}
 
//Montamos el Mail
sysMailer.htmlBody("Mensaje de prueba :)");
sysMailer.subject("Test 1");
sysMailer.fromAddress("dirección mail origen");
sysMailer.tos().appendAddress("dirección mail destino");
 
//Documento Adjunto
sysMailer.attachments().add("Ruta y nombre dle fichero adjunto");
 
sysMailer.sendMail();

A continuación os paso un link de la web AX Code Samples, donde podréis encontrar diversos ejemplos de código fuente de Ax.

Entre ellos veremos ejemplos de como llamar y consumir servicios de AIF, como creación, modificación, insercción de clientes, que pueden ser muy útiles para aquellas personas que empiezan con estos temas.

Espero que os sirva de ayuda

http://code.msdn.microsoft.com/axcodesamples

En algunas ocasiones me he encontrado que después de una caida del AOS de Axapta, debida algún error inesperado, al intentar insertar registros en una tabla nos muestra el siguiente error:

No se pueden asignar los números de secuencias a TableId:%1, CurrentNextVal:%2, NewNextVal: %3

Esto es debido a que por alguna extraña circustancia, en el momento de fallar el AOS, actualiza en la tabla systemSequences, como siguiente valor para el RecId, el número máximo permitido.

Esto lo podemos ver mediante la siguiente Select

select * from SYSTEMSEQUENCES 
order by NEXTVAL desc

Donde podemos ver como para la Tabla 77 (CustTable), nos ha puesto como valor para el siguiente RecId 9223372036854775807, cuando el último RecId de nuestra tabla es 5637145355

Para arreglar este error, actualizaremos el campo NextVal, por el último RecId + 1 que tenga nuestra tabla, en este caso la tabla de Clientes.

update SYSTEMSEQUENCES set NEXTVAL = 5637145356
where TABID = 77

 

Translate

Spanish Dutch English French German Italian Portuguese