Работа със статии от базата знания
Бележка
Информацията за наличността на функциите е следната.
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
.
Когато създавате запис на статия в базата знания, той е в състояние 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, преди да използвате инструмента.