Buscar en este blog

viernes, 26 de febrero de 2016

Cómo crear un proyecto con todos los elementos de una capa - Microsoft Dynamics Ax 2012

Cuando pasamos objetos de un ambiente a otro, es útil saber que existe la posibilidad de crear un proyecto que contenga todos los elementos de una capa, por ejemplo, si solo queremos pasar los objetos creados o modificados de la capa var de nuestro ambiente de desarrollo al ambiente de pruebas pero no queremos pasar proyecto por proyecto.

1. Crear un proyecto nuevo en el AOT. (Ctrl+P abre la lista de proyectos, eliges si lo quieres Shared o Private, y sobre alguno de esos dos, Ctrl+N para crear el nuevo proyecto).
2. Abres el nuevo proyecto con doble click y eliges el botón de filtro avanzado
3. Elige las opciones, en la ventana que se abre, debes seleccionar si quieres agregar los objetos a tu proyecto o sobreescribir los que ya hay. En este caso como es proyecto nuevo, elegimos "Anexar". También se tiene la opción de "Paquetes" que es cómo queremos que se agrupen los elementos en nuestro proyecto, si elegimos "Ninguno" agrega todos los objetos sin orden y sin agrupaciones; si elegimos "AOT", vamos a ver los objetos agrupados por tipo de una manera similar al AOT; si elegimos "Por usuario", pues eso, los agrupa por usuario que haya creado  o modificado el objeto.



4. Selecciona la capa. En la misma ventana de las opciones, click en el botón "Seleccionar" para indicar la capa en el filtro "SysModelLayer"



Con esto se incluirán todos los objetos de esa capa en nuestro proyecto que creamos.



Post relacionados:
Crear empleado, alta y baja por código x++
Escribir XML desde Ax 2012
Listar objetos que pertenecen a un proyecto


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. 


viernes, 5 de febrero de 2016

Lista de remisiones asociadas a una factura por código X++ en Dynamics Ax 2012

Este es un post rápido, solo para mostrar cómo consultar las remisiones de una orden de venta asociadas a una factura.

static void Job9(Args _args)
{
    CustInvoicePackingSlipQuantityMatch     custInvoicePackingSlipQuantityMatch;
    CustInvoiceTrans                        custInvoiceTrans;
    CustPackingSlipTrans                    custPackingSlipTrans;
    CustInvoiceJour                         custInvoiceJour;
   
    //Buscamos la factura por RecId en la tabla CustInvoiceJour
    custInvoiceJour = custInvoiceJour::findRecId( 5637160329);

    while select custPackingSlipTrans
        join custInvoicePackingSlipQuantityMatch
        where custInvoicePackingSlipQuantityMatch.PackingSlipSourceDocumentLine == custPackingSlipTrans.SourceDocumentLine
            join custInvoiceTrans
            where custInvoicePackingSlipQuantityMatch.InvoiceSourceDocumentLine == custInvoiceTrans.SourceDocumentLine &&
            custInvoiceTrans.InvoiceId == custInvoiceJour.InvoiceId //aquí se indica la factura de la que se quiere conocer sus remisiones
            {
                info(custPackingSlipTrans.PackingSlipId);
            }
   

}

Nos va a mostrar por cada línea de la factura la remisión a la que pertenece, si viene de alguna remisión.

Algunos hacen esta relación mediante el InventTransId hacia la tabla InventTrans, peroooo en esa tabla no hay registros cuando se trata de servicios, entonces no sirve ese camino. Otro hacen la relación solo entre CustPackingSlipTrans (líneas de remisiones) y CustInvoiceTrans (líneas de facturas), aquí si estan los servicios, peroooooo si un mismo artículo se remisionó parcial, ya tampoco funciona ese camino porque nos mostraria todas las remisiones donde esta el artículo, se haya facturado o no. Por eso el mejor camino que he encontrado, es mediante la CustInvoicePackingSlipQuantityMatch.


Post relacionados:
Lookup para dimensiones financieras personalizadas
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.