Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy: Dynamics 365 Customer Service i Dynamics 365 Contact Center — tylko w wersji autonomicznej
Wykorzystaj tabelęKnowledgeArticle, aby wbudować możliwości zarządzania wiedzą w swoich rozwiązaniach Dynamics 365 Customer Service. Ten artykuł opisuje, jak tworzyć artykuły, zarządzać wersjami i tłumaczeniami, publikować treści oraz integrować artykuły wiedzy z innymi jednostkami obsługi klienta.
Wymagania wstępne
Upewnij się, że masz wymagane role i przywileje.
Utwórz artykuł merytoryczny
Podczas tworzenia rekordu artykułu merytorycznego Dynamics 365 Customer Service wewnętrznie tworzy artykuł główny dla rekordu. Główny artykuł pełni rolę pojemnika na artykuł podstawowy, który tworzysz, wraz ze wszystkimi wersjami i tłumaczeniami, które możesz przygotować w przyszłości. Poniższy diagram przedstawia model tabelowy dla tabeli KnowledgeArticle .
Kiedy tworzysz rekord artykułu bazy wiedzy, jest on tworzony w stanie Draft. Korzystając z nowej KnowledgeArticle tabeli, możesz stworzyć artykuł, określając jego treść i formatując w formacie HTML. Użytkownik może podać własne wartości dla atrybutu KnowledgeArticle.
ArticlePublicNumber atrybut podczas programowego tworzenia rekordu artykułu bazy wiedzy. W przeciwnym razie wartość jest automatycznie generowana na podstawie formatu, który wybrałeś w ustawieniach Dynamics 365 Customer Service w kliencie webowym.
KnowledgeArticle.
ArticlePublicNumber atrybut przechowuje identyfikator udostępniany klientom, partnerom i innym użytkownikom zewnętrznym w celu odwoływania się do artykułów z bazy wiedzy i ich wyszukiwania. Pozostaje taka sama we wszystkich wersjach i tłumaczeniach artykułów bazy wiedzy.
Poniższy przykładowy kod ilustruje sposób tworzenia rekordu artykułu merytorycznego.
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);
Twórz wersje główne i pomocnicze artykułu merytorycznego
Gdy tworzysz rekord artykułu wiedzy, wersja główna automatycznie jest ustawiona na 1, a wersja poboczna na 0. Użyj wiadomości CreateKnowledgeArticleVersion (CreateKnowledgeArticleVersion Action lub CreateKnowledgeArticleVersionRequest), aby utworzyć wersję główną lub pomocniczą artykułu merytorycznego. W wiadomości żądania ustaw IsMajor na true, aby utworzyć wersję główną, lub ustaw ją na false, aby utworzyć wersję podrzędną. Nowy rekord wersji wykorzystuje następujące atrybuty:
KnowledgeArticle.RootArticleIddo utrzymywania skojarzenia z rekordem głównego artykułu merytorycznego.KnowledgeArticle.PreviousArticleContentIdwskazuje poprzednią wersję rekordu.
Poniższy przykładowy kod pokazuje, jak stworzyć główną wersję rekordu artykułu wiedzy za pomocą CreateKnowledgeArticleVersionRequest.
CreateKnowledgeArticleVersionRequest versionRequest = new CreateKnowledgeArticleVersionRequest
{
Source = new EntityReference(KnowledgeArticle.EntityLogicalName, knowledgeArticleId),
IsMajor = true
};
CreateKnowledgeArticleVersionResponse versionResponse = (CreateKnowledgeArticleVersionResponse)_serviceProxy.Execute(versionRequest);
Tworzenie tłumaczenia artykułu merytorycznego
Użyj akcje CreateKnowledgeArticleTranslation (Web API) lub CreateKnowledgeArticleTranslationRequest (usługa organizacyjna), aby utworzyć tłumaczenie rekordu artykułu merytorycznego. Możesz przetłumaczyć swój artykuł wiedzy na ponad 150 języków. Informacje o tych wspieranych językach są dostępne w nowej LanguageLocale tabeli.
Dowiedz się więcej w tabeli LanguageLocale.
Korzystając z CreateKnowledgeArticleTranslation Action (Web API) lub CreateKnowledgeArticleTranslationRequest (usługi organizacyjnej), tworzysz nowy rekord artykułu wiedzy, z tytułem, treścią, opisem i słowami kluczowymi skopiowanymi z rekordu źródłowego do nowego rekordu. Ustawiasz język nowego rekordu na ten, który podajesz w żądaniu. Musisz też określić, czy nowy rekord jest wersją główną czy pomocniczą. Nowy rekord używa atrybutu KnowledgeArticle.
ParentArticleContentId do utrzymywania skojarzenia z rekordem podstawowego artykułu merytorycznego.
Po wykonaniu tego komunikatu i otrzymaniu odpowiedzi należy pobrać rekord artykułu merytorycznego z obiektu odpowiedzi, a następnie zaktualizować tytuł, treść, opis i słowa kluczowe, aby dodać przetłumaczoną zawartość.
Poniższy przykładowy kod pokazuje, jak stworzyć tłumaczenie artykułu wiedzy za pomocą 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));
Uwaga / Notatka
Wartość identyfikatora GUID klucza podstawowego (LanguageLocaleId) dla każdego rekordu języka w jednostce LanguageLocale jest taka sama we wszystkich organizacjach Dynamics 365 Customer Service.
Cykl życia artykułu merytorycznego: Zmień stan artykułu merytorycznego
W trakcie cyklu życia artykuł merytoryczny może się znajdować w następujących stanach:
0: Szkic (po stworzeniu artykułu wiedzy)
1: Zatwierdzenie (po zatwierdzeniu artykułu wiedzy)
2: Zaplanowane (po zaplanowaniu publikacji artykułu naukowego)
3: Opublikowane (po opublikowaniu artykułu wiedzy)
4: Termin wygasłości (po wygaśnięciu artykułu wiedzy zgodnie z datą wygaśnięcia podaną podczas publikacji)
5: Zarchiwizowano (po zarchiwizowaniu artykułu bazy wiedzy)
6: Odrzucone (po odrzuceniu artykułu wiedzy)
Aby zmienić stan artykułu, należy użyć komunikatu Update w rekordzie artykułu merytorycznego, aby zaktualizować atrybut KnowledgeArticle.StateCode. W przypadku typów z wczesnym wiązaniem należy użyć wyliczenia KnowledgeArticleState, aby ustawić możliwe stany. Dowiedz się więcej w Wykonuj specjalistyczne operacje za pomocą Aktualizacji.
Poniższy przykładowy kod ilustruje sposób publikowania rekordu artykułu merytorycznego.
// 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);
Uwaga / Notatka
statecode wartości takie jak Szkic (0) wskazują na etap cyklu życia artykułu, a nie na poufność czy widoczność. Użytkownicy posiadający odpowiednie uprawnienia do czytania i pisania mogą uzyskać dostęp do szkic artykułów.
Powiąż rekord artykułu z bazy wiedzy z instancją jednostki Dynamics 365 Customer Service
Gdy w Dynamics 365 Customer Service włączysz osadzone wyszukiwanie wiedzy dla tabeli za pomocą klienta webowego, system automatycznie tworzy relację wiele-do-wielu o nazwie msdyn_<Entity_Name>_knowledgearticle. Użyj tej relacji do programistycznego skojarzenia lub połączenia wystąpienia KnowledgeArticle z wystąpieniem tabeli Dynamics 365 Customer Service. Gdy skojarzysz instancję KnowledgeArticle z instancją tabeli, tworzysz rekord opisujący tę relację w tabeli pośredniej o nazwie msdyn_<Entity_Name>_knowledgearticle. Na przykład, gdy po raz pierwszy skojarzysz instancję KnowledgeArticle z instancją Account, tworzysz tabelę pośrednią o nazwie msdyn_account_knowledgearticle oraz rekord z mapowaniem skojarzenia w tej tabeli pośredniej. Domyślnie tabela Incident (Case) jest włączona dla osadzonego wyszukiwania wiedzy. Gdy łączysz rekord KnowledgeArticle z rekordem Incident, tworzysz rekord skojarzenia w tabeli pośredniej KnowledgeArticleIncident.
Poniższy przykładowy kod ilustruje sposób kojarzenia wystąpienia KnowledgeArticle z wystąpieniem Account:
// 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);
Zwiększanie liczby widoków artykułu merytorycznego
Użyj komunikatu IncrementKnowledgeArticleViewCountRequest, aby zwiększyć liczbę wyświetleń rekordu artykułu bazy wiedzy dla danego dnia w tabeli KnowledgeArticleViews. Jeśli rekord nie istnieje dla artykułu wiedzy dla określonego dnia, operacja tworzy rekord i ustawia określoną wartość liczby wyświetleń w .KnowledgeArticleViews Atrybut KnowledgeArticleView. Jeśli rekord dla artykułu bazy wiedzy dla wskazanego dnia już istnieje, operacja zwiększa liczbę wyświetleń w KnowledgeArticleViews. Atrybut KnowledgeArticleView istniejącego rekordu.
Wyszukiwanie artykułów merytorycznych za pomocą wyszukiwania pełnotekstowego
Artykuły merytoryczne w Dynamics 365 Customer Service, w tym ich wersje i tłumaczenia, są indeksowane pełnotekstowo i obsługują SQL Server wyszukiwanie pełnotekstowe. Dowiedz się więcej o wyszukiwaniu pełnotekstowym w SQL Server: Wyszukiwanie pełnotekstowe.
Użyj komunikatu FullTextSearchKnowledgeArticleRequest, aby przeszukać artykuły bazy wiedzy w swoich aplikacjach i znaleźć potrzebne informacje. Komunikat FullTextSearchKnowledgeArticleRequest pozwala użyć dopasowania flekcji rdzenia (co pozwala na zastąpienie tekstu wyszukiwania innym czasem lub fleksją) oraz określić kryteria zapytania (poprzez użycie FetchXML lub QueryExpression do określenia filtrowania, kolejności, sortowania i stronicowania), aby znaleźć artykuły wiedzy o określonym tekście. Można również usunąć wiele wersji tych samych artykułów w wynikach wyszukiwania i przefiltrować informacje o stanie artykułu merytorycznego podczas wyszukiwania tekstu.
Przestarzałe encje wiedzy
Następujące podmioty dziedziczone są wycofane. Dowiedz się więcej w temacie Przestarzałe jednostki wiedzy.
Od 1 grudnia 2020 roku nie masz dostępu do starszych podmiotów wiedzy. Przenieś się do tabeli KnowledgeArticle. Dowiedz się więcej w artykule Tworzenie artykułów merytorycznych i zarządzanie nimi.
Aby uzyskać pomoc w migracji, skorzystaj z następujących źródeł:
- Użyj zestawu SDK, interfejsu WebAPI lub Power Automate firmy Microsoft w zależności od scenariuszy.
- Użyj narzędzia do migracji open source z licencją MIT.
Important
- Microsoft nie wspiera narzędzia migracji open source. Może będziesz musiał dostosować go do swoich sytuacji.
- Zawsze uruchamiaj środowisko testowe, zanim zaczniesz korzystać ze środowiska produkcyjnego.
- Przed przystąpieniem do korzystania z narzędzia należy sprawdzić jego licencję i zapoznać się z plikiem Readme.