miércoles, 6 de octubre de 2010

Microsoft CRM & AX

Hola a todos, como están?, pues yo teniendo un poco más de tiempo y como siempre colocando algunas cosas interesantes que me puede pasar día a día.  Algo súper interesante – desde mi punto de vista – es la integración que hay entre AX y CRM, lo interesante de esto, es que la última versión del AX ya te proporciona un Conector que se parece muy fácil de utilizar  -al mejor estilo de Dynamics CRM - , pero las versiones anteriores, es un poco más complicado me explico:

  1.  Se debería de importar una librería llamada AxaptaCOMConnector, este librería se debe de configurar directamente en el AX, para que sea registrada en el servidor.
  2.  Se debe de importar esta librería al VS.
  3. Programar libremente, teniendo en cuenta siempre de hacer el “logon” y “logoff”, siempre.


Un ejemplo de cómo poder hacer el LogOn y LogOff, es el siguiente:




Axapta _ax = new Axapta();
try
{
       _ax.Logon("USUARIO", "", "", "");
}
catch (System.Exception err)
{
       System.Diagnostics.Debug.Print(err.Source);
       System.Diagnostics.Debug.Print(err.StackTrace);
       System.Diagnostics.Debug.Print(err.Message);
       _ax.Logoff();
}


Actualizado



Bueno, y ahora vamos a ver cómo puedo ingresar y actualizar algún registro en AX, para ingresar un registro, debemos de identificar la entidad en AX, una vez identificada la Entidad , debemos de agregar lo siguiente:



IAxaptaRecord record = ax.CreateRecord("Entidad-AX");
record.InitValue();



Esto nos permite agregar un dato, pero todavía no le ponemos los valores que se deben de ingresar, para eso, hay que agregar los atributos, hay que tener en cuando que debemos de poner el nombre exacto de la propiedad,

record.set_field("LanguageId", "ES");
record.Insert();


Con estas líneas estamos dicendo, en que campo hay que ponerle que valor, cuando en AX es un tabla asociada (en el caso del Language), lo que debemos de pasar es el ID o el nombre.

Para realizar la acutalizacion, es un poco mas complicado, ya que debemos de realizar un Begin and Commit, algo como esto :

ax.TTSBegin();
IAxaptaRecord record = (IAxaptaRecord)ax.CallStaticRecordMethod("Entidad - AX","find", “Id del Registro”, true, null, null, null, null);
record.DoUpdate();
record.set_field(“Nombre de la Columna”, Valor);
ax.TTSCommit();

El método CallStaticRecordMethod, se utiliza para poder obtener el ID del registro que se quiere actualizar, que hace AX, pues lo obtiene y lo guarda en memoria, luego debemos de decirle que campos queremos actualiza.
Al final le damos el Commit y listo registro actualizado.


Share this post
  • Share to Facebook
  • Share to Twitter
  • Share to Google+
  • Share to Email
  • More...

0 comentarios

 
© 2011 Dynamics CRM Rulez !!!!!!
Designed by BlogThietKe Cooperated with Duy Pham
Released under Creative Commons 3.0 CC BY-NC 3.0
Posts RSSComments RSS
Back to top