Utilizzare gli strumenti XRM per creare dati

 

Data di pubblicazione: gennaio 2017

Si applica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Nella classe CrmServiceClient sono disponibili sette metodi per creare nuovi dati e associazioni. Un'operazione di creazione mediante l'API degli strumenti XRM richiede un payload di dati. Il payload dei dati prende la forma di un oggetto Dictionary<string, CrmDataTypeWrapper>.CrmDataTypeWrapper viene utilizzato per informare l'interfaccia sul tipo di esigenze di gestione da applicare al punto dati a cui si sta facendo riferimento. Alcuni metodi per creare dati sono inclusi in questo argomento.

CreateNewRecord

Questo metodo viene utilizzato per creare qualsiasi tipo di dati di entità in Microsoft Dynamics 365. Per utilizzarlo, è necessario conoscere il nome dello schema di entità in cui si desidera creare un record e creare un payload di dati da passare. In questo esempio viene creato un record di account.

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;
}

In questo esempio è stato creato un oggetto payload di dati denominato indata Successivamente, è stato popolato tramite la sintassi generale: crmFieldName , new CrmDataTypeWrapper(data,CrmFieldType). Dopo la configurazione dell'oggetto indata per ottenere i valori da creare, è stato chiamato il metodo CreateNewRecord per fornire il nome logico dell'entità e il payload di dati (indata).

Nota

È inoltre possibile creare un record di entità tramite gli strumenti XRM eseguendo il messaggio CreateRequest con il metodo ExecuteCrmOrganizationRequest.Ulteriori informazioni:Utilizzare i messaggi (classi di richiesta e di risposta) con il metodo ExecuteCrmOrganizationRequest

CreateAnnotation

Questo metodo viene utilizzato per creare e collegare un oggetto nota a qualsiasi record di entità. Mentre è possibile inserire tutte le variabili della nota nel primo passaggio, è sufficiente compilare i campi di testo dell'oggetto e della nota. In pratica, questo approccio viene in genere utilizzato per allegare le note generate dal sistema a un'entità o per allegare i file da archiviati in Dynamics 365 a un'entità. Inoltre, se si immette una propria interfaccia utente per creare le note per l'utente, questo è il modo per allegare tale nota all'entità del proprietario in Dynamics 365. Questo esempio continua dall'esempio precedente relativo alla creazione di una nota su un account appena creato.

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;
}

Vedere anche

Esempio: guida introduttiva per API degli strumenti XRM
Utilizzare strumenti XRM per eseguire azioni in Dynamics 365

Microsoft Dynamics 365

© 2017 Microsoft. Tutti i diritti sono riservati. Copyright