Tổng quan về lệnh hiện đại

Các lệnh thúc đẩy hành vi ứng dụng cốt lõi cho các ứng dụng dựa trên mô hình. Chúng là các nút mà người dùng tương tác khi phát ứng dụng và các hành động kết quả được thực hiện khi một nút được chọn. Mỗi lệnh được đặt trong mối quan hệ với các lệnh khác và được liên kết với một vị trí thanh lệnh trong ứng dụng.

Thanh lệnh

Ở cấp độ cao, tùy chỉnh lệnh phù hợp với các danh mục sau. Các khả năng khác nhau tồn tại trong mỗi loại và được đề cập sâu hơn trong tài liệu lệnh hiện đại:

  • Hiển thị. Cách nút xuất hiện và vị trí của nút trong ứng dụng. Ví dụ: nhãn, biểu tượng và nhãn trợ năng của nút cũng như vị trí thanh lệnh và vị trí trong thanh lệnh.
  • Hành động. Lô-gic được thực thi khi một nút được chọn. Ví dụ: tạo và cập nhật dữ liệu hoặc tương tác với các điều khiển và trang khác nhau bên trong ứng dụng.
  • Mức độ hiển thị. Các điều kiện lô-gic chỉ định khi nào một nút được hiển thị hoặc ẩn đối với người dùng. Ví dụ: bạn có thể muốn nút hiển thị đối với một số người dùng và ẩn đối với những người khác. Hoặc có lẽ nút chỉ nên hiển thị khi các tiêu chí nhất định của bản ghi dữ liệu được thỏa mãn.

Vị trí thanh lệnh

  • Lưới chính. Thanh lệnh được hiển thị khi sử dụng điều hướng bên trái của ứng dụng để xem danh sách bản ghi toàn trang trong bảng này.

    Thanh lệnh trên lưới chính

  • Biểu mẫu chính. Thanh lệnh được hiển thị trên biểu mẫu chính của bảng này. Điều này xuất hiện ở đầu biểu mẫu và không giống với dạng xem được liên kết hoặc dạng xem lưới con sẽ xuất hiện trong các khu vực khác nhau của biểu mẫu.

    Biểu mẫu chính

  • Dạng xem lưới con. Thanh lệnh được hiển thị trên biểu mẫu của các bảng khác hiển thị dữ liệu của bảng này trong lưới con. Ví dụ: biểu mẫu chính của tài khoản có điều khiển lưới con liệt kê các bản ghi liên hệ liên quan đến bản ghi tài khoản. Để chỉnh sửa thanh lệnh bên dưới, hãy chỉnh sửa thanh lệnh cho bảng liên hệ sau đó là dạng xem lưới con.

    Dạng xem lưới con

  • Dạng xem liên kết. Thanh lệnh được hiển thị trên biểu mẫu của bảng chính khi xem dữ liệu liên quan trong bảng này. Ví dụ: từ biểu mẫu chính của bản ghi tài khoản, hãy chọn tab Có liên quan, sau đó chọn một bảng có liên quan như danh bạ.

    Dạng xem liên kết

  • Hành động nhanh. Các hành động nhanh được liên kết với vị trí lưới chính. Để thêm hoặc chỉnh sửa lệnh cho cả hành động nhanh và vị trí lưới chính, hãy chọn bảng mong muốn từ bên trong công cụ thiết kế ứng dụng hiện đại, sau đó chỉnh sửa thanh lệnh và chọn vị trí lưới chính. Năm lệnh đầu tiên, được xác định theo thứ tự, cũng sẽ được hiển thị dưới dạng các hành động nhanh khi phát ứng dụng.

    Một hành động nhanh mẫu được định cấu hình trên bảng liên hệ

Lưu ý

Các vị trí thanh lệnh tùy chỉnh ít thường xuyên hơn không được hỗ trợ trong công cụ thiết kế lệnh. Xem các phần Thanh lệnh toàn cầu và các ruy băng khác để biết thêm thông tin về cách tùy chỉnh lệnh cho các vị trí này.

Các loại lệnh

  • Lệnh. Nút tiêu chuẩn. Thực hiện một hành động khi được chọn. Cũng có thể được lồng vào các nhóm trong trình đơn thả xuống và các nút chia nhỏ. Lưu ý rằng chúng được gọi là hộp thả xuống trong lệnh cổ điển.
  • Danh sách thả xuống. Tạo menu nơi bạn có thể sắp xếp các lệnh trong một nhóm.
  • Nhóm. Thêm tiêu đề vào các nhóm lệnh được lồng trong danh sách thả xuống hoặc nút chia tách.
  • Nút tách. Tương tự như một danh sách thả xuống, nhưng có một lệnh chính. Khi nút tách được chọn, hành động từ lệnh chính sẽ được thực hiện. Nếu ký tự V mở rộng được chọn, lệnh chính sẽ không được thực hiện. Thay vào đó, một danh sách sẽ mở rộng để hiển thị các nhóm, hộp thả xuống và lệnh bổ sung.

Các loại lệnh

Sự khác biệt chính giữa lệnh cổ điển và lệnh hiện đại

Các lệnh cổ điển (trước đây được gọi là ruy-băng) không thể tùy chỉnh bằng cách sử dụng mã thấp. Với mã, các tùy chỉnh lệnh rất khó, tẻ nhạt và dễ xảy ra lỗi. Để mở rộng lệnh sang mã thấp cũng như sử dụng trang tùy chỉnh để bao gồm canvas và ứng dụng dựa trên mô hình, cần phải sáng tạo và tạo lại cấu trúc lệnh.

Lệnh hiện đại cung cấp nhiều khả năng mới và sử dụng đơn giản hơn nhiều.

Khả năng Hiện đại
Được hỗ trợ trong thời gian chạy của ứng dụng dựa trên mô hình Có Có, hỗ trợ thêm thời gian chạy Power Fx.
Được tùy chỉnh bằng Chỉnh sửa thủ công XML trong các tệp giải pháp hoặc sử dụng các công cụ của bên thứ ba. Các hoạt động xuất và nhập giải pháp cần nhiều thời gian. Công cụ thiết kế lệnh cũng như hỗ trợ API Dataverse.
Hỗ trợ Power Fx. No Có. Đối với các hành động và khả năng hiển thị.
Thời gian cần thiết để tùy chỉnh Chậm, dễ xảy ra lỗi. Nhanh
Độ tin cậy và hiệu năng Dễ mắc lỗi. Tùy chỉnh kém và thiếu phạm vi thường ảnh hưởng đến hiệu suất ứng dụng Xử lý lỗi nội tuyến ngăn ngừa sai lầm. Power Fx được tối ưu hóa cho hiệu suất thời gian chạy tốt hơn.
Chia sẻ Bảo mật dựa trên vai trò Dataverse tiêu chuẩn. Các lệnh không phải Power Fx sử dụng bảo mật dựa trên vai trò Dataverse tiêu chuẩn. Các lệnh Power Fx hiện yêu cầu chia sẻ thư viện thành phần lệnh ngoài việc có vai trò bảo mật thích hợp.
Giải pháp và hành vi ALM Phân lớp giải pháp không nhất quán và có vấn đề, không xuất hiện trong giao diện giải pháp. Nhiều hành vi giải pháp tiêu chuẩn không được hỗ trợ như bản vá, phân đoạn, nâng cấp giải pháp, thuộc tính được quản lý, v.v. Phân lớp giải pháp tiêu chuẩn được quản lý tập trung cho nhiều loại đối tượng giải pháp bên trong Dataverse. Có trong giao diện giải pháp. Tất cả các hành vi giải pháp tiêu chuẩn được hỗ trợ.
Bản địa hóa Phi tiêu chuẩn Được chuẩn hóa bằng cách sử dụng các bản dịch xuất và nhập cho toàn bộ giải pháp.
Mô hình dữ liệu Phức tạp. Được tối ưu hóa cho các ruy băng cổ điển và chứa nhiều thuộc tính không còn cần thiết. Đơn giản, được tối ưu hóa cho các thanh lệnh ứng dụng dựa trên mô hình ngày nay.
Sử dụng JavaScript Có Có. Bây giờ đơn giản hơn. Lưu ý: Có thể sử dụng cùng một JavaScript cho các lệnh cổ điển và hiện đại.
Tùy chỉnh các lệnh có sẵn Có Các lệnh có thể chỉnh sửa được trong công cụ thiết kế lệnh sau khi được chuyển sang khung hiện đại.
Lệnh cụ thể cho ứng dụng No Có. Sử dụng công cụ thiết kế lệnh hiện đại đảm bảo các lệnh chỉ hiển thị trong ứng dụng đã chọn.
Các lệnh cụ thể cho bảng sẽ hiển thị trong tất cả các ứng dụng chứa bảng đó Có Có. Yêu cầu sửa đổi định nghĩa appaction trong tệp giải pháp.
Các lệnh chung sẽ hiển thị cho tất cả các bảng và ứng dụng cho vị trí thanh lệnh được chỉ định Có Có. Yêu cầu sửa đổi định nghĩa appaction trong tệp giải pháp.
Tạo các nút tách, hộp thả xuống và nhóm Có Có
Tự động điền mã vào hộp thả xuống Có Không. Chúng tôi khuyên bạn nên tạo lệnh một cách rõ ràng.
Tùy chỉnh các lệnh tiêu đề ứng dụng toàn cầu Có No
Tùy chỉnh lệnh cho các vị trí thanh lệnh khác/không phổ biến hoặc lỗi thời Có No
Chạy quy trình hoặc quy trình làm việc hiện đại Sử dụng JavaScript Sử dụng JavaScript. Cũng được hỗ trợ bằng một trang tùy chỉnh.

So sánh quy tắc hiển thị cổ điển và hiện đại

Các quy tắc hiển thị cổ điển thường có một quy tắc cụ thể cho từng trường hợp. Với Power Fx, một hàm khai báo thay thế nhiều quy tắc cổ điển. Và dễ sử dụng hơn nhiều.

Lưu ý rằng các quy tắc hiển thị cổ điển cũng sẽ sớm được hỗ trợ trong các lệnh hiện đại. Tuy nhiên, hỗ trợ cho các quy tắc cổ điển là cần thiết để di chuyển đáng tin cậy các lệnh cổ điển sang lệnh hiện đại và tùy chỉnh quy tắc cổ điển trong công cụ thiết kế lệnh không được hỗ trợ. Bạn nên sử dụng Power Fx kể từ bây giờ.

Trường hợp sử dụng Quy tắc cổ điển Tùy chọn cổ điển Thuộc tính hiển thị Power Fx
Hiển thị/ẩn dựa trên các giá trị dữ liệu CustomRule Sử dụng JavaScript !IsBlank(Self.Selected.Item.Email)
Hiển thị/ẩn dựa trên quyền đối với bảng EntityPrivilegeRule Nhiều DataSourceInfo()
Hiển thị/ẩn dựa trên quyền đối với bản ghi RecordPrivilegeRule Nhiều RecordInfo()
Tham khảo ngữ cảnh điều khiển cho các bảng chính và bảng liên quan EntityRule PrimaryEntity. SelectedEntity Self.Selected
Tham chiếu ngữ cảnh điều khiển EntityRule Biểu mẫu. HomePageGrid. SubGridStandard. SubGridAssociated Self.Selected
Thuộc tính siêu dữ liệu bảng EntityPropertyRule DataSourceInfo()
Hiển thị/ẩn dựa trên trạng thái biểu mẫu. Ví dụ: hiển thị cho biểu mẫu tạo FormStateRule Tạo. Hiện có. ReadOnly. Đã tắt. BulkEdit Self.Selected.State = FormMode.New
Hiển thị khi > 1 bản ghi được chọn trong lưới SelectionCountRule CountRows(Self.Selected.Items) > 1
Hiển thị/ẩn cho một bảng có liên quan trong một tra cứu đa hình. Ví dụ: kiểm tra xem người tra cứu là người dùng HAY một nhóm CustomRule PrimaryEntityTypeCode IsType(), AsType
Thuộc tính môi trường tham chiếu (Tổ chức) CustomRule OrgName. OrgLcid. UserLcid Hiện chưa khả dụng

Các câu hỏi thường gặp

  • Tại sao tôi thấy nhiều lệnh trong trình thiết kế hơn tôi thấy trong ứng dụng của mình?
    • Có một số lý do. Đôi khi có logic hiển thị sẽ ẩn lệnh khi chạy ứng dụng. Những lần khác, các lệnh này được đưa vào động thông qua JavaScript tùy chỉnh trong thời gian chạy và không thể định cấu hình.
  • Tại sao tôi thấy các lệnh trùng lặp trong trình thiết kế?
    • Đây là một mẫu phổ biến được sử dụng với các lệnh cổ điển. Cả hai lệnh sẽ không hiển thị trong thời gian chạy vì chúng được điều khiển bởi các quy tắc hiển thị. Trình thiết kế lệnh sẽ hiển thị tất cả các lệnh, bất kể quy tắc hiển thị của chúng.

Xem thêm

Tùy chỉnh thanh lệnh bằng trình thiết kế lệnh
Quản lý các lệnh trong các giải pháp
Các hạn chế đã biết về lệnh hiện đại (xem trước)