Buscar en este blog

sábado, 20 de octubre de 2012

Introducción al ambiente de Desarrollo Dynamics Ax 2012


Poco a poco vamos entrando en materia. En este post, veamos el ambiente de desarrollo de Ax 2012.

Antes que nada, para poder desarrollar, programar, modificar o como sea que le llamen a esa tarea de tirar tecla, debo decirles que es necesario tener la licencia de desarrollo para Ax, de otra forma no se puede.

Ahora, la versión 2012 a diferencia de la 2009, presume de tener dos ambientes de desarrollo. El primero que es el de toda la vida MorphX IDE, que es propio de Ax y la forma rápida de entrar es presionando Ctrl + D. Y el otro ambiente es Visual Studio, así como lo leen.

Empezando, MorphX IDE nos ofrece la posibilidad de ver todos los objetos dentro de un Application Object Tree (AOT), esto va a ser su pan de cada día, el AOT. Dentro podemos ver Tablas, Datos extendidos, enumeradores, clases, formularios, menus y proyectos de visual studio, además de muchos elementos mas.



Nuestro ambiente de desarrollo cuenta con:
- X++ Editor de código, donde podemos programar
- Debugger, para trazabilidad de código
- Herramienta de ingeniería inversa, para visualizar clases en Ax creadas por UML
- Explorador de tablas, donde visualizamos campos, datos , relaciones, indices, etc de tablas.

Finalmente, para desarrollar, tenemos algunas opciones para "poner" nuestro código, estas opciones son las CAPAS o LAYERS de Ax. Este es punto importante, y aunque parece mucha paja es indispensable que conozcamos estas capas.

Cuántas capas son? 16 capas!!! si, son muchas, pero todas tienen su razón de ser, ya voy explicando.

Para qué sirven las capas? de modo rápido te diré que sirven para que no arruines con tu programación funcionalidad estándar de Ax. Esto es, que no puedes modificar las líneas que están en las capas mas bajas, puedes "cambiar" la forma en que se maneja la información en las capas superiores y Ax siempre hará caso a lo que se encuentre programado en la capa mas alta, pero siempre habrá un modo de regresar a lo que venia de fabrica.

Por qué no podemos programar en todas las capas? Por la simple razón de que cada capa esta destinada para algo (o algunos) y aunque tengas licencia para desarrollar solo podrás meterle mano a las últimas capas.

Es decir, existe un equipo de desarrollo de Ax directo de Microsoft, que tienen una primera versión de Ax (esta es la que se vende), esta versión estándar se encuentra en las 6 primeras capas. A estas capas no les puedes meter mano.

CapaDescripción
SYS, SYPCapa de sistema: La aplicación estándar es desarrollada en esta capa. Esto incluye el core y la configuración de la mayoría de los países.
GLS, GLPCapa de globalización: Incluye características desarrolladas para algunos países.
FPK, FPPCapa Feature Pack: Incluye paquetes de características de sectores industriales y son controlados por Microsoft.

Las siguientes 6 capas, solo están disponibles para poder desarrollar sobre ellas para partners e ISVs. Obvio, tampoco modificas estas capas (a menos que seas parte de algún partner)

CapaDescripción
SLN, SLPCapa de solución: Incluye soluciones de Microsoft avaladas por algún sector.
ISV, ISPCapa de proveedores de software independientes: Incluye verticales desarrolladas por ISVs.
VAR, VAPCapa de valor agregado de revendedores: Incluye personalizaciones desarrolladas por VAR's.

Las últimas 4 capas ahora si son las que puedes modificar, en las que puedes desarrollar funcionalidad nueva, etc. Estas últimas 4 capas están destinadas a partners y clientes obvio que tengan licencia de desarrollo.

CapaDescripción
CUS, CUPCapa de clientes: Incluye funcionalidad especifica del cliente.
USR, USPCapa de usuario: Incluye funcionalidad especifica y personalizaciones.

En el siguiente post, ahora si viene algo de acción para empezar a programar.

Lo olvidaba, todas las imágenes pertenecen a Microsoft.


Por último, te invito a que te unas a la página de facebook recién creada para estar al día con las actualizaciones del blog y que podamos tener más comunicación. La meta? es hacer la comunidad de habla hispana mas grande sobre Dynamics Ax en cuestiones de desarrollo.




<<-- Anterior - Niveles Ax                                                               Siguiente - Elementos básicos -->>






jueves, 18 de octubre de 2012

Niveles en Dynamics Ax 2012


Como les comente en el post anterior, ahora viene la Arquitectura por capas con la que cuenta Dynamics Ax 2012.

Esta compuesta de TRES NIVELES: base de datos, servidor y cliente. Si, asi de fácil, ahora, qué viene en cada nivel? Pues eso es lo interesante.

NIVEL 1 - Base de datos
Pues claro, como es de imaginarse, tiene los datos pero además tiene los elementos de aplicación. Es una base de datos transaccional de procesamiento en línea (OLTP).

NIVEL 2 - Servidor
Aquí corre la lógica de negocio y tenemos el muy conocido AOS (Application Objetc Server) que no es otra cosa mas que el servicio bajo el que corre dynamics. La forma de "verlo" es como todos los servicios de windows (Herramientas administrativas -> Servicios). El AOS es el servidor de aplicaciones, donde se ejecuta la mayor parte de la lógica de negocio y entre sus tareas esta correr el código X++ que es el lenguaje de Ax, maneja la seguridad de acceso a los datos, administra las sesiones de los clientes.

Un punto importante, es que pueden instalarse varios AOS's para dispersar la carga de clientes entre múltiples servidores, esto es de mucha utilidad al realizar implementaciones muuuuuy grandes.

NIVEL 3 - Cliente
Eso, lo que todos los clientes ven en sus escritorios, la interfaz a traves de la cual interactuan con Dynamics. 

Otros "clientes" de Ax son: Enterprise Portal (bajo licencia) donde es posible visualizar páginas mediante un navegador web y es posible contar con la funcionalidad de reportes, otro cliente del que presume Ax es Office, así es, que en teoria pueden ser usados accesar a Ax aplicaciones y datos. Otro cliente es el .Net Business Connector, este cliente no tiene interfaz pero funciona para interactuar con Ax desde aplicaciones desarrolladas por nosotros mismos.

Listo, así están los niveles de Dynamics Ax 2012, la siguiente sesión todavía es un poco de paja, empiezo a ver el ambiente de desarrollo, pero poco a poco entramos en materia.


Por último, te invito a que te unas a la página de facebook recién creada para estar al día con las actualizaciones del blog y que podamos tener más comunicación. La meta? es hacer la comunidad de habla hispana mas grande sobre Dynamics Ax en cuestiones de desarrollo.






<<-- Anterior - Introducción AX                                                    Siguiente - Introducción al desarrollo con Ax -->>



                                                        <<<<<     Menú inicial del tutorial     >>>>>



miércoles, 17 de octubre de 2012

Introducción Microsoft Dynamics Ax 2012


Bueno, pues el futuro nos alcanzo y llego Dynamics 2012, así que ni modo, a escribir sobre esta versión. Y como el objetivo próximo es hacer la certificación de desarrollo pues aquí va la info que voy aprendiendo y sacando de los libros oficiales de dynamics Ax 2012.

Características funcionales
- Una base de datos es usada para todas las compañías de la organización
- Alta integridad entre todas las áreas funcionales como planeación, ventas, producción.
- Todos los módulos basados en dimensiones
- Características avanzadas disponibles como planeación maestra y forcasting
- Multi-moneda y multi-lenguaje

Características de desarrollo (esto es lo que nos interesa!!!)
- Ambiente de desarrollo integrado AX MorphX (esto en lo visual dista de la realidad, porque es una ventana aparte, no como en la versión anterior).
- Visual Studio es una alternativa de desarrollo para web, reportes y administración de código ("dicen" yo no lo he probado)
- Árbol de objetos de aplicación (AOT) nos da una vista compacta de todo el repositorio (o casi todo)
- Funcionalidad drag and drop es soportado en casi todas las tareas
- Organización de proyectos para personalizar funcionalidades propias

Y bueno, en lo visual, el cambio es ahora como les muestro en la siguiente imagen, esta es la vista Content Pane.


Y la vista List Page


Listo, es todo. La siguiente parte es la Arquitectura por capas. 

Ah olvidaba decirlo... todas las imágenes son propiedad de Microsoft.



                                                                                      Siguiente - Niveles  >>>>





jueves, 9 de febrero de 2012

Exportar datos a Excel con Dynamics Ax 2009

Pues eso, el siguiente ejemplo muestra cómo enviar los datos de una consulta a un archivo de excel desde Dynamics Ax 2009. Esto es necesario en el caso en que tenemos algún usuario quisquilloso que necesita información de su área muy detallada y que en Ax no se encuentra en ningun reporte, a veces es mas fácil hacer la consulta y mandarla a un excel.
En el siguiente ejemplo, se muestra cómo pasar el resultado de una consulta a un excel y que al correr el código se abra en automático la hoja que se genero. La consulta calcula el saldo de cuentas contables referentes a los conjuntos de artículos.


static void SaldosCuentasExcel(Args _args)
{
    LedgerTable ledgerTable;
    ItemGroupId itemGroupId;
    InventPosting inventPosting;
    InventItemGroup inventItemGroup;
    AmountMST balance;


    TransDate fromDate,todate;
    LedgerBalanceSum_CurrentMST ledgerBalanceSum_CurrentMST_SaldoMes;


    CustTable custTable;
    SysExcelApplication application;
    SysExcelWorkBooks    workbooks;
    SysExcelWorkBook     workbook;
    SysExcelWorksheets  worksheets;
    sysExcelWorksheet   worksheet;
    SysExcelCells       cells;
    SysExcelCell        cell;
    int                 row;
    ;
    application = SysExcelApplication::construct();
    workbooks = application.workbooks();
    workbook = workbooks.add();
    worksheets = workbook.worksheets();
    worksheet = worksheets.itemFromNum(1);
    cells = worksheet.cells();
    cells.range('A:A').numberFormat('@');


    fromdate = str2date("01/01/2011",123);
    todate = str2date("08/02/2012",123);
    ledgerBalanceSum_CurrentMST_SaldoMes = new LedgerBalanceSum_CurrentMST(fromdate,todate);


    while select ItemRelation, LedgerAccountId, InventAccountType from inventPosting
    join inventItemGroup
    order by inventItemGroup.Name
    where inventPosting.ItemRelation == inventItemGroup.ItemGroupId
    {
        balance = ledgerBalanceSum_CurrentMST_SaldoMes.balance(inventPosting.LedgerAccountId);
        row++;
        cell = cells.item(row,1);
        cell.value(inventItemGroup.Name);
        cell = cells.item(row,2);
        cell.value(inventPosting.LedgerAccountId);
        cell = cells.item(row,3);
        cell.value(enum2str(inventPosting.InventAccountType));
        cell = cells.item(row,4);
        cell.value(balance);
    }
    application.visible(true);
}


Por último, te invito a que te unas a la página de facebook recién creada para estar al día con las actualizaciones del blog y que podamos tener más comunicación. La meta? es hacer la comunidad de habla hispana mas grande sobre Dynamics Ax en cuestiones de desarrollo.




miércoles, 8 de febrero de 2012

Saldo de cuenta contable en Dynamics Ax

Pues aquí un tip chiquito, algunas veces para efectos de verificar cómo se van afectando los saldos de las cuentas contables de acuerdo a las compras, ventas y traslados en Ax es necesario saber los saldos de las cuentas en un solo paso, en vez de estar dando clic a cada cuenta y despues en el botón de "Saldo".
Así que por código, les muestro cómo calcular el saldo de las cuentas que estan asignadas a los grupos de artículos. Espero les sirva.

static void yc_jobs(Args _args)
{
    LedgerTable ledgerTable;
    ItemGroupId itemGroupId;
    InventPosting inventPosting;
    InventItemGroup inventItemGroup;
    AmountMST balance;    
    TransDate fromDate,todate; 
    LedgerBalanceSum_CurrentMST ledgerBalanceSum_CurrentMST_SaldoMes;
    ;
    fromdate = str2date("01/01/2011",123);
    todate = str2date("08/02/2012",123);
    ledgerBalanceSum_CurrentMST_SaldoMes = new LedgerBalanceSum_CurrentMST(fromdate,todate);
            
    while select ItemRelation, LedgerAccountId, InventAccountType from inventPosting
    join inventItemGroup 
    order by inventItemGroup.Name
    where inventPosting.ItemRelation == inventItemGroup.ItemGroupId
    {
        balance = ledgerBalanceSum_CurrentMST_SaldoMes.balance(inventPosting.LedgerAccountId);
        info(strfmt("%1, %2, %3, %4", inventItemGroup.Name, inventPosting.LedgerAccountId,
        inventPosting.InventAccountType, balance));
    }
}

viernes, 20 de enero de 2012

Leer Exel con Dynamics Ax 2009

Saliendo un poco de la línea del blog, les dejo cómo leer un archivo excel desde un Job de Dynamics Ax 2009, no lo explico a detalle porque la codificación es muy simple, es un ejemplo probado, así que basta con que lo copien, modfiquen la ruta de su archivo de excel y listo!!
Espero les sea útil...



static void LeeExcel(Args _args)
{
    SysExcelApplication application;
    SysExcelWorkbooks workbooks;
    SysExcelWorkbook workbook;
    SysExcelWorksheets worksheets;
    SysExcelWorksheet worksheet;
    SysExcelCells cells;
    COMVariantType type;
    int filaInicial;
    int row;
    ItemId itemid;
    UnitID unitID;
    PriceUnit priceUnit;
    FileName nombreArchivo;
    ;
    application = SysExcelApplication::construct();
    workbooks = application.workbooks();
    nombreArchivo = "C:\\PlantillaPrecios.xls";
    try
    {
        workbooks.open(nombreArchivo);
        filaInicial = 1;
        workbook = workbooks.item(1);
        worksheets = workbook.worksheets();
        worksheet = worksheets.itemFromNum(1);
        cells = worksheet.cells();
        row = filaInicial;
        do
        {
            row++;
            itemId = cells.item(row, 1).value().bStr();
            unitID = cells.item(row, 2).value().bStr();
            priceUnit = cells.item(row, 3).value().double();
            info(strfmt('%1 - %2 - $%3', itemId, unitID, priceUnit));
            type = cells.item(row+1, 1).value().variantType();
        }
        while (type != COMVariantType::VT_EMPTY);
        application.quit();
    }
    catch (Exception::Error)
    {
        throw error("El archivo no abrio correctamente, intente de nuevo.");
    }
}

viernes, 19 de agosto de 2011

Comercio y Logística en Dynamics Ax 2009 - 2. Grupos de artículos


Como ya les había comentado en el post anterior, el inventario es lo básico para comenzar con la logística en Dynamics Ax 2009. Todo lo configurado para los artículos repercute directamente en la compras, ventas, gestión de almacenes, gestión de calidad, los diarios de inventario, la producción y los proyectos.

Entonces, aguas con este tema y tómenlo muuuy en serio que es la columna vertebral, sobro todo porque la forma en que repercute una mala configuración de este módulo es en perdida de visibilidad de los dineros del patrón, y yo creo que si el patrón no sabe dónde está su dinero... pues quizá los de sistemas tengamos que buscar un lugar alejado del mundo y claro otra chamba.

Ahora, todos los artículos deben tener como mínimo: código de artículo, grupo de artículos, tipo de artículo, grupo de modelo de inventario y grupo de dimensiones. Estos puntos son los obligatorios para exista un artículo pero hay varios mas para una correcta configuración.

Vamos empezando por Grupo de artículos. Esto se usa para registrar cada grupo a las diferentes cuentas de contabilidad (como les decía... dineros), también se usa para saber datos de ventas y de compras (mas dineros) y para crear informes financieros.

Cómo configurar estos grupos? Pues bien, te vas al módulo de Gestión del inventario -> Configurar -> Grupo de artículos
Y ahí tenemos que ir metiendo todos nuestros grupos de artículos de la forma:

  • en el campo "Conjunto de artículos" ponemos un identificador del grupo
  • en el campo "Nombre" ponemos el nombre descriptivo del grupo, por ejemplo, nombre utilizado en los informes

En este ejemplo, puse como identificador "B" y nombre "Cuadernos", al dar "enter" me pasa de inmediato a la pestaña de "Orden de venta". En esta pestaña y en el resto se deben poner las cuentas contable de cada uno de los conceptos que dicen ahí. Que es esto? pues simplemente le indicamos al Dynamics a que cuenta contable le tiene que sumar o restar dependiendo de la transacción que se realice.

Esto de las cuentas contables se debe revisar con la parte financiera para que nos indique en qué cuenta contable quiere que se reflejen esos movimientos.

El resto de las pestañas (orden de compra, inventario, producción) se refieren a lo mismo, a definir las cuentas contables referentes a cada movimiento que se vaya presentado en el grupo de artículos que estamos dando de alta. Si necesitan una descripción más detallada de los movimientos de cada pestaña escríbanme, yo les paso un doc donde viene una descripción corta de lo que ven en esas pestañas.
Aunque seamos realistas, pocas veces tenemos la oportunidad de empezar a configurar un sistema desde cero, generalmente cuando las empresas adquieren un ERP o WMS (warehouse managment system = administrador de almacenes) es cuando la empresa ya esta consolidada y ya le alcanza para hacer una inversión de ese tamaño. En estos casos si la empresa ya tiene definidos sus grupos de artículos, lo que tendríamos que hacer es una importación de datos hacía el Dynamics Ax. Y esto... lo veremos en el próximo post.

Ojo con las cuentas contables porque esto es la base de la configuración de sus artículos.

Comercio y Logística en Dynamics Ax 2009 - 1. Introducción



Para empezar, logística se define como el proceso de planificación, implementación y control de flujo rentable y eficaz, y el almacenamiento de artículos. Es decir, todo lo que se "mueve" y almacena en la empresa, enfocado a productos que se fabrican o comercializan. La logística es muy amplia y va desde el manejo de materias primas en empresas manufactureras, la producción, envío a almacenamiento, acomodo en almacén, definición de la manera más eficiente de "pasar" los productos de un lugar a otro hasta la salida del almacén, el traspaso a algún otro almacén y el cómo se distribuye o transporta a los diferentes lugares donde sea necesario. Todo lo anterior, con el único objetivo de contar con la trazabilidad de los movimientos de productos en la empresa y obviamente los dineros, cuánto le cuesta a la empresa producir, comprar, almacenar y distribuir sus productos eficazmente.

En Dynamics, todo el proceso inicia con la configuración de los artículos  para tener definido nuestro inventario, primero que nada debemos tener una visión suficientemente clara de saber qué vende la empresa y como se va a querer visualizar el dinero que se maneja con lo que se vende.

(Les tengo que aclarar por si no leíste bien el título que este es el inicio de la logística, por esto, doy por sentado que la parte financiera está completamente configurada.)

Entonces, como iba diciendo, la configuración de los artículos es la parte clave para los inventarios ya que vamos a tener una parte física y una financiera. Quiero pensar que los nombres son lo bastante explícitos, pero por si no: el inventario físico se refiere básicamente a cuánto tenemos de cada cosa y en dónde está, y la parte financiera se refiere a cuánto cuesta todo eso que tenemos.

En esta parte de la logística debemos tener en cuenta que en Dynamics no es solo un módulo al que se le tienen que meter datos y va a empezar a funcionar por arte de magia, tooooodo lo contrario, es más de un módulo ya que el inventario está relacionado con 8 importantes áreas: clientes, proveedores, planificación maestra, producción, configurador de productos, recursos humanos, proyectos y contabilidad general.

La imagen siguiente ilustra todo lo que acabo de "tratar" de explicar.
(Imagen obtenida de: http://tobalinaconsulting.blogspot.com/2008/10/reduccin-de-costes-en-logstica-coste.html)



Interfaz de Dynamics Ax 2009


Vamos entrando en materia. Si se leyeron el post anterior ya deberían saber a grandes rasgos qué es y qué hace Dynamics. Sino pues les comento rápidamente que Dynamics Ax 2009 es un ERP de Microsoft, para los que no saben: ERP = Enterprise Resource Planning, formalmente "es un conjunto de sistemas de información gerencial que permite la integración de ciertas operaciones de una empresa" y en palabras simples, es un software que 'intenta' manejar todas las áreas de una empresa, desde recursos humanos, contabilidad, inventarios, ventas hasta producción de artículos, planeación, compras, mercadotecnia y todo lo que se les ocurra sobre procesos internos de una empresa.
Así que primero lo primero, les presento a Dynamics Ax.


Para ver esta pantalla su máquina debe tener instalado el cliente de Dynamics Ax. Algunas veces al acceso a Dynamics en algunas empresas lo hacen a través de un escritorio remoto o una máquina virtual, pero aquí se explica el inicio de Dynamics desde el cliente instalado en su máquina. Ya que lo tengan instalado se tiene que dar click en Inicio -> Microsoft Dynamics AX 2009 -> Microsoft Dynamics AX 2009, como se ve a continuación.


Distribución de la pantalla de Dynamics
Tenemos una barra de título que nos muestra la información de: nombre de la aplicación, instancia del espacio de trabajo, nombre de la licencia, nombre del servidor y los clásicos botones de windows para minimizar, maximizar o restaurar y cerrar.


Debajo de la barra de título tenemos la barra de ruta de navegación (en inglés mejor conocida como BCB). Consta de dos partes, los botones de desplazamiento del lado izquierdo, donde podemos ir hacia atrás (para ver una de las 40 páginas visitas durante la sesión actual) y hacia adelante igual que en un explorador de internet.


La otra parte de la BCB es una barra de direcciones que nos dice dónde estamos parados en el sistema, y tres íconos del lado derecho:
  • Ventanas. Para pasar de un formulario a otro de los que hemos dejado abiertos y que no los tenemos visualmente localizados.
  • Ver. Para mostrar o ocultar los distintos módulos que estamos viendo en pantalla, p. ej. ocultar los favoritos o el panel de exploración.
  • Ayuda. Pues eso, la ayuda a nivel conceptual o ayuda para programadores.

Después, debajo de la barra de ruta de navegación, tenemos la barra de herramientas. Nos facilita tareas como el filtrado, la búsqueda de datos, acceso a las alertas y además acceso a una característica de Ax importantísima que se llama 'árbol de objetos de aplicación (AOT)' y a otra que son los proyectos de desarrollo, son los últimos dos botones de esta barra.


Y debajo de la barra de herramientas, está el menú de Dynamics. Contiene submenus que dejan ver funcionalidades que se usan en todo el sistema y es cosa de que se vayan familiarizando con estas opciones.


Después tenemos el panel de exploración, que esta divido en "Mis favoritos", "Lugares", "Formularios" y "Botones de módulo", este panel es totalmente configurable, podemos poner lo que queramos y quitar lo que no nos sea útil.

En la sección de "Mis favoritos" se puede personalizar los vínculos a los que queremos un acceso directo rápido para tener un acceso como en el explorador de windows. En "Lugares" están elementos del menú que hayamos seleccionado, por ejemplo "Gestión de Inventarios" o cualquier otro, en "Formularios" hay una vista en árbol de la estructura del menú que hayamos seleccionado. Y la última parte que son los "Botones de módulo" nos permite tener un acceso rápido a los distintos módulos que maneja Dynamics.

Después viene el famoso panel de contenido, que tiene 3 tipos: áreas de trabajo, páginas de lista y páginas de área. El primer tipo no lo ilustro aquí, pero básicamente es la página de inicio predeterminada de Dynamics. Los otros dos tipos, aquí están:

Pagina De Lista

Pagina De área

Y finalmente!!!! la barra de estado, es la que esta hasta abajo de la interfaz de Dynamics y nos muestra varias cosas como la divisa, la empresa, la fecha y hora, algunos botones, campos y menús que actualmente se están visualizando en el panel de contenido.


Así es, aquí brevemente explicada la interfaz de Dynamics. Hay mas info, sobre como configurar los favoritos, mostrar u ocultar botones del panel de exploración, el uso de las áreas de trabajo y cosas así un tanto visuales, pero les sugiero que se pongan a jugar con la interfaz para que la vayan conociendo, sino nunca se van a familiarizar con ella.

De cualquier forma, si necesitan más info sobre lo que les comento, ustedes solo pidan, ya dependerá de mi si se los mando o no jajaja, pero con pedir no se pierde nada.

jueves, 28 de julio de 2011

Introducción a Dynamics Ax 2009

Esta nota tiene el único objetivo de comentarles que no me voy a meter a poner teoría acerca de qué es dynamics ax 2009. Lo que se busca con este blog es resolver temas específicos de modificaciones al código de Ax, importar y exportar datos, configurar parámetros básicos y necesarios para Ax funcione, tips y trucos.

Sin embargo, como se perfecto que algunos están mas allá del bien y del mal buscando qué demonios es Dynamics Ax porque alguien los contrato con la mentira de que fueran programadores .Net y los aventaron al ruedo con el torito de Ax, pues aquí les dejo un par de links para que se vayan empapando de la teoría.

Blog muy completo sobre temas de desarrollo de Dynamics
http://www.jaestevan.com/microsoft-dynamics-ax-por-donde-empiezo

La wikipedia de Axapta - en ingles (espero que este sea el único link que recomiende en ingles)
http://www.axaptapedia.com

Si necesitan mas links, del lado derecho esta la sección de "Lo que leo..." ahí hay mas info de Ax.

Sobre la recomendación de libros y/o documentos, están:

Inside Microsoft Dynamics® AX 2009 
http://www.microsoft.com/learning/en/us/Book.aspx?ID=13345&Locale=en-us

White Paper de mejores prácticas para el desarrollo en Dynamics Ax 2009
http://www.microsoft.com/download/en/details.aspx?id=23084

Guía de instalación de Dynamics Ax
http://www.microsoft.com/download/en/details.aspx?id=2960

Hay mucho más, pero mejor vamos entrando en materia en los siguientes posteos porque el Dynamics Ax 2012 ya está a la vuelta de la esquina y este blog será obsoleto a fin de año. Igual lo voy a seguir publicando, lo lean o no. Lo considero un pequeño aporte para los lectores que hablamos español y solo hacemos búsquedas en ingles como último recurso. Además, seamos sinceros, las empresas que tienen Dynamics 2009 no van a cambiarlo de un mes a otro por la versión 2012, y por si fuera poco igual se acaba el mundo el 1o de Enero del 2012, no lo digo yo, lo dice Nostradamus y el calendario Maya. :-D



Por último, te invito a que te unas a la página de facebook recién creada para estar al día con las actualizaciones del blog y que podamos tener más comunicación. La meta? es hacer la comunidad de habla hispana mas grande sobre Dynamics Ax en cuestiones de desarrollo.


miércoles, 27 de julio de 2011

Control de versiones Tortoise en 5 pasos

Este tema no lo voy a explicar desde la perspectiva de Dynamics Ax porque es de conocimiento público que el control de versiones de Dynamics no es del todo sencillo y confiable, perooooooooo para nuestro propio control de versiones ya sea que nos hagamos una copia el bloc de notas por cada código creado-modificado en dynamics o si son programadores de algun otro lenguaje igual le servirán estas líneas.

El que yo he usado en múltiples ocasiones y me ha servido de maravilla es el llamado SVN Tortoise (afortunadamente para todos es gratis). No tiene interfaz gráfica pero ni falta que le hace, el control se hace a nivel explorador de windows, los merges los hace bien, lleva el control de comentarios por cada modificación bien, es muy intuitivo para su uso, tiene visibilidad de usuarios que tocan cada archivo (historial) y varias monerías mas.

Así que aquí va el tutorial sencillito en 5 pasos para instalar y usar el control de versiones.
1. Bajar e instalar el archivo de: http://tortoisesvn.net la instalación es muy sencilla, "Next, next, next". Les pide reiniciar la máquina (aunque yo lo he instalado y sin reiniciar me pongo a trabajar sin problemas).
2. Crear una carpeta nueva en el lugar que quieran. Click derecho sobre la carpeta creada y seleccionar "Create repository here...", esta carpeta sirve como fuente o servidora, es la que va a tener los archivos que se van a ir actualizando. No se debe modificar ningún archivo manualmente. Una vez creado manda una ventana de confirmación.
3. Añadir los archivos que quieren tener con control de versiones. Igual sobre la carpeta creada hacer click derecho TortoiseSVN --> Repo-browser.


4. Se abre una ventana indicando la ruta de la nueva carpeta (en este caso: file:///C:/NuevaCarpetaCreada), sobre el nombre dar click derecho, seleccionar "Add folder..." y agregar la carpeta que se quiere tener en control de versiones, si los archivos son muchos tarda unos cuantos segundos. Al finalizar hacer click en "Ok" y listo.

5. Finalmente, si estos archivos se van a compartir en red con varios usuarios, ellos tambien deben tener instalado el Tortoise. Ahora, donde vayan a descargar los archivos que se van a ir modificando y actualizando mediante el control de versiones se posicionan con el explorador de windows y en un espacio en blanco click derecho, opción "Check out...", les aparecera una ventana pidiendo la ruta, la cual debe ser la que pusimos en el paso 4, pero esta vez cambiando C: por la IP y en lugar de tres diagonales, se deben poner dos, p. ej. file://10.1.1.5/NuevaCarpetaCreada


En ese momento les aparecera una ventana indicando todos los archivos que esta copiando y listo!!!!!


Los archivos se modifican como se vaya necesitando y el Tortoise los va a identificar en automatico. La diferencia con un control de versiones grafico es que en este caso no es necesario hacer check out por cada archivo que vayamos a modificar, pero si es necesario realizar un update de version cada vez que se vaya a realizar un commit.

Para ver como manejarlo, esta el manual de Tortoise http://tortoisesvn.net/support.html o tambien esta como referencia un documento en español que creo una empresa española llamada Opentia http://www.opentia.es/docus/guiauso_TortoiseSVN-OPENTIA-20091118.pdf

Bienvenidaaaaaa!!!!

Pues así como dice el título, este blog va a estar dedicado al aprendizaje de Dynamics Ax empezando por la versión 2009 y se ira actualizando. Siiiiii ya se que hay montones de info en internet sobre Dynamics Ax 2009, pero no hay tantos como quisiéramos en español y sobre casos específicos del segmento de logística que es el tema que voy a tratar de abordar poco a poco.
Asi que... pues bienvenidos... o bienvenida yo a mi blog, como sea... empezamos.