Use o conjunto de ferramentas XRM para criar dados
Publicado: janeiro de 2017
Aplicável a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Há sete métodos disponíveis na classe CrmServiceClient para criar novos dados e associações. Uma ação de criação usando a ferramenta XRMAPI exige carga de dados. A carga de dados toma a forma de um Dictionary<string, CrmDataTypeWrapper> objeto. O CrmDataTypeWrapper é usado para informar a interface sobre que tipo de tratamento precisa ser aplicado ao ponto de dados do qual você está fazendo referência. Alguns dos métodos para criar dados são listados neste tópico.
CreateNewRecord
Este método é usado para criar um tipo de dados de entidade no Microsoft Dynamics 365. Para usá-lo, você precisa conhecer o nome de esquema da entidade na qual você deseja criar um registro e deverá construir uma carga de dados para transmitir. Esse exemplo cria um registro de conta.
CrmServiceClient crmSvc = new CrmServiceClient(new System.Net.NetworkCredential("<UserName>", "<Password>",“<Domain>”),"<Server>", "<Port>", "<OrgName>");
// Verify that you are connected
if (crmSvc != null && crmSvc.IsReady)
{
//Display the CRM version number and org name that you’re connected to.
Console.WriteLine("Connected to CRM! (Version: {0}; Org: {1}",
crmSvc.ConnectedOrgVersion, crmSvc.ConnectedOrgUniqueName);
// 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.CrmSvc.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}", crmSvc.LastCrmError);
// Display the last exception message if any.
Console.WriteLine(crmSvc.LastCrmException.Message);
Console.WriteLine(crmSvc.LastCrmException.Source);
Console.WriteLine(crmSvc.LastCrmException.StackTrace);
return;
}
Neste exemplo, criamos um objeto de carga de dados chamado indata. Em seguida, preenchemos usando a sintaxe geral: crmFieldName , new CrmDataTypeWrapper(data,CrmFieldType). Depois de configurar o objeto indata para obter os valores para criar, chamamos o método CreateNewRecord que fornece o nome lógico da entidade para a conta e a carga de dados (indata).
Observação
Também é possível criar um registro de entidade usando a ferramenta XRM executando a mensagem CreateRequest com o método ExecuteCrmOrganizationRequest.Para obter mais informações:Usar mensagens (classes de solicitação e resposta) com o método ExecuteCrmOrganizationRequest
CreateAnnotation
Este método é usado para criar e anexar um objeto de anotação a qualquer registro da entidade. Embora você possa preencher todas as variáveis para a anotação na primeira transmissão, você só precisa fornecer campos de texto da anotação e assunto. Em prática, isso é geralmente usado para anexar anotações geradas pelo sistema a uma entidade ou anexar arquivos armazenados no Dynamics 365 em uma entidade. Além disso, se você solicitou sua própria IU para criar anotações para seu usuário, isso acontece ao anexar a observação para a entidade de proprietário no Dynamics 365. Este exemplo continua pelo exemplo anterior para criar uma anotação na conta recém-criada.
CrmServiceClient crmSvc = new CrmServiceClient(new System.Net.NetworkCredential("<UserName>", "<Password>", “<Domain>”),"<Server>", "<Port>", "<OrgName>");
// Verify that you are connected.
if (crmSvc != null && crmSvc.IsReady)
{
//Display the CRM version number and org name that you are connected to.
Console.WriteLine("Connected to CRM! (Version: {0}; Org: {1}",
crmSvc.ConnectedOrgVersion, crmSvc.ConnectedOrgUniqueName);
// 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 = crmSvc.CreateAnnotation("account", accountId, inData);
}
else
{
// Display the last error.
Console.WriteLine("An error occurred: {0}", crmSvc.LastCrmError);
// Display the last exception message if any.
Console.WriteLine(crmSvc.LastCrmException.Message);
Console.WriteLine(crmSvc.LastCrmException.Source);
Console.WriteLine(crmSvc.LastCrmException.StackTrace);
return;
}
Confira Também
Exemplo: Início rápido para API de ferramentas XRM
Usar as ferramentas do XRM para executar ações no Dynamics 365
Microsoft Dynamics 365
© 2017 Microsoft. Todos os direitos reservados. Direitos autorais