Sử dụng Power Fx với các lệnh

Bài viết này bao gồm các khía cạnh của Power Fx liên quan đến lệnh. Nhiều hàm khác được sử dụng ngày nay trong ứng dụng canvas cũng có thể được sử dụng. Hãy nhớ rằng có sự khác biệt vì lệnh dành cho các ứng dụng dựa trên mô hình.

  • Tất cả các chức năng luồng dữ liệu hiện có đều được hỗ trợ. Luồng dữ liệu là gì?
  • Các hàm bắt buộc hoạt động với dữ liệu được hỗ trợ.
  • Các hàm bắt buộc để ConfirmNotify đơn giản được hỗ trợ.
  • Để biết danh sách các hàm không được hỗ trợ, hãy truy cập Các hàm không được hỗ trợ.

Lưu ý

Quá trình phát hành lệnh Power Fx có thể mất vài phút. Có thể không rõ ràng rằng các hoạt động nền vẫn đang chạy ngay cả sau khi hoạt động phát hành dường như đã hoàn tất. Bạn có thể cần đợi một vài phút sau khi phát hành, sau đó làm mới ứng dụng để xem các thay đổi của bạn được phản ánh. Quá trình này thường mất nhiều thời gian hơn trong lần đầu tiên lệnh dựa trên Power Fx được phát hành cho một ứng dụng.

OnSelect

Xác định logic được thực thi khi nút được chọn trong ứng dụng.

Hiển thị

Xác định lô-gic để ẩn hoặc hiển thị nút khi chạy ứng dụng.

Để xác định logic hiển thị, hãy chọn lệnh. Sau đó chọn Hiển thị trên ngăn thuộc tính lệnh bên phải và chọn Hiển thị với điều kiện từ công thức. Bạn có thể chọn Hiển thị ở bên trái thanh công thức rồi viết Power Fx biểu thức bằng thanh công thức.

Thuộc tính đã chọn

Trường Loại Description
Mục Ghi nguồn dữ liệu Một trong những bản ghi được chọn từ DataSource.
Tất cả các mục Bảng hồ sơ từ DataSource Tất cả các bản ghi được chọn từ DataSource.
Bang Enum Trạng thái của điều khiển được chọn. Chỉnh sửa (=0), Mới (=1), Xem (=2)
Chưa lưu Boolean Trả về true nếu Selected hoặc SelectedItems có các thay đổi chưa được lưu. Nếu không, trả về false. Luôn trả về false nếu AutoSave được đặt thành true (tùy chọn mặc định) trong thư viện thành phần lệnh.
  • Thuộc tính Đã chọn được cung cấp bởi máy chủ của lệnh.
  • Tên MụcTất cả mục nhất quán với điều khiển ComboBox và điều khiển Gallery, nhưng là mẫu mới.
  • Nếu không có bản ghi nào được chọn, Item trả về Blank (IsBlank trả về true) và AllItems trả về một bảng trống (IsEmpty trả về true).
  • Nguồn dữ liệu rỗng cho tham chiếu bản ghi (các loại bản ghi đa hình). Các hàm chung có thể được gọi, chẳng hạn như Save hoặc IsType/AsType có thể được sử dụng.
  • Mục luôn trống nếu SelectionMax <> 1. Điều này ngăn không cho ghi công thức vào chỉ một mục và không mở rộng thành nhiều hơn một mục.

Tự động lưu

  • Nhiều lệnh JavaScript bắt đầu bằng cách lưu bộ đệm biểu mẫu. Điều này là do nó làm cho phần còn lại của mã dễ làm việc hơn.
  • Theo mặc định, bộ đệm biểu mẫu được lưu thay mặt cho nhà sản xuất ứng dụng.
    • Biểu mẫu được lưu trước khi lệnh được bắt đầu.
    • Mọi vấn đề xảy ra trong quá trình lưu đều được xử lý trong giao diện người dùng của biểu mẫu.

Hàm Patch

Vá (cập nhật) bản ghi đã chọn hiện tại

Patch(Accounts, Self.Selected.Item, {'Account Name': "Changed Account name"})

Lưu ý

Nếu bảng liên quan chưa có trong thư viện thành phần lệnh, bạn sẽ cần mở nó trong canvas studio và thêm nguồn dữ liệu vào đó.

Patch(Tasks,Defaults(Tasks),{Regarding:Self.Selected.Item},{Subject:"Subject of the Task"})

Kiểm tra và chỉnh sửa thuộc tính ngày tháng

If(Self.Selected.Item.'Last Date Included in Campaign'>DateAdd(Now(),-3), Patch(Accounts,Self.Selected.Item,{'Last Date Included in Campaign':Date(2021,10,19)}))

Thuộc tính hiển thị: Chỉ hiển thị lệnh nếu một hoặc nhiều bản ghi được chọn trong dạng xem lưới

CountRows(Self.Selected.AllItems) > 0

Kiểm soát khả năng hiển thị dựa trên dữ liệu bản ghi

//Button will be visible for accounts with Account Rating > 20
Self.Selected.Item.'Account Rating'>20

Lưu ý

Để biết các tùy chọn khác, xem tham chiếu API ứng dụng khách để sử dụng JavaScript. Thông tin thêm: chuyển đến (tham chiếu API ứng dụng khách)

Để điều hướng đến trang canvas tùy chỉnh trong ứng dụng dựa trên mô hình, hãy chuyển tên trang làm đối số đầu tiên.

Navigate( myCustomPage )

Để điều hướng đến chế độ xem mặc định của bảng, hãy chuyển tên bảng làm đối số đầu tiên.

Navigate( Accounts )

Để chuyển đến dạng xem hệ thống cụ thể của bảng, hãy chuyển enum Views của bảng.

Navigate( 'Accounts (Views)'.'My Active Accounts' )

Để điều hướng đến biểu mẫu mặc định của bảng, hãy chuyển bản ghi làm đối số đầu tiên.

Navigate( Gallery1.Selected )

Để chuyển đến biểu mẫu mặc định của bảng, hãy chuyển bản ghi Dataverse được tạo từ hàm Defaults. Thao tác này sẽ mở biểu mẫu mặc định với bản ghi là bản ghi mới. Các hàm Defaults lấy tên bảng để tạo bản ghi.

Navigate( Defaults( Accounts ) )

Tối ưu hóa trải nghiệm người dùng với nguồn dữ liệu và ghi lại thông tin

Sử dụng hàm DataSourceInfo và hàm RecordInfo để tối ưu hóa trải nghiệm của người dùng với thông tin về dữ liệu đang được hiển thị và xử lý.

Ví dụ, sử dụng RecordInfo để xác định xem người dùng hiện tại có được phép sửa đổi bản ghi hay không và hiển thị hoặc ẩn nút "Chỉnh sửa" một cách thích hợp bằng thuộc tính Visible của nó:

EditButton.Visible = 
   RecordInfo( Gallery1.Selected, RecordInfo.EditPermission )

Ví dụ, sử dụng DataSourceInfo để xác định xem người dùng hiện tại có được phép tạo bản ghi hay không và hiển thị hoặc ẩn nút "Tạo" một cách thích hợp bằng thuộc tính Visible của nó:

CreateButton.Visible = 
   DataSourceInfo( Accounts, DataSourceInfo.CreatePermission )

Hãy yêu cầu xác nhận trước khi thực hiện hành động

Sử dụng chức năng Xác nhận để hiển thị hộp thoại ở đầu màn hình hiện tại.

Notify( Confirm( "Are you sure?", 
                 { ConfirmButton: "Yes", CancelButton: "No" } 
        ) 
)

Hiển thị thông báo đúng nếu nhấn nút và thông báo sai nếu nhấn nút Không .

Thông báo cho người dùng

Thông báo có thể được hiển thị cho người dùng ứng dụng bằng cách gọi hàm Notify.

Lưu ý

NotificationType.Success hiện không được hỗ trợ và sẽ dẫn đến một loại thông báo cung cấp thông tin.

Notify( "Model-driven app notification message" )

Ví dụ khác

Khởi chạy URL

Launch("https://www.bing.com");

Thuộc tính truy cập 1:N

Self.Selected.Item.'Recurring Appointments'
Self.Selected.Item.'Parent Account'.'Account Name'="parent"

Các chức năng có sẵn với lệnh

Để biết thông tin về các công thức được hỗ trợ với lệnh trong các ứng dụng dựa trên mô hình, hãy truy cập Tham chiếu công thức - ứng dụng dựa trên mô hình.

Các hàm không được hỗ trợ

Các chức năng sau Power Fx hiện không được hỗ trợ với lệnh trong các ứng dụng dựa trên mô hình.

  • Back()
  • Clear()
  • Collect()
  • Sao chép()
  • Disable()
  • Enable()
  • Exit()
  • InvokeControl()
  • Language()
  • LoadData()
  • Param()
  • In()
  • ReadNFC()
  • RequestHide()
  • ResetForm()
  • Revert()
  • SaveData()
  • ScanBarcode()
  • Set()
  • SubmitForm()
  • UpdateContext()
  • User()
  • ViewForm()

Enums không được hỗ trợ

  • Căn chỉnh
  • AlignInContainer
  • BarcodeType
  • BorderStyle
  • Màu
  • Hướng
  • DisplayMode
  • Phông chữ
  • FontWeight
  • FormPattern
  • GridStyle
  • ImagePosition
  • ImageRotation
  • LabelPosition
  • Bố cục
  • LayoutAlignItems
  • LayoutDirection
  • LayoutJustifyContent
  • LayoutMode
  • LayoutOverflow
  • ListItemTemplate
  • MapStyle
  • Phần nội dung bị tràn
  • PDFPasswordState
  • PenMode
  • RemoveFlags
  • ScreenTransition
  • TeamsTheme
  • TextFormat
  • TextMode
  • TextPosition
  • Chủ đề
  • Chuyển tiếp
  • VerticalAlign
  • VirtualKeyboardMode
  • Thu phóng

Các khu vực không được hỗ trợ khác

  • Tăng tốc
  • Ứng dụng
  • Compass
  • Kết nối
  • Dataverse cột loại tệp
  • Môi trường
  • Máy chủ
  • Bố cục
  • Vị trí
  • ScreenSize

Xem thêm

Hiểu công thức hành vi

Tham chiếu công thức

Tổng quan về Power Fx