Поділитися через


Робота зі статтями бази знань

Нотатка

Інформація про доступність функції наведена нижче.

Dynamics 365 центр контактів — вбудований Dynamics 365 центр контактів — автономний Dynamics 365 Customer Service
No Так Так

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

Нотатка

Сутності KBArticle, KBArticleTemplate і KBArticleComment наразі є застарілими. Це означає, що більше ми не очікуємо, що ви будете користуватися цими сутностями. Для керування знаннями в Dynamics 365 Customer Service ви повинні використовувати новішу сутність KnowledgeArticle. Докладніші відомості див. у розділі Застарілі сутності знань у кінці цієї теми.

Створення статті бази знань

Коли ви створюєте запис щодо статті бази знань, 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, щоб задавати можливі стани. Докладніше див. у розділі Виконання спеціальних операцій із використанням оновлення.

У наведеному нижче зразку показано, як ви можете опублікувати запис статті бази знань.

// 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_<Ім’я_сутності>_knowledgearticle. Ви можете користуватися цим зв’язком, щоб на програмному рівні пов’язувати інсталяцію KnowledgeArticle з інсталяцією сутності Dynamics 365 Customer Service або створювати посилання на інсталяцію сутності Dynamics 365 Customer Service. У разі створення зв'язку між інсталяцією KnowledgeArticle та інсталяцією сутності, для цього зв’язку в сутності зі збігом створюється запис під назвою msdyn_<Ім’я_сутності>_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.

Важливо

  • Інструмент міграції з відкритим вихідним кодом не підтримується Майкрософт і може потребувати змінення залежно від ваших сценаріїв.
  • До використання у виробничому середовищі завжди спочатку запускайте тестове середовище.
  • До використання інструменту ознайомтеся з ліцензією та файлом readme.

Статті за темою