Snippets para las principales peticiones del Xrm.WebApi

Nueva colección de snippets para desarrollar en Dynamics 365. En esta ocasión toda la gama de las principales peticiones empleadas en la API de JavaScript. Estas son:

  • Create
  • Delete
  • Execute Multiple
  • Execute
  • Is Available Offline
  • Retrieve Multiple
  • Retrieve
  • Update

¿Cómo son?

Estas peticiones corresponden a las operaciones CRUD más el Execute (con su versión múltiple) y una consulta sobre la disponibilidad offline de la entidad. Todas se encuentran dentro del espacio de nombre de la WebApi.

Mencionar que las operaciones Execute se organizan dentro del sub-espacio de nombres Xrm.WebApi.online mientras la función isAvailableOffline dentro de Xrm.WebApi.offline.

Aquí están las estructuras de cada una de las request.

Dynamics 365 API Create Request
Xrm.WebApi.createRecord(entityLogicalName, data).then(
    function success(result) {
        // Perform operations on record creation.
    },
    function (error) {
        console.log(error.message);
        // Handle error conditions.
    }
);
Dynamics 365 API Delete Request
Xrm.WebApi.deleteRecord(entityLogicalName, id).then(
    function success(result) {
        console.log("Record deleted");
        // Perform operations on record deletion.
    },
    function (error) {
        console.log(error.message);
        // Handle error conditions.
    }
);
Dynamics 365 API Execute Multiple Request

Comentar que el parámetro de entrada request debe corresponder a un array de peticiones. Es decir, objetos.

Xrm.WebApi.online.executeMultiple(requests).then(
    function success(result) {
        if (result.ok) {
            // Perform additional operations.
        }
    },
    function (error) {
        console.log(error.message);
        // Handle error conditions.
    }
);
Dynamics 365 API Execute Request

Aquí el parámetro request es el objeto de la petición a ejecutar. Hay que tener en cuenta cómo construir el mismo.

Xrm.WebApi.online.execute(request).then(
    function success(result) {
        if (result.ok) {
            // Perform other operations as required.
        }
    },
    function (error) {
        console.log(error.message);
        // Handle error conditions.
    }
);
Dynamics 365 API Is Available Offline Request

La más sencilla. Recuerda que devuelve solamente un booleano.

Xrm.WebApi.offline.isAvailableOffline(entityLogicalName);
Dynamics 365 API Retrieve Multiple Request
Xrm.WebApi.retrieveMultipleRecords(entityLogicalName, options, maxPageSize).then(
    function success(result) {
        for (var i = 0; i < result.entities.length; i++) {
            console.log(result.entities[i]);
        }
        // Perform additional operations on retrieved records.
    },
    function (error) {
        console.log(error.message);
        // Handle error conditions.
    }
);
Dynamics 365 API Retrieve Request
Xrm.WebApi.retrieveRecord(entityLogicalName, id, options).then(
    function success(result) {
        // Perform operations on record retrieval.
    },
    function (error) {
        console.log(error.message);
        // Handle error conditions.
    }
);
Dynamics 365 API Update Request
Xrm.WebApi.updateRecord(entityLogicalName, id, data).then(
    function success(result) {
        console.log("Record updated");
        // Perform additional operations on record update.
    },
    function (error) {
        console.log(error.message);
        // Handle error conditions.
    }
);

¿Cómo se instalan?

Se instalan de la misma manera que los snippets en otros lenguajes. Esto es:

  1. Importándolas mediante el gestor de snippets de Visual Studio (Ctrl+K; Ctrl+B)
  2. Llevando los archivos a la carpeta personal de snippets (%userprofile%\Documents\Visual Studio 2019\Code Snippets\Visual C#\My Code Snippets)

Vía carpeta, ten en cuenta que puedes también crear tu propia carpeta (v.g. “Dynamics 365”), añadirla mediante el gestor de snippets y así Visual Studio lo reconocerá. Así tendrás mejor organizado tus piezas de código.

¿Cómo se declaran?

Una vez importados, existen dos maneras de declararlos:

  • Shortcut Ctrl+K;Ctrl+X. Llama a la librería de snippets; buscar la carpeta de los personalizados; seleccionar el deseado y lo seleccionas.
Declaración por atajo de la biblioteca de snippets
  • Utilizar los shortcuts de los propios snippets. Estos son:
    • dyacrq + dos veces a tabulación para declarar el snippet del create
    • dyadrq + dos veces a tabulación para declarar el snippet del delete
    • dyaemrq + dos veces a tabulación para declarar el snippet del execute multiple
    • dyaerq + dos veces a tabulación para declarar el snippet del execute
    • dyaiarq + dos veces a tabulación para declarar el snippet del is available
    • dyamrq + dos veces a tabulación para declarar el snippet del retrieve multiple
    • dyarrq + dos veces a tabulación para declarar el snippet del retrieve
    • dyaurq + dos veces a tabulación para declarar el snippet del update
Declaración por atajo de los snippets

Una manera más fácil de trabajar a la hora de tener que construir nuevas peticiones. En este link uede descargarte los archivos y tienes dos formas de importarlos:

  • Uno a uno, importando cada uno de los snippets que necesites
  • Todos de una vez, mediante la importación del snippet Dynamics 365 API All Main Request

¡Buen desarrollo!

Leave a comment