Microsoft Dynamics CRM - Hướng dẫn nhanh

Quản lý quan hệ khách hàng (CRM) là một hệ thống để quản lý các tương tác của công ty với khách hàng hiện tại và tương lai. Nó thường liên quan đến việc sử dụng công nghệ để tổ chức, tự động hóa và đồng bộ hóa việc bán hàng, tiếp thị, dịch vụ khách hàng và hỗ trợ kỹ thuật. CRM có thể giúp giảm chi phí và tăng lợi nhuận bằng cách tổ chức và tự động hóa các quy trình kinh doanh nhằm nuôi dưỡng sự hài lòng và lòng trung thành của khách hàng.

Microsoft Dynamics CRM

Microsoft Dynamics CRM là gói phần mềm quản lý quan hệ khách hàng do Microsoft phát triển tập trung vào việc nâng cao mối quan hệ khách hàng cho bất kỳ tổ chức nào. Ngoài ra, sản phẩm tập trung chủ yếu vào các lĩnh vực Bán hàng, Tiếp thị và Dịch vụ Khách hàng, mặc dù Microsoft đã tiếp thị Dynamics CRM như một nền tảng XRM và đã khuyến khích các đối tác sử dụng khuôn khổ độc quyền (dựa trên .NET) của mình để tùy chỉnh nó. Trong những năm gần đây, nó cũng đã phát triển như một nền tảng Analytics được thúc đẩy bởi CRM.

Giải pháp CRM có thể được sử dụng để thúc đẩy năng suất bán hàng và hiệu quả tiếp thị cho một tổ chức, xử lý chuỗi hỗ trợ khách hàng hoàn chỉnh và cung cấp thông tin chi tiết về xã hội, thông tin kinh doanh cũng như nhiều chức năng và tính năng khác. Là một sản phẩm, Microsoft Dynamics CRM cũng cung cấp hỗ trợ di động đầy đủ để sử dụng các ứng dụng CRM trên điện thoại di động và máy tính bảng.

Khi viết hướng dẫn này, phiên bản mới nhất của CRM là CRM 2016. Tuy nhiên, trong hướng dẫn này chúng tôi sẽ sử dụng phiên bản CRM 2015 Online vì đây là phiên bản ổn định mới nhất cũng như thường xuyên được sử dụng trong nhiều tổ chức. Tuy nhiên, ngay cả khi bạn đang sử dụng bất kỳ phiên bản CRM nào khác, tất cả các khái niệm trong hướng dẫn vẫn sẽ đúng.

Cung cấp sản phẩm

Microsoft Dynamics CRM được cung cấp trong hai danh mục -

CRM trực tuyến

CRM Online là một sản phẩm dựa trên đám mây của Microsoft Dynamics CRM, nơi tất cả các quy trình phụ trợ (chẳng hạn như máy chủ ứng dụng, thiết lập, triển khai, cơ sở dữ liệu, cấp phép, v.v.) được quản lý trên máy chủ của Microsoft. CRM Online là một dịch vụ dựa trên đăng ký được ưu tiên cho các tổ chức có thể không muốn quản lý tất cả các kỹ thuật liên quan đến việc triển khai CRM. Bạn có thể bắt đầu thiết lập hệ thống của mình sau vài ngày (không phải vài tuần, vài tháng hoặc vài năm) và truy cập nó trên web thông qua trình duyệt của bạn.

CRM On-Premise

CRM tại chỗ là một cung cấp tùy chỉnh và mạnh mẽ hơn của Microsoft Dynamics CRM, nơi ứng dụng CRM và cơ sở dữ liệu sẽ được triển khai trên máy chủ của bạn. Cung cấp này cho phép bạn kiểm soát tất cả cơ sở dữ liệu, tùy chỉnh, triển khai, sao lưu, cấp phép và các thiết lập mạng và phần cứng khác. Nói chung, các tổ chức muốn sử dụng giải pháp CRM tùy chỉnh thích triển khai tại chỗ vì nó cung cấp khả năng tích hợp và tùy chỉnh tốt hơn.

Từ quan điểm chức năng, cả hai dịch vụ cung cấp các chức năng tương tự; tuy nhiên, chúng khác nhau đáng kể về cách thực hiện. Sự khác biệt được tóm tắt trong bảng sau.

CRM trực tuyến CRM On-Premise
Đây là một giải pháp dựa trên đám mây do Microsoft cung cấp, trong đó tất cả các máy chủ và cơ sở dữ liệu đều do Microsoft quản lý. Đây là giải pháp tại chỗ do Microsoft cung cấp, trong đó khách hàng quản lý các máy chủ và cơ sở dữ liệu.
Bạn có thể bắt đầu cung cấp dịch vụ trực tuyến sau vài ngày. Bạn trả tiền cho người dùng và sử dụng không gian khi đang di chuyển. Việc thiết lập dịch vụ tại chỗ cần có kỹ năng kỹ thuật cũng như đủ thời gian để thiết lập phiên bản CRM và chạy nó.
Nó hỗ trợ các tùy chỉnh và tiện ích mở rộng tương đối ít hơn. Nó hỗ trợ nhiều tùy chỉnh và tiện ích mở rộng hơn.
CRM Online không cung cấp khả năng thực hiện các tùy chọn sao lưu và khôi phục dữ liệu thủ công, vì cơ sở dữ liệu được lưu trữ trên các máy chủ của Microsoft. Tuy nhiên, Microsoft thực hiện sao lưu cơ sở dữ liệu hàng ngày. CRM tại chỗ cung cấp khả năng hoàn chỉnh để quản lý cơ sở dữ liệu của bạn.
CRM Online có các gói khác nhau dựa trên giới hạn lưu trữ dữ liệu như 5GB, 20 GB, v.v. CRM tại chỗ không có bất kỳ giới hạn nào như vậy về kích thước lưu trữ, vì dữ liệu tồn tại trên các máy chủ của riêng bạn.
CRM Online cung cấp các khả năng có sẵn của các tính năng như thông tin chi tiết, lắng nghe xã hội, phân tích, v.v. CRM tại chỗ có thêm chi phí cho các tính năng này.
CRM Online hỗ trợ cập nhật tự động lên phiên bản trong tương lai. Các bản cập nhật tại chỗ CRM cần được quản trị viên cài đặt.

Truy cập CRM

Microsoft Dynamics CRM có thể được truy cập thông qua bất kỳ tùy chọn nào sau đây:

  • Browser
  • Di động và Máy tính bảng
  • Outlook

Đối thủ cạnh tranh sản phẩm

Microsoft Dynamics CRM chắc chắn là một trong những sản phẩm hàng đầu trong không gian CRM. Tuy nhiên, sau đây là các sản phẩm khác cạnh tranh với Microsoft Dynamics CRM.

  • Salesforce.com
  • Oracle
  • SAP
  • Sage CRM
  • CRM đường
  • NetSuite

Phiên bản sản phẩm

Microsoft Dynamics CRM đã phát triển trong những năm qua bắt đầu từ phiên bản 1.0 vào năm 2003. Phiên bản mới nhất (khi viết bài này) là năm 2015. Sau đây là danh sách theo thứ tự thời gian của các phiên bản phát hành:

  • Microsoft CRM 1.0
  • Microsoft CRM 1.2
  • Microsoft Dynamics CRM 3.0
  • Microsoft Dynamics CRM 4.0
  • Microsoft Dynamics CRM 2011
  • Microsoft Dynamics CRM 2013
  • Microsoft Dynamics CRM 2015
  • Microsoft Dynamics CRM 2016

Hãy bắt đầu bằng cách thiết lập môi trường CRM của chúng tôi. Chúng tôi sẽ sử dụng phiên bản trực tuyến của CRM 2015, vì phiên bản trực tuyến cung cấp quyền truy cập dùng thử miễn phí trong một tháng. Bằng cách này, bạn sẽ không cần phải mua bất kỳ giấy phép nào để học CRM.

Note- Vì Microsoft Dynamics CRM là một sản phẩm đang phát triển, có thể vào thời điểm bạn đang tìm hiểu điều này, bạn sẽ có phiên bản mới hơn của sản phẩm. Trong trường hợp đó, ứng dụng có thể trông không chính xác như bạn thấy trong ảnh chụp màn hình của hướng dẫn này. Tuy nhiên, các khái niệm cốt lõi của sản phẩm vẫn được giữ nguyên. Tuy nhiên, giao diện và điều hướng của sản phẩm có thể thay đổi, trong hầu hết các trường hợp, bạn sẽ có thể dễ dàng điều hướng và tìm các tùy chọn cần thiết.

Thiết lập tài khoản Microsoft Dynamics CRM Online

Step 1 - Điều hướng đến URL sau -

https://www.microsoft.com/en-us/dynamics365/home

Trong trường hợp bạn không thấy các tùy chọn của Phiên bản dùng thử qua liên kết này trong tương lai, chỉ cần thử tìm kiếm "Bản dùng thử miễn phí Microsoft Dynamics CRM" trên Google.

Step 2- Nhấp vào nút Dùng thử miễn phí. Thao tác này sẽ bắt đầu quy trình đăng ký 3 bước như được hiển thị trong ảnh chụp màn hình sau. Ở Bước 1 của đăng ký 3 bước, hãy điền các chi tiết bắt buộc như tên, email và ngôn ngữ.

Step 3- Nhấp vào nút Dùng thử miễn phí. Thao tác này sẽ bắt đầu quy trình đăng ký 3 bước như được hiển thị trong ảnh chụp màn hình sau. Ở Bước 1 của đăng ký 3 bước, hãy điền các chi tiết bắt buộc như tên, email và ngôn ngữ.

Step 4- Trong Bước 3 của đăng ký 3 bước, Microsoft sẽ xác thực số điện thoại di động mà bạn đã chỉ định. Đối với điều này, bạn có thể cung cấp số điện thoại di động của mình và nhấp vào Nhắn tin cho tôi. Sau đó, nó sẽ gửi OTP đến điện thoại di động của bạn bằng cách sử dụng để bạn có thể tiếp tục thiết lập.

Step 5- ID người dùng Office 365 của bạn sẽ được tạo. Bạn có thể lưu thông tin ID người dùng này để truy cập sau.

Sau khi thiết lập tài khoản, bây giờ nó sẽ mở Trang tổng quan CRM của bạn trông giống như sau.

Chỉ cần nhấn mạnh lại, các ảnh chụp màn hình ở trên có thể thay đổi với một phiên bản trong tương lai, tuy nhiên việc thiết lập môi trường sẽ là một quá trình khá đơn giản.

Tải xuống SDK CRM

Bộ phát triển phần mềm (SDK) của Microsoft Dynamics CRM chứa các mẫu mã quan trọng bao gồm mã phía máy chủ, mã phía máy khách, tiện ích mở rộng, plugin, dịch vụ web, quy trình làm việc, mô hình bảo mật, v.v. Về cơ bản, SDK chứa mọi tài nguyên phát triển mà bạn cần để bắt đầu với CRM. Cho dù bạn đang lên kế hoạch thiết lập một dự án plugin mới hay thiết lập một dự án dịch vụ web cho CRM, SDK cung cấp kiến ​​trúc cơ bản và các ví dụ từ cấp độ đơn giản đến nâng cao để giúp bạn khởi động. Bây giờ chúng ta sẽ xem xét các bước để tải xuống và cài đặt SDK.

Step 1- Mọi phiên bản của Microsoft Dynamics CRM đều có phiên bản SDK riêng. Cách tốt nhất để có được phiên bản SDK chính xác là tìm kiếm phiên bản CRM tương ứng của bạn trên Google. Ví dụ: nếu phiên bản CRM của bạn là 2015, thì hãy thử tìm kiếm "Microsoft Dynamics CRM 2015 SDK".

Step 2- Sau khi tải xuống, hãy chạy thiết lập exe. Nhấp vào Tiếp tục.

Step 3- Nó sẽ yêu cầu bạn chọn vị trí nơi SDK sẽ được trích xuất. Chọn bất kỳ vị trí thích hợp nào bạn muốn giữ SDK tham chiếu.

Step 4- Mở thư mục mà bạn đã giải nén. Bạn có thể truy cập tất cả nội dung SDK từ đây.

Phần kết luận

Trong chương này, chúng tôi đã thiết lập môi trường của mình bằng cách tạo tài khoản CRM Online. Sau đó, chúng tôi tải xuống SDK CRM, sẽ được sử dụng trong các chương tiếp theo của hướng dẫn này. Hãy nhớ ghi lại thông tin đăng nhập mà bạn đã thiết lập tài khoản, vì bạn sẽ cần những thông tin đăng nhập này vào lần đăng nhập tiếp theo.

Toàn bộ Microsoft Dynamics CRM được thiết kế xung quanh các mô-đun chức năng sau.

  • Sales
  • Marketing
  • Quản lý dịch vụ

Các mô-đun chức năng này thường được gọi là Work Areas.

Hiểu các mô-đun chức năng CRM

Toàn bộ ứng dụng CRM được phân chia theo chức năng cho các loại người dùng và nhóm khác nhau. Do đó, nếu một tổ chức đang sử dụng CRM để quản lý các quy trình của mình, thì người dùng từ nhóm Bán hàng sẽ sử dụng các chức năng nằm trong mô-đun Bán hàng, trong khi người dùng từ nhóm Tiếp thị sẽ sử dụng các chức năng nằm trong mô-đun Tiếp thị.

Tất cả ba mô-đun chức năng này kết hợp với nhau để thúc đẩy toàn bộ vòng đời của việc kiếm được khách hàng mới (Tiếp thị), bán dịch vụ cho họ (Bán hàng) và duy trì khách hàng hiện tại (Quản lý dịch vụ).

Để hiểu rõ hơn về dòng chảy này, hãy xem xét ngân hàng bán thẻ tín dụng cho khách hàng của mình. Vòng đời điển hình của việc bán thẻ tín dụng cho khách hàng sẽ như sau. Trong mỗi bước của vòng đời này, bạn sẽ thấy cách các mô-đun Bán hàng, Tiếp thị và Dịch vụ thực hiện vai trò của chúng.

Sales & Marketing- Nhân viên điều hành văn phòng tổng đài của ngân hàng tiếp nhận dữ liệu của khách hàng tiềm năng; thường được gọi là Khách hàng tiềm năng trong CRM. Những khách hàng tiềm năng này được thu thập trong hệ thống CRM thông qua các chiến dịch tiếp thị, thúc đẩy bán hàng, giới thiệu, v.v.

Sales- Người điều hành trung tâm cuộc gọi liên lạc với những Khách hàng tiềm năng này thông qua các cuộc gọi điện thoại / email / v.v. Nếu khách hàng quan tâm đến việc cung cấp thẻ tín dụng, bản ghi Khách hàng tiềm năng sẽ được chuyển đổi thành bản ghi Cơ hội (Khách hàng tiềm năng giành được).

Service- Khi khách hàng trở thành một phần của hệ thống, công ty sẽ hỗ trợ họ thanh toán, lập hóa đơn, hoàn lại tiền, v.v. Bất cứ khi nào khách hàng có bất kỳ thắc mắc hoặc thắc mắc nào, họ sẽ gọi đến tổng đài và nêu ra sự cố. Người điều hành sẽ theo dõi để giải quyết vụ việc với mục đích cung cấp dịch vụ chất lượng cho khách hàng. Các nhiệm vụ này thuộc Quản lý dịch vụ CRM.

Điều hướng các khu vực làm việc CRM

Step 1 - Mở Trang chủ CRM.

Step 2 - Theo mặc định, bạn sẽ thấy khu vực làm việc Bán hàng như đã chọn.

Step 3- Để thay đổi khu vực làm việc, hãy nhấp vào tùy chọn Hiển thị khu vực làm việc. Bạn sẽ thấy các tùy chọn để chọn Bán hàng, Dịch vụ và Tiếp thị.

Step 4- Nhấp vào Bán hàng. Điều này sẽ hiển thị cho bạn tất cả các thực thể nằm trong Bán hàng như Tài khoản, Địa chỉ liên hệ, Khách hàng tiềm năng, Cơ hội, Đối thủ cạnh tranh, v.v. Mỗi thực thể này được phân loại theo quy trình kinh doanh của họ như Công việc của tôi, Khách hàng, Bán hàng, Tài sản thế chấp, v.v.

Step 5 - Tương tự, nếu bạn nhấp vào vùng công việc Tiếp thị, bạn sẽ thấy tất cả các thực thể liên quan đến các chức năng kinh doanh Tiếp thị.

Mô-đun bán hàng

Mô-đun Bán hàng của CRM được thiết kế để thúc đẩy toàn bộ vòng đời bán hàng của một khách hàng mới. Mô-đun Bán hàng bao gồm các mô-đun con sau:

Leads- Đại diện cho một người hoặc một tổ chức có thể là khách hàng tiềm năng của công ty trong tương lai. Đây là bước đầu tiên để có được khách hàng tiềm năng trong hệ thống.

Opportunities- Đại diện cho một đợt bán hàng tiềm năng cho khách hàng. Khi Khách hàng tiềm năng thể hiện sự quan tâm đến sản phẩm, nó sẽ được chuyển đổi thành Cơ hội. Cơ hội sẽ thắng hoặc mất.

Accounts- Đại diện cho một công ty mà tổ chức có quan hệ. Khi Cơ hội chiến thắng, nó sẽ được chuyển đổi thành Tài khoản hoặc Danh bạ.

Contacts- Đại diện cho một người hoặc bất kỳ cá nhân nào mà tổ chức có quan hệ. Hầu hết các Liên hệ này là khách hàng của các tổ chức (ví dụ: tất cả khách hàng thẻ tín dụng của một ngân hàng). Khi Cơ hội chiến thắng, nó sẽ được chuyển đổi thành Tài khoản hoặc Danh bạ.

Competitors - Quản lý tất cả các đối thủ cạnh tranh trên thị trường của tổ chức.

Products - Quản lý tất cả các sản phẩm do tổ chức cung cấp cho khách hàng (Ví dụ: tất cả các gói thẻ tín dụng).

Quotes - Một lời đề nghị chính thức cho các sản phẩm hoặc dịch vụ được đề xuất với mức giá cụ thể được gửi đến một khách hàng tiềm năng (Ví dụ, giá hàng năm của một gói thẻ tín dụng nhất định được gửi cho khách hàng).

Orders - Một báo giá được khách hàng chấp nhận sẽ chuyển thành một Đơn đặt hàng (Ví dụ: trong số tất cả các gói mà tổ chức cung cấp cho bạn, bạn có thể đăng ký 6 tháng).

Invoices - Một đơn đặt hàng đã lập hóa đơn tạo ra một hóa đơn.

Mô-đun tiếp thị

Mô-đun Tiếp thị của CRM được thiết kế để thúc đẩy toàn bộ quy trình tiếp thị của một tổ chức cho các khách hàng hiện tại và tiềm năng của tổ chức. Mô-đun Tiếp thị bao gồm các mô-đun con sau:

Marketing Lists- Cung cấp một cách để nhóm Danh bạ, Tài khoản và Khách hàng tiềm năng của bạn và tương tác với họ thông qua việc gửi email quảng cáo, chi tiết sự kiện, bản tin và các cập nhật khác có liên quan đến khách hàng mục tiêu. Bạn có thể xác định các tiêu chí để tạo danh sách tiếp thị của mình (Ví dụ: các liên hệ trong độ tuổi từ 25 đến 35).

Campaigns - Các chiến dịch được thiết kế để đo lường hiệu quả và đạt được một kết quả cụ thể, chẳng hạn như giới thiệu sản phẩm mới hoặc tăng thị phần và có thể bao gồm các kênh truyền thông khác nhau như email, quảng cáo trên báo, quảng cáo YouTube, v.v.

Quick Campaigns - Chiến dịch Nhanh tương tự như Chiến dịch tuy nhiên nó có thể chỉ liên quan đến một loại hoạt động.

Tất cả các phân hệ Tiếp thị ở trên hoạt động phối hợp chặt chẽ với phân hệ Bán hàng.

Mô-đun quản lý dịch vụ

Mô-đun Quản lý dịch vụ của CRM được thiết kế để tập trung, quản lý và theo dõi các hoạt động dịch vụ khách hàng của một tổ chức như hỗ trợ các dịch vụ dựa trên sự cố, hỗ trợ khách hàng sử dụng lịch trình dịch vụ, v.v.

Mô-đun Quản lý Dịch vụ bao gồm các mô-đun con sau:

  • Cases (Incidents)- Hỗ trợ mọi yêu cầu, vấn đề hoặc khiếu nại của khách hàng được theo dõi thông qua các sự cố / trường hợp. Một trường hợp tuân theo các giai đoạn khác nhau của quy trình giải quyết vấn đề và sau đó cuối cùng được giải quyết và đóng lại.

  • Knowledge Base - Duy trì một kho lưu trữ tổng thể cho tất cả các câu hỏi và câu trả lời phổ biến mà khách hàng thường hỏi.

  • Contracts - Hợp đồng làm việc với các Trường hợp chỉ ra tất cả các hợp đồng đang hoạt động mà khách hàng có.

  • Resources/Resource Groups- Đại diện cho con người, công cụ, phòng hoặc phần thiết bị được sử dụng để cung cấp dịch vụ. Những tài nguyên này có thể được sử dụng để giải quyết một vấn đề cụ thể của khách hàng.

  • Services - Đại diện cho tất cả các dịch vụ mà tổ chức cung cấp cho khách hàng.

  • Service Calendar - Được sử dụng để sắp xếp thời gian làm việc và lịch trình của những người sử dụng làm việc trong tổ chức.

Quản lý hoạt động

Tất cả các mô-đun được giải thích ở trên đều sử dụng mô-đun Quản lý hoạt động của CRM. Hoạt động đại diện cho bất kỳ loại tương tác nào với khách hàng như Cuộc gọi điện thoại, Email, Thư từ, v.v. Những hoạt động này có thể liên quan đến bất kỳ thực thể nào được giải thích trước đó như Tài khoản, Liên hệ, Khách hàng tiềm năng, Trường hợp, v.v. Theo mặc định, CRM cung cấp các loại hoạt động ngay sau đây -

  • Gọi điện
  • Email
  • Task
  • Appointment
  • Cuộc hẹn định kỳ
  • Letter
  • Fax
  • Phản hồi chiến dịch
  • Hoạt động Chiến dịch
  • Hoạt động dịch vụ
  • Hoạt động tùy chỉnh

Phần kết luận

Trong chương này, chúng ta đã tìm hiểu về ba mô-đun chính của CRM - Bán hàng, Tiếp thị và Quản lý Dịch vụ. Chúng tôi đã hiểu cách tổ chức các khu vực công việc trong CRM và toàn bộ vòng đời của một tổ chức CRM hoạt động như thế nào. Chúng tôi cũng đã xem xét mô-đun Quản lý hoạt động của CRM cho phép tạo Điện thoại, Email, Fax và các loại hoạt động tương tác với khách hàng khác.

Bây giờ chúng ta đã có tổng quan về chức năng của tất cả các mô-đun CRM, chúng ta hãy tìm hiểu và hiểu về các thực thể và biểu mẫu trong CRM.

Thực thể là gì?

Một thực thể được sử dụng để lập mô hình và quản lý dữ liệu kinh doanh trong CRM. Danh bạ, Trường hợp, Tài khoản, Khách hàng tiềm năng, Cơ hội, Hoạt động, v.v. là tất cả các thực thể lưu giữ hồ sơ dữ liệu. Về mặt khái niệm, một thực thể CRM tương đương với một bảng cơ sở dữ liệu. Ví dụ: thực thể Danh bạ sẽ giữ hồ sơ Liên hệ, thực thể Trường hợp sẽ giữ hồ sơ Trường hợp, v.v.

Bạn có thể có cả hai: thực thể out-of-the-box (theo mặc định với CRM) và thực thể tùy chỉnh (bạn có thể tạo bằng cách tùy chỉnh). Ví dụ: giả sử rằng bạn đang duy trì dữ liệu của những cuốn sách mà khách hàng của bạn đã đọc. Đối với điều này, bạn sẽ lưu trữ dữ liệu khách hàng bằng thực thể Danh bạ ngoài hộp nhưng bạn sẽ lưu trữ dữ liệu sách ở đâu? Bạn không có bất kỳ thực thể nào có thể lưu trữ dữ liệu cho sách. Trong các tình huống như vậy, bạn sẽ tạo một thực thể tùy chỉnh mới có tên là Sách và liên hệ thực thể này với thực thể Danh bạ hiện có.

Đối với hướng dẫn này, chúng ta hãy lấy một ví dụ về việc lưu trữ người sử dụng lao động và nhân viên trong CRM. Xem xét ví dụ này, ngoài hộp, CRM cung cấpContactthực thể mà bạn có thể lưu trữ lý tưởng tất cả nhân viên của mình. Nó cũng cung cấp mộtAccountthực thể trong đó bạn có thể lưu trữ tất cả các nhà tuyển dụng của mình. Nhưng vì lợi ích của việc học các thực thể, chúng tôi sẽ tạo một thực thể tùy chỉnh mới được gọi làEmployer (và không sử dụng thực thể Tài khoản hiện có).

Tạo một thực thể mới

Step 1 - Nhấp vào nút ruy-băng trên cùng, sau đó là SettingsLựa chọn. Nhấp chuộtCustomizations từ phần Tùy chỉnh (Tham khảo ảnh chụp màn hình sau).

Step 2 - Bây giờ hãy nhấp vào Tùy chỉnh tùy chọn Hệ thống.

Thao tác này sẽ mở ra cửa sổ Giải pháp Mặc định. Bạn sẽ tìm hiểu thêm về Giải pháp CRM trong các chương tiếp theo nhưng hiện tại bạn sẽ sử dụng Giải pháp CRM mặc định.

Step 3 - Mở rộng tùy chọn Thực thể từ bảng điều khiển bên trái.

Step 4 - Bây giờ nhấp vào Mới → Thực thể.

Step 5- Trong Biểu mẫu thực thể, nhập Tên hiển thị là Nhà tuyển dụng và Tên số nhiều là Nhà tuyển dụng. Trong phần 'Các khu vực hiển thị thực thể này', hãy chọn Bán hàng, Dịch vụ và Tiếp thị. Việc kiểm tra các tùy chọn này sẽ hiển thị thực thể mới được tạo trong các tab Bán hàng, Dịch vụ và Tiếp thị của CRM.

Step 6- Nhấp vào biểu tượng Lưu và Đóng. Điều này sẽ tạo ra một thực thể mới trong cơ sở dữ liệu CRM đằng sau hậu trường.

Step 7 - Trong cửa sổ cha Giải pháp Mặc định, bạn sẽ thấy thực thể Nhà tuyển dụng mới được tạo.

Step 8- Nhấp vào tùy chọn Xuất bản Tất cả Tùy chỉnh từ thanh ribbon trên cùng. Điều này sẽ xuất bản (hay còn gọi là cam kết) tất cả những thay đổi mà chúng tôi đã làm cho đến bây giờ. Bạn có thể đóng cửa sổ này bằng cách nhấp vào Lưu và Đóng.

Tạo hồ sơ

CRM là tất cả về quản lý dữ liệu có giá trị trong hệ thống của bạn. Trong phần này, chúng ta sẽ tìm hiểu cách tạo, mở, đọc và xóa các bản ghi trong CRM. Chúng tôi sẽ tiếp tục với pháp nhân nhà tuyển dụng mà chúng tôi đã tạo trong chương trước.

Step 1 - Điều hướng đến lưới hồ sơ thực thể Nhà tuyển dụng qua Hiển thị khu vực làm việc → Bán hàng → Tiện ích mở rộng → Nhà tuyển dụng.

Step 2 - Nhấp vào biểu tượng Mới.

Thao tác này sẽ mở biểu mẫu nhà tuyển dụng mới mặc định. Bạn có thể thấy rằng chỉ có một tên trường có thể chỉnh sửa trong biểu mẫu mặc định này. Nhập Nhà tuyển dụng 1 vào trường Tên. Nhấp vào Lưu và đóng.

Step 3 - Trong Active Employers xem, bạn có thể xem hồ sơ nhà tuyển dụng mới được tạo.

Truy cập hồ sơ

Để truy cập các bản ghi đã được tạo trong CRM, hãy chuyển đến trang thực thể đó. Trong trường hợp của chúng tôi, hãy điều hướng đến Hiển thị khu vực làm việc → Bán hàng → Tiện ích mở rộng → Nhà tuyển dụng. Bạn sẽ thấy danh sách các bản ghi hiện diện ở đó trong lưới. Nhấp vào bất kỳ hồ sơ Nhà tuyển dụng nào để truy cập nó.

Cập nhật hồ sơ

Khi bạn đã mở hồ sơ, bạn chỉ có thể chỉnh sửa bất kỳ chi tiết nào trên biểu mẫu. Theo mặc định, CRM 2015 đi kèm với tùy chọn tự động lưu để lưu bất kỳ thay đổi nào được thực hiện đối với biểu mẫu 30 giây sau khi thay đổi. Ngoài ra, bạn có thể nhấp vào Ctrl + S.

Trong trường hợp bạn muốn tắt tính năng tự động lưu, hãy vào Cài đặt → Quản trị → Cài đặt hệ thống → Bật tự động lưu cho tất cả các biểu mẫu và chọn Không.

Xóa hồ sơ

Step 1 - Chọn một hoặc nhiều bản ghi mà bạn muốn xóa và nhấp vào Delete cái nút.

Step 2 - Xác nhận việc xóa các bản ghi bằng cách nhấp vào Delete.

Phần kết luận

Như đã thấy trong ví dụ trên, biểu mẫu Nhà tuyển dụng mặc định chỉ có một trường. Tuy nhiên, trong các tình huống thực tế, bạn sẽ có nhiều trường tùy chỉnh trên một biểu mẫu. Ví dụ: nếu bạn xem một bản ghi Liên hệ mẫu (là một thực thể CRM ngoài hộp), nó sẽ có nhiều trường để lưu thông tin liên hệ như Họ tên, Email, Điện thoại, Địa chỉ, Trường hợp, v.v.

Trong các chương tiếp theo, bạn sẽ học cách chỉnh sửa biểu mẫu mặc định này và thêm các loại trường khác nhau trên đó.

Trước khi bạn tìm hiểu cách thêm các trường tùy chỉnh vào biểu mẫu CRM, hãy cùng chúng tôi xem xét loại trường dữ liệu nào được CRM hỗ trợ.

Các loại trường

Ngoài ra, CRM cung cấp 11 loại trường dữ liệu có thể được đặt trên các biểu mẫu -

  • Một dòng văn bản
  • Bộ tùy chọn (thả xuống)
  • Hai tùy chọn (Nút radio)
  • Image
  • Số nguyên
  • Số điểm nổi
  • Số thập phân
  • Currency
  • Nhiều dòng văn bản
  • Ngày và giờ
  • Lookup

Bảng sau đây liệt kê mỗi loại với một mô tả ngắn gọn.

Sr.No Loại trường & Mô tả
1

Single Line of Text

Trường này lưu trữ tối đa 4000 ký tự văn bản. Bạn cũng có thể chỉ định định dạng là một trong những định dạng sau: Email, Văn bản, Vùng Văn bản, URL, Biểu tượng Ticker và Điện thoại. Bạn có thể đặt độ dài tối đa và chế độ IME cho từng cái này.

2

Option Set (Dropdown)

Trường này lưu trữ một tập hợp các tùy chọn, mỗi tùy chọn có một giá trị số và nhãn. Nói cách khác, nó là một trường thả xuống trong CRM. Bạn cũng có thể xác định Bộ tùy chọn chung có thể được sử dụng trên nhiều biểu mẫu.

3

Two Options (Radio Button)

Trường này cung cấp hai tùy chọn để người dùng chọn (0 hoặc 1). Nói cách khác, nó là một trường nút radio.

4

Image

Khi một thực thể có trường hình ảnh, nó có thể được cấu hình để hiển thị hình ảnh cho bản ghi trong ứng dụng.

5

Whole Number

Trường này lưu trữ các giá trị số nguyên từ -2,147,483,648 đến 2,147,483,647. Nó hỗ trợ các định dạng cụ thể như Không có, Thời lượng, Múi giờ và Ngôn ngữ. Bạn cũng có thể đặt giá trị tối thiểu và tối đa.

6

Floating Point Number

Trường này lưu trữ các số dấu phẩy động có độ chính xác lên đến 5 dấu phẩy thập phân từ 0,00 đến 1.000.000.000,00. Bạn cũng có thể đặt giá trị tối thiểu và tối đa.

7

Decimal Number

Trường này lưu trữ đến 10 dấu thập phân với các giá trị từ -100.000.000.000,00 đến 100.000.000.000.00.

số 8

Currency

Trường này được sử dụng để lưu trữ bất kỳ giá trị tiền tệ nào trong phạm vi từ 922.337.203.685.477.0000 đến 922.337.203.685.477.0000. Bạn cũng có thể chỉ định Độ chính xác là Số thập phân định giá, Độ chính xác của đơn vị tiền tệ hoặc bất kỳ giá trị nào trong khoảng từ 0 đến 4.

9

Multiple Lines of Text

Đây là một hộp văn bản cuộn. Bạn có thể đặt số ký tự tối đa cho trường này.

10

Date and Time

Trường này được sử dụng để lưu trữ dữ liệu liên quan đến ngày tháng trong CRM với hai định dạng được hỗ trợ: Chỉ Ngày và Ngày và Giờ. Bạn cũng có thể chỉ định hành vi là Người dùng cục bộ, Chỉ ngày và Độc lập múi giờ.

11

Lookup

Bạn có thể tạo trường tra cứu bằng cách sử dụng mối quan hệ thực thể đã được tạo nhưng chưa được sử dụng với trường tra cứu khác. Nếu bạn tạo trường tra cứu trong biểu mẫu thực thể, mối quan hệ sẽ tự động được tạo. Trường tra cứu được tạo dưới dạng trường quan hệ.

Trong hai chương cuối, bạn đã nghiên cứu về cách tạo các thực thể mới, tạo bản ghi mới và các loại trường có sẵn trong CRM. Trong chương này, bạn sẽ học cách thêm các trường mới trên biểu mẫu CRM.

Trong số 11 loại trường dữ liệu đã nghiên cứu ở chương trước, bạn sẽ sử dụng ba loại trường cho chủ nhân của mình - Bộ tùy chọn (Thả xuống), Nhiều dòng Văn bản và Ngày tháng. Trường Bộ tùy chọn sẽ được sử dụng để lưu trữ loại nhà tuyển dụng, Nhiều dòng văn bản sẽ được sử dụng để lưu trữ mô tả ngắn gọn về nhà tuyển dụng và trường DateTime sẽ được sử dụng để lưu trữ ngày thành lập công ty.Note: Bạn đã có trường Tên trên biểu mẫu của mình, đây là một loại Dòng Văn bản.

Thêm trường trên biểu mẫu

Step 1 - Nhấp vào nút ruy-băng trên cùng, sau đó là SettingsLựa chọn. Nhấp chuộtCustomizations từ phần Tùy chỉnh (Tham khảo ảnh chụp màn hình bên dưới).

Step 2 - Bây giờ hãy nhấp vào tùy chọn Customize the System.

Thao tác này sẽ mở cửa sổ DefaultSolution. Bạn sẽ tìm hiểu thêm về Giải pháp CRM trong các chương tiếp theo nhưng hiện tại bạn sẽ sử dụng Giải pháp CRM mặc định.

Step 3 - Mở rộng tùy chọn Thực thể từ bảng điều khiển bên trái.

Step 4- Từ các thực thể được mở rộng, chọn Nhà tuyển dụng. Thao tác này sẽ mở chi tiết của thực thể trên cửa sổ bên phải. Mở rộng tùy chọn Nhà tuyển dụng từ bảng điều khiển bên trái và bạn sẽ có thể thấy Biểu mẫu, Chế độ xem, Biểu đồ, Trường và một số tùy chọn khác.

Step 5- Nhấp vào Trường. Nó sẽ mở ra một lưới hiển thị tất cả các trường theo mặc định khi bạn tạo thực thể này.

Step 6- Nhấp vào nút Mới. Trong cửa sổ mới mở ra, hãy nhập các chi tiết sau:

Display Name - Loại nhà tuyển dụng

Name- Trường này sẽ được điền tự động dựa trên tên hiển thị bạn chọn. Tuy nhiên, nếu bạn muốn thay đổi nó, bạn có thể làm như vậy.

Data Type- Bộ tùy chọn. Ngay sau khi bạn chọn Loại dữ liệu làm Bộ tùy chọn, nó sẽ hiển thị cho bạn bảng Tùy chọn. Nhấp vào biểu tượng dấu cộng (+) sẽ tạo một mục tập hợp tùy chọn mới với Nhãn mặc định là Mục và Giá trị mặc định là 100.000.000. Bạn có thể thay đổi nhãn của mục này để thêm bốn tùy chọn đại diện cho các loại nhà tuyển dụng: Tư nhân, Chính phủ, Đa quốc gia và Công cộng.

Step 7- Nhấp vào Lưu và đóng từ dải băng trên cùng. Bạn đã tạo thành công trường Loại nhà tuyển dụng.

Step 8 - Tương tự như những gì bạn vừa làm để thêm trường Loại nhà tuyển dụng, hãy thêm ba trường khác như được mô tả và hiển thị trong ảnh chụp màn hình sau -

Number of Employees - Đây sẽ là trường Số nguyên.

Founded On - Đây sẽ là trường DateTime.

Employer Description - Đây sẽ là trường Nhiều Dòng Văn bản.

Step 9- Bây giờ thêm các trường mới này vào biểu mẫu nhà tuyển dụng. Đối với điều này, hãy nhấp vào Biểu mẫu từ điều hướng bên trái trong thực thể Nhà tuyển dụng. Điều này sẽ hiển thị cho bạn hai biểu mẫu có tên Thông tin. Theo mặc định, CRM tạo ra hai hình thức - Main và Mobile-Express. Bấm vào biểu mẫu Chính.

Step 10 - Bạn có thể thấy các trường mới được thêm vào trong bảng Field Explorer ở bên phải.

Step 11 - Kéo và thả các trường này trong tab Chung.

Step 12 - Nhấp vào Lưu và sau đó nhấp vào Xuất bản.

Step 13- Bây giờ bạn có thể tạo hồ sơ nhà tuyển dụng với các trường cập nhật. Điều hướng đến Trang chủ CRM → Bán hàng → Nhà tuyển dụng → Mới. Biểu mẫu mới sẽ mở lần này sẽ chứa tất cả các trường mới mà bạn đã thêm trong chương này. Bạn có thể điền vào một số chi tiết và nhấp vào Lưu và Đóng.

Phần kết luận

Trong chương này, chúng ta đã học cách làm việc với các biểu mẫu CRM và cách tùy chỉnh chúng bằng cách đặt các loại trường khác nhau vào chúng. Chúng tôi cũng đã học cách thêm nhiều trường tùy thích vào bất kỳ biểu mẫu nào và sắp xếp chúng bằng cách sử dụng các tab và phần khác nhau theo yêu cầu kinh doanh.

Microsoft Dynamics CRM là một sản phẩm rộng lớn đã phát triển đáng kể trong những năm qua. Sản phẩm đi kèm với rất nhiều tính năng vượt trội được tích hợp sẵn trong hệ thống. Bạn không cần phải viết bất kỳ mã nào để sử dụng các tính năng này. Một trong những tính năng quan trọng của CRM là khả năng tìm kiếm của CRM, trong đó nó hỗ trợ khả năng lọc và truy vấn nâng cao.

Tìm kiếm nhanh

Theo mặc định, chế độ xem lưới của mọi thực thể trong CRM hỗ trợ chức năng Tìm kiếm nhanh bằng cách sử dụng thanh tìm kiếm ở trên cùng bên phải. Sau đây là ảnh chụp màn hình tìm kiếm nhanh đối tượng Liên hệ.

Bạn có thể thử nhập một chuỗi tìm kiếm như 'Robert' và nó sẽ trả về tất cả các bản ghi phù hợp.

Bạn có thể đặt trước từ khóa tìm kiếm bằng * (dấu hoa thị) để thực hiện tìm kiếm theo ký tự đại diện.

Note - Khi sử dụng phiên bản ứng dụng khách web của Microsoft Dynamics CRM, Tìm kiếm nhanh luôn tìm kiếm Tất cả các bản ghi Hoạt động bất kể chế độ xem đã chọn.

Bạn có thể tùy chỉnh Tìm kiếm nhanh (như tùy chỉnh bất kỳ Chế độ xem nào khác) để sửa đổi tiêu chí bộ lọc, định cấu hình sắp xếp, thêm cột chế độ xem, thêm cột tìm kiếm và thay đổi các thuộc tính khác.

tìm kiếm nâng cao

Tìm kiếm nâng cao cho phép bạn tìm kiếm hồ sơ của bất kỳ thực thể nào trong CRM. Đây là một trong những tính năng mạnh nhất và hữu ích nhất có sẵn trong CRM. Biểu tượng Tìm kiếm nâng cao xuất hiện trên thanh ribbon trên cùng của Microsoft Dynamics CRM bất kể bạn đang ở trên màn hình nào.

Nhấp vào biểu tượng Tìm nâng cao để mở cửa sổ Tìm nâng cao. Cửa sổ này sẽ cho phép bạn chọn thực thể mà bạn muốn tìm kiếm các bản ghi, áp dụng các tiêu chí lọc và nhóm, và lưu các dạng xem Tìm Nâng cao của bạn dưới dạng các dạng xem cá nhân.

Hãy lấy một ví dụ. Giả sử, bạn muốn tìm kiếm tất cả các Liên hệ có FirstName chứa Robert và những người đã Ly hôn. Đối với điều này -

Step 1- Chọn Danh bạ từ trình đơn thả xuống Tìm kiếm. Menu thả xuống này sẽ chứa tất cả các thực thể có trong hệ thống của bạn.

Step 2- Nhập tiêu chí tìm kiếm như trong ảnh chụp màn hình sau. Bạn có thể thêm bao nhiêu tham số truy vấn tìm kiếm tùy thích. Bạn thậm chí có thể nhóm các tiêu chí như vậy bằng cách sử dụng các tham số nhóm. Ví dụ: nếu bạn muốn tìm kiếm tất cả các liên hệ có tên là Robert hoặc Mark, bạn có thể thêm hai tiêu chí tìm kiếm và nhóm chúng bằng cách sử dụng GroupOR.

Step 3- Nhấp vào nút Kết quả. Nó sẽ hiển thị các bản ghi phù hợp trong một tab mới.

Step 4- Bạn cũng có thể chỉnh sửa các cột mà bạn muốn xem trong kết quả tìm kiếm bằng cách nhấp vào Chỉnh sửa Cột. Ví dụ: lưới hiện tại của chúng tôi chỉ chứa hai cột - Họ và Tên và Điện thoại Doanh nghiệp. Tuy nhiên, nếu bạn muốn thêm một cột Email ID vào lưới này, bạn có thể làm như vậy bằng cách sử dụng tùy chọn này.

Lưu chế độ xem tùy chỉnh

Ở giai đoạn này, nếu bạn muốn lưu tiêu chí tìm kiếm này, cùng với các bộ lọc và cột đã chỉnh sửa, bạn có thể làm như vậy bằng cách nhấp vào nút Lưu. Sau khi được lưu, bạn có thể sử dụng chế độ xem đã lưu này khi bạn ở trên trang thực thể đó.

Ví dụ, hãy coi như là một giám đốc điều hành khách hàng, bạn phục vụ hai loại khách hàng: Bình thường và Cao cấp. Do đó, bạn có thể tạo một bộ lọc nâng cao với các danh mục tương ứng này và lưu chúng dưới dạng Liên hệ Bình thường được giao cho tôi và Liên hệ cao cấp được giao cho tôi. Sau đó, bạn có thể nhanh chóng truy cập các dạng xem này trực tiếp từ trang Thực thể liên hệ mà không cần thực hiện tìm kiếm nhanh hoặc tìm kiếm nâng cao mỗi khi bạn sử dụng hệ thống.

Tài nguyên web trong CRM là các tệp web ảo được lưu trữ trong cơ sở dữ liệu CRM và được sử dụng để triển khai các chức năng của trang web trong CRM. Các tệp này có thể là HTML, JScript, Silverlight hoặc bất kỳ loại được hỗ trợ nào khác.

CRM là một sản phẩm, đi kèm với một loạt các tính năng và chức năng. Tuy nhiên, hầu hết các trường hợp, bạn sẽ phải mở rộng các chức năng hiện có này để đáp ứng các yêu cầu tùy chỉnh của mình. Việc mở rộng các chức năng này thường xảy ra theo hai cách:

  • Extending on Client Side - Sử dụng tài nguyên web và kịch bản biểu mẫu.

  • Extending on Server Side - Plugin, Workflow và Web Services (chúng ta sẽ tìm hiểu phần này trong các chương sắp tới).

Sử dụng tài nguyên web

Như đã đề cập ở trên, mở rộng CRM ở phía khách hàng là nơi Tài nguyên Web xuất hiện. Để hiểu rõ điều này, hãy xem xét các trường hợp sử dụng sau:

  • Bạn có một biểu mẫu CRM chứa các trường nhất định. CRM cung cấp các tính năng tiện ích để xác thực cơ bản như các trường bắt buộc, độ dài trường, v.v. Tuy nhiên, điều gì sẽ xảy ra nếu bạn muốn xác thực phức tạp hơn, chẳng hạn như xác thực nếu số điện thoại đã nhập ở định dạng chính xác, hoặc xác thực xem địa chỉ đã nhập có thực sự tồn tại hay không hoặc SSN đã nhập có chính xác không?

  • CRM cung cấp các tùy chỉnh giao diện người dùng độc lập như tạo các phần và tab trên biểu mẫu, sắp xếp lại các trường, v.v. Tuy nhiên, điều gì sẽ xảy ra nếu khách hàng muốn tạo một trang tùy chỉnh hiển thị tất cả thông tin của khách hàng đến từ trang khác của họ Hệ thống ERP?

  • CRM đi kèm với một thanh ribbon tiêu chuẩn, chứa tất cả các nút và tùy chọn. Điều gì sẽ xảy ra nếu bạn muốn thêm một nút ruy-băng của riêng mình?

  • Hãy xem xét rằng bạn đã có sẵn một hệ thống ERP. Điều gì sẽ xảy ra nếu bạn muốn mở một số màn hình CRM từ hệ thống ERP này?

  • Bạn luôn có thể gọi bất kỳ dịch vụ web bên ngoài nào trong mã plugin phía máy chủ của mình. Tuy nhiên, điều gì sẽ xảy ra nếu bạn muốn gọi bất kỳ dịch vụ web bên ngoài nào trong khi bạn vẫn đang ở phía máy khách?

Câu trả lời cho tất cả những câu "Nếu là gì" là Tài nguyên Web. Mọi Tài nguyên Web đều có thể được truy cập thông qua URL duy nhất của nó. Bạn có thể tải lên tệp Tài nguyên Web hoặc đối với các tài nguyên dựa trên mã (chẳng hạn như HTML, Jscript, v.v.), bạn thậm chí có thể chỉnh sửa chúng trực tiếp bên trong CRM. Vì Tài nguyên Web được lưu trữ trong CRM, chúng có thể dễ dàng được di chuyển từ môi trường này sang môi trường khác cùng với bất kỳ tùy chỉnh CRM nào.

Các loại tài nguyên web

Loại tài nguyên web Ứng dụng mẫu trong CRM
Trang Web (HTML) Bạn có thể muốn tạo bất kỳ trang HTML tùy chỉnh nào như bản đồ, trang ứng dụng tùy chỉnh, v.v. và đặt nó bên trong biểu mẫu CRM của bạn.
Biểu định kiểu (CSS) Bất kỳ tệp CSS nào sẽ được sử dụng cùng với các tệp HTML.
Tập lệnh (JScript) Bất kỳ logic phía máy khách nào chẳng hạn như xác nhận hợp lệ, thao tác giá trị trường, v.v.
Dữ liệu (XML) Có thể được sử dụng để lưu trữ bất kỳ cài đặt tĩnh hoặc dữ liệu cấu hình nào.
Hình ảnh (PNG, JPG, GIF, ICO) Bất kỳ hình ảnh nào được sử dụng trong ứng dụng trên các nút ruy-băng, biểu tượng, biểu mẫu, v.v.
Silverlight (XAP) Bất kỳ ứng dụng Silverlight tùy chỉnh nào được nhúng trong CRM.
StyleSheet (XSL) Được sử dụng để chuyển đổi dữ liệu XML.

Trong số tất cả các loại tài nguyên web này, chúng ta sẽ nghiên cứu các loại tài nguyên web quan trọng nhất - Tài nguyên Web HTML và Tài nguyên Web JScript, trong các chương tiếp theo.

Truy cập tài nguyên web cho mọi thực thể

Tất cả các Tài nguyên Web được lưu trữ trong cơ sở dữ liệu đều có thể được truy cập trong CRM. Sau đây là các bước liên quan:

Step 1 - Vào Cài đặt → Tùy chỉnh → Tùy chỉnh hệ thống.

Step 2 - Từ điều hướng bên trái, chọn Web Resources. Hiện tại, bạn sẽ không thể xem bất kỳ Tài nguyên Web nào vì chúng tôi chưa tạo bất kỳ thứ gì.

Chúng ta sẽ xem xét cách tạo tài nguyên web trong các chương tiếp theo.

Tài nguyên web JScript có lẽ là loại tài nguyên web quan trọng nhất mà bạn sẽ sử dụng với Microsoft Dynamics CRM.

Các ứng dụng của JavaScript trong CRM

Lập trình sự kiện biểu mẫu

Lập trình sự kiện biểu mẫu được sử dụng để xử lý các hành vi phía máy khách, chẳng hạn như những gì xảy ra khi người dùng mở một biểu mẫu, thay đổi một số dữ liệu, di chuyển qua các tab, v.v. Để đạt được các tương tác phía máy khách như vậy, bạn sẽ viết mã JavaScript và thêm nó dưới dạng Tài nguyên Web JScript trong CRM. Tuy nhiên, mã JavaScript mà bạn sẽ viết phải sử dụng mô hình Xrm.Page của Dynamic CRM chứ không phải DOM JavaScript tiêu chuẩn. Sử dụng mô hình Xrm.Page là cách viết mã của Microsoft, đảm bảo rằng bất kỳ mã nào bạn viết bằng mô hình này sẽ tương thích với mọi phiên bản CRM trong tương lai.

Tài nguyên Web

Ngoài việc được sử dụng trong Lập trình sự kiện biểu mẫu, JavaScript được sử dụng trong các ứng dụng khác của CRM như -

  • Mở Biểu mẫu, Chế độ xem và Hộp thoại bằng một URL duy nhất.

  • Sử dụng điểm cuối OData và SOAP để tương tác với các dịch vụ web.

  • Tham chiếu mã JavaScript bên trong Tài nguyên Web khác (chẳng hạn như tài nguyên web HTML).

Trong những trường hợp như vậy, bạn sẽ viết mã JavaScript của mình (sử dụng mô hình Xrm.Page) và thêm nó dưới dạng Tài nguyên web JScript trong CRM, sau đó có thể được tham chiếu ở bất kỳ đâu với một URI duy nhất.

Tùy chỉnh ruy-băng

Cuối cùng, một trong những cách sử dụng phổ biến khác của JavaScript là xử lý các tùy chỉnh ruy-băng như:

  • Hiển thị / Ẩn các nút ruy-băng dựa trên một số logic
  • Bật / Tắt các nút ruy-băng dựa trên một số logic
  • Xử lý những gì xảy ra khi bạn nhấp vào một nút ruy-băng nhất định

Để xử lý các tình huống như vậy, bạn sẽ viết logic JavaScript của mình (sử dụng mô hình Xrm.Page) và sau đó thêm nó dưới dạng Tài nguyên web JScript. Sau đó, Tài nguyên Web này có thể được tham chiếu trong XML của nút ruy-băng và chúng ta có thể chỉ định phương thức nào gọi tệp JScript để kiểm tra xem nút ruy-băng có được hiển thị / ẩn hoặc bật / tắt hoặc xử lý các sự kiện nhấp chuột hay không.

Mô hình đối tượng Xrm.Page

Sau đây là phân cấp của đối tượng Xrm.Page hiển thị các không gian tên, đối tượng và bộ sưu tập của chúng. Bạn sẽ sử dụng các thuộc tính này trong khi viết mã JScript.

Không gian tên

Sr.No Mô tả đối tượng
1

Context

Cung cấp các phương thức để truy xuất thông tin theo ngữ cảnh cụ thể như chi tiết tổ chức, chi tiết người dùng đã đăng nhập hoặc các tham số đã được chuyển tới biểu mẫu trong một chuỗi truy vấn.

2

Data

Cung cấp quyền truy cập vào dữ liệu thực thể và các phương pháp để quản lý dữ liệu trong biểu mẫu cũng như trong việc kiểm soát quy trình kinh doanh.

3

UI

Chứa các phương thức để truy xuất thông tin về giao diện người dùng, ngoài các bộ sưu tập cho một số thành phần con của biểu mẫu.

Các đối tượng

Sr.No Mô tả đối tượng
1

Entity

Cung cấp phương pháp để -

  • Truy xuất thông tin hồ sơ
  • Lưu phương pháp
  • Thuộc tính bộ sưu tập
2

Process

Các phương pháp lấy thuộc tính của luồng quy trình nghiệp vụ.

3

Navigation

Cung cấp quyền truy cập vào các mục điều hướng bằng cách sử dụng bộ sưu tập các mục.

4

FormSelector

Sử dụng bộ sưu tập Mục để truy cập các biểu mẫu có sẵn cho người dùng. Cũng sử dụng phương pháp điều hướng để đóng và mở biểu mẫu.

5

Stages

Mỗi quy trình có một tập hợp các giai đoạn có thể được truy cập bằng phương thức quy trình getStages.

6

Steps

Mỗi giai đoạn bao gồm các bước khác nhau có thể được truy cập bằng cách sử dụng phương thức getSteps của giai đoạn.

Bộ sưu tập

Sr.No Bộ sưu tập & Mô tả
1

Attributes

Cung cấp quyền truy cập vào các thuộc tính thực thể có sẵn trên biểu mẫu.

2

Controls

ui.controls - Cung cấp quyền truy cập vào từng điều khiển có trên biểu mẫu.

attribute.controls - Cung cấp quyền truy cập vào tất cả các điều khiển trong một thuộc tính.

section.controls - Cung cấp quyền truy cập vào tất cả các điều khiển trong một phần.

3

Items

Cung cấp quyền truy cập vào tất cả các mục điều hướng trên một biểu mẫu.

4

Tabs

Cung cấp quyền truy cập vào tất cả các tab trên một biểu mẫu.

5

Sections

Cung cấp quyền truy cập vào tất cả các phần trên một biểu mẫu.

Các sự kiện được hỗ trợ trong lập trình biểu mẫu

Lập trình biểu mẫu sử dụng mô hình Xrm.Page cho phép bạn xử lý các sự kiện biểu mẫu sau:

  • onLoad
  • onSave
  • onChange
  • TabStateChange
  • OnReadyStateComplete
  • PreSearch
  • Các sự kiện kiểm soát quy trình kinh doanh

Ví dụ về lập trình biểu mẫu

Trong ví dụ này, chúng tôi sẽ đặt một số xác nhận trên biểu mẫu Liên hệ dựa trên PreferredMethodofCommunication mà người dùng chọn. Do đó, nếu người dùng chọn phương thức ưa thích của mình là Email, thì trường Email sẽ trở thành bắt buộc và tương tự đối với các trường Điện thoại và Fax khác.

Step 1 - Tạo một tệp JavaScript có tên contacts.js và sao chép đoạn mã sau.

function validatePreferredMethodOfCommunication() { 

   //get the value of Preffered Method of Communication code 
   var prefferedContactMethodCode = 
      Xrm.Page.getAttribute('preferredcontactmetho dcode').getValue();  
   
   //if Preferred Method = Any, make all fields as non-mandatory 
   
   //else if Preferred Method = Phone, make Mobile Phone field mandatory 
   //and all other fields as non-mandatory 
   
   //else if Preferred Method = Fax, make Fax field mandatory 
   //and all other fields as non-mandatory 
   
   if(prefferedContactMethodCode == 1) { 
      clearAllMandatoryFields(); 
   }  
   if(prefferedContactMethodCode == 2) { 
      clearAllMandatoryFields(); 
      Xrm.Page.getAttribute('emailaddress1').setRequiredLevel('required'); 
   } else if(prefferedContactMethodCode == 3) { 
      clearAllMandatoryFields(); 
      Xrm.Page.getAttribute('mobilephone').setRequiredLevel('required'); 
   } else if(prefferedContactMethodCode == 4) { 
      clearAllMandatoryFields(); 
      Xrm.Page.getAttribute('fax').setRequiredLevel('required'); 
   } 
} 
function clearAllMandatoryFields() { 
   
   //clear all mandatory fields 
   Xrm.Page.getAttribute('emailaddress1').setRequiredLevel('none'); 
   Xrm.Page.getAttribute('mobilephone').setRequiredLevel('none'); 
   Xrm.Page.getAttribute('fax').setRequiredLevel('none'); 
}

Step 2 - Mở biểu mẫu thực thể Liên hệ bằng cách điều hướng đến Cài đặt → Tùy chỉnh → Tùy chỉnh hệ thống → Thực thể liên hệ → Biểu mẫu → Biểu mẫu chính.

Step 3 - Nhấp vào Thuộc tính biểu mẫu.

Step 4 - Từ cửa sổ Thuộc tính biểu mẫu, nhấp vào Thêm.

Step 5 - Trong cửa sổ Tra cứu Bản ghi Tài nguyên Web tiếp theo, nhấp vào Mới vì chúng tôi đang tạo một tài nguyên web mới.

Step 6 - Trong cửa sổ Tài nguyên Web Mới, nhập các chi tiết sau:

Name - new_contacts.js

Display Name - danh bạ.js

Type - JScript

Upload File - Tải lên tệp JavaScript mà bạn đã tạo từ máy cục bộ của mình.

Step 7- Nhấp vào Lưu, sau đó nhấp vào Xuất bản. Sau khi đóng cửa sổ và bạn sẽ trở lại cửa sổ Tra cứu Tài nguyên Web.

Step 8- Tại đây, bây giờ bạn có thể xem tài nguyên web new_contacts.js. Chọn nó và nhấp vào Thêm. Bây giờ bạn đã thêm thành công một tài nguyên web mới và đăng ký nó trên biểu mẫu.

Step 9- Bây giờ chúng ta sẽ thêm một trình xử lý sự kiện về sự thay đổi của trường Preferred Method of Communication. Trình xử lý sự kiện này sẽ gọi hàm JavaScript mà chúng ta vừa viết. Chọn các tùy chọn sau từ phần Trình xử lý sự kiện.

Control - Phương pháp Giao tiếp Ưu tiên

Event - OnChange

Sau đó, nhấp vào Add , như được hiển thị trong ảnh chụp màn hình sau.

Step 10 - Trong cửa sổ tiếp theo của Handler Properties, chúng ta sẽ chỉ định phương thức được gọi khi sự kiện thay đổi xảy ra.

Chọn Thư viện làm new_contacts.js và Chức năng làm validatePreferredMethodOfCommunication. Bấm OK.

Step 11- Bây giờ bạn sẽ có thể xem Thư viện Biểu mẫu (Tài nguyên Web) và các sự kiện được đăng ký trên đó. Bấm OK.

Step 12 - Nhấp vào Lưu, sau đó nhấp vào Xuất bản.

Step 13- Bây giờ mở bất kỳ biểu mẫu Liên hệ nào và đặt Phương thức Liên lạc Ưu tiên là Điện thoại. Điều này sẽ làm cho trường Điện thoại di động trở thành bắt buộc. Nếu bây giờ bạn cố gắng lưu địa chỉ liên hệ này mà không nhập bất kỳ số điện thoại di động nào, nó sẽ cho bạn thông báo lỗi 'Bạn phải cung cấp giá trị cho Điện thoại di động'.

Phần kết luận

Trong chương này, chúng ta bắt đầu bằng cách tìm hiểu ba ứng dụng quan trọng của JavaScript trong CRM. Sau đó, chúng tôi đã khám phá mô hình Xrm.Page và sử dụng nó để học lập trình Biểu mẫu cùng với một ví dụ.

Trong chương này, chúng ta sẽ tìm hiểu về các tài nguyên web khác nhau trong Microsoft Dynamics CRM.

Các ứng dụng của Tài nguyên Web HTML

Tài nguyên Web HTML trong CRM có thể chứa bất kỳ nội dung HTML nào có thể được hiển thị trên trình duyệt. Hãy xem xét các tình huống sau mà bạn muốn sử dụng Tài nguyên Web HTML -

  • Bạn có một trang HTML tĩnh mà bạn muốn hiển thị bên trong màn hình CRM.

  • Bạn có một trang HTML tùy chỉnh mong đợi một số thông số đầu vào và được hiển thị dựa trên các thông số đầu vào đó. Ví dụ: hãy xem xét bạn đang tìm nạp thông tin từ một dịch vụ web hoặc API bên ngoài và bạn muốn hiển thị thông tin này trong CRM.

  • Bạn muốn hiển thị một số thông tin với giao diện khác với giao diện người dùng CRM tiêu chuẩn.

Bạn có một trang ASPX tùy chỉnh (bên ngoài ứng dụng CRM) được hiển thị dựa trên các thông số đầu vào. Vì CRM không cho phép bạn có tài nguyên web ASPX, bạn có thể tạo Tài nguyên web HTML và gọi trang ASPX bên ngoài từ trang HTML này.

Ví dụ về tài nguyên web HTML

Chúng tôi sẽ tạo một Tài nguyên Web HTML rất đơn giản sẽ hiển thị văn bản tùy chỉnh 'Chào mừng đến với TutorialsPoint'. Lưu ý rằng đây là một ví dụ rất đơn giản về Tài nguyên Web HTML. Trên thực tế, Tài nguyên Web HTML sẽ phức tạp hơn thế này.

Step 1 - Tạo một tệp HTML có tên sampleHTMLWebResource.html và sao chép đoạn mã sau.

<!DOCTYPE html> 
<htmllang = "en"xmlns = "http://www.w3.org/1999/xhtml"> 
   <head> 
      <metacharset = "utf-8"/> 
      <title>Welcome to Tutorials Point</title> 
   </head> 
   
   <body> 
      <h1>Welcome to Tutorials Point. This is an example of HTML Web Resource.</h1> 
   </body> 
</html>

Step 2- Đầu tiên, chúng ta sẽ tạo một Tài nguyên Web mới và sau đó tham chiếu nó trên biểu mẫu Liên hệ. Mở DefaultSolution và điều hướng đến tab WebResources từ bảng điều khiển bên trái. Nhấp vào Mới.

Step 3- Nó sẽ mở ra một cửa sổ Tài nguyên Web Mới. Nhập các chi tiết như được hiển thị trong ảnh chụp màn hình sau và duyệt qua tệp HTML mà chúng tôi đã tạo ở Bước 1. Nhấp vào Lưu và xuất bản. Đóng cửa sổ.

Step 4 - Bạn sẽ thấy Tài nguyên Web mới được thêm vào lưới Tài nguyên Web.

Step 5- Bây giờ mở biểu mẫu Liên hệ qua Cài đặt → Tùy chỉnh → Tùy chỉnh hệ thống → Liên hệ → Biểu mẫu chính. Chọn phần Thông tin liên hệ và chuyển sang tab Chèn từ thanh ribbon trên cùng. Nhấp vào Tài nguyên Web.

Step 6- Nó sẽ mở ra một cửa sổ Thêm Tài nguyên Web. Bấm vào Tra cứu Tài nguyên Web từ cửa sổ này, thao tác này sẽ mở ra cửa sổ Bản ghi Tra cứu Tài nguyên Web. Tìm kiếm Tài nguyên Web mà bạn vừa tạo (new_sampleHTMLWebResource), chọn nó từ lưới và nhấp vào Thêm.

Step 7- Quay lại Thêm tài nguyên web, nhập Tên và Nhãn như thể hiện trong ảnh chụp màn hình sau và nhấp vào OK. Đóng cửa sổ.

Bạn sẽ thấy Tài nguyên Web HTML được thêm vào bên dưới trường Địa chỉ.

Step 8 - Để kiểm tra điều này, hãy mở bất kỳ bản ghi Liên hệ nào và bạn sẽ thấy nội dung Tài nguyên Web HTML được hiển thị ở đó.

Hạn chế của tài nguyên web HTML

  • Không có cách nào được hỗ trợ để sử dụng mã phía máy chủ trong Tài nguyên Web HTML.

  • Tài nguyên Web HTML chỉ có thể chấp nhận một số tham số giới hạn. Để chuyển nhiều hơn một giá trị trong tham số dữ liệu, bạn sẽ phải mã hóa các tham số bao gồm logic giải mã ở đầu bên kia.

Quy trình làm việc trong CRM cho phép bạn tự động hóa các quy trình kinh doanh đơn giản và phức tạp trong CRM. Bạn có thể tạo quy trình công việc bằng cách sử dụng các chức năng sẵn có của CRM hoặc viết quy trình công việc tùy chỉnh với mã .NET để triển khai các quy trình công việc phức tạp. Các quy trình dòng công việc chạy trong nền hoặc trong thời gian thực và có thể tùy chọn yêu cầu người dùng nhập.

Quy trình làm việc có thể được kích hoạt dựa trên các điều kiện cụ thể hoặc thậm chí có thể được người dùng bắt đầu theo cách thủ công. Trong nội bộ, quy trình công việc CRM được triển khai bằng Windows Workflow Foundation. Trong chương này, chúng ta sẽ học về cấu hình quy trình làm việc.

Cấu hình quy trình làm việc có các phần chính sau (theo trình tự):

  • Định cấu hình thực thể mà dòng công việc sẽ chạy
  • Định cấu hình quy trình làm việc sẽ chạy đồng bộ hay không đồng bộ
  • Định cấu hình thông báo (sự kiện) mà dòng công việc sẽ chạy
  • Định cấu hình phạm vi mà dòng công việc sẽ chạy
  • Định cấu hình các giai đoạn và các bước (hành động) của quy trình làm việc

Quy trình làm việc đồng bộ / không đồng bộ

Khi bạn tạo dòng công việc, bạn sẽ thấy tùy chọn Chạy dòng công việc này trong nền (được khuyến nghị), tùy chọn này sẽ xác định liệu dòng công việc sẽ chạy trong thời gian thực (đồng bộ) hay trong nền (không đồng bộ).

Nói chung, cách tiếp cận được đề xuất là chạy quy trình công việc trong nền vì chúng sử dụng tài nguyên hệ thống khi có sẵn. Tuy nhiên, bạn luôn có thể chuyển ngược lại từ quy trình làm việc thời gian thực sang quy trình làm việc nền và ngược lại.

Thông báo quy trình làm việc

Quy trình làm việc có thể được đăng ký vào các sự kiện cụ thể như sau:

  • Khi một bản ghi được tạo
  • Khi trạng thái bản ghi thay đổi
  • Khi một bản ghi được chỉ định
  • Khi giá trị trường bản ghi thay đổi
  • Khi một bản ghi bị xóa

Phạm vi quy trình làm việc

Dòng công việc cho phép bạn đặt phạm vi mà dòng công việc sẽ chạy. Sau đây là các phạm vi quy trình làm việc được hỗ trợ:

User Dòng công việc sẽ chỉ chạy trên các bản ghi được sở hữu bởi cùng một người dùng với người dùng dòng công việc.
Business Unit Dòng công việc sẽ chạy trên các bản ghi do người dùng của đơn vị kinh doanh sở hữu giống như người dùng dòng công việc.
Parent Child Business Units Dòng công việc sẽ chạy trên các bản ghi do người dùng của đơn vị kinh doanh sở hữu giống như người dùng dòng công việc cũng như bất kỳ đơn vị kinh doanh con nào.
Organization Quy trình làm việc sẽ chạy trên các bản ghi thuộc sở hữu của bất kỳ người dùng nào trong CRM.

Các bước quy trình làm việc

Quy trình làm việc trong CRM là sự kết hợp của một loạt các bước mà quy trình làm việc sẽ tuân theo. Bạn thậm chí có thể chia các bước này theo các giai đoạn hợp lý. Các bước sau được quy trình làm việc CRM hỗ trợ:

Conditional Steps
Check Condition Chỉ định một câu lệnh logic “if (điều kiện) - then”.
Conditional Branch Chỉ định một câu lệnh logic “else - if - then”. Điều này chỉ có thể được sử dụng với Điều kiện kiểm tra.
Default Action Chỉ định một câu lệnh logic “else”. Điều này chỉ có thể được sử dụng với Điều kiện kiểm tra.
Wait Steps
Wait Condition Chờ cho đến khi một điều kiện cụ thể được đáp ứng. Không áp dụng cho quy trình làm việc thời gian thực.
Parallel Wait Branch Chỉ định một điều kiện chờ thay thế với một loạt các bước bổ sung có thể được thực hiện khi các tiêu chí ban đầu được đáp ứng.
Action Steps
Create Record Tạo bản ghi của thực thể được chỉ định với các giá trị mặc định được chỉ định.
Update Record Cập nhật bản ghi đã chọn với các giá trị được chỉ định hoặc động.
Assign Record Gán bản ghi đã chọn cho người dùng hoặc nhóm.
Send Email Gửi một email.
Perform Action Chỉ định các bước (và hành động) quy trình làm việc tùy chỉnh. Các bước tùy chỉnh này phải được phát triển bởi một nhà phát triển CRM.
Change Status Thay đổi trạng thái của bản ghi đã chọn.
Stop Workflow Dừng quy trình làm việc hiện tại

Ví dụ về quy trình làm việc

Trong ví dụ này, chúng tôi sẽ tạo một quy trình làm việc đơn giản chạy trong nền để gán bất kỳ bản ghi Liên hệ mới được tạo nào cho một người dùng cụ thể và sau đó gửi email chào mừng đến khách hàng.

Step 1 - Vào Cài đặt → Quy trình.

Step 2 - Nhấp vào Mới.

Step 3 - Trong cửa sổ CreateProcess, nhập các chi tiết sau:

Process Name - Quy trình làm việc của khách hàng mới (Đây có thể là bất kỳ tên nào bạn muốn)

Category - Quy trình làm việc

Entity - Liên hệ (Đây sẽ là thực thể mà bạn đang tạo quy trình làm việc. Trong trường hợp của chúng tôi, đó là Liên hệ)

Run this workflow in the background (recommended)- Chọn tùy chọn này vì chúng tôi đang tạo một quy trình làm việc không đồng bộ trong nền. Cuối cùng, bấm OK.

Step 4 - Trong Cửa sổ Quy trình Mới, nhập các chi tiết sau:

Activate As - Quy trình

Scope - Người dùng

Start when - Bản ghi được tạo

Nhấp chuột Add Step → Gán Bản ghi.

Step 5- Bạn sẽ thấy một bước mới được thêm vào quy trình làm việc. Trong bước này, chúng tôi sẽ chỉ định người dùng mà tất cả các liên hệ đã tạo sẽ được chỉ định. Nhập tên của bước làAssign Record to Team. Tùy chọn Gán sẽ được mặc định là thực thể mà chúng tôi đang tạo dòng công việc (Liên hệ trong trường hợp của chúng tôi). Nhấp vào biểu tượng Tra cứu.

Step 6- Trong cửa sổ Tra cứu, chọn bất kỳ người dùng nào bạn muốn. Bạn thậm chí có thể chọn một nhóm cụ thể mà bạn muốn chỉ định hồ sơ cho họ. Nhấp vào Thêm.

Step 7- Thêm một bước khác bằng cách nhấp vào Thêm bước → Gửi Email. Trong bước này, chúng tôi sẽ cấu hình gửi email cho khách hàng.

Step 8- Một bước mới sẽ được thêm vào. Nhập tên của nó là Gửi email cho khách hàng. Nhấp vào Đặt thuộc tính.

Step 9 - Trong cửa sổ tiếp theo để cấu hình email, hãy thực hiện các thao tác sau−

From- Nhấp vào Từ trường. Trên bảng bên phải, chọn Sở hữu Người dùng và Người dùng. Nhấp vào Thêm → OK.

To- Bấm Đến trường. Trên bảng bên phải, chọn Liên hệ và Liên hệ. Nhấp vào Thêm → OK.

Subject - Nhập Chủ đề có liên quan.

Body - Nhập nội dung Body có liên quan.

Step 10 - Nhấp vào Lưu và sau đó Kích hoạt.

Step 11 - Trong cửa sổ bật lên Xác nhận Kích hoạt Quy trình sau đó, hãy nhấp vào Kích hoạt.

Step 12- Chuyển đến tab Danh bạ và tạo một số liên lạc mới. Ngay sau khi bạn tạo liên hệ mới bằng cách lưu bản ghi, bạn sẽ thấy trường Chủ sở hữu được đặt cho người dùng mà bạn đã định cấu hình trong quy trình làm việc. Ngoài ra, nếu bạn nhấp vào tab Hoạt động, bạn sẽ thấy một hoạt động email đang được tạo cho liên hệ này. Điều này xác nhận rằng dòng công việc đã chạy thành công.

Quy trình làm việc so với Plugin

Cả hai quy trình và plugin đều có thể được sử dụng để mở rộng và tự động hóa các chức năng của CRM. Trong nhiều trường hợp, cả hai cách tiếp cận có thể được sử dụng thay thế cho nhau. Ví dụ: nếu bạn có một yêu cầu đơn giản là gửi email cho khách hàng của mình, bạn có thể thực hiện việc đó thông qua plugin hoặc quy trình làm việc.

Vì vậy, làm thế nào để bạn chọn giữa việc tạo quy trình làm việc và plugin? Danh sách sau đây cố gắng giải thích tương tự -

  • Mặc dù cả plugin và quy trình công việc đều có thể được sử dụng để chạy logic đồng bộ cũng như không đồng bộ, nhưng các plugin thường được ưu tiên cho logic đồng bộ, trong khi quy trình làm việc cho logic không đồng bộ.

  • Nói chung, để triển khai logic nghiệp vụ phức tạp, các plugin được ưu tiên hơn các quy trình làm việc. Quy trình làm việc được ưu tiên khi bạn muốn đạt được các chức năng tương đối dễ dàng hơn (chẳng hạn như gửi email, chỉ định người dùng, v.v.)

  • Các plugin cần được phát triển bằng mã hóa, trong khi quy trình công việc có thể được định cấu hình trực tiếp bởi người dùng doanh nghiệp mà không cần bất kỳ kiến ​​thức nào về quy trình công việc.

  • Quy trình làm việc có thể chạy theo yêu cầu. Do đó, nếu có các yêu cầu mà người dùng muốn chạy một số logic theo cách thủ công, quy trình công việc sẽ là lựa chọn tốt hơn.

  • Từ tác động đến hiệu suất, các plugin đồng bộ mang lại hiệu suất (và thông lượng) tốt hơn so với quy trình làm việc thời gian thực trong các tình huống có tần suất yêu cầu cao hơn.

Phần kết luận

Chương này đã giới thiệu cho chúng ta một trong những chức năng rất quan trọng của CRM - Quy trình làm việc. Đầu tiên, chúng tôi đã hiểu quy trình đồng bộ / không đồng bộ hóa, thông báo, phạm vi, các bước và cuối cùng xem xét một ví dụ trực tiếp về việc tạo và chạy quy trình làm việc. Cuối cùng, chúng tôi đã thấy sự khác biệt giữa quy trình làm việc và plugin.

Trình cắm thêm là một logic nghiệp vụ tùy chỉnh tích hợp với Microsoft Dynamics CRM để sửa đổi hoặc mở rộng hành vi tiêu chuẩn của nền tảng. Các trình cắm hoạt động như trình xử lý sự kiện và được đăng ký để thực thi trên một sự kiện cụ thể trong CRM. Các plugin được viết bằng C # hoặc VB và có thể chạy ở chế độ đồng bộ hoặc không đồng bộ.

Một số tình huống mà bạn sẽ viết một plugin là -

  • Bạn muốn thực hiện một số logic nghiệp vụ như cập nhật các trường nhất định của bản ghi hoặc cập nhật các bản ghi liên quan, v.v. khi bạn tạo hoặc cập nhật bản ghi CRM.

  • Bạn muốn gọi một dịch vụ web bên ngoài vào một số sự kiện nhất định như lưu hoặc cập nhật bản ghi.

  • Bạn muốn tính toán động các giá trị trường khi bất kỳ bản ghi nào được mở.

  • Bạn muốn tự động hóa các quy trình như gửi e-mail cho khách hàng của mình về các sự kiện nhất định trong CRM.

Khung sự kiện

Khung xử lý sự kiện trong CRM xử lý các yêu cầu plugin đồng bộ và không đồng bộ bằng cách chuyển nó đến đường dẫn thực thi sự kiện. Bất cứ khi nào một sự kiện kích hoạt logic plugin, một thông báo sẽ được gửi đến Dịch vụ Web của Tổ chức CRM nơi nó có thể được đọc hoặc sửa đổi bởi các plugin khác hoặc bất kỳ hoạt động cốt lõi nào của nền tảng.

Các giai đoạn đường ống của plugin

Toàn bộ đường dẫn plugin được chia thành nhiều giai đoạn mà trên đó bạn có thể đăng ký logic kinh doanh tùy chỉnh của mình. Giai đoạn đường ống được chỉ định cho biết ở giai đoạn nào của chu kỳ thực thi plugin, mã plugin của bạn chạy. Trong số tất cả các giai đoạn quy trình được chỉ định trong bảng sau, bạn chỉ có thể đăng ký các plugin tùy chỉnh của mình trên Trước và Sau sự kiện. Bạn không thể đăng ký plugin trên Hoạt động chính của nền tảng.

Biến cố Tên giai đoạn Sự miêu tả
Trước sự kiện Xác thực trước Giai đoạn trong đường dẫn cho các trình cắm sẽ thực thi trước khi vận hành hệ thống chính. Các trình cắm được đăng ký trong giai đoạn này có thể thực thi bên ngoài giao dịch cơ sở dữ liệu.
Trước sự kiện Tiền hoạt động Giai đoạn trong đường dẫn cho các trình cắm sẽ được thực thi trước khi hệ thống chính hoạt động. Các plugin đã đăng ký trong giai đoạn này được thực thi trong giao dịch cơ sở dữ liệu.
Hoạt động cốt lõi của nền tảng Hoạt động chính Intransaction, hoạt động chính của hệ thống, chẳng hạn như tạo, cập nhật, xóa, v.v. Không có trình cắm thêm tùy chỉnh nào có thể được đăng ký trong giai đoạn này. Chỉ sử dụng nội bộ.
Hậu sự kiện Hậu phẫu Giai đoạn trong đường dẫn cho các trình cắm sẽ được thực thi sau hoạt động chính. Các trình cắm được đăng ký trong giai đoạn này được thực thi trong giao dịch cơ sở dữ liệu.

Bất cứ khi nào ứng dụng CRM gọi một sự kiện (như lưu hoặc cập nhật bản ghi), chuỗi hành động sau sẽ diễn ra:

  • Sự kiện kích hoạt một cuộc gọi dịch vụ Web và việc thực thi được chuyển qua các giai đoạn của đường dẫn sự kiện (trước sự kiện, hoạt động cốt lõi của nền tảng, sau sự kiện).

  • Thông tin được đóng gói nội bộ dưới dạng thông điệp OrganizationRequest và cuối cùng được gửi đến các phương pháp dịch vụ Web CRM nội bộ và các hoạt động cốt lõi của nền tảng.

  • Thông báo OrganizationRequest lần đầu tiên được nhận bởi các plugin trước sự kiện, có thể sửa đổi thông tin trước khi chuyển nó đến các hoạt động cốt lõi của nền tảng. Sau các hoạt động cốt lõi của nền tảng, thông báo được đóng gói dưới dạng OrganizationResponse và được chuyển đến các plugin sau hoạt động. Các plugin postoperations có thể tùy chọn sửa đổi thông tin này trước khi chuyển nó đến plugin async.

  • Các plugin nhận thông tin này dưới dạng đối tượng ngữ cảnh được chuyển cho phương thức Execute, sau đó quá trình xử lý tiếp theo sẽ xảy ra.

  • Sau khi tất cả quá trình xử lý plugin hoàn tất, quá trình thực thi được chuyển trở lại ứng dụng đã kích hoạt sự kiện.

Thông báo plugin

Thông báo là các sự kiện mà plugin (hoặc logic nghiệp vụ) được đăng ký. Ví dụ: bạn có thể đăng ký một plugin trên Tạo thông báo của thực thể Liên hệ. Điều này sẽ kích hoạt logic nghiệp vụ bất cứ khi nào bản ghi Liên hệ mới được tạo.

Đối với các thực thể tùy chỉnh, sau đây là các thông báo được hỗ trợ dựa trên việc thực thể đó thuộc sở hữu của người dùng hay thuộc sở hữu của tổ chức.

Tên tin nhắn Loại quyền sở hữu
Chỉ định Chỉ các pháp nhân do người dùng sở hữu
Tạo nên Các pháp nhân do người dùng sở hữu và tổ chức sở hữu
Xóa bỏ Các pháp nhân do người dùng sở hữu và tổ chức sở hữu
Cấp quyền truy cập Chỉ các pháp nhân do người dùng sở hữu
ModifyAccess Chỉ các pháp nhân do người dùng sở hữu
Lấy lại Các pháp nhân do người dùng sở hữu và tổ chức sở hữu
Truy xuất Các pháp nhân do người dùng sở hữu và tổ chức sở hữu
RetrievePrincipalAccess Chỉ các pháp nhân do người dùng sở hữu
RetrieveSharedPrincipalsAndAccess Chỉ các pháp nhân do người dùng sở hữu
Thu hồi truy cập Chỉ các pháp nhân do người dùng sở hữu
SetState Các pháp nhân do người dùng sở hữu và tổ chức sở hữu
SetStateDynamicEntity Các pháp nhân do người dùng sở hữu và tổ chức sở hữu
Cập nhật Các pháp nhân do người dùng sở hữu và tổ chức sở hữu

Đối với các thực thể ngoài hộp mặc định, có hơn 100 thông báo được hỗ trợ. Một số thông báo này có thể áp dụng cho tất cả các thực thể trong khi một số trong số chúng dành riêng cho một số thực thể. Bạn có thể tìm thấy danh sách đầy đủ các thông báo được hỗ trợ trong tệp excel bên trong SDK:SDK\Message-entity support for plug-ins.xlsx

Viết plugin

Trong phần này, chúng ta sẽ tìm hiểu những điều cơ bản về cách viết một plugin. Chúng tôi sẽ tạo một plugin mẫu tạo hoạt động Tác vụ để theo dõi khách hàng bất cứ khi nào khách hàng mới được thêm vào hệ thống, tức là bất cứ khi nào Contactrecord mới được tạo trong CRM.

Trước hết, bạn cần bao gồm các tham chiếu đến Microsoft.Xrm.Sdkkhông gian tên. SDK CRM chứa tất cả các cụm SDK bắt buộc. Giả sử rằng bạn đã tải xuống và cài đặt SDK trong Chương 2, hãy mở Visual Studio. Tạo một dự án mới thuộc loại Thư viện lớp. Bạn có thể đặt tên dự án là SamplePlugins và nhấp vào OK.

Thêm tham chiếu của Microsoft.Xrm.Sdklắp ráp cho dự án của bạn. Hội có mặt ởSDK/Bin.

Bây giờ, hãy tạo một lớp có tên PostCreateContact.cs và mở rộng lớp học từ IPlugin. Cho đến bây giờ, mã của bạn sẽ giống như sau.

Bạn cũng sẽ cần thêm tham chiếu đến System.Runtime.Serialization. Khi bạn đã thêm các tham chiếu bắt buộc, hãy sao chép mã sau bên trongPostCreateContact lớp học.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Xrm.Sdk;

namespace SamplePlugins {
   public class PostCreateContact:IPlugin {
      /// A plug-in that creates a follow-up task activity when a new account is created.
      /// Register this plug-in on the Create message, account entity,
      /// and asynchronous mode.

      public void Execute(IServiceProviderserviceProvider) {
         // Obtain the execution context from the service provider.
         IPluginExecutionContext context =(IPluginExecutionContext)
            serviceProvider.GetService(typeof(IPluginExecutionContext));

         // The InputParameters collection contains all the data
            passed in the message request.

         if(context.InputParameters.Contains("Target")&&
            context.InputParameters["Target"]isEntity) {
            
            // Obtain the target entity from the input parameters.
            Entity entity = (Entity)context.InputParameters["Target"];
            try {
               
               // Create a task activity to follow up with the account customer in 7 days
               Entity followup = new Entity("task");
               followup["subject"] = "Send e-mail to the new customer.";
               followup["description"] =
                  "Follow up with the customer. Check if there are any new issues
                  that need resolution.";
               
               followup["scheduledstart"] = DateTime.Now;
               followup["scheduledend"] = DateTime.Now.AddDays(2);
               followup["category"] = context.PrimaryEntityName;

               // Refer to the contact in the task activity.
               if(context.OutputParameters.Contains("id")) {
                  Guid regardingobjectid = new Guid(context.OutputParameter
                     s["id"].ToString());
                  string regardingobjectidType = "contact";
                  followup["regardingobjectid"] = 
                     new EntityReference(rega rdingobjectidType,regardingobjectid);
               }
               
               // Obtain the organization service reference.
               IOrganizationServiceFactory serviceFactory =
                  (IOrganizationSer viceFactory)serviceProvider.GetService
                  (typeof(IOrganizationServiceFactory));
               IOrganizationService service = 
                  serviceFactory.CreateOrganizationService(context.UserId);

               // Create the followup activity
               service.Create(followup);
            } catch(Exception ex) {
               throw new InvalidPluginExecutionException(ex.Message);
            }
         }
      }
   }
}

Sau đây là giải thích từng bước về chức năng của mã này:

Step 1- Thực hiện phương thức Execute bằng cách lấy đối tượng IServiceProvider làm tham số của nó. Nhà cung cấp dịch vụ chứa các tham chiếu đến nhiều đối tượng hữu ích mà bạn sẽ sử dụng trong plugin.

Step 2 - Lấy đối tượng IPluginExecutionContext bằng phương thức GetService của IServiceProvider.

Step 3- Lấy đối tượng của thực thể mục tiêu từ bộ sưu tập InputParameters của đối tượng ngữ cảnh. Đối tượng lớp Thực thể này đề cập đến bản ghi thực thể Liên hệ mà trên đó plugin của chúng tôi sẽ được đăng ký.

Step 4- Sau đó, nó tạo một đối tượng của thực thể Nhiệm vụ và đặt chủ đề, mô tả, ngày tháng, danh mục và liên quan đếnobjectid thích hợp. Relatedobjectid cho biết bản ghi hoạt động này đang được tạo cho bản ghi liên hệ nào. Bạn có thể thấy rằng mã lấy id của bản ghi Liên hệ mẹ bằng cách sử dụng context.OutputParameters và liên kết nó với bản ghi thực thể Tác vụ mà bạn đã tạo.

Step 5 - Tạo đối tượng IOrganizationServiceFactory bằng cách sử dụng đối tượng IServiceProvider.

Step 6 - Tạo đối tượng của IOrganizationService bằng cách sử dụng đối tượng IOrganizationServiceFactory.

Step 7- Cuối cùng, sử dụng phương thức Create của đối tượng dịch vụ này. Nó tạo ra hoạt động tiếp theo được lưu trong CRM.

Ký hợp đồng plugin

Phần này chỉ áp dụng nếu bạn đăng ký lắp ráp plugin của mình lần đầu tiên. Bạn cần đăng nhập assembly bằng một khóa để có thể triển khai plugin. Nhấp chuột phải vào giải pháp và nhấp vào Thuộc tính.

Chọn tab Ký từ các tùy chọn bên trái và chọn tùy chọn 'Ký vào hội đồng'. Sau đó, chọn Mới từ tùy chọn Chọn tệp khóa tên mạnh.

Nhập tên tệp Khóa làm phần bổ sung mẫu (Đây có thể là bất kỳ tên nào khác mà bạn muốn). Bỏ chọn tùy chọn Bảo vệ tệp khóa của tôi bằng mật khẩu và nhấp vào OK. Nhấp vào để lưu.

Cuối cùng là xây dựng giải pháp. Nhấp chuột phải → Xây dựng. Việc xây dựng giải pháp sẽ tạo ra assembly DLL, mà chúng ta sẽ sử dụng trong chương tiếp theo để đăng ký plugin này.

Xử lý ngoại lệ trong plugin

Thông thường, logic plugin của bạn sẽ cần phải xử lý các ngoại lệ về thời gian chạy. Đối với các plugin đồng bộ, bạn có thể trả vềInvalidPluginExecutionExceptionngoại lệ, sẽ hiển thị hộp thoại lỗi cho người dùng. Hộp thoại lỗi sẽ chứa thông báo lỗi tùy chỉnh mà bạn chuyển đến đối tượng Thông báo của đối tượng ngoại lệ.

Nếu bạn nhìn vào mã của chúng tôi, chúng tôi đang ném ngoại lệ InvalidPluginExecutionException trong khối bắt của chúng tôi.

throw new InvalidPluginExecutionException(ex.Message);

Phần kết luận

Các plugin chắc chắn rất quan trọng đối với bất kỳ triển khai CRM tùy chỉnh nào. Trong chương này, chúng tôi tập trung vào việc tìm hiểu mô hình khung sự kiện, các giai đoạn đường ống, thông báo và viết một plugin mẫu. Trong chương tiếp theo, chúng ta sẽ đăng ký plugin này trong CRM và xem nó hoạt động theo kịch bản đầu cuối.

Trong chương trước, chúng tôi đã tạo một plugin mẫu để tạo hoạt động Tác vụ tiếp theo khi bản ghi Liên hệ được tạo. Trong chương này, chúng ta sẽ xem cách đăng ký plugin này trong CRM bằng Công cụ đăng ký plugin. Bạn có thể tìm thấy công cụ tại vị trí này: SDK / Tools / PluginRegistration / PluginRegistration.exe.

Để thuận tiện, quy trình đăng ký plugin được chia thành ba phần:

  • Kết nối với máy chủ
  • Đăng ký hội
  • Đăng ký Plugin

Kết nối với máy chủ

Step 1 - Chạy PluginRegistration.exetừ vị trí được chỉ định trước đó. Nhấp vào nút Tạo kết nối mới.

Step 2- Trong cửa sổ Đăng nhập, chọn Office 365 vì chúng tôi đang sử dụng phiên bản trực tuyến của CRM. Nhập thông tin đăng nhập của bạn và nhấp vào Đăng nhập.

Step 3 - Công cụ sẽ mở ra và trông giống như ảnh chụp màn hình sau.

Đăng ký hội

Step 1 - Vào Đăng ký → Đăng ký Hội mới.

Step 2- Thao tác này sẽ mở cửa sổ Register New Assembly. Nhấp vào biểu tượng Điều hướng và định vị Plugin DLL mà bạn đã tạo trong chương trước.

Step 3- Sau khi điều hướng DLL, nhấp vào Load Assembly. Điều này sẽ điền vào assembly SamplePlugins và tất cả các lớp plugin của nó. Bạn có thể nhìn thấyPostCreateContactlớp plugin được đánh dấu bên dưới. Nếu tập hợp plugin của bạn có 3 lớp plugin, nó sẽ hiển thị ba plugin được liệt kê ở đó.

Step 4- Chọn Chế độ cách ly làm Hộp cát, Vị trí làm Cơ sở dữ liệu và nhấp vào Đăng ký các plugin đã chọn. Nó sẽ hiển thị cho bạn một thông báo thành công, nếu đăng ký thành công.

Đăng ký Plugin

Bây giờ chúng ta sẽ đăng ký các bước cụ thể mà các plugin riêng lẻ sẽ được gọi.

Step 1 - Chọn plugin PostCreateContact.

Step 2 - Bấm Đăng ký → Đăng ký Bước mới.

Step 3 - Chúng tôi sẽ đăng ký plugin này khi tạo thực thể Liên hệ, ở giai đoạn hậu phẫu và ở chế độ đồng bộ.

Message - Tạo

Primary Entity - Liên hệ

Event Pipeline Stage of Execution - Hậu phẫu

Execution Mode - Đồng bộ

Giữ phần còn lại của các tùy chọn theo mặc định và nhấp vào Đăng ký Bước mới.

Bạn có thể thấy một bước mới được thêm vào plugin.

Bây giờ chúng ta sẽ đi đến CRM và kiểm tra xem plugin của chúng ta có hoạt động chính xác hay không. Lưu ý rằng các bước kiểm tra này dành riêng cho plugin mẫu của chúng tôi.

Kiểm tra plugin

Chuyển đến tab Danh bạ và tạo một bản ghi mới. Sau khi lưu bản ghi, bạn có thể thấy một hoạt động mới được tạo và liên kết với bản ghi này.

Bạn có thể nhấp vào hoạt động để xem chi tiết mà chúng tôi đã thiết lập trong mã.

Điều này xác nhận rằng plugin của chúng tôi đã chạy thành công. Tương tự, bạn có thể mở rộng các plugin của mình để đạt được các chức năng phức tạp cao.

Microsoft Dynamics CRM cung cấp hai dịch vụ web quan trọng được sử dụng để truy cập CRM từ một ứng dụng bên ngoài và gọi các phương pháp web để thực hiện các hoạt động dữ liệu kinh doanh phổ biến như tạo, xóa, cập nhật và tìm trong CRM.

Hãy xem xét các tình huống sau:

  • Bạn có một ứng dụng .NET bên ngoài, ứng dụng này cần kết nối với CRM. Ví dụ: bạn có thể muốn chèn bản ghi Liên hệ trong CRM khi một khách hàng mới được đăng ký trong ứng dụng bên ngoài của bạn.

  • Hoặc có thể, bạn muốn tìm kiếm các bản ghi trong CRM và hiển thị kết quả tìm kiếm trong ứng dụng bên ngoài của mình.

Trong các tình huống như vậy, bạn có thể sử dụng các dịch vụ web được CRM hiển thị để sử dụng chúng trong ứng dụng của mình và thực hiện các thao tác tạo, xóa, cập nhật và tìm kiếm trong CRM.

Dịch vụ web IDiscoveryService

Dịch vụ web này trả về danh sách các tổ chức mà người dùng được chỉ định thuộc về và điểm cuối URL cho mỗi tổ chức.

Dịch vụ web IOrganizationService

Dịch vụ web này là dịch vụ web chính được sử dụng để truy cập dữ liệu và siêu dữ liệu trong CRM. IOrganizationService sử dụng hai tập hợp quan trọng:Microsoft.Xrm.Sdk.dllMicrosoft.Crm.Sdk.Proxy.dll. Các tập hợp này có thể được tìm thấy trong gói SDK CRM bên trongBin thư mục.

Microsoft.Xrm.Sdk.dll

Hợp ngữ này xác định các phương thức và kiểu xRM cốt lõi, bao gồm các lớp proxy để làm cho kết nối với Microsoft Dynamics CRM đơn giản hơn, các phương pháp xác thực và hợp đồng dịch vụ.

Microsoft.Crm.Sdk.Proxy.dll

Hợp ngữ này xác định các yêu cầu và phản hồi cho các thông điệp không phải cốt lõi cũng như các bảng liệt kê cần thiết để làm việc với dữ liệu tổ chức. Sau đây là các không gian tên được hỗ trợ bởi hai hội đồng này.

Mỗi tập hợp này hỗ trợ một số thông báo nhất định, sẽ được sử dụng để làm việc với dữ liệu được lưu trữ trong bất kỳ thực thể nào. Có thể tìm thấy danh sách đầy đủ các thông báo được họ hỗ trợ trong các liên kết sau:

Supported xRM Messages - https://msdn.microsoft.com/en-us/library/gg334698.aspx

Supported CRM Messages - https://msdn.microsoft.com/en-us/library/gg309482.aspx

Phương thức dịch vụ web IOrganizationService

Các IOrganizationService cung cấp tám phương pháp cho phép bạn thực hiện tất cả các hoạt động phổ biến trên hệ thống và các thực thể tùy chỉnh cũng như siêu dữ liệu của tổ chức.

Sr.No Phương pháp & Mô tả
1

IOrganizationService.Create

Tạo kỷ lục.

2

IOrganizationService.Update

Cập nhật bản ghi hiện có.

3

IOrganizationService. Retrieve

Truy xuất bản ghi.

4

IOrganizationService. RetrieveMultiple

Truy xuất một bộ sưu tập các bản ghi.

5

IOrganizationService. Delete

Xóa bản ghi.

6

IOrganizationService. Associate

Tạo liên kết giữa các bản ghi.

7

IOrganizationService.Disassociate

Xóa liên kết giữa các bản ghi.

số 8

IOrganizationService.Execute

Được sử dụng để xử lý hồ sơ thông thường cũng như xử lý chuyên biệt như giải quyết trường hợp, phát hiện trùng lặp, v.v.

Ví dụ về dịch vụ web

Để hiểu cách các dịch vụ web hoạt động trong CRM, chúng ta sẽ xem xét một ví dụ do SDK CRM cung cấp. Trong ví dụ này, chúng tôi sẽ tạo một bản ghi Tài khoản mới, cập nhật nó và cuối cùng xóa nó bằng cách sử dụng CRMIOrganizationService dịch vụ web.

Step 1- Mở thư mục mà bạn đã trích xuất SDK CRM. Bây giờ hãy mở giải pháp QuickStartCS.sln bằng cách duyệt đến vị trí sau: SDK \ SampleCode \ CS \ QuickStart

Step 2 - Chúng tôi sẽ khám phá QuickStart với Simplified Connectiondự án. Mởapp.configtrong dự án này. Theo mặc định,connectionStrings phần trong tệp này sẽ được bình luận.

Từ đó, bỏ ghi chú khóa chuỗi kết nối đầu tiên và chỉnh sửa ba chi tiết sau:

Url- Chỉ định URL của phiên bản CRM của bạn. Trong trường hợp của chúng tôi, vì chúng tôi đang sử dụng phiên bản trực tuyến của CRM, bạn sẽ phải đề cập đến URL đó.

Username - Tên người dùng CRM Online của bạn.

Password - Mật khẩu CRM Online của bạn.

Step 3 - Mở SimplifiedConnection.cs tệp trong dự án này và Runmethod bên trong nó.

public void Run(StringconnectionString, boolpromptforDelete) {
   try {
      
      // Establish a connection to the organization web service using CrmConnection.
      Microsoft.Xrm.Client.CrmConnection connection =
         CrmConnection.Parse(connectionString);
      
      // Obtain an organization service proxy.
      // The using statement assures that the service proxy will be properly disposed.
      using(_orgService = new OrganizationService(connection)) {

         //Create any entity records this sample requires.
         CreateRequiredRecords();
         
         // Obtain information about the logged on user from the web service.
         Guid userid = ((WhoAmIResponse)_orgService.Execute(new WhoAmIRequest())).UserId;
         SystemUser systemUser = (SystemUser)_orgService.Retrieve("systemuser",userid,
            new ColumnSet(newstring[]{"firstname","lastname"}));
         
         Console.WriteLine("Logged on user is {0} {1}.",
            systemUser.FirstName,systemUser.LastName);

         // Retrieve the version of Microsoft Dynamics CRM.
         RetrieveVersionRequest versionRequest = new RetrieveVersionRequest();
         RetrieveVersionResponse versionResponse =
            (RetrieveVersionResponse)_orgService.Execute(versionRequest);
         Console.WriteLine("Microsoft Dynamics CRM version {0}.",
            versionResponse.Version);
         
         // Instantiate an account object. Note the use of option set
         enumerations defined in OptionSets.cs.
         
         // Refer to the Entity Metadata topic in the SDK documentation to
         determine which attributes must
         
         // be set for each entity.
         Account account = new Account{Name = "Fourth Coffee"};
         account.AccountCategoryCode = new OptionSetValue(
            (int)AccountAccountCateg oryCode.PreferredCustomer);
         account.CustomerTypeCode = new OptionSetValue(
            (int)AccountCustomerTypeCod e.Investor);
         
         // Create an account record named Fourth Coffee.
         _accountId = _orgService.Create(account);
         Console.Write("{0} {1} created, ",account.LogicalName,account.Name);
         
         // Retrieve the several attributes from the new account.
         ColumnSet cols = new ColumnSet(
            new String[]{"name","address1_postalcode","lastusedincampaign"});
         Account retrievedAccount =
            (Account)_orgService.Retrieve("account", _accountId, cols);
         Console.Write("retrieved, ");

         // Update the postal code attribute.
         retrievedAccount.Address1_PostalCode = "98052";

         // The address 2 postal code was set accidentally, so set it to null.
         retrievedAccount.Address2_PostalCode = null;

         // Shows use of a Money value.
         retrievedAccount.Revenue = new Money(5000000);

         // Shows use of a Boolean value.
         retrievedAccount.CreditOnHold = false;
         
         // Update the account record.
         _orgService.Update(retrievedAccount);
         Console.WriteLine("and updated.");
         
         // Delete any entity records this sample created.
         DeleteRequiredRecords(promptforDelete);
      } 
   } 
   // Catch any service fault exceptions that Microsoft Dynamics CRM throws.
   catch(FaultException<microsoft.xrm.sdk.organizationservicefault>) {

      // You can handle an exception here or pass it back to the calling method.
      throw;
   }
}

Step 4- Phương pháp này về cơ bản thể hiện tất cả các hoạt động CRUD sử dụng dịch vụ web CRM. Đầu tiên, đoạn mã tạo một cá thể tổ chức, sau đó tạo một bản ghi Tài khoản, cập nhật bản ghi đã tạo và cuối cùng xóa nó. Chúng ta hãy xem xét các thành phần quan trọng của mã này. Để xem các thay đổi khi di chuyển trong CRM khi mã này chạy, bạn có thể gỡ lỗi mã này từng bước (như chúng ta thảo luận bên dưới) và đồng thời xem các thay đổi trong CRM.

Step 4.1 - Thiết lập kết nối với tổ chức bằng cách sử dụng chuỗi kết nối mà chúng tôi đã sửa đổi Step 2.

Microsoft.Xrm.Client.CrmConnection connection = CrmConnection.Parse(connectionString);

Step 4.2 - Lấy một phiên bản proxy của dịch vụ web tổ chức CRM.

_orgService = new OrganizationService(connection)

Step 4.3 - Tạo đối tượng thực thể Tài khoản mới và đặt Tên, Mã danh mục tài khoản và Mã loại khách hàng.

Account account = new Account{Name = "Fifth Coffee"}; 
account.AccountCategoryCode = new OptionSetValue(
   (int)AccountAccountCategoryCode.P referredCustomer); 
account.CustomerTypeCode = new OptionSetValue(
   (int)AccountCustomerTypeCode.Investor);

Step 4.4 - Tạo bản ghi mới bằng cách sử dụng phương pháp Tạo của dịch vụ tổ chức.

_accountId = _orgService.Create(account);

Nếu bạn điều hướng đến CRM, bạn sẽ thấy một bản ghi tài khoản mới được tạo.

Step 4.5 - Sau khi tài khoản được tạo, dịch vụ sẽ lấy lại bản ghi từ CRM bằng phương pháp Truy xuất dịch vụ web.

ColumnSet cols = new ColumnSet(new String[]{
   "name","address1_postalcode","lastusedincampaign"}); 
Account retrievedAccount = 
   (Account)_orgService.Retrieve("account", _accountId, cols);

Step 4.6 - Khi bạn có bản ghi đã truy xuất, bạn có thể đặt giá trị cập nhật của bản ghi.

retrievedAccount.Address1_PostalCode = "98052"; 
retrievedAccount.Address2_PostalCode = null; 
retrievedAccount.Revenue = new Money(5000000); 
retrievedAccount.CreditOnHold = false;

Step 4.7 - Sau khi thiết lập giá trị cập nhật của bản ghi, hãy cập nhật bản ghi trở lại cơ sở dữ liệu CRM bằng phương pháp Cập nhật dịch vụ web.

_orgService.Update(retrievedAccount);

Nếu bạn mở bản ghi trong CRM, bạn sẽ thấy các giá trị này được cập nhật ở đó.

Step 4.8 - Cuối cùng, xóa bản ghi bằng phương pháp Xóa dịch vụ web.

_orgService.Delete(Account.EntityLogicalName, _accountId);

Nếu bây giờ bạn làm mới cùng một bản ghi trong CRM, bạn sẽ thấy rằng bản ghi không còn khả dụng nữa vì nó đã bị xóa.

Phần kết luận

Trong chương này, chúng tôi đã đề cập đến hai dịch vụ web quan trọng do CRM cung cấp và một ví dụ hoạt động về cách các dịch vụ web này có thể được sử dụng từ một ứng dụng bên ngoài để thực hiện các hoạt động CRUD khác nhau.

Các giải pháp cung cấp một khuôn khổ để đóng gói, cài đặt và gỡ cài đặt các thành phần để phù hợp với các chức năng kinh doanh của bạn. Các giải pháp cho phép các nhà tùy chỉnh và nhà phát triển tạo ra, đóng gói và duy trì các đơn vị phần mềm mở rộng CRM. Mọi tùy chỉnh, tiện ích mở rộng hoặc cấu hình được thực hiện trong CRM đều được đóng gói, quản lý và phân phối bằng các giải pháp. Các giải pháp có thể được xuất dưới dạng tệp zip từ tổ chức nguồn, sau đó có thể được nhập vào tổ chức đích.

Để hiểu điều này, hãy xem xét các tình huống ví dụ sau:

  • Bạn, với tư cách là nhà phát triển hoặc nhà tùy chỉnh, đã mở rộng hoặc tùy chỉnh CRM trong môi trường phát triển. Bây giờ bạn muốn đóng gói các thay đổi của mình và chuyển nó sang môi trường tiếp theo. Đối với điều này, bạn có thể tạo các giải pháp riêng lẻ và xuất bản chúng trong các môi trường cao hơn.

  • Bạn, với tư cách là nhà cung cấp CRM bên thứ ba, đã tạo một mô-đun CRM, cho phép quản lý dữ liệu trong các thực thể Microsoft Dynamics CRM bằng cách sử dụng các API dịch vụ Web bên ngoài. Bây giờ, bạn muốn bán mô-đun này cho các khách hàng khác. Sử dụng các giải pháp, bạn có thể đóng gói mô-đun này và phân phối chúng cho các khách hàng khác, những người sẽ có thể cài đặt giải pháp này và sử dụng các chức năng do mô-đun của bạn cung cấp.

Các loại giải pháp

Giải pháp hệ thống mặc định

Giải pháp hệ thống chứa các thành phần giải pháp sẵn có được xác định trong Microsoft Dynamics CRM mà không có bất kỳ tùy chỉnh nào. Nhiều thành phần trong giải pháp hệ thống có thể tùy chỉnh và có thể được sử dụng trong các giải pháp được quản lý hoặc tùy chỉnh không được quản lý.

Trong suốt hướng dẫn này, chúng tôi không tạo ra bất kỳ giải pháp nào và đang tùy chỉnh giải pháp hệ thống mặc định. Nếu bạn nhớ lại, chúng tôi đã đi tới Cài đặt → Tùy chỉnh → Tùy chỉnh hệ thống. Tùy chọn này trực tiếp tùy chỉnh giải pháp mặc định.

Giải pháp được quản lý

Giải pháp được quản lý là giải pháp đã được hoàn thiện và dự định phân phối và cài đặt. Các giải pháp được quản lý có thể được cài đặt trên đầu giải pháp hệ thống hoặc các giải pháp được quản lý khác.

Important Points -

  • Nếu bạn xuất một giải pháp được quản lý từ một tổ chức và nhập nó vào một tổ chức khác, bạn không thể chỉnh sửa giải pháp trong tổ chức mới.

  • Giải pháp được quản lý không tham chiếu trực tiếp đến giải pháp hệ thống.

  • Gỡ cài đặt một giải pháp được quản lý sẽ gỡ cài đặt tất cả các tùy chỉnh được liên kết với giải pháp.

  • Theo mặc định, không thể tùy chỉnh giải pháp được quản lý trong tổ chức mục tiêu. Tuy nhiên, bằng cách sử dụng khái niệm thuộc tính được quản lý, bạn có thể xác định liệu một thành phần giải pháp sẽ có thể tùy chỉnh được hay không và nếu có, thì những phần cụ thể nào của thành phần sẽ có thể tùy chỉnh khi giải pháp được xuất dưới dạng giải pháp được quản lý.

Giải pháp không được quản lý

Giải pháp không được quản lý là giải pháp vẫn đang được phát triển và không có ý định phân phối. Giải pháp không được quản lý chứa tất cả các tùy chỉnh không được quản lý của các thành phần CRM bao gồm bất kỳ thành phần nào được thêm vào, sửa đổi, loại bỏ hoặc xóa. Theo mặc định, bất kỳ giải pháp mới nào đều là giải pháp không được quản lý. Tuy nhiên, bạn có thể xuất giải pháp không được quản lý dưới dạng giải pháp được quản lý hoặc không được quản lý.

Important Points -

  • Nếu bạn xuất một giải pháp không được quản lý từ một tổ chức và nhập nó vào một tổ chức khác, bạn có thể chỉnh sửa giải pháp trong tổ chức mới.

  • Giải pháp không được quản lý tham chiếu trực tiếp đến giải pháp hệ thống. Do đó, các thay đổi được thực hiện đối với một giải pháp không được quản lý sẽ được áp dụng cho tất cả các giải pháp không được quản lý tham chiếu đến các thành phần giống nhau, bao gồm cả giải pháp hệ thống.

  • Nếu bạn xóa một thành phần giải pháp khỏi một giải pháp không được quản lý, thành phần đó sẽ bị xóa vĩnh viễn khỏi hệ thống và sẽ không còn nữa. Trong trường hợp bạn chỉ muốn xóa thành phần khỏi giải pháp không được quản lý cụ thể, hãy sử dụng loại bỏ thay vì xóa.

  • Gỡ cài đặt một giải pháp không được quản lý không loại bỏ các tùy chỉnh liên quan. Nó chỉ xóa giải pháp khỏi hệ thống, nhưng những thay đổi bạn đã thực hiện sẽ vẫn ở đó.

Thành phần giải pháp

Một giải pháp có thể được sử dụng để đóng gói các thành phần sau đây có thể được tùy chỉnh bằng cách sử dụng các giải pháp mặc định, không được quản lý hoặc được quản lý.

Loại thành phần Thành phần
Lược đồ Thực thể
Thuộc tính
Các mối quan hệ
Bộ tùy chọn toàn cầu
Giao diện người dùng Dải băng ứng dụng
Sơ đồ trang web
Các hình thức
Ruy băng thực thể
Tài nguyên Web
phân tích Trang tổng quan
Báo cáo
Hình dung
Quy trình / Mã Quy trình
Hộp thoại
Quy trình làm việc
bổ sung
Lắp ráp
Các bước xử lý
Mẫu Mail Merge
E-mail
Hợp đồng
Bài báo
Bảo vệ Vai trò bảo mật
Hồ sơ bảo mật cấp trường

Tạo giải pháp

Step 1- Điều hướng đến Cài đặt → Giải pháp. Nhấp vào Mới.

Step 2 - Trong cửa sổ tiếp theo, nhập các chi tiết sau và nhấp vào Lưu và đóng.

Display Name - Giải pháp Mẫu (Đây có thể là bất kỳ tên nào bạn muốn).

Name- Sẽ được đặt tự động dựa trên Tên hiển thị. Tuy nhiên, bạn có thể thay đổi điều này.

Publisher- Nhà xuất bản mặc định. Nhà xuất bản giải pháp cung cấp tiền tố tùy chỉnh chung và tiền tố giá trị tùy chọn. Việc xác định nhà xuất bản giải pháp kiểm soát cách có thể cập nhật các giải pháp được quản lý của bạn sau khi phân phối. Tuy nhiên, đối với ví dụ này và trong hầu hết các trường hợp chung, bạn có thể đặt đây là Nhà xuất bản mặc định.

Version- Chỉ định một phiên bản có định dạng sau: major.minor.build.revision. Ví dụ: 1.0.0.0.

Theo mặc định, mọi giải pháp được thêm vào dưới dạng giải pháp không được quản lý. Sau khi một giải pháp được thêm vào, bạn có thể thêm các thành phần giải pháp bằng cách tạo chúng trong ngữ cảnh của giải pháp này hoặc bằng cách thêm các thành phần hiện có từ các giải pháp khác. Ví dụ: bạn có thể tạo các thực thể, biểu mẫu mới, v.v. trong ngữ cảnh của giải pháp mới này.

Xuất giải pháp

Khi bạn đã có tất cả các thay đổi mà bạn muốn đóng gói dưới dạng giải pháp được quản lý hoặc không được quản lý, bạn có thể xuất giải pháp của mình như sau.

Step 1- Mở tổ chức nguồn và điều hướng đến Cài đặt → Giải pháp. Chọn giải pháp mà bạn muốn xuất và nhấp vào nút Xuất.

Step 2 - Trong cửa sổ Xuất bản Tùy chỉnh, nhấp vào Xuất bản Tất cả Tùy chỉnh và sau đó nhấp vào Tiếp theo.

Step 3- Trong cửa sổ sau đó, bạn có thể tùy chọn bất kỳ cài đặt hệ thống nào như tự động đánh số, cài đặt lịch, v.v. để xuất cùng với giải pháp. Hiện tại, bạn có thể tránh chọn bất kỳ tùy chọn nào và nhấp vào Tiếp theo.

Step 4- Trong cửa sổ Loại gói, bạn có thể chọn xuất gói dưới dạng giải pháp được quản lý hay không được quản lý. Đối với ví dụ này, chúng ta hãy xuất nó dưới dạng không được quản lý. Sau khi hoàn tất, hãy nhấp vào Tiếp theo.

Step 5- Trong cửa sổ tiếp theo, bạn có thể thấy phiên bản nguồn của CRM mà bạn đang sử dụng và có thể chọn phiên bản mục tiêu. Nhấp vào Xuất.

Step 6- Sau khi bạn nhấp vào Xuất, giải pháp sẽ được xuất dưới dạng tệp zip. Lưu tệp zip này ở vị trí mong muốn trên hệ thống của bạn.

Nhập giải pháp

Bây giờ, chúng tôi sẽ nhập tệp zip giải pháp mà chúng tôi đã xuất trong phần trước vào một tổ chức mục tiêu mới.

Step 1- Mở tổ chức mục tiêu và điều hướng đến Cài đặt → Giải pháp. Nhấp vào Nhập.

Step 2 - Duyệt qua tệp zip mà bạn đã tải xuống từ bước xuất và nhấp vào Next.

Step 3- Từ cửa sổ tiếp theo, bạn có thể xem chi tiết gói giải pháp nếu cần. Nhấp vào Nhập sẽ bắt đầu quá trình nhập giải pháp.

Step 4- Khi quá trình nhập hoàn tất, nó sẽ hiển thị trạng thái thành công hay thất bại. Nếu quá trình thành công, hãy nhấp vào Xuất bản Tất cả Tùy chỉnh. Trong trường hợp nhập giải pháp không thành công, nó sẽ cung cấp cho bạn nhật ký lỗi chi tiết về bước nào của quá trình nhập không thành công.

Step 5- Đã xong. Giải pháp sẽ được nhập thành công vào tổ chức mục tiêu. Nhấp vào Đóng.

Giải quyết xung đột

Vì bạn có thể có nhiều nhà phát triển làm việc để tùy chỉnh và mở rộng CRM, bạn sẽ có nhiều giải pháp được quản lý và không được quản lý. Việc xuất và nhập các giải pháp này đôi khi có thể dẫn đến các tình huống xung đột. Ví dụ: giả sử 'Giải pháp A' chứa một trường trên biểu mẫu trong khi 'Giải pháp B' đã xóa trường và 'Giải pháp C' đã đổi tên trường. Trong kịch bản này, thay đổi cuối cùng sẽ là gì? Trong các tình huống xung đột như vậy, CRM sử dụng hai cách tiếp cận.

Merge- Cách tiếp cận này được sử dụng cho các thành phần giao diện người dùng như thanh lệnh, ruy-băng và sơ đồ trang web. Theo cách tiếp cận này, các thành phần giải pháp được tính toán lại từ phía dưới và các tùy chỉnh không được quản lý của tổ chức là thứ cuối cùng được áp dụng.

Top Wins- Cách tiếp cận này được sử dụng cho tất cả các tình huống xung đột khác ngoại trừ các thành phần giao diện người dùng. Theo cách tiếp cận này, thay đổi cuối cùng (được quản lý hoặc không được quản lý) được ưu tiên và được áp dụng.

Phần kết luận

Trong chương này, chúng tôi đã giới thiệu khái niệm giải pháp và các loại giải pháp khác nhau và các thành phần của chúng. Sau đó, chúng tôi đã học cách tạo, xuất và nhập một giải pháp. Cuối cùng, chúng tôi đã nghiên cứu về hai chiến lược giải quyết xung đột, diễn ra khi chúng ta có nhiều giải pháp được quản lý và không được quản lý ảnh hưởng đến các thành phần giải pháp giống nhau.