dynamics-crm · microsoft dynamics crm 2016 introducción microsoft dynamics crm ha evolucionado...

24
dynamics-crm #dynamics- crm

Upload: others

Post on 22-May-2020

78 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: dynamics-crm · Microsoft Dynamics CRM 2016 Introducción Microsoft Dynamics CRM ha evolucionado drásticamente en los últimos años. Se han lanzado muchas actualizaciones y versiones,

dynamics-crm

#dynamics-

crm

Page 2: dynamics-crm · Microsoft Dynamics CRM 2016 Introducción Microsoft Dynamics CRM ha evolucionado drásticamente en los últimos años. Se han lanzado muchas actualizaciones y versiones,

Tabla de contenido

Acerca de 1

Capítulo 1: Empezando con la dinámica-crm 2

Observaciones 2

Versiones 2

Examples 2

Descargar Microsoft CRM SDK 2

Capítulo 2: Acciones de llamada utilizando la API web 3

Introducción 3

Examples 3

Acciones de llamada utilizando la API web 3

Capítulo 3: API web publica ejemplos de JSON 6

Observaciones 6

Examples 6

Creando una nota / anotación con adjunto 6

Creando una cuenta 6

Creando un contacto con un cliente padre 6

Creación de un detalle de cotización 7

Capítulo 4: CRM 2013: Cómo ocultar tipos de actividad no deseados de la subcuadrícula 8

Introducción 8

Examples 8

Añadir esta función a un recurso web javascript 8

Capítulo 5: Error: TurboForms Xrm.Page.data.save (). Then () Errores con ErrorCode "Null", 11

Examples 11

onChange () Llama a save (), desde un campo que no es válido 11

Pasos para reproducir (Turbo Forms, CRM 2015.1, -> CRM 2016.2) 11

Soluciones conocidas: 12

Capítulo 6: Qué no hacer al actualizar su Microsoft Dynamics CRM 2016 13

Introducción 13

Examples 13

Veamos algunos elementos obligatorios para marcar antes de sumergirse en un proceso de act 13

Page 3: dynamics-crm · Microsoft Dynamics CRM 2016 Introducción Microsoft Dynamics CRM ha evolucionado drásticamente en los últimos años. Se han lanzado muchas actualizaciones y versiones,

¿Los beneficios de la actualización superan los dolores de cabeza? ¿Vale la pena una actua 14

Capítulo 7: Usando la API web con jQuery 19

Examples 19

Usando la opción verbosa para obtener el conjunto de opciones y los valores de búsqueda 19

Usando select para reducir el número de campos 19

Usando expandir para obtener propiedades de búsqueda 19

Obteniendo cuentas 20

Usando el filtro para filtrar su consulta API 20

Creditos 21

Page 4: dynamics-crm · Microsoft Dynamics CRM 2016 Introducción Microsoft Dynamics CRM ha evolucionado drásticamente en los últimos años. Se han lanzado muchas actualizaciones y versiones,

Acerca de

You can share this PDF with anyone you feel could benefit from it, downloaded the latest version from: dynamics-crm

It is an unofficial and free dynamics-crm ebook created for educational purposes. All the content is extracted from Stack Overflow Documentation, which is written by many hardworking individuals at Stack Overflow. It is neither affiliated with Stack Overflow nor official dynamics-crm.

The content is released under Creative Commons BY-SA, and the list of contributors to each chapter are provided in the credits section at the end of this book. Images may be copyright of their respective owners unless otherwise specified. All trademarks and registered trademarks are the property of their respective company owners.

Use the content presented in this book at your own risk; it is not guaranteed to be correct nor accurate, please send your feedback and corrections to [email protected]

https://riptutorial.com/es/home 1

Page 5: dynamics-crm · Microsoft Dynamics CRM 2016 Introducción Microsoft Dynamics CRM ha evolucionado drásticamente en los últimos años. Se han lanzado muchas actualizaciones y versiones,

Capítulo 1: Empezando con la dinámica-crm

Observaciones

Microsoft Dynamics CRM SDK permite a los desarrolladores extender el producto Microsoft Dynamics CRM, agregar nuevas funcionalidades y cumplir con los requisitos.

El SDK le permite operar y comunicarse con la plataforma mediante programación a través de mensajes de servicio web, así como agregar componentes de código personalizados como complementos, flujos de trabajo personalizados y acciones personalizadas.

Microsoft Dynamics CRM proporciona una biblioteca de SDK de JavaScript llamada Xrm en el lado del cliente, que permite ampliar la experiencia y la interfaz del usuario.

Versiones

VersiónVersión SDK

Enlace de descarga

Notas de la versión de enlace

Fecha de lanzamiento

1.0 1.0 2003-01-01

3.0 3.0 2005-12-01

4.0 4.0 Descargar Notas 2007-12-01

2011 5.0 Descargar Notas 2011-02-01

2013 6.0 Descargar Notas 2013-11-01

2015 7.0 Descargar Notas 2014-11-01

2016 (365)

8.0 Descargar Notas 2015-11-01

Examples

Descargar Microsoft CRM SDK

El último SDK se puede descargar aquí

Las últimas bibliotecas de SDK también están disponibles en NuGet bajo la cuenta crmsdk oficial de Microsoft

Lea Empezando con la dinámica-crm en línea: https://riptutorial.com/es/dynamics-crm/topic/1112/empezando-con-la-dinamica-crm

https://riptutorial.com/es/home 2

Page 6: dynamics-crm · Microsoft Dynamics CRM 2016 Introducción Microsoft Dynamics CRM ha evolucionado drásticamente en los últimos años. Se han lanzado muchas actualizaciones y versiones,

Capítulo 2: Acciones de llamada utilizando la API web

Introducción

Ejemplos de cómo llamar acciones unidas y no unidas.

Tenga en cuenta que en una función enlazada, el nombre completo de la función incluye el espacio de nombres Microsoft.Dynamics.CRM. Las funciones que no están vinculadas no deben usar el nombre completo.

Examples

Acciones de llamada utilizando la API web

function exampleCloseIncident(id, status){ var parameters = {}; var incidentresolution = {}; incidentresolution["[email protected]"] = "/incidents(" + id + ")"; incidentresolution["@odata.type"] = "Microsoft.Dynamics.CRM.incidentresolution"; parameters.IncidentResolution = incidentresolution; parameters.Status = status; callUnboundAction("CloseIncident", parameters, true, function(result){ Xrm.Utility.alertDialog("Incident closed"); }); } function exampleQualifyLead(id){ var payload = { "CreateAccount": createAccount, "CreateContact": createContact, "CreateOpportunity": false, "Status":3 }; callBoundAction("leads", id, "Microsoft.Dynamics.CRM.QualifyLead", payload, true, function(result){ Xrm.Utility.alertDialog("Lead qualified"); }); } function callUnboundAction(actionname, payload, async, successCallback, errorCallback) { var req = new XMLHttpRequest(); req.open("POST", encodeURI(getWebAPIPath() + actionname), async); req.setRequestHeader("OData-MaxVersion", "4.0"); req.setRequestHeader("OData-Version", "4.0"); req.setRequestHeader("Accept", "application/json"); req.setRequestHeader("Content-Type", "application/json; charset=utf-8"); req.onreadystatechange = function () { if (this.readyState === 4) { req.onreadystatechange = null;

https://riptutorial.com/es/home 3

Page 7: dynamics-crm · Microsoft Dynamics CRM 2016 Introducción Microsoft Dynamics CRM ha evolucionado drásticamente en los últimos años. Se han lanzado muchas actualizaciones y versiones,

if (this.status == 200 || this.status == 204) { if (this.status == 200) { var result = JSON.parse(this.response); } if (successCallback) { successCallback(result); } } else { if(errorCallback) { errorCallback(this); } else{ Xrm.Utility.alertDialog(this.statusText); } } } }; if (payload) { req.send(JSON.stringify(payload)); } else { req.send(); } } function callBoundAction(entitysetname, id, actionname, payload, async, successCallback, errorCallback) { var req = new XMLHttpRequest(); req.open("POST", encodeURI(getWebAPIPath() + entitysetname + "(" + id + ")/" + actionname), async); req.setRequestHeader("OData-MaxVersion", "4.0"); req.setRequestHeader("OData-Version", "4.0"); req.setRequestHeader("Accept", "application/json"); req.setRequestHeader("Content-Type", "application/json; charset=utf-8"); req.onreadystatechange = function () { if (this.readyState === 4) { req.onreadystatechange = null; if (this.status == 200 || this.status == 204) { if (this.status == 200) { var result = JSON.parse(this.response); } if (successCallback) { successCallback(result); } } else { if(errorCallback) { errorCallback(this); } else{ Xrm.Utility.alertDialog(this.statusText); } } } }; if (payload) {

https://riptutorial.com/es/home 4

Page 8: dynamics-crm · Microsoft Dynamics CRM 2016 Introducción Microsoft Dynamics CRM ha evolucionado drásticamente en los últimos años. Se han lanzado muchas actualizaciones y versiones,

req.send(JSON.stringify(payload)); } else { req.send(); } } function getClientUrl() { //Get the organization URL if (typeof GetGlobalContext == "function" && typeof GetGlobalContext().getClientUrl == "function") { return GetGlobalContext().getClientUrl(); } else { //If GetGlobalContext is not defined check for Xrm.Page.context; if (typeof Xrm != "undefined" && typeof Xrm.Page != "undefined" && typeof Xrm.Page.context != "undefined" && typeof Xrm.Page.context.getClientUrl == "function") { try { return Xrm.Page.context.getClientUrl(); } catch (e) { throw new Error("Xrm.Page.context.getClientUrl is not available."); } } else { throw new Error("Context is not available."); } } } function getWebAPIPath() { return getClientUrl() + "/api/data/v8.2/"; }

Lea Acciones de llamada utilizando la API web en línea: https://riptutorial.com/es/dynamics-crm/topic/9607/acciones-de-llamada-utilizando-la-api-web

https://riptutorial.com/es/home 5

Page 9: dynamics-crm · Microsoft Dynamics CRM 2016 Introducción Microsoft Dynamics CRM ha evolucionado drásticamente en los últimos años. Se han lanzado muchas actualizaciones y versiones,

Capítulo 3: API web publica ejemplos de JSON

Observaciones

Asegúrese de agregar el siguiente encabezado a la solicitud posterior. De lo contrario la solicitud fallará:

Content-Type: application/json

Examples

Creando una nota / anotación con adjunto

url: /api/data/v8.0/annotations

json:

{ "isdocument": true, "mimetype": "text/plain", "documentbody": "dGVzdA==", "[email protected]" : "/accounts(c6da77b6-d53e-e611-80b9-0050568a6c2d)", "filename": "test.txt" }

Como el objectid puede ser casi todas las entidades en CRM, debe definir la entidad con el nombre de la entidad después del objectid.

Creando una cuenta

url: /api/data/v8.0/accounts

json:

{ "name" : "New account" }

Creando un contacto con un cliente padre

url: /api/data/v8.0/contacts

json:

https://riptutorial.com/es/home 6

Page 10: dynamics-crm · Microsoft Dynamics CRM 2016 Introducción Microsoft Dynamics CRM ha evolucionado drásticamente en los últimos años. Se han lanzado muchas actualizaciones y versiones,

{ "firstname" : "New", "lastname" : "Contact", "[email protected]" : "/accounts(c6da77b6-d53e-e611-80b9-0050568a6c2d)" }

Como parentcustomerid puede ser una cuenta o contacto, debe definir el tipo de entidad que desea establecer con _entityname después de parentcustomerid.

Creación de un detalle de cotización

url: /api/data/v8.0/quotedetails

json:

{ "[email protected]": "/products(11c0dbad-91df-e311-b8e5-6c3be5a8b200)", "[email protected]" : "/quotes(69b5e1ae-037f-e611-80ed-fc15b428dcdc)", "[email protected]" : "/uoms(73a5daea-6ddc-e311-a678-6c3be5a8c0e8)", "quantity": 1 }

Lea API web publica ejemplos de JSON en línea: https://riptutorial.com/es/dynamics-crm/topic/6367/api-web-publica-ejemplos-de-json

https://riptutorial.com/es/home 7

Page 11: dynamics-crm · Microsoft Dynamics CRM 2016 Introducción Microsoft Dynamics CRM ha evolucionado drásticamente en los últimos años. Se han lanzado muchas actualizaciones y versiones,

Capítulo 4: CRM 2013: Cómo ocultar tipos de actividad no deseados de la subcuadrícula

Introducción

Hace poco tuve que modificar la subcuadrícula de actividad para eliminar ciertos tipos de actividad del menú Agregar actividad.

Tenga en cuenta que esto puede no ser un método compatible sobre cómo hacer esto, pero no hay una forma documentada de hacerlo, así que tuve que encontrar una solución y esto funcionó en CRM 2013 de todos modos.

Examples

Añadir esta función a un recurso web javascript

var _activitiesGridName = ''; function SetupActivityGridOnload(gridName) { var btnsToHide = [ 'AddserviceappointmentButton', 'AddcampaignresponseButton', 'AddappointmentButton' ]; _activitiesGridName = gridName; setTimeout(function () { //setting timeout beacuse subgid take some time to load after the form is loaded if (Xrm.Page != null && Xrm.Page != undefined) { //validating to check if the sub grid is present on the form var grid = Xrm.Page.getControl(_activitiesGridName); if (!grid) { // grid not loaded yet - call function again to recheck after timeout console.log('grid not loaded yet'); SetupActivityGridOnload(_activitiesGridName); } else { // grid loaded now hide unwanted activity buttons var menuItem = null; var parentMenu = null; $.each(btnsToHide, function (i, val) { menuItem = document.getElementByIdval); if (menuItem) { if (parentMenu == null) { // load parent node - if not already loaded parentMenu = menuItem.parentNode; } console.log('removing menu item: ' + val); parentMenu.removeChild(menuItem); }

https://riptutorial.com/es/home 8

Page 12: dynamics-crm · Microsoft Dynamics CRM 2016 Introducción Microsoft Dynamics CRM ha evolucionado drásticamente en los últimos años. Se han lanzado muchas actualizaciones y versiones,

else { console.log('menu not found: ' + val); } }); } } }, 2000); }

Luego, llame a la función desde el evento onload agregando el nombre de la cuadrícula como un parámetro similar.

https://riptutorial.com/es/home 9

Page 13: dynamics-crm · Microsoft Dynamics CRM 2016 Introducción Microsoft Dynamics CRM ha evolucionado drásticamente en los últimos años. Se han lanzado muchas actualizaciones y versiones,

Lea CRM 2013: Cómo ocultar tipos de actividad no deseados de la subcuadrícula en línea: https://riptutorial.com/es/dynamics-crm/topic/9836/crm-2013--como-ocultar-tipos-de-actividad-no-deseados-de-la-subcuadricula

https://riptutorial.com/es/home 10

Page 14: dynamics-crm · Microsoft Dynamics CRM 2016 Introducción Microsoft Dynamics CRM ha evolucionado drásticamente en los últimos años. Se han lanzado muchas actualizaciones y versiones,

Capítulo 5: Error: TurboForms Xrm.Page.data.save (). Then () Errores con ErrorCode "Null", Mensaje "Undefined"

Examples

onChange () Llama a save (), desde un campo que no es válido

Pasos para reproducir (Turbo Forms, CRM 2015.1, -> CRM 2016.2)

El formulario (con o sin otros campos obligatorios) tiene un campo que está vacío y es obligatorio.

1.

Pierda el foco en el campo vacío ("título" en este ejemplo), esto activa el icono de notificación de campo:

2.

Conecte el controlador de cambio en el campo vacío para guardar llamada:3.

function forceSaveOnChangeOfTitle(){ Xrm.Page.data.save().then(

https://riptutorial.com/es/home 11

Page 15: dynamics-crm · Microsoft Dynamics CRM 2016 Introducción Microsoft Dynamics CRM ha evolucionado drásticamente en los últimos años. Se han lanzado muchas actualizaciones y versiones,

function () {}, function (error, message) {console.error("Error: " + error + " Message: " + message);} ); }

Introduzca un valor en el campo vacío.4.

Resultado:

Guardar falla Devuelve la llamada al fallo con el número de error "null" y el mensaje "undefined".

La Notificación de campo desaparece, pero el mensaje requerido todavía se muestra en la

parte inferior derecha:

Soluciones conocidas:

Establecer el valor del atributo a sí mismo:

function forceSaveOnChangeOfTitle(){ var title = Xrm.Page.getAttribute("title"); title.setValue(title.getValue()); Xrm.Page.data.save().then( function () {}, function (error, message) {console.error("Error: " + error + " Message: " + message);} ); }

Use 1ms Timeout con:

function forceSaveOnChangeOfTitle(){ setTimeout(function() { Xrm.Page.data.save().then( function () {}, function (error, message) {console.error("Error: " + error + " Message: " + message);} ); }, 1); }

Lea Error: TurboForms Xrm.Page.data.save (). Then () Errores con ErrorCode "Null", Mensaje "Undefined" en línea: https://riptutorial.com/es/dynamics-crm/topic/4560/error--turboforms-xrm-page-data-save-----then----errores-con-errorcode--null---mensaje--undefined-

https://riptutorial.com/es/home 12

Page 16: dynamics-crm · Microsoft Dynamics CRM 2016 Introducción Microsoft Dynamics CRM ha evolucionado drásticamente en los últimos años. Se han lanzado muchas actualizaciones y versiones,

Capítulo 6: Qué no hacer al actualizar su Microsoft Dynamics CRM 2016

Introducción

Microsoft Dynamics CRM ha evolucionado drásticamente en los últimos años. Se han lanzado muchas actualizaciones y versiones, con una serie de nuevas características y mejoras en cada etapa del camino. Durante la actualización de un entorno Dynamics CRM, hay algunos puntos a tener en cuenta para garantizar un proceso de actualización sin problemas.

Examples

Veamos algunos elementos obligatorios para marcar antes de sumergirse en un proceso de actualización a gran escala

Copia de seguridad de base de datos

La copia de seguridad de la base de datos es una necesidad antes de iniciar cualquier proceso de actualización de Dynamics CRM. Esto es obligatorio para tener siempre la opción de retroceder en caso de cualquier obstáculo importante.

Estimación errónea

NO subestime el trabajo involucrado en un proceso de actualización de CRM.

Audite su actual Microsoft Dynamics CRM e identifique las soluciones de terceros en uso. Para estas soluciones de terceros, consulte el sitio web de su desarrollador para ver si es compatible con su versión de actualización de CRM prevista. Descargue la nueva solución y manténgala lista para probar una vez que se haya completado el proceso de migración.

Organización de CRM

NO actualice el CRM a ciegas.

Como primer paso, debemos preparar la organización de CRM para actualizar Microsoft Dynamics CRM.

Algunos consejos para preparar una organización.

Asegúrese de que su entorno CRM cumpla con los requisitos de componentes de software y hardware

Mientras actualiza CRM 4, elimine los registros de la tabla de la lista. (El sistema intentará eliminar todos los registros de las tablas siguientes cuando migramos a CRM 2011, en caso de que falle, tendremos que eliminar manualmente las entradas de estas tablas). Los registros en las

https://riptutorial.com/es/home 13

Page 17: dynamics-crm · Microsoft Dynamics CRM 2016 Introducción Microsoft Dynamics CRM ha evolucionado drásticamente en los últimos años. Se han lanzado muchas actualizaciones y versiones,

tablas enumeradas a continuación darán como resultado un rendimiento deficiente. del sistema.

AsyncOperationBase

WorkflowWaitSubscriptionBase

BulkDeleteFailureBase

WorkflowLogBase

DuplicateRecordBase

WorkflowWaitSubscriptionBase

Instale el último paquete acumulativo antes de actualizar CRM. Por ejemplo, para actualizar a CRM 2013, el servidor de CRM 2011 debe estar en el paquete acumulativo de actualizaciones 6, el paquete acumulativo de actualizaciones 14 o un paquete acumulativo posterior antes de que se pueda considerar una actualización. De lo contrario, al actualizar el entorno de Dynamics CRM, se producirá un error.

Para actualizar a MS CRM 2013, use la herramienta de validación de código personalizado para buscar códigos del lado del cliente no compatibles (JavaScript) que no funcionarán después de la actualización. Además, use la herramienta de verificación de características heredadas para detectar cualquier extensión de servidor que use el punto final de 2007 o las características de Microsoft Dynamics CRM 4.0.

Cada nueva versión de Microsoft Dynamics CRM presenta funcionalidades más potentes, pero junto con el atractivo de la última y mejor versión de software, surge la preocupación de cómo el proceso de actualización afectará su negocio.

¿Los beneficios de la actualización superan los dolores de cabeza? ¿Vale la pena una actualización?

Ahora, aquí hay algunos escollos comunes que pueden surgir al actualizar su sistema Dynamics CRM.

La base de datos de la organización seleccionada para la importación es una versión diferente a la base de datos de la organización que actualmente está implementada.

https://riptutorial.com/es/home 14

Page 18: dynamics-crm · Microsoft Dynamics CRM 2016 Introducción Microsoft Dynamics CRM ha evolucionado drásticamente en los últimos años. Se han lanzado muchas actualizaciones y versiones,

Para solucionar este problema, debemos instalar UR6 o una versión superior en el entorno MS CRM 2011 al actualizar a MS CRM 2013. Después de esto, la actualización a Dynamics CRM 2016 se puede completar sin problemas

La organización no se puede actualizar.

https://riptutorial.com/es/home 15

Page 19: dynamics-crm · Microsoft Dynamics CRM 2016 Introducción Microsoft Dynamics CRM ha evolucionado drásticamente en los últimos años. Se han lanzado muchas actualizaciones y versiones,

Para solucionar este problema, necesitamos instalar SP1 para MS CRM 2013. A continuación, se puede completar la actualización a Dynamics CRM 2016 sin problemas.

Desinstalación del conector de Microsoft Dynamics CRM para los servicios de informes de SQL Server

Para solucionar este problema, desinstale las extensiones de informes de Microsoft Dynamics CRM 2013 desde Programas instalados en el Panel de control antes de continuar con la actualización a Dynamics CRM 2016.

La cuenta de SQL Server Reporting Service es un usuario local y no se admite al actualizar de

https://riptutorial.com/es/home 16

Page 20: dynamics-crm · Microsoft Dynamics CRM 2016 Introducción Microsoft Dynamics CRM ha evolucionado drásticamente en los últimos años. Se han lanzado muchas actualizaciones y versiones,

CRM 2013 a CRM 2015

Si el servicio de informes de Microsoft SQL Server 2012 se instaló a través de la configuración predeterminada, entonces la cuenta de servicio está configurada en "ReportServer" - para resolver el problema, abra el Administrador de configuración de Reporting Services y actualice la cuenta de servicio a cualquier otra cosa, como "Sistema local" . Después de esto, no enfrentaremos ninguna inquietud al actualizar a MS CRM 2016.

https://riptutorial.com/es/home 17

Page 21: dynamics-crm · Microsoft Dynamics CRM 2016 Introducción Microsoft Dynamics CRM ha evolucionado drásticamente en los últimos años. Se han lanzado muchas actualizaciones y versiones,

Parte de nuestro aprendizaje ha sido simple y lógico, pero muchos pueden renunciar a ellos.

Al actualizar, no se vaya con la actualización, hay muchas características que pueden satisfacer los requisitos actuales de la organización que se implementan a través de la personalización. Estos se pueden modelar de forma inmediata para que se ajusten a los requisitos con versiones posteriores.

Además, tenga en cuenta los componentes de comunicación / integración con los que el sistema heredado o cualquier sistema existente está conectado con Microsoft Dynamics CRM. Estos son enlaces importantes que no deben verse afectados durante un proceso de actualización y, cuando se ven afectados, pueden tener un gran impacto en la productividad.

Lea Qué no hacer al actualizar su Microsoft Dynamics CRM 2016 en línea: https://riptutorial.com/es/dynamics-crm/topic/9616/que-no-hacer-al-actualizar-su-microsoft-dynamics-crm-2016

https://riptutorial.com/es/home 18

Page 22: dynamics-crm · Microsoft Dynamics CRM 2016 Introducción Microsoft Dynamics CRM ha evolucionado drásticamente en los últimos años. Se han lanzado muchas actualizaciones y versiones,

Capítulo 7: Usando la API web con jQuery

Examples

Usando la opción verbosa para obtener el conjunto de opciones y los valores de búsqueda

Por defecto, obtendrás códigos e id para conjuntos de opciones y búsquedas. Si también desea obtener la etiqueta, debe agregar un encabezado adicional a la llamada.

$.ajax({ url: Xrm.Page.context.getClientUrl() + '/api/data/v8.0/contacts', headers: { 'Accept': 'Application/json', 'Prefer': 'odata.include-annotations="OData.Community.Display.V1.FormattedValue"' } }).done(function (result) { $.each(result.value, function (key, value) { //sample to access a label var gendercodeLabel = value['[email protected]']; var gendercodeValue = value.gendercode; }); });

Usando select para reducir el número de campos

Por motivos de rendimiento, debe minimizar el número de campos que solicita de la API. Puede utilizar la propiedad de selección para hacerlo.

Este ejemplo obtiene la propiedad del nombre de todas las cuentas:

$.ajax({ url: Xrm.Page.context.getClientUrl() + '/api/data/v8.0/accounts?$select=name', headers: { 'Accept': 'Application/json' } }).done(function (result) { $.each(result.value, function (key, value) { var lastname = value.primarycontactid.lastname; }); });

Usando expandir para obtener propiedades de búsqueda

Si obtiene un solo registro y cuando ese registro tiene una búsqueda, también puede obtener los valores del valor de búsqueda utilizando la opción expandir. Esto reduce la cantidad de llamadas que necesita hacer a la API.

La muestra obtiene todas las cuentas y el apellido del contacto principal:

https://riptutorial.com/es/home 19

Page 23: dynamics-crm · Microsoft Dynamics CRM 2016 Introducción Microsoft Dynamics CRM ha evolucionado drásticamente en los últimos años. Se han lanzado muchas actualizaciones y versiones,

$.ajax({ url: Xrm.Page.context.getClientUrl() + '/api/data/v8.0/accounts?$select=name,primarycontactid&$expand=primarycontactid($select=lastname)', headers: { 'Accept': 'Application/json' } }).done(function (result) { $.each(result.value, function (key, value) { var lastname = value.primarycontactid.lastname; }); });

Obteniendo cuentas

Este ejemplo recupera cuentas utilizando un método jQuery ajax. Una cosa a tener en cuenta es que necesita establecer el encabezado en la llamada para hacer el trabajo.

$.ajax({ url: Xrm.Page.context.getClientUrl() + '/api/data/v8.0/accounts', headers: { 'Accept': 'Application/json' } }).done(function (result) { var accounts = result.value; });

Usando el filtro para filtrar su consulta API

Puede utilizar la propiedad de filtro para recuperar un subconjunto de valores de CRM. En este ejemplo, solo se devuelven las cuentas donde el nombre de la empresa es igual a CompanyName.

$.ajax({ url: Xrm.Page.context.getClientUrl() + '/api/data/v8.0/accounts?$filter=name eq CompanyName', headers: { 'Accept': 'Application/json' } }).done(function (result) { var accounts = result.value; });

Lea Usando la API web con jQuery en línea: https://riptutorial.com/es/dynamics-crm/topic/2243/usando-la-api-web-con-jquery

https://riptutorial.com/es/home 20

Page 24: dynamics-crm · Microsoft Dynamics CRM 2016 Introducción Microsoft Dynamics CRM ha evolucionado drásticamente en los últimos años. Se han lanzado muchas actualizaciones y versiones,

Creditos

S. No

Capítulos Contributors

1Empezando con la dinámica-crm

Arun Vinoth, Community, Daryl, Mehmet Seckin

2Acciones de llamada utilizando la API web

Arun Vinoth, Pawel Gradecki

3API web publica ejemplos de JSON

Arun Vinoth, Martijn Eikelenboom, winterfruit

4

CRM 2013: Cómo ocultar tipos de actividad no deseados de la subcuadrícula

M Costa

5

Error: TurboForms Xrm.Page.data.save (). Then () Errores con ErrorCode "Null", Mensaje "Undefined"

Daryl

6

Qué no hacer al actualizar su Microsoft Dynamics CRM 2016

Yuvaraj

7Usando la API web con jQuery

Arun Vinoth, Daryl, jcjr, Martijn Eikelenboom

https://riptutorial.com/es/home 21