Buscar en este blog

lunes, 15 de diciembre de 2014

Lookup para dimensiones financieras personalizadas - Microsoft Dynamics Ax 2012 R2

Aquí se expone el código para cuando necesitemos exponer en un combo (lookup) los valores de las dimensiones financieras separadas por nombre. Esto aplica para cualquier escenario en cualquier formulario que maneje dimensiones financieras personalizadas distintas a las de organización.


Lo primero es identificar el campo que queremos que sea lookup y sobreescribir el método lookup con las siguientes líneas:



public void lookup()
{
    super();

    TablaEjemploDimensiones::lookupCentroCosto(this);
}

Donde lookupCentroCosto es el método que vamos a crear en la tabla donde se va a guardar el valor que el usuario seleccione.

public client static void lookupCentroCosto(FormStringControl _ctrl)
{
    DimensionAttribute                  dimensionAttribute;
    DimensionAttributeDirCategory       dimAttributeDirCategory;
    SysTableLookup                      sysTableLookup;
    Query                               query = new Query();

    // Nombre de la dimensión de la que se van a mostrar los valores
    dimensionAttribute = DimensionAttribute::findByName( "CentroDeCosto");

    if (dimensionAttribute.Type == DimensionAttributeType::CustomList)
    {
        select firstonly DirCategory from dimAttributeDirCategory where dimAttributeDirCategory.DimensionAttribute == dimensionAttribute.RecId;

        sysTableLookup = SysTableLookup::newParameters( tableNum(DimensionFinancialTag), _ctrl);

        // En el lookup se va a presentar el valor y la descripción
        sysTableLookup.addLookupfield( fieldNum(DimensionFinancialTag, Value));
        sysTableLookup.addLookupfield( fieldNum(DimensionFinancialTag, Description));

        query = new Query();
        query.addDataSource( tableNum(DimensionFinancialTag)).

        addRange( fieldNum(DimensionFinancialTag, FinancialTagCategory)).
        value(queryValue(dimAttributeDirCategory.DirCategory));

        sysTableLookup.parmQuery(query);
       
        sysTableLookup.performFormLookup();
    }
}


Post relacionados:
Lookup para dimensiones financieras de organización
Consultas en tablas con ValidTimeState
Crear lookup en clase dialog



Y por cierto, acuerdate de darle click a algún anuncio si el post te sirvio 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. Yered buenas, consulta, una ves que los árticulos poseen transacciones, y se desea activar el sitio de las dimensiones, es posible subir los árticulos posterior a activar el sitio en un ambiente limpio?, gracias por su ayuda

    ResponderEliminar