Phạm vi cho các lệnh hiện đại

Các lệnh có một trong ba phạm vi. Phạm vi xác định xem một lệnh (schemaname = appaction) sẽ hiển thị cho một bảng trong một ứng dụng, cho một bảng trên tất cả các ứng dụng hoặc cho tất cả các bảng và tất cả các ứng dụng.

Một lệnh phải được liên kết với một vị trí trên thanh lệnh, chẳng hạn như lưới chính hoặc biểu mẫu chính bất kể phạm vi. Do đó, việc thay đổi phạm vi sẽ không hiển thị lệnh ở các vị trí thanh lệnh khác nhau như lưới chính và biểu mẫu chính.

  • Ứng dụng Đây là phạm vi hẹp nhất và hành vi mặc định khi tạo hoặc chỉnh sửa lệnh bằng công cụ thiết kế lệnh hiện đại. Công cụ thiết kế lệnh được mở trong ngữ cảnh của ứng dụng dựa trên mô hình, bảng và vị trí thanh lệnh.
  • Bảng Còn được gọi là phạm vi thực thể. Liên kết với một bảng cụ thể và vị trí thanh lệnh. Không bị ràng buộc với bất kỳ ứng dụng cụ thể nào. Do đó, các lệnh trong phạm vi bảng sẽ hiển thị trong tất cả các ứng dụng sử dụng bảng. Ví dụ: lệnh phạm vi bảng cho bảng khách hàng và vị trí biểu mẫu chính sẽ hiển thị trong tất cả các ứng dụng khi xem biểu mẫu chính cho bản ghi khách hàng.
  • Toàn cầu Đây là phạm vi rộng nhất. Các lệnh phạm vi toàn cầu chỉ được liên kết với một vị trí thanh lệnh, không phải một ứng dụng hoặc bảng. Ví dụ: lệnh phạm vi toàn cầu cho vị trí biểu mẫu chính sẽ hiển thị trong tất cả các ứng dụng trong môi trường khi xem biểu mẫu chính cho mọi bảng.

Quan trọng

Các lệnh sử dụng Power Fx cho hành động và/hoặc khả năng hiển thị không thể được chuyển đổi thành bảng hoặc phạm vi toàn cầu tại thời điểm này.

Khi các lệnh được lồng trong danh sách thả xuống, nhóm và các nút chia, tất cả phải được đặt thành cùng một phạm vi.

Nếu lệnh phạm vi toàn cầu hoặc bảng được chỉnh sửa trong công cụ thiết kế lệnh hiện đại, một bản sao (phiên bản) sẽ được tạo với phạm vi ứng dụng và được liên kết với lệnh gốc. Ví dụ: chỉnh sửa lệnh phạm vi toàn cầu trong công cụ thiết kế lệnh sẽ ghi đè lệnh phạm vi toàn cầu ban đầu nhưng chỉ đối với ứng dụng và bảng cụ thể được chọn khi mở công cụ thiết kế lệnh. Tất cả các ứng dụng và bảng khác sẽ hiển thị lệnh gốc. Bản sao (phiên bản) bây giờ có vòng đời riêng. Các thay đổi đối với lệnh phạm vi toàn cầu ban đầu sẽ không ảnh hưởng đến phiên bản phạm vi ứng dụng mới và ngược lại.

Ghi đè lệnh phạm vi bảng và toàn cầu

Phạm vi hẹp hơn có thể ghi đè lệnh phạm vi rộng hơn ở mọi cấp độ. Phạm vi hẹp nhất sẽ thắng.

  • Lệnh phạm vi bảng (thực thể) ghi đè các lệnh phạm vi toàn cầu. Bạn có thể xác định một lệnh sẽ giống nhau trên tất cả các bảng, nhưng chỉ sửa đổi hành vi cho các bảng cụ thể.
  • Lệnh phạm vi ứng dụng ghi đè tất cả các phạm vi khác nhưng chỉ cho một ứng dụng và bảng cụ thể.

Cách tạo lệnh phạm vi bảng

  1. Tạo một hoặc nhiều lệnh trong giải pháp của bạn bằng công cụ thiết kế lệnh. Ngoài ra, hãy tạo một giải pháp riêng và chọn Thêm hiện có > Bảng.

  2. Chọn Chọn đối tượng, sau đó thêm các lệnh mong muốn.

  3. Chọn Xuất để xuất giải pháp của bạn.

    Xuất giải pháp.

  4. Nếu bạn đã thực hiện các thay đổi gần đây chưa được phát hành, hãy chọn Phát hành. Sau đó, chọn Chạy để kiểm tra xem giải pháp có bất kỳ sự cố hoặc phụ thuộc nào không, sau đó chọn Tiếp theo.

  5. Chọn tùy chọn Không được quản lý, sau đó chọn Xuất.

  6. Trong hộp thoại Tải xuống, hãy chọn Lưu và trong hộp thoại Hoàn tất tải xuống, hãy chọn Mở thư mục.

  7. Bấm chuột phải để chọn tệp .zip nén mà bạn đã tải xuống, sau đó chọn Giải nén tất cả.

  8. Chọn một vị trí để giải nén các tệp, sau đó chọn Trích xuất.

  9. Mở thư mục chứa các tệp đã giải nén, mở tệp appaction.xml và tìm lệnh mong muốn (appaction).

  10. Xóa nút appmoduleid khỏi xml.

     <appmoduleid>
       <uniquename>demo_DemoFestApp</uniquename>
     </appmoduleid>
    
  11. Thay đổi giá trị của tên duy nhất của ứng dụng. Thay đổi bất kỳ ký tự cuối cùng nào là đủ, chẳng hạn như từ 1 thành 2 hoặc bạn có thể sử dụng các quy ước đặt tên mang tính mô tả hơn nếu muốn.

XML mẫu.

   <appaction uniquename="crdff_NewCommand!a078463b5d7c473d8965f0f80469f412!crdff_CustomApp!crdff_entity1!1">
  <buttonlabeltext default="Show Alert">
    <label description="Show Alert" languagecode="1033" />
   </buttonlabeltext>
   <buttonsequencepriority>10.0000000000</buttonsequencepriority>
   <context>1</context>
   <contextentity>
    <logicalname>crdff_entity1</logicalname>
   </contextentity>
   <fonticon>AALinkedInLogo</fonticon>
   <contextvalue>crdff_entity1</contextvalue>
   <hidden>0</hidden>
   <iscustomizable>1</iscustomizable>
   <location>1</location>
   <name>EntityScoped!a078463b5d7c473d8965f0f80469f412</name>
   <onclickeventjavascriptfunctionname>ShowAppAlert</onclickeventjavascriptfunctionname>
   <onclickeventjavascriptparameters>[]</onclickeventjavascriptparameters>
   <onclickeventjavascriptwebresourceid>
    <webresourceid>ac21ad24-3c11-ef11-b6u7-000d3a1d942c</webresourceid>
   </onclickeventjavascriptwebresourceid>
   <onclickeventtype>2</onclickeventtype>
   <statecode>0</statecode>
   <statuscode>1</statuscode>
   <type>0</type>
   </appaction>

Sau khi bạn đã chỉnh sửa và lưu tệp appaction.xml, hãy nén giải pháp của bạn ở định dạng giống như khi được xuất. Sau đó, nhập giải pháp trở lại môi trường của bạn và kiểm tra hành vi.

Cách tạo lệnh phạm vi toàn cầu

  1. Làm theo các bước tương tự ở trên để chỉnh sửa tệp appaction.xml.

  2. Xóa nút appmoduleid khỏi xml:

     <appmoduleid>
       <uniquename>demo_DemoFestApp</uniquename>
     </appmoduleid>
    
  3. Thay đổi giá trị của tên duy nhất của ứng dụng. Thay đổi bất kỳ ký tự cuối cùng nào là đủ, chẳng hạn như từ 1 thành 2 hoặc bạn có thể sử dụng các quy ước đặt tên mang tính mô tả hơn nếu muốn.

  4. Xóa các nút contextentitycontextvalue khỏi xml:

    <contextentity>
     <logicalname>account</logicalname>
    </contextentity>
    <contextvalue>account</contextvalue>
    
  5. Thay đổi giá trị ngữ cảnh từ 1 thành 0.

    <appaction uniquename="crdff_NewCommand1!8fe72a85-1f84-431e-ac56-854f1bfadc4e!1">
    <buttonlabeltext default="Show Alert">
    <label description="Show Alert" languagecode="1033" />
    </buttonlabeltext>
    <buttonsequencepriority>10.0000000000</buttonsequencepriority>
    <context>0</context>
    <hidden>0</hidden>
    <iscustomizable>1</iscustomizable>
    <fonticon>AALinkedInLogo</fonticon>
    <location>1</location>
    <name>EntityScoped!a078463b5d7c473d8965f0f80469f412</name>
    <onclickeventjavascriptfunctionname>ShowGlobalAlert</onclickeventjavascriptfunctionname>
    <onclickeventjavascriptparameters>[]</onclickeventjavascriptparameters>
    <onclickeventjavascriptwebresourceid>
     <webresourceid>ac21ad24-3c01-ec11-b6e7-000d3a1d942c</webresourceid>
    </onclickeventjavascriptwebresourceid>
    <onclickeventtype>2</onclickeventtype>
    <statecode>0</statecode>
    <statuscode>1</statuscode>
    <type>0</type>
    </appaction>
    

Sau khi bạn đã chỉnh sửa và lưu tệp appaction.xml, hãy nén giải pháp của bạn ở định dạng giống như khi được xuất. Sau đó, nhập giải pháp trở lại môi trường của bạn và kiểm tra hành vi.

Cách ghi đè lệnh phạm vi toàn cầu với phạm vi bảng

Ví dụ này là khi bạn muốn một lệnh phạm vi toàn cầu giống nhau ở mọi nơi ngoại trừ cho một bảng nhất định.

  • Hành động có phạm vi thực thể sẽ hiển thị trên các lưới crdff_entity1 trong tất cả các ứng dụng ngoại trừ trong crdff_CustomApp.
  • Hành động có phạm vi toàn cầu sẽ hiển thị trên các lưới thực thể ngoại trừ crdff_entity1.

Lưu ý

Để ghi đè các lệnh phạm vi toàn cầu hoặc bảng bằng lệnh phạm vi ứng dụng, chỉ cần chỉnh sửa lệnh bằng công cụ thiết kế lệnh.

Để ghi đè lệnh phạm vi toàn cầu bằng lệnh phạm vi bảng, hãy sửa đổi tệp appaction.xml để chúng có cùng XML <name> .

Các bước để ghi đè

  1. Làm theo các bước trong Cách tạo lệnh phạm vi toàn cầu, nhưng hãy tạo hai lệnh bằng công cụ thiết kế lệnh.

  2. Như được mô tả trong các bước, xuất giải pháp của bạn và chỉnh sửa tệp appaction.xml.

  3. Tiếp tục làm theo các bước để tạo một lệnh phạm vi toàn cầu và một đối tượng.

  4. Đặt thuộc tính Tên giống nhau cho cả lệnh phạm vi toàn cầu và thực thể.

Ví dụ về lệnh phạm vi toàn cầu XML

<appaction uniquename="crdff_NewCommand1!8fe72a85-1f84-431e-ac56-854f1bfadc4e!1">
<buttonlabeltext default="Show Alert">
 <label description="Show Alert" languagecode="1033" />
</buttonlabeltext>
<buttonsequencepriority>10.0000000000</buttonsequencepriority>
<context>0</context>
<hidden>0</hidden>
<iscustomizable>1</iscustomizable>
<fonticon>AALinkedInLogo</fonticon>
<location>1</location>
<name>EntityScoped!a078463b5d7c473d8965f0f80469f412</name>
<onclickeventjavascriptfunctionname>ShowGlobalAlert</onclickeventjavascriptfunctionname>
<onclickeventjavascriptparameters>[]</onclickeventjavascriptparameters>
<onclickeventjavascriptwebresourceid>
 <webresourceid>ac21ad24-3c01-ec11-b6e7-000d3a1d942c</webresourceid>
</onclickeventjavascriptwebresourceid>
<onclickeventtype>2</onclickeventtype>
<statecode>0</statecode>
<statuscode>1</statuscode>
<type>0</type>
</appaction>

Ví dụ về lệnh phạm vi bảng XML

<appaction uniquename="crdff_NewCommand!a078463b5d7c473d8965f0f80469f412!crdff_entity1!1">
<buttonlabeltext default="Show Alert">
<label description="Show Alert" languagecode="1033" />
</buttonlabeltext>
<buttonsequencepriority>10.0000000000</buttonsequencepriority>
<context>1</context>
<contextentity>
<logicalname>crdff_entity1</logicalname>
</contextentity>
<fonticon>AALinkedInLogo</fonticon>
<contextvalue>crdff_entity1</contextvalue>
<hidden>0</hidden>
<iscustomizable>1</iscustomizable>
<location>1</location>
<name>EntityScoped!a078463b5d7c473d8965f0f80469f412</name>
<onclickeventjavascriptfunctionname>ShowEntityAlert</onclickeventjavascriptfunctionname>
<onclickeventjavascriptparameters>[]</onclickeventjavascriptparameters>
<onclickeventjavascriptwebresourceid>
<webresourceid>ac21ad24-3c01-ec11-b6e7-000d3a1d942c</webresourceid>
</onclickeventjavascriptwebresourceid>
<onclickeventtype>2</onclickeventtype>
<statecode>0</statecode>
<statuscode>1</statuscode>
<type>0</type>
</appaction>

Lưu ý

Bạn có thể cho chúng tôi biết bạn thích dùng ngôn ngữ nào cho tài liệu không? Làm một cuộc khảo sát ngắn. (xin lưu ý, khảo sát này bằng tiếng Anh)

Cuộc khảo sát sẽ mất khoảng bảy phút. Không có dữ liệu cá nhân nào được thu thập (điều khoản về quyền riêng tư).