[AX 2012 R3 - How To] Convertir un tipo genérico a un tipo específico

marzo 30, 2017 , 0 Comentarios

Muchas veces tenemos la necesidad de utilizar una variable genérica al momento de colocarlo como parámetro de manera que al utilizarlo podamos convertirlo al tipo de dato necesario para la ejecución de la aplicación/rutina con la que estamos trabajando.

En esta entrada voy a poner como ejemplo el uso de tablas para poder realizar una determinada acción.

En este caso, vamos a recibir como parámetro el tipo de dato Common y dentro del método vamos a convertir en la tabla CustTable o VendTable según sea necesario.

Dejá tu comentario

[AX 2012 R3 - How To] Crear un diario de factura con X++

marzo 23, 2017 , 0 Comentarios

En esta entrada mostraré cómo crear un diario de factura con X++, no es muy complicado pero debemos tener en cuenta una cierta cantidad de puntos para poder hacerlo de manera correcta. El código incluye comentarios.

Dejá tu comentario

[Visual Studio 2017] Instalación sin conexión

marzo 21, 2017 , 0 Comentarios

Hoy en día el instalador de Visual Studio 2017 sólo está disponible para ser instalado desde la web. Es por eso que aquí dejo este enlace a la documentación oficial de Microsoft que habla al respecto.

Lo que complica un poco la existencia es el tema del Android SDK que sí o sí necesita conexión a internet.

Crear una instalación sin conexión de Visual Studio 2017.

Dejá tu comentario

[AX 2012 R3 - How To] Utilizar el objeto RecordInsertList

marzo 16, 2017 , 0 Comentarios

La clase RecordInsertList consiste en una lista de elementos (objetos previamente tratados) el cual permite insertar valores de una lista directamente a la base de datos, realizando esta tarea en una sola llamada sin realizar varios viajes.

Generalmente, vamos realizando algún cambio en un registro y ya lo actualizamos en la base de datos. Si son pocos registros, no hay drama. Pero si hablamos de miles de registros la performance se ve afectada. Donde más útil resulta esta clase es en los reportes.

Forma normal

void probarMetodo(RecId _recId, str _algunParametro) 
{ 
    TableTemp tabla, nuevaTabla;  
 
    while select tabla 
          where tabla.RecId == _recId 
    { 
        nuevaTabla.data(tabla); 
        nuevaTabla.CampoX = _algunParametro; 
        //Llama N veces al metodo insertar. Por cada registro inserta en base de datos.
        nuevaTabla.insert(); 
    } 
}

Utilizando la clase

void probarMetodo(RecId _recId, str _algunParametro) 
{ 
    RecordInsertList tempLista; 
    TableTemp tabla, nuevaTabla; 
 
    tempLista = new RecordInsertList(tableNum(TableTemp)); 
 
    while select tabla 
          where tabla.RecId == _recId 
    { 
        nuevaTabla.data(tabla); 
        nuevaTabla.CampoX = _algunParametro; 
        //Agrega el nuevo registro a la lista.
        tempLista.add(nuevaTabla); 
    } 
    //Inserta toda la lista en la base de datos. Bulk insert.
    tempLista.insertDatabase(); 
}

Dejá tu comentario

[AngularJs - How To] AngularJs con Visual Studio Code

Quiero compartir con ustedes este video sobre la preparación del entorno de desarrollo para AngularJs con Visual Studio Code.

Dejá tu comentario

[AX 2012 R3 - How To] Reactivar Windows en máquinas virtuales para Demos

marzo 09, 2017 0 Comentarios

Cuando tenemos acceso al Partner Source de Microsoft, podemos descargar las máquinas virtuales para demos que se encuentra disponible en dicho sitio web.

Pero al culminar 180 días nos encontramos con la noticias de que nuestra licencia está vencida y ya no lo podemos utilizar.

Es ahí donde aparece esta opción de reactivar Windows para seguir utilizándolo por otros 180 días.

Dejá tu comentario

[NET Core - How To] Instalar ASP.NET Core con Visual Studio Code

marzo 07, 2017 , , 0 Comentarios

En esta entrada mostraré como instalar ASP.NET Core y poder utilizarlo con Visual Studio Code.
.NET Core es una versión modular de .NET Framework diseñada para que sea portátil entre plataformas, a fin de permitir la reutilización del código al máximo y su uso compartido. Además, .NET Core es de código abierto y acepta las contribuciones de la comunidad.

Prerrequisitos

  • Visual Studio Code.
  • .NET Core SDK.

Dejá tu comentario

[Dynamics AX] Ciclo de Vida de productos

marzo 02, 2017 0 Comentarios

Uno de los principales problemas que escucho por aquí a la hora de realizar una propuesta comercial es el tema relacionado al soporte de un determinado producto.

Así que, en esta entrada, voy a salir del tema principal del blog que es desarrollo para explicar un poco sobre el ciclo de vida del producto Microsoft Dynamics Ax.
Esta información se encuentra disponible oficialmente en el sitio de Microsoft, pero me parece oportuno publicarlo aquí pues en dicho sitio la información no se encuentra agrupada.

Dejá tu comentario

[UWP - How To] Crear formularios de Login y Registro

febrero 28, 2017 , , , 0 Comentarios

Con UWP estamos hablando de un proyecto que puede ejecutarse en múltiples plataformas, por lo tanto, siempre es conveniente tener preparados estos formularios.

En este ejemplo, me baso en lo referente a los formularios y la navegación entre ellos. En este caso no se va a conectar a ninguna base de datos. Haremos hard coding de los accesos a modo de captar la idea.

Dejá tu comentario

[AX 2012 R3 - How To] Administrar excepciones desde X++

febrero 23, 2017 , 0 Comentarios

En AX, las excepciones funcionan de igual manera que en cualquier lenguaje de programación. Lo que deseo demostrar aquí es un bloque de excepciones completo desde X++ y otro que también pueda administrar errores que se producen en una librería DLL.

Dejá tu comentario

[How To] Serializador anidado utilizando la clase XmlSerializer

febrero 21, 2017 , , 0 Comentarios

En esta ocasión, nos basaremos en la entrada publicada la semana pasada aquí.

En esta ocasión necesitamos obtener un XML anidado con varios elementos y sus respectivos atributos:
?<?xml version="1.0" encoding="utf-8"?>
<ejemplo>
  <padre>
    <hijo Atributo1="" otroatributo="soy otro atributo">
      <Codigo>0</Codigo>
      <Texto />
      <Fecha>2017-02-24T14:30:05.2897119-03:00</Fecha>
    </hijo>
  </padre>
</ejemplo>

Dejá tu comentario

[AX 2012 R3 - How To] Index versus Index Hint

febrero 16, 2017 , 0 Comentarios

Debido a este punto he tenido algunas discusiones con mis colegas debido a las diferencias que existen entre estas cláusulas.

Dejá tu comentario

[How To] Simple serializador utilizando la clase XmlSerializer

febrero 14, 2017 , , 0 Comentarios

En ocasiones es necesario que nuestras clases puedan verse como archivos XML estructurados, lo primero que se nos viene a la cabeza es que necesitamos armar todo un conjunto de reglas para poder ajustar los detalles según sean necesarios.

Vamos a colocar un escenario común de complejidad media. Digamos que tenemos un servicio Web en Java el cual necesita un XML formateado según las especificaciones de éste. El archivo XML que el servicio Web Java necesita es como sigue:
?<?xml version="1.0" encoding="utf-8"?>
<ejemplo Atributo1="" otroatributo="soy otro atributo">
    <Codigo>0</Codigo>
    <Texto />
    <Fecha>2017-02-14T21:25:39.4120419-03:00</Fecha>
</ejemplo>
Entonces lo que debemos hacer es utilizar la clase XmlSerializer, para poder convertir nuestra clase en un archivo XML según la necesidad o bien convertir de XML a un objeto que hayamos creado.

Dejá tu comentario

[AX 2012 R3 - How To] Importar/exportar proyectos en AOT

febrero 09, 2017 , 0 Comentarios

En esta entrada intentaré explicar cómo importar/exportar proyectos privados/compartidos en Microsoft Dynamics AX 2012 R3.

Cómo el título indica vamos a exportar (desde AX hacia el sistema de archivos del sistema) un proyecto de prueba. Una vez realizada la exportación, procederemos a importar el mismo en el AOT, demostrando cómo cumplir con el objetivo de esta entrada.

Exportar proyecto

Dentro del proyecto, hacemos clic derecho sobre el proyecto y seleccionamos "Exportar":
1

Luego seleccionamos la ruta donde vamos a exportar y seleccionamos los elementos a exportar:
2

Una vez terminado, hacemos clic en el botón "Aceptar" y la exportación estará lista en segundos/minutos dependiendo del contenido del mismo.

Importar proyecto

El proceso de importación es más simple aún. Se puede realizarlo desde el AOT haciendo clic en el ícono correspondiente. Marcamos la opción de "obtener objetos de aplicación y etiquetas":
3

Hacemos clic en "Aceptar" y la importación estaría correcta.

Generalmente, hay elementos que ya existen y el sistema pregunta si deseamos sobreescribir elementos. También, se compila el proyecto importado. Si hay errores debemos corregirlos luego de la importación.

Conclusión

De manera muy sencilla y en pocos pasos logramos realizar las dos tareas con el menor esfuerzo posible. Se debe tener en cuenta que si importamos en una misma capa todos los cambios existentes en dicha capa serán sobreescritos.

Dejá tu comentario

[How To] Convertir una aplicación WPF a UWP

febrero 07, 2017 , , , 0 Comentarios

En el sitio oficial de MSDN se encuentra una documentación perfecta sobre este tema, así que la intención de esta entrada es tener ordenada dicha información.

Dejá tu comentario

[AX 2012 R3 - How To] Implementar todos los reportes SSRS

febrero 02, 2017 , 0 Comentarios

Muchas veces queremos implementar todos los reportes de una vez. Se complica un poco, si no tenemos la herramienta correcta para realizar dicha tarea.

Básicamente se realiza la tarea ejecutando una línea de comandos desde el powershell de Microsoft Dynamics AX.

A modo de introducción podemos decir que existen unas cuantas formas de implementar un reporte en el servidor de informes (SSRS - SQL Server Reporting Services). Aquí trataremos los 3 más utilizados y necesarios.

Dejá tu comentario

[UWP - How To] Agregar Pantalla de Bienvenida

enero 31, 2017 , , , , 0 Comentarios

Cuando iniciamos una aplicación universal (UWP) siempre vemos alguna pantalla inicial que nos introduce a la aplicación. Si es un juego, veremos algo bastante llamativo lleno de color y otros encantos.

Si se trata de una aplicación generalmente veremos el logo de la misma.
A esto de llamamos Splash Screen. Cuando creamos un proyecto nuevo vemos una enorme cruz (X) que cruza toda la pantalla. 1

Dejá tu comentario

[AX 2012 R3 - How To] Compilación CIL Completa

enero 26, 2017 , 0 Comentarios

Esta tarea tiene estrecha relación con el .NET Framework, donde la idea central es compilar el código de Dynamics AX a CIL (Common Intermediate Language) que el .NET Framework pueda utilizar.
Generalmente es necesaria la compilación CIL para los siguientes escenarios:
  • * Servicios AIF.
  • * Trabajos por lotes.
  • * Funciones .NET que reemplazan a funciones del X++.

Dejá tu comentario

[UWP - How To] AppBar

enero 24, 2017 , , , , 0 Comentarios

Según el MSDN, AppBar...
Las barras de comandos (también conocidas como "barras de la aplicación (AppBar)") proporcionan a los usuarios acceso fácil a las tareas más comunes de tu aplicación y se pueden usar para mostrar comandos u opciones que son específicos del contexto del usuario, como la selección de fotos o el modo de dibujo. También se pueden usar para ir de una página o de una sección de la aplicación a otra. Las barras de comandos se pueden usar con cualquier patrón de navegación.

Dejá tu comentario

[AX 2012 R3 - How To] Error TTS (Transaction Tracking)

enero 19, 2017 , 0 Comentarios

Este tipo de errores nos aparecen cuando intentamos insertar, modificar o eliminar datos de una tabla.
Pues involucra a las transacciones realizadas en ellas.

El error (en inglés, para este caso) se puede visualizar de la siguiente manera: 1

Dejá tu comentario

[UWP - How To] Apagar Contador de fotogramas (Frame Counter)

enero 19, 2017 , , , 0 Comentarios

Cuando estamos trabajando con aplicaciones universales, inclusive aplicaciones WPF, vemos que aparecen dos grupos de números de tres cifras en el ángulo superior izquierdo de nuestra ventana principal. Es ahí donde nos preguntamos ¿Qué es esto? ¡Que molestoso!

En realidad, es una herramienta bastante útil pero innecesaria en a mayoría de los casos donde no nos interesa la performance y/o interfaz de usuario. A esto se lo llama Frame Counter, el cual indica la velocidad de fotogramas y la información de uso de CPU por el marco actual.

Dejá tu comentario

Microsoft MVP 2017

enero 02, 2017 0 Comentarios

Empecé el año 2017 con este correo desde Microsoft:
Estimado/a Christian, Una vez más nos complace enormemente otorgarle del premio 2017 Microsoft Most Valuable Professional (MVP). Este galardón se concede a los líderes excepcionales de la comunidad técnica que, con su compromiso ejemplar, comparten con los demás su extraordinaria pasión, sus conocimientos técnicos y la experiencia en el uso de la tecnología. Agradecemos la destacada contribución que ha realizado a las comunidades técnicas de Business Solutions y Windows Development durante el año pasado. El premio Microsoft MVP nos brinda la oportunidad única de celebrar y honrar sus importantes aportaciones y de decirle "gracias" por su liderazgo técnico. Como muestra de nuestro agradecimiento, le hemos enviado un paquete de regalo con su premio MVP. Durante los próximos 5 días laborables recibirá una notificación que contendrá la información de envío y número de seguimiento del paquete de regalo con su premio MVP. Una vez más, ¡enhorabuena por ese premio MVP!
Gracias a todas las personas que han colaborado conmigo y nos seguiremos viendo por aquí.

Dejá tu comentario