Del via


Bruge XRM-værktøjer til at oprette data

 

Udgivet: januar 2017

Gælder for: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Der er syv metoder tilgængelige i klassen CrmServiceClient til at oprette nye data og tilknytninger. En oprettelseshandling ved hjælp af XRM-værktøjets API kræver datamateriale. Datamaterialet tager form af et Dictionary<string, CrmDataTypeWrapper>-objekt.CrmDataTypeWrapper anvendes til at informere grænsefladen om ,hvilken type håndtering der skal bruges til det datapunkt, du refererer til. Nogle af metoderne til oprettelse af data er angivet i dette emne.

CreateNewRecord

Denne metode bruges til at oprette alle typer objektdata i Microsoft Dynamics 365. Hvis du vil bruge den, skal du kende skemanavnet på det objekt, du vil oprette en post i, og skal opbygge datamaterialet, der skal overføres til det. I dette eksempel oprettes en firmapost.

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

I dette eksempel har vi oprettet et datamaterialeobjekt, der kaldes indata. Dernæst har vi udfyldt det ved hjælp af den generelle syntaks: crmFieldName , new CrmDataTypeWrapper(data,CrmFieldType). Efter opsætning af indata-objektet for at hente værdierne til oprettelse, har vi kaldt CreateNewRecord-metoden, der giver det logiske objektnavn for firmaet og datamaterialet (indata).

Bemærk

Du kan også oprette en objektpost ved hjælp af XRM-værktøjer ved at udføre CreateRequest-meddelelsen med ExecuteCrmOrganizationRequest-metoden.Flere oplysninger:Brug meddelelser (anmodnings- og svarklasser) med metoden ExecuteCrmOrganizationRequest

CreateAnnotation

Denne metode bruges til at oprette og vedhæfte et noteobjekt i en objektpost. Mens du kan udfylde alle variabler for noten i den første overførsel, skal du kun angive emne og notetekstfelter. I praksis kan den bruges generelt at knytte systemgenererede noter til et objekt eller vedhæfte filer, der er gemt i Dynamics 365, til et objekt. Desuden, hvis du angiver din egen brugergrænseflade til oprettelse af noter for din bruger, er det sådan, du vedhæfter noten til ejerobjektet i Dynamics 365. Dette eksempel fortsætter ud fra det tidligere eksempel for at oprette en note på den nyoprettede konto.

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

Se også

Eksempel: Hurtig start af XRM-værktøjs-API'er
Bruge XRM-værktøjer til at udføre handlinger i Dynamics 365

Microsoft Dynamics 365

© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret