Usar útiles de XRM para crear los datos
Existen siete métodos disponibles en la clase CrmServiceClient o la clase ServiceClient para crear nuevos datos y asociaciones. Una acción de creación que usa la API de los útiles de XRM requiere una carga de datos. La carga útil de datos toma la forma de un objeto Dictionary<string, CrmDataTypeWrapper>
. CrmDataTypeWrapper se usa para informes a la interfaz del tipo de control debe ser aplicado al punto de datos al que está haciendo referencia. Algunos de los métodos para crear datos se enumeran en este tema.
CreateNewRecord
Este método se utiliza para crear cualquier tipo de datos de tabla en Microsoft Dataverse. Para usarlo, necesita saber el nombre del esquema de la tabla en la que desea crear un registro y debe construir una carga útil de datos para que se pasará al esquema. En este ejemplo se crea un registro de cuenta.
Al usar la clase ServiceClient
, puede encontrar el método CreateNewRecord
del espacio de nombres CRUDExtentions.
CrmServiceClient svc = new CrmServiceClient("connectionstring");
// ServiceClient svc = new ServiceClient("connectionstring");
// Verify that you are connected
if (svc != null && svc.IsReady)
{
// Create an account record
Dictionary<string, CrmDataTypeWrapper> inData = new Dictionary<string, CrmDataTypeWrapper>();
inData.Add("name", new CrmDataTypeWrapper("Sample Account Name", CrmFieldType.String));
inData.Add("address1_city", new CrmDataTypeWrapper("Redmond", CrmFieldType.String));
inData.Add("telephone1", new CrmDataTypeWrapper("555-0160", CrmFieldType.String));
accountId = ctrl.CrmConnectionMgr.svc.CreateNewRecord("account", inData);
// Verify if the account is created.
if (accountId != Guid.Empty)
{
Console.WriteLine(“Account created.”);
}
}
else
{
// Display the last error.
Console.WriteLine("An error occurred: {0}", svc.LastCrmError);
// Display the last exception message if any.
Console.WriteLine(svc.LastCrmException.Message);
Console.WriteLine(svc.LastCrmException.Source);
Console.WriteLine(svc.LastCrmException.StackTrace);
return;
}
En este ejemplo se creó un objeto de carga de datos llamado indata
. A continuación, se rellenó mediante la sintaxis general crmFieldName , new CrmDataTypeWrapper(data,CrmFieldType)
. Después de configurar el objeto indata
para obtener los valores a crear, llamamos al método CreateNewRecord
que proporciona el nombre lógico de la tabla para la cuenta y la carga útil de datos (indata
).
Nota
También puede crear un registro de tabla utilizando herramientas XRM ejecutando el mensaje CreateRequest con el método ExecuteCrmOrganizationRequest. Más información: Utilizar mensajes con el método ExecuteCrmOrganizationRequest
CreateAnnotation
Este método se utiliza para crear y adjuntar un objeto de nota a cualquier registro de tabla. Aunque puede rellenar todas las variables de la nota en el primer paso, solo debe proporcionar los campos de texto para el asunto y la nota. En la práctica, esto se usa generalmente para adjuntar notas generadas por el sistema a una tabla, o para adjuntar archivos que están almacenados en Dataverse para una tabla. Además, si proporciona su propia interfaz de usuario para crear notas para su usuario, así es como adjuntaría esa nota a la tabla del propietario en Dataverse. Este ejemplo es la continuación del ejemplo anterior para crear una nota en la cuenta recién creada.
Al usar la clase ServiceClient
, puede encontrar el método CreateAnnotation
del espacio de nombres CRUDExtentions.
CrmServiceClient svc = new CrmServiceClient(connectionstring);
// ServiceClient svc = new ServiceClient("connectionstring");
// Verify that you are connected.
if (svc != null && svc.IsReady)
{
// Create and attach a note.
inData.Clear();
inData.Add("subject", new CrmDataTypeWrapper("This is a NOTE from the API" , CrmFieldType.String));
inData.Add("notetext", new CrmDataTypeWrapper("This is text that will go in the body of the note" , CrmFieldType.String));
Guid noteID = svc.CreateAnnotation("account", accountId, inData);
}
else
{
// Display the last error.
Console.WriteLine("An error occurred: {0}", svc.LastCrmError);
// Display the last exception message if any.
Console.WriteLine(svc.LastCrmException.Message);
Console.WriteLine(svc.LastCrmException.Source);
Console.WriteLine(svc.LastCrmException.StackTrace);
return;
}
Consulte también
Usar herramientas de API XRM para ejecutar acciones en Dataverse
Nota
¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)
La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).