Sử dụng mô hình Xrm.Page là cách viết mã của Microsoft

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 dng ca JavaScript trong CRM

Lp trình s kin biu mu

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ư điều gì xảy ra khi người dùng mở 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 JavaScript DOM 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òn được sử dụng trong các ứng dụng khác của CRM, chẳng hạn như –

  • Mở Biểu mẫu, Chế độ xem và Hộp thoại bằng một URL duy nhất.
  • Sử dụng các đ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 các 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 mã đó dưới dạng Tài nguyên web JScript trong CRM, mã này sau đó có thể được tham chiếu ở bất kỳ đâu bằng một URI duy nhất.

Tùy chnh 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, chẳng hạn như –

  • Hiển thị/Ẩn các nút ribbon 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 bấm 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 tôi có thể chỉ định phương thức nào trong đó gọi tệp JScript để kiểm tra xem nút ruy-băng có nên đượ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à cấu trúc 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 có sẵn. Bạn sẽ sử dụng các thuộc tính này trong khi viết mã JScript.

Tài nguyên web JScript

không gian tên

Sơ KhôngMô tả đối tượng
1Bối cảnh Cung cấp các phương thức để truy xuất thông tin theo ngữ cảnh cụ thể, chẳng hạn như chi tiết tổ chức, chi tiết người dùng đã đăng nhập hoặc tham số được chuyển đến biểu mẫu trong chuỗi truy vấn.
2Dữ liệu 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 kiểm soát dòng quy trình công việc.
3giao diện người dùng 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

Sơ KhôngMô tả đối tượng
1thực thể Cung cấp phương thức để – Truy xuất thông tin bản ghiphương thức lưuThuộc tính bộ sưu tập
2Quá trình Các phương thức truy xuất thuộc tính của dòng quy trình công việc.
3dẫn đường 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.
4Bộ chọn biểu mẫu 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.
5giai đoạn 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 pháp quy trình getStages.
6bước 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 pháp giai đoạn getSteps.

b sưu tp

Sơ KhôngBộ sưu tập & Mô tả
1Thuộc tính 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điều khiển 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. thuộc tính.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.
3Mặt hàng Cung cấp quyền truy cập vào tất cả các mục điều hướng trên biểu mẫu.
4tab Cung cấp quyền truy cập vào tất cả các tab trên biểu mẫu.
5phần Cung cấp quyền truy cập vào tất cả các phần trên biểu mẫu.

Các s kin được h tr trong lp trình biu mu

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
  • Business Process Flow control events

Ví d lp trình biu mu

Trong ví dụ này, chúng tôi sẽ đặt một số xác thực 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.

Bước 1 – Tạo một tệp JavaScript có tên contact.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'); 
}

Bước 2 – Mở biểu mẫu thực thể Người 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ể người liên hệ → Biểu mẫu → Biểu mẫu chính.

Bước 3 – Nhấp vào Thuộc tính biểu mẫu.

Tài nguyên web JScript

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

Tài nguyên web JScript

Bước 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.

Tài nguyên web JScript

Bước 6 – Trong cửa sổ Tài nguyên web mới, nhập các chi tiết sau –

Tên − new_contacts.js

Tên hiển thị − contact.js

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

Tài nguyên web JScript

Bước 7 – Nhấp vào Lưu, sau đó là Xuất bản. Sau khi đóng cửa sổ này lại và bạn sẽ quay lại cửa sổ Tra cứu Bản ghi Tài nguyên Web.

Bước 8 – Tại đây, giờ đây 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.

Tài nguyên web JScript

Bước 9 – Bây giờ chúng tôi sẽ thêm một trình xử lý sự kiện khi thay đổi trường Phương thức liên lạc ưa thích. 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.

Kiểm soát – Phương thức giao tiếp ưa thích

Sự kiện − OnChange Sau đó, nhấp vào nút Thêm , như thể hiện trong ảnh chụp màn hình sau.

Tài nguyên web JScript

Bước 10 – Trong cửa sổ tiếp theo của Thuộc tính trình xử lý, chúng tôi sẽ chỉ định phương thức sẽ được gọi khi sự kiện thay đổi xảy ra. Chọn Thư viện là new_contacts.js và Chức năng là validatePreferredMethodOfCommunication. Nhấp vào OK

Tài nguyên web JScript

Bước 12 – Nhấp vào Lưu, sau đó là Xuất bản.

Tài nguyên web JScript

Bước 13 – Bây giờ hãy mở bất kỳ biểu mẫu Liên hệ nào và đặt Phương thức liên lạc ưa thích 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 liên hệ này mà không nhập bất kỳ số điện thoại di động nào, nó sẽ báo lỗi cho bạn rằng ‘Bạn phải cung cấp một giá trị cho Điện thoại di động’.

Tài nguyên web JScript

Phn kết lun

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ụ.

Tài nguyên web HTML (xem thêm)

Để lại một bình luận