Arbeid med KnowledgeArticle-tabellen

Gjelder for: Dynamics 365 Customer Service og Dynamics 365 Contact Center – kun som frittstående

Bruk KnowledgeArticle tabellen til å bygge kunnskapsstyringsmuligheter inn i dine Dynamics 365 Customer Service-løsninger. Denne artikkelen beskriver hvordan man lager artikler, administrerer versjoner og oversettelser, publiserer innhold og integrerer kunnskapsartikler med andre kundeserviceenheter.

Forutsetninger

Sørg for at du har de nødvendige rollene og privilegiene.

Opprette en kunnskapsartikkel

Når du oppretter en kunnskapsartikkeloppføring, oppretter Dynamics 365 Customer Service internt en rotartikkel for posten. Rotartikkelen fungerer som en beholder for hovedartikkelen du skriver, sammen med alle artikkelversjoner og oversettelser du kan lage i fremtiden. Følgende diagram viser tabellmodellen for tabellen KnowledgeArticle .

Enhetsmodell for KnowledgeArticle.

Når du oppretter en kunnskapsartikkelpost, oppretter du den i staten.Draft Ved å bruke den nye KnowledgeArticle tabellen kan du lage en artikkel ved å spesifisere innholdet og formateringen i HTML-format. Du kan angi din egen verdi for KnowledgeArticle. ArticlePublicNumber Attributt når du lager en kunnskapsartikkel programmessig. Ellers genereres verdien automatisk basert på formatet du spesifiserte i Dynamics 365 Customer Service-innstillingene i webklienten. KnowledgeArticle. ArticlePublicNumber attributt lagrer ID-en som er eksponert for kunder, partnere og andre eksterne brukere for å referere til og slå opp kunnskapsartikler. Det forblir det samme på tvers av kunnskapsartikkelversjoner og oversettelser.

Følgende eksempelkode viser hvordan du kan opprette en oppføring for kunnskapsartikkel.

KnowledgeArticle newKnowledgeArticle = new KnowledgeArticle  
{  
   Title = "Sample Knowledge Article",  
   Content = "<p>This is the article content.</p>"  
};  
knowledgeArticleId = _serviceProxy.Create(newKnowledgeArticle);  
Console.WriteLine("Created {0}", newKnowledgeArticle.Title);  

Opprett overordnede og underordnede versjoner av en kunnskapsartikkel

Når du oppretter en kunnskapsartikkelpost, settes hovedversjonen automatisk til 1 og minorversjonen til 0. Bruk CreateKnowledgeArticleVersion-meldingen (CreateKnowledgeArticleVersion Action eller CreateKnowledgeArticleVersionRequest) til å opprette en overordnet eller underordnet versjon av en kunnskapsartikkel. I forespørselsmeldingen, sett IsMajor til true for å lage en hovedversjon, eller sett til å false lage en mindre versjon. Den nye versjonsposten bruker følgende attributter:

  • KnowledgeArticle. RootArticleId til å opprettholde tildelingen med rotoppføringen for kunnskapsartikkelen.

  • KnowledgeArticle. PreviousArticleContentId til å peke til forrige versjon av oppføringen.

Følgende eksempelkode viser hvordan man lager en hovedversjon av en kunnskapsartikkelpost ved å bruke CreateKnowledgeArticleVersionRequest.

CreateKnowledgeArticleVersionRequest versionRequest = new CreateKnowledgeArticleVersionRequest  
{  
   Source = new EntityReference(KnowledgeArticle.EntityLogicalName, knowledgeArticleId),  
   IsMajor = true  
};  
CreateKnowledgeArticleVersionResponse versionResponse = (CreateKnowledgeArticleVersionResponse)_serviceProxy.Execute(versionRequest);  

Opprett en oversettelse av kunnskapsartikkel

Bruk CreateKnowledgeArticleTranslation Action (nett-API) eller CreateKnowledgeArticleTranslationRequest (organisasjonstjeneste) til å opprette en oversettelse av en kunnskapsartikkeloppføring. Du kan oversette kunnskapsartikkelen din til mer enn 150 språk. Informasjon om disse støttede språkene er tilgjengelig i den nye LanguageLocale tabellen.

Lær mer i LanguageLocale-tabellen.

Ved å bruke CreateKnowledgeArticleTranslation Action (Web API) eller CreateKnowledgeArticleTranslationRequest (organisasjonstjeneste), oppretter du en ny kunnskapsartikkelpost med tittel, innhold, beskrivelse og nøkkelord kopiert fra kildeposten til den nye posten. Du angir språket for den nye posten til språket du spesifiserer i forespørselen. Du må også spesifisere om den nye platen er en major- eller minorversjon. Den nye oppføringen bruker attributtet KnowledgeArticle. ParentArticleContentId til å opprettholde tildelingen med den primære oppføringen for kunnskapsartikkelen.

Når du har utført denne meldingen og fått et svar, kan du hente kunnskapsartikkeloppføringen fra svarobjektet og deretter oppdatere tittelen, innholdet, beskrivelsen og nøkkelordene for å legge til det oversatte innholdet.

Følgende eksempelkode viser hvordan man lager en kunnskapsartikkeloversettelse ved å bruke CreateKnowledgeArticleTranslationRequest:

CreateKnowledgeArticleTranslationRequest translationRequest = new CreateKnowledgeArticleTranslationRequest  
{  
   Source = new EntityReference(KnowledgeArticle.EntityLogicalName, knowledgeArticleId),  
   Language = new EntityReference(LanguageLocale.EntityLogicalName, languageLocaleId), //languageLocaleId = GUID of the Primary Key of LanguageLocale record  
   IsMajor = true    // Creating a major version   
};  
CreateKnowledgeArticleTranslationResponse translationResponse = (CreateKnowledgeArticleTranslationResponse)_serviceProxy.Execute(translationRequest);  
  
// Retrieve the new knowledge article record  
KnowledgeArticle respObject = (KnowledgeArticle)_serviceProxy.Retrieve(KnowledgeArticle.EntityLogicalName,   
      translationResponse.CreateKnowledgeArticleTranslation.Id, new ColumnSet(true));  

Bemerkning

GUID-verdien for primærnøkkelen (LanguageLocaleId) for hver språkpost i enheten LanguageLocale er den samme på tvers av alle Dynamics 365 Customer Service organisasjoner.

Livssyklus for kunnskapsartikkel: Endre statusen for en kunnskapsartikkel

I løpet av livssyklusen kan en kunnskapsartikkel ha følgende tilstander:

  • 0: Utkast (etter at du har laget en kunnskapsartikkel)

  • 1: Godkjent (etter at du har godkjent en kunnskapsartikkel)

  • 2: Planlagt (etter at du har satt opp en kunnskapsartikkel til publisering)

  • 3: Publisert (etter at du har publisert en kunnskapsartikkel)

  • 4: Utløpt (etter at en kunnskapsartikkel utløper i henhold til utløpsdatoen som ble spesifisert ved publisering)

  • 5: Arkivert (etter at du har arkivert en kunnskapsartikkel)

  • 6: Forkastet (etter at du har kastet en kunnskapsartikkel)

Hvis du vil endre status for artikkelen, bruker du Update-meldingen i kunnskapsartikkeloppføringen til å oppdatere KnowledgeArticle.StateCode-attributtet. For tidlige bindingstyper bruker du KnowledgeArticleState-opplistingen til å angi mulige statuser. Lær mer i Utfør spesialiserte operasjoner ved å bruke Update.

Følgende eksempelkode viser hvordan du publiserer en oppføring for kunnskapsartikkel.

// Retrieve the knowledge article record  
KnowledgeArticle myKnowledgeArticle = (KnowledgeArticle)_serviceProxy.Retrieve(  
        KnowledgeArticle.EntityLogicalName, knowledgeArticleId, new ColumnSet("statecode"));  
  
// Update the knowledge article record  
myKnowledgeArticle.StateCode = KnowledgeArticleState.Published;  
UpdateRequest updateKnowledgeArticle = new UpdateRequest  
{  
    Target = myKnowledgeArticle  
};  
_serviceProxy.Execute(updateKnowledgeArticle);  
  

Bemerkning

statecode verdier som Utkast (0) indikerer artikkelens livssyklusstadium, og ikke konfidensialitet eller synlighet. Brukere med riktige lese- og skriverettigheter kan få tilgang til utkast til artikler.

Knytte en kunnskapsartikkeloppføring til en Dynamics 365 Customer Service enhetsforekomst

Når du aktiverer innebygd kunnskapssøk for en tabell i Dynamics 365 Customer Service ved å bruke webklienten, oppretter systemet automatisk en mange-til-mange-relasjon kalt msdyn_<Entity_Name>_knowledgearticle. Bruk dette forholdet til å programmere eller koble en KnowledgeArticle instans til en Dynamics 365 Customer Service-tabellinstans. Når du knytter en KnowledgeArticle instans til en tabellinstans, oppretter du en post for relasjonen i en intersect-tabell kalt msdyn_<Entity_Name>_knowledgearticle. For eksempel, når du knytter en KnowledgeArticle instans til en Account instans for første gang, lager du en intersect-tabell kalt msdyn_account_knowledgearticle, og du lager en post med assosiasjonskartleggingen i denne intersect-tabellen. Som standard Incident er (Case)-tabellen aktivert for det innebygde kunnskapssøket. Når du kobler en KnowledgeArticle post til en Incident post, oppretter du en assosiasjonspost i KnowledgeArticleIncident intersect-tabellen.

Følgende eksempelkode demonstrerer hvordan du tilknytter en KnowledgeArticle-forekomst til en Account-forekomst:

// Associate the knowledge article record with an account record  
  
// Step 1: Create a collection of knowledge article records that will be   
// associated to the account. In this case, we have only a single  
// knowledge article record to be associated.  
EntityReferenceCollection relatedEntities = new EntityReferenceCollection();  
relatedEntities.Add(new EntityReference(KnowledgeArticle.EntityLogicalName, knowledgeArticleId));  
  
// Step 2: Create an object that defines the relationship between knowledge article record and account record.  
// Use the many-to-many relationship name (msdyn_account_knowledgearticle) between knowledge article  
// record and account record.  
Relationship newRelationship = new Relationship("msdyn_account_knowledgearticle");  
  
// Step 3: Associate the knowledge article record with the account record.  
_serviceProxy.Associate(Account.EntityLogicalName, accountId, newRelationship, relatedEntities);  
  

Øk antallet visninger for kunnskapsartikkelen

Bruk meldingen IncrementKnowledgeArticleViewCountRequest for å øke antall visninger av en kunnskapsartikkelpost for en gitt dag i KnowledgeArticleViews tabellen. Hvis det ikke finnes en post for en kunnskapsartikkel på en spesifisert dag, oppretter operasjonen en post og setter den angitte visningstallverdien i .KnowledgeArticleViews KnowledgeArticleView-attributt. Hvis det allerede finnes en post for en kunnskapsartikkel for den angitte dagen, øker operasjonen antall visninger i KnowledgeArticleViews. KnowledgeArticleView for den eksisterende oppføringen.

Kunnskapsartikler i Dynamics 365 Customer Service, inkludert versjoner og oversettelser, er fulltekstindekserte og støtter SQL Server fulltekstsøk. Lær mer om fulltekstsøk i SQL Server: Fulltekstsøk.

Bruk meldingen FullTextSearchKnowledgeArticleRequest til å søke i kunnskapsartikler fra søknadene dine for å finne informasjonen du leter etter. Meldingen FullTextSearchKnowledgeArticleRequest lar deg bruke bøyningsstammematching (som tillater at en annen tid eller bøyning erstattes med søketeksten) og spesifiserer spørringskriterier (ved å bruke FetchXML eller QueryExpression for å spesifisere filtrering, rekkefølge, sortering og paging) for å finne kunnskapsartikler med spesifisert tekst. Du kan også velge å fjerne flere versjoner av de samme artiklene i søkeresultatene og filtrere på kunnskapsartikkeltilstanden når du søker etter en tekst.

Avskrevne kunnskapsenheter

Følgende legacy-enheter er utdatert. Finn ut mer i Avskrevne kunnskapsenheter.

Per 1. desember 2020 kan du ikke få tilgang til eldre kunnskapsenheter. Gå til tabellen Kunnskapsartikkel. Finn ut mer i Opprett og administrer kunnskapsartikler.    

For hjelp med migrering, bruk følgende ressurser:

  • Bruk SDK, WebAPI eller Microsoft Power Automate avhengig av scenarioene dine.
  • Bruk åpen kilde overføringsverktøyet med MIT-lisens.

Viktig!

  • Microsoft støtter ikke åpen kilde-migreringsverktøyet. Du må kanskje tilpasse det for å passe dine situasjoner.
  • Kjør alltid et testmiljø før bruk i produksjon.
  • Kontroller lisensen og viktig-filen før du bruker verktøyet.