ทํางานกับตารางบทความความรู้

นําไปใช้กับ: Dynamics 365 Customer Service และ Dynamics 365 Contact Center—แบบสแตนด์อโลนเท่านั้น

ใช้ตารางเพื่อสร้างKnowledgeArticleความสามารถในการจัดการความรู้ในโซลูชัน Dynamics 365 Customer Service ของคุณ บทความนี้อธิบายวิธีการสร้างบทความ จัดการรุ่นและการแปล เผยแพร่เนื้อหา และรวมบทความให้ความรู้กับเอนทิตีการบริการลูกค้าอื่นๆ

Prerequisites

ตรวจสอบให้แน่ใจว่าคุณมี บทบาทและสิทธิ์ที่จําเป็น

สร้างบทความให้ความรู้

เมื่อคุณสร้างเรกคอร์ดบทความให้ความรู้ 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 (Web API) หรือ CreateKnowledgeArticleTranslationRequest (บริการขององค์กร) เพื่อสร้างการแปลสำหรับเรกคอร์ดบทความให้ความรู้ คุณสามารถแปลบทความให้ความรู้ของคุณเป็นภาษาต่างๆ ได้มากกว่า 150 ภาษา ข้อมูลเกี่ยวกับภาษาที่รองรับเหล่านี้มีอยู่ในตารางใหม่LanguageLocale

เรียนรู้เพิ่มเติมในตาราง LanguageLocale

โดยใช้ การดําเนินการ CreateKnowledgeArticleTranslation (Web 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);  
  

หมายเหตุ

statecode ค่า เช่น แบบร่าง (0) บ่งชี้ถึงขั้นตอนวงจรชีวิตของบทความ ไม่ใช่การรักษาความลับหรือการมองเห็น ผู้ใช้ที่มีสิทธิ์การอ่านและเขียนที่เหมาะสมสามารถเข้าถึงบทความฉบับร่างได้

เชื่อมโยงบันทึกบทความองค์ความรู้กับอินสแตนซ์ของเอนทิตี 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 (Case) จะถูกเปิดใช้งานสำหรับการค้นหาฐานความรู้แบบฝังตัว เมื่อคุณเชื่อมโยง 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 ขึ้นอยู่กับสถานการณ์ของคุณ
  • ใช้เครื่องมือการโยกย้าย โอเพนซอร์ส (Open Source) พร้อมสิทธิ์การใช้งาน MIT

สำคัญ

  • Microsoft ไม่สนับสนุนเครื่องมือการโยกย้ายแบบ โอเพนซอร์ส (Open Source) คุณอาจต้องปรับเปลี่ยนให้เหมาะกับสถานการณ์ของคุณ
  • เรียกใช้สภาพแวดล้อมการทดสอบเสมอก่อนที่จะใช้ในการใช้งานจริงเสมอ
  • ตรวจสอบใบอนุญาตและ Readme ก่อนที่คุณจะใช้เครื่องมือ