AX TIP: Exportar lista de proyectos en Microsoft Dynamics AX

A veces puede ser útil exportar una lista de los proyectos de código que tenemos en Microsoft Dynamics AX. Que yo sepa no hay una manera estándar de hacer esto, pero se puede conseguir muy fácil explorando los metadatos directamente con un código similar a este:

static void JAEE_GetSharedProjectsList(Args _args)
{
    UtilElements    element;
    UtilEntryLevel  utilLevel   = currentAOLayer();
    ProjectNode     projectNode;
    ;

    while select element
        where element.recordType ==   UtilElementType::SharedProject
           && element.utilLevel  ==   utilLevel    // Sólo proyectos en la capa actual
           && element.name       like '???ES*JAE*' // Se puede filtrar como cualquier tabla
    {
        projectNode = xUtilElements::getNode(element);

        info(projectNode.name());
    }
}

Como es una consulta a una tabla (la tabla interna UtilElements), se puede hacer una consulta normal y filtrar los diferentes campos para obtener el resultado deseado. Este es mi resultado:

Export Shared Project List

Desde la ventana del InfoLog se puede copiar y pegar esta lista por ejemplo en Excel y a partir de ahí trabajar con ella normalmente.