Buscar en este blog

lunes, 20 de abril de 2015

Modificar un control de usuario en el Enterprise Portal de Dynamics Ax

Algunas veces es necesario modificar las páginas del enterprise portal y lo mas común es agregar campos a alguna pantalla. En este caso, vamos a ver cómo agregar un campo extra a la pantalla de "Editar Factura" dentro de Adquisiciones -> Factura -> Nueva factura proveedor.

El requerimiento es crear un campo en esta pantalla:

Image(64)

Para esto, necesitamos primero identificar cómo se llama esa pantalla para saber si se modifica en Ax o si por el contrario es un control de usuario y debe modificarse en visual studio por ser un control asp.

1. Identificar objeto. Vamos a la pestaña "Page" y el botón "Edit Page"

Image(65)

Nos vamos a la sección que necesitamos modificar y seleccionamos "Edit Web Part"

Image(66)

Esto nos mostrará del lado derecho la información del elemento, en este caso su nombre es: EPVendInvoiceInfo
Image(67)

Con este nombre, abrimos el AOT en Ax y lo buscamos en la ruta Web -> Web Files -> Web Controls
Image(68)

2. Modificar control de usuario. Ahora, para modificarlo necesitamos abrir Visual Studio en modo de administrador. Creamos un nuevo proyecto de tipo Microsoft Dynamics Ax -> EP Web Application

Importante: Se debe elegir .Net Framework 3.5 para que todo vaya bien.

Image(69)

Dentro del arbol de visual studio buscamos nuestro control llamado EPVendInvoiceInfo y lo agregamos a nuestro proyecto actual.

Image(70)

3. Identificar Dataset. Una vez que lo agregamos, vemos quién alimenta esta pantalla, esto lo vemos de dos formas, la primera es en el diseño, viendo cuál es el dataset, en este caso el Dataset se llama igual que el control de usuario EPVendInvoiceInfo

Image(71)

Y la otra forma de ver cuál es el dataset es en el código
Image(72)

También en esta vista del control de usuario identificamos dónde se va a visualizar nuestro campos, para mi requerimiento lo necesito dentro del grupo “Otros detalles de factura” que en visual studio se llama AxOtherInvoiceDetailsGroup.
Image(73)
Image(74)

4. Sincronizar cambios. Ya que buscamos nuestro dataset y buscamos el fieldgroup que alimenta esa sección del control de usuario, agregamos nuestro campo personalizado a la tabla, después ese mismo campo al fieldgroup. Con esto indicamos que los campos que existan en el fieldgroup se van a mostrar en nuestro control de usuario.

Sincronizamos la tabla, restauramos el dataset para que vea nuestro nuevo campo, generamos un cil de incremento.

Al final refrescamos el cache:
Image(75)

Dentro de Visual Studio, en el DataSet en vista diseño, hacemos click derecho y le damos en "Refresh Schema" con esto se va a actualizar el dataset internamente en el control de usuario.
Finalmente debemos actualizar el AOD dentro del EP
Image(76)

En caso de que no veamos nuestro campo adicional, abrimos el proyecto de Visual Studio, en el DataSet en vista diseño, hacemos click derecho y le damos en "Refresh Schema" con esto se va a actualizar el dataset internamente en el control de usuario.

Salvamos el control!
Vamos a ver nuestro formulario y listo!!!!!


Importante: No es necesario implementar el control de usuario desde visual, ni tampoco agregar el proyecto a Ax, solo con que salvemos el control de usuario en Visual Studio con esto se actualiza en el AOT en automático. Aunqueeee en algunas ocasiones el enterprise no es muy listo y se debe implementar el control desde ax, sincronizar el AOT en ax, compilar un cill full y sincronizar el AOD en el enterprise.



<<<    Crear control de usuario en Enterprise Portal                          Crear un campo edit en un control de usuario        >>>


Post relacionados:
Crear un campo edit en un control de usuario en el Enterprise Portal
Crear DataSet
Crear ListPage con PartPreview Pane en EP   
Implementar List Page en EP 
Crear Cues 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