Споделяне чрез


Работа със статии от базата знания

Бележка

Информацията за наличността на функциите е следната.

Dynamics 365 център за контакти – вграден Dynamics 365 център за контакти – самостоятелен Dynamics 365 Customer Service
No Да Да

Новият опит знания ви дава възможност да създавате статии с богати знания, заедно с поддръжка на версии и превод. Новата функционалност за знания използва обекта KnowledgeArticle за съхранение и управление на знания нативно в Dynamics 365 Customer Service.

Бележка

Обектите KBArticle, KBArticleTemplate и KBArticleComment сега са отхвърлени. Това означава, че не очакваме повече да използвате тези обекти. Трябва да използвате по-новия обект KnowledgeArticle за управление на знания в Dynamics 365 Customer Service. За повече информация вижте раздела Отхвърлени обекти за знания в края на тази тема.

Създаване на статия в базата знания

Когато създавате запис на статия в базата знания, Dynamics 365 Customer Service вътрешно създава основна статия за записа. Основната статия действа като контейнер за първичната статия в базата знания, създадена от вас, заедно с всички версии и преводи на статията, които бихте могли да създадете в бъдеще. Диаграмата по-долу изобразява модела на обекта KnowledgeArticle.

Модел на обекта KnowledgeArticle.

Когато създавате запис на статия в базата знания, той е в състояние Draft. С помощта на новия обект KnowledgeArticle можете да създадете статия, като посочите нейното съдържание и форматиране в HTML формат. Можете да посочите собствена стойност за атрибута KnowledgeArticle. ArticlePublicNumber, докато създавате запис в базата знания програмно; в противен случай стойността се генерира автоматично въз основа на формата, който сте посочили в областта за настройки на Dynamics 365 Customer Service в уеб клиента.. Атрибутът KnowledgeArticle. ArticlePublicNumber съхранява идентификатора, показван за клиенти, партньори и други външни потребители за справка и търсене на статии в базата знания, и остава същият във версиите и преводите на статиите.

Примерният код по-долу показва как можете да създадете запис на статия в базата знания.

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

Създаване на основни и второстепенни версии на статия в базата знания

Когато създадете запис на статия в базата знания, основната версия автоматично се задава на 1, а второстепенната версия на 0. Използвайте съобщението CreateKnowledgeArticleVersion (Действие CreateKnowledgeArticleVersion или CreateKnowledgeArticleVersionRequest), за да създадете основна или второстепенна версия на статия в базата знания. В съобщението със заявката задайте IsMajor на true, за да създадете основна версия; задайте на false, за да създадете второстепенна версия. Създадената нова версия на записа използва:

  • KnowledgeArticle. RootArticleId за поддържане на връзката с основния запис на статията в базата знания.

  • KnowledgeArticle. PreviousArticleContentId за посочване на предишната версия на записа.

Примерният код по-долу показва как можете да създадете основна версия на запис на статия в базата знания с помощта на CreateKnowledgeArticleVersionRequest.

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

Създаване на превод на статия в базата знания

Използвайте Действие CreateKnowledgeArticleTranslation (Уеб API) или CreateKnowledgeArticleTranslationRequest (услуга за организации) за създаване на превод на запис на статия в базата знания. Можете да преведете статията си в базата знания на повече от 150 езика, а информацията за тези поддържани езици е налична в новия обект LanguageLocale.

Повече информация: LanguageLocale Entity.

Използването на Действие CreateKnowledgeArticleTranslation (уеб API) или CreateKnowledgeArticleTranslationRequest (услуга за организации) създава нов запис на статия в базата знания със заглавието, съдържанието, описанието и ключовите думи, копирани от изходния запис в новия запис, и езика на новия запис, зададен на този, който сте посочили в заявката. Също така трябва да посочите дали новият запис ще бъде основна или второстепенна версия. Новият запис използва атрибута KnowledgeArticle. ParentArticleContentId за поддържане на връзката с първичния запис на статията в базата знания.

След като изпълните това съобщение и получите отговор, извлечете записа на статията в базата знания от обекта на отговор и след това актуализирайте заглавието, съдържанието, описанието и ключовите думи, за да добавите преведеното съдържание.

Примерният код по-долу показва как да създадете превод на статия в базата знания с помощта на 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));  

Бележка

Стойността на GUID на първичния ключ (LanguageLocaleId) за всеки езиков запис в обекта LanguageLocale е еднакъв във всички организации в Dynamics 365 Customer Service.

Жизнен цикъл на статия в базата знания: промяна на състоянието на статия в базата знания

По време на жизнения си цикъл статия в базата знания може да бъде в следните състояния:

  • 0: Чернова (след създаване на статия в базата знания)

  • 1: Одобрена (след одобряване на статия в базата знания)

  • 2: Планирана (след като статия в базата знания се планира за публикуване)

  • 3: Публикувана (след публикуване на статия в базата знания)

  • 4: С изтекла валидност (след изтичане на валидността на статия в базата знания според датата на изтичане, посочена при публикуването)

  • 5: Архивирана (след архивиране на статия в базата знания)

  • 6: Отхвърлена (след отхвърляне на статия в базата знания)

За да промените състоянието на статията, използвайте съобщението Update в записа на статията в базата знания, за да актуализирате атрибута KnowledgeArticle.StateCode. За по-рано обвързани типове използвайте изброяването KnowledgeArticleState за задаване на възможните състояния. Повече информация: Извършване на специализирани операции с помощта на Update.

Примерният код по-долу показва как да публикувате запис на статия в базата знания.

// 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);  
  

Свързване на запис на статия в базата знания с екземпляр на обект в Dynamics 365 Customer Service

Когато активирате вграденото търсене на знания за обект в Dynamics 365 Customer Service с помощта на уеб клиента, автоматично се създава релация „много към много“, msdyn_<Entity_Name>_knowledgearticle. Можете да използвате тази релация за програмно свързване или свързване на екземпляр на KnowledgeArticle с екземпляр на обект на Dynamics 365 Customer Service. Когато свързвате екземпляр на KnowledgeArticle с екземпляр на обект, запис за релацията се създава в обект на пресичане, наречен msdyn_<Entity_Name>_knowledgearticle, Например, когато свързвате KnowledgeArticle с екземпляр на Account за първи път, се създава обект на пресичане, наречен msdyn_account_knowledgearticle, и в този обект на пресичане се създава запис със съпоставянето на връзката. По подразбиране обектът Incident (случай) е активиран за вграденото търсене на знания и когато свържете запис KnowledgeArticle със запис Incident, се създава запис на връзка в обекта на пресичане KnowledgeArticleIncident.

Примерният код по-долу демонстрира как да свържете екземпляр на KnowledgeArticle с екземпляр на 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);  
  

Увеличаване на броя прегледи на статия в базата знания

Използвайте съобщението IncrementKnowledgeArticleViewCountRequest за увеличаване на броя на прегледите на запис на статия в базата знания за даден ден в обекта KnowledgeArticleViews. Ако не съществува запис за статия в базата знания за определен ден, той ще създаде запис и след това ще зададе посочената стойност на броя на прегледите в атрибута KnowledgeArticleViews. KnowledgeArticleView. Ако вече съществува запис за статия в базата знания за посочения ден, той просто ще увеличи броя на прегледите в атрибута KnowledgeArticleViews. KnowledgeArticleView на съществуващия запис.

Статии в базата знания в Dynamics 365 Customer Service, включително техните версии и преводи, са индексирани с пълен текст и поддържат пълнотекстово търсене в SQL Server. За повече информация относно пълнотекстовото търсене вижте SQL Server: пълнотекстово търсене,

Използвайте съобщението FullTextSearchKnowledgeArticleRequest за търсене на статия в базата знания от вашите приложения, за да намерите информацията, която търсите. Съобщението FullTextSearchKnowledgeArticleRequest ви позволява да използвате инфлекционно съвпадение на стъблото (позволява текстът за търсене да бъде заменен с различно време или инфлексия) и да зададете критерии за заявка (използвайки FetchXML или QueryExpression за задаване на филтриране, подреждане, сортиране и пейджинг), за да намерите статии със знания с определен текст. Можете също така да изберете да премахнете множество версии на едни и същи статии в резултатите от търсенето и да филтрирате състоянието на статията в базата знания, докато търсите текст.

Отхвърлени обекти за знания

Следните наследени обекти са отхвърлени. Повече информация: Отхвърлени обекти на знанието

Наследствените обекти на знания не са достъпни от 1 декември 2020 г. Силно препоръчваме да извършите преместването обекта KnowledgeArticle. За повече информация относно създаването на статия за знания в Унифициран интерфейс вижте Създаване и управление на статии със знания.  

Използвайте следното за помощ при миграцията:

  • Използвайте SDK, WebAPI или Microsoft Power Automate в зависимост от вашите сценарии.
  • Използвайте инструмента за миграция с отворен код с лиценз MIT,

Важно

  • Инструментът за миграция с отворен код не се поддържа от Microsoft и може да се наложи да бъде променен според вашите сценарии.
  • Винаги изпълнявайте тестова среда, преди да използвате в производството.
  • Проверете лиценза и readme, преди да използвате инструмента.

Вижте също