Simplificando los JSON en Navision: Creación de Json con DLL

Simplificando los JSON en Navision: Creación de Json con DLL

22 ABR 2024

En este emocionante artículo, exploraremos cómo superar los desafíos de trabajar con JSON en Navision mediante una DLL creada específicamente para facilitar esta tarea. Desde la creación del proyecto en Visual Studio hasta la implementación de funciones esenciales para manipular JSON, cada paso se detalla cuidadosamente para brindar a los programadores de "NaviWorld" una solución eficiente y fácil de usar.

¡Saludos, amantes de la programación en “NaviWorld”! En la búsqueda constante de simplificar tareas en Navision, esta semana nos sumergimos en un terreno que a menudo resulta un laberinto en Navision: los JSON. Crearlos puede ser un desafío, ¡pero no temáis! Estoy aquí para presentaros una DLL que he creado para hacer de esta tarea un paseo en el parque. 😎

Si no sabéis que es una DLL o como crearla os aconsejo revisar primero los siguientes post:

Ejemplo básico crear DLL

Integración DLL a Navision

Venga, ¡Vamos, manos a la obra! 😚

Creación del Proyecto y Librería:
Comenzamos creando un nuevo proyecto en Visual Studio, donde daremos vida a nuestra DLL. Para garantizar un flujo suave, añadimos la librería Newtonsoft a través de NuGet. Esta librería es la aliada perfecta para trabajar con JSON de manera eficiente.

Constructor y Variables Globales:
Dentro de nuestra clase, declaramos las variables globales necesarias y creamos un constructor donde inicializamos algunas de ellas. Esta parte es crucial para preparar el terreno antes de sumergirnos en las funciones específicas.

namespace MgtJson.Class
{
    public class CreateJson
    {
        private JsonTextWriter jsonWriter;
        StringBuilder buldier;
        StringWriter writer;

        public CreateJson()
        {
            buldier = new StringBuilder();
            writer = new StringWriter(buldier);
            jsonWriter = new JsonTextWriter(writer);
            jsonWriter.Formatting = Formatting.Indented;

        }

     }
}

Funciones Esenciales:
Enfrentémonos a las funciones que hacen que esta DLL sea una joya en el mundo de los JSON:

  • ReturnJson(): Devuelve el JSON en formato de texto. Perfecto para obtener el resultado final de nuestro trabajo.
        public String ReturnJSon()
        {
            jsonWriter.Flush();
            string jsonstr = buldier.ToString();
            return jsonstr;
        }
  • AddLine(): Agrega una nueva línea al JSON. Esta función es esencial para construir estructuras más complejas.

        public void AddLine(String tag, String valor)
        {
            jsonWriter.WritePropertyName(tag);
            jsonWriter.WriteValue(valor);
        }
  • InitJson() y EndJson(): Inician y finalizan el JSON. Estos son los cimientos que sostienen todo el proceso.


        public void InitJson()
        {
            jsonWriter.WriteStartObject();
        }

        public void EndJson()
        {
            jsonWriter.WriteEndObject();
        }
  • InitAnidado() y EndAnidado(): Ideales cuando necesitamos crear un JSON dentro de otro. La jerarquía toma forma con estas funciones.

        public void InitAnidado(String tagAnidado)
        {
            if (tagAnidado != "")
            {
                jsonWriter.WritePropertyName(tagAnidado);
            }

            jsonWriter.WriteStartObject();
        }

        public void EndAnidado()
        {
            jsonWriter.WriteEndObject();
        }
  • InitArray() y EndArray(): Imprescindibles para la creación y finalización de arrays dentro de un JSON. A veces, la complejidad está en los detalles.

        public void InitArray(String tagArray)
        {
            if (tagArray != "")
            {
                jsonWriter.WritePropertyName(tagArray);
            }
            jsonWriter.WriteStartArray();
        }

        public void EndArray()
        {
            jsonWriter.WriteEndArray();
        }

Crear JSON puede ser un desafío, pero con la ayuda de esta DLL, estamos dando un paso más cerca de la simplicidad en Navision. Como siempre, el código completo y ejemplos detallados están disponibles en mi repositorio de GitHub.

Espero que esta herramienta os sea tan útil como a mí. ¡Hasta la próxima, programadores de “NaviWorld”! 🚀

Sigue leyendo

Simplificando los JSON en Navision: leer Json con DLL

Simplificando los JSON en Navision: leer Json con DLL

En este fascinante capítulo, nos sumergimos en la creación de una clase dedicada a la lectura de JSON. Después de sentar las bases con DLLs básicas y explorar su ejecución en Navision, abordamos el desafío de los JSON en versiones previas a 2018 de Navision. Desde la extracción de valores específicos hasta la manipulación de JSONs anidados, cada función creada en esta DLL es una herramienta esencial para simplificar la lectura de JSON.

29 abr 2024
C#DllVisual Studio
Leer más
Desbloqueando el Potencial de Navision: Creando DLLs Personalizadas con C# y Visual Studio

Desbloqueando el Potencial de Navision: Creando DLLs Personalizadas con C# y Visual Studio

En este emocionante viaje por el universo de Navision, descubriremos cómo superar las limitaciones mediante la creación y empaquetado de DLLs personalizadas con C# y Visual Studio. En esta primera entrega, exploramos los pasos esenciales para configurar el proyecto, desde la elección del Framework hasta la firma de nuestra DLL. Además, proporcionamos consejos prácticos y destacamos la importancia de la personalización en entornos empresariales.

1 abr 2024
C#DllVisual Studio
Leer más
Simplificando los JSON en Navision: ¡Empaqueta tus DLLs en una única y Ejecuta en Navision sin Complicaciones!

Simplificando los JSON en Navision: ¡Empaqueta tus DLLs en una única y Ejecuta en Navision sin Complicaciones!

A lo largo de mi travesía simplificando la programación en NaviWorld, hemos explorado la creación y ejecución de clases para gestionar Json en Navision. En este último episodio, abordamos el desafío de gestionar múltiples DLLs al desplegar extensiones en Navision. Además, descubre cómo ejecutar estas DLLs eficientemente en un entorno de CAL

6 may 2024
DllJsonNavision
Leer más
Copyright © 2026·Política privacidad