Buscar en este blog

miércoles, 22 de abril de 2015

Crear un campo edit en un control de usuario en Enterprise Portal de Dynamics Ax 2012 R2

 
Este post muestra cómo crear un campo edit en la tabla VendInvoiceInfoTable para que al momento de llenarlo en el enterprise portal se guarde este campo en la tabla heredada VendInvoiceInfoTable_W.

Lo primero que tengo que decir es que existe un Dataset llamado EPVendInvoiceInfo que alimenta el control de usuario EPVendInvoiceInfo. Este dataset no contiene la tabla (VendInvoiceInfoTable_W) donde necesito guardar el valor de mi campo, así que la forma más rápida de guardar este campo es mediante un campo edit en la tabla (VendInvoiceInfoTable). Cómo saber dónde esta el dataset que alimenta la pantalla que queramos modificar lo explico en el post anterior.

Lo primero es crear el método edit de siguiente forma:

edit EInvoiceCFDIUUID_MX grwEditUUID(boolean _set, EInvoiceCFDIUUID_MX _uuid)
{
    VendInvoiceInfoTable_W      vendInvoiceInfoTable_W;
    EInvoiceCFDIUUID_MX uuid = _uuid;

    if (_set)
    {
       if (uuid)
       {
            vendInvoiceInfoTable_W = VendInvoiceInfoTable_W::findByVendInvoiceInfoTable(this.RecId, true);
            if(vendInvoiceInfoTable_W.RecId != 0)
            {
                ttsBegin;
                vendInvoiceInfoTable_W.CFDIUUID_MX = uuid;
                vendInvoiceInfoTable_W.update();
                ttsCommit;
            }
        }
    }
    else
    {
        uuid = vendInvoiceInfoTable_W::findByVendInvoiceInfoTable(this.RecId).CFDIUUID_MX;
    }

    return uuid;

}

Con el método edit creado, guardamos la tabla y restauramos el dataset; esto se hace para que el dataset reconozca los cambios, en este caso, para que reconozca el nuevo método que acabamos de crear en la tabla.
Image(77)

Generamos un cil de incremento.
Y hacemos refresh al cache en Herramientas -> Cachés:
Actualizar diccionario
Actualizar datos
Actualizar elementos

Image(75)

Abrimos Visual Studio con permisos de administrador y dentro del AOT buscamos nuestro control de usuario, en este caso: EPVendInvoiceInfo y hacemos clic derecho, seleccionamos "Edit".
No, no es necesario abrir un proyecto de tipo EP ni nada. (seguro te lo preguntaste) Por qué? porque cuando le das "Edit" solito te crea el proyecto, al final, no es que no lo necesites, solo te ahorras tiempo.

Image(78)

Ubicas el grupo donde quieres meter el campo edit que se creo y lo agregas. Esto se hace dando click en la flecha derecha que sale junto al control y en "Edit fields" en el menú contextual.

Image(79)

En la ventana de campos, buscamos nuestro campo de tipo edit que para este caso práctico se llama grwEditUUID y damos click en el botón "Add Field".

Image(80)

Ya agregado el campo, como buena práctica, debemos ponerle la etiqueta, esto se hace en la propiedad "Header Text" como se muestra:

Image(81)

Le das click en salvar.
Falta implementar el control de usuario desde el aot y luego sincronizar el AOD dentro del Enterprise Portal.
Image(82)Image(83)

Con esto veremos nuestro campo ya en el enterprise portal. En caso de que se ponga caprichoso el enterprise y no te muestre el campo, te vas a tener que ir por el camino largo, esto es: sincronizar el AOT en Ax, generar cill full, sincronizar AOD en el enterprise y ahora si, listooo!

Image(84)

Y en Ax se ve de la siguiente manera:

Image(85)


<<<<<   Modificar un control de usuario                                         Crear FileUpdate >>>>>

Post relacionados:
Modificar un control de usuario en el Enterprise Portal
Crear control de usuario en Enterprise Portal
Crear DataSet
Crear ListPage con PartPreview Pane   
Implementar List Page   
Crear Cues en Enterprise Portal
Crear FileUpdate en Enterprise Portal


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. 






No hay comentarios.:

Publicar un comentario