Buscar en este blog

lunes, 16 de febrero de 2015

Lista de objetos que pertenecen a un proyecto de Dynamics Ax 2012 R2

Este es un pedazo de código que sirve para leer los nombres de todos los objetos de un proyecto en Ax.

static void listAllObjectosFromProject(Args _args)
{
  ProjName        nombreProyecto = "LCProjectSearch_AX2012_R1" ;

  ProjectListNode   list = infolog.projectRootNode().AOTfindChild("Shared");

  TreeNodeIterator  ir = list.AOTiterator();
  ProjectNode      pnProj;
  ProjectNode      pn = list.AOTfindChild(nombreProyecto);

  void searchAllObj(projectNode rootNode)
  {
    #TreeNodeSysNodeType

    TreeNode          childNode;
    TreeNodeIterator      rootNodeIterator;
    ;

    if (rootNode)
    {
      rootNodeIterator = rootNode.AOTiterator();
      childNode = rootNodeIterator.next();
      while (childnode)
      {
        if (childnode.treeNodeType().id() == #NT_PROJECT_GROUP)
        {
          searchAllObj(childNode);
        }
        else
        {
            info( strfmt ("%1|%2" , childNode.AOTname(),rootNode.AOTname()));
        }
        childNode = rootNodeIterator.next();
      }
    }
  }
  ;

  if (pn)
  {
    info( strFmt ("PROYECTO: %1 " , nombreProyecto));
    pnProj = pn.loadForInspection();
    searchAllObj(pnProj);
    pnproj.treeNodeRelease();
  }

}
  
El resultado es como el siguiente:



También existe un proyecto que nos comparte Loncar Technologies que funciona para buscar cualquier objeto de ax y saber a cuáles proyectos pertenece, desde aquí se descarga el proyecto para ax 4.0, ax 2009 y ax 2012.




Y por cierto, acuérdate de darle click a algún anuncio si el post te sirvió de algo.

No olvides que te puedes unir a la página en Facebook Aprendiendo Dynamics Ax donde únicamente se tratan temas de desarrollo y se busca crear una comunidad de desarrollador@s de Ax en nuestro idioma. 


1 comentario:

  1. Buenas y, ¿como se podría hacer para ubicar en que proyecto(s) esta un determinado objeto? eso si lo veo dificil. Por ejemplo, la tabla CustTable en que proyectos públicos esta?

    ResponderEliminar