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:
- Importándolas mediante el gestor de snippets de Visual Studio (Ctrl+K; Ctrl+B)
- 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.

- 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

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!