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