명령과 함께 Power Fx 사용

이 문서에서는 명령과 관련된 Power Fx의 측면을 다룹니다. 현재 캔버스 앱 내에서 사용되는 다른 많은 기능도 사용할 수 있습니다. 명령은 모델 기반 앱을 위한 것이기 때문에 차이점이 있음을 염두에 두십시오.

  • 모든 기존 데이터 흐름 기능이 지원됩니다. 데이터 흐름이란?
  • 데이터와 함께 작동하는 명령형 기능이 지원됩니다.
  • 간단한 ConfirmNotify을 위한 필수 기능이 지원됩니다.
  • 지원되지 않는 기능 목록을 보려면 지원되지 않는 기능으로 이동하십시오.

참고

Power Fx 명령을 게시하는 데 몇 분 정도 걸릴 수 있습니다. 게시 작업이 완료된 것으로 나타난 후에도 백그라운드 작업이 계속 실행되고 있는지 명확하지 않을 수 있습니다. 게시 후 몇 분 정도 기다렸다가 앱을 새로 고쳐 변경 사항이 반영되었는지 확인해야 할 수 있습니다. 일반적으로 앱에 대해 Power Fx 기반 명령을 처음 게시할 때 시간이 더 오래 걸립니다.

OnSelect

앱 내에서 버튼이 선택될 때 실행될 로직을 정의합니다.

표시됨

앱을 실행할 때 버튼을 숨기거나 표시하는 로직을 정의합니다.

가시성 논리를 정의하려면 명령을 선택하십시오. 그런 다음 오른쪽 명령 속성 창에서 가시성을 선택하고 수식에서 조건에 따라 표시를 선택합니다. 수식 입력줄 왼쪽에서 표시를 선택한 다음 수식 입력줄을 사용하여 Power Fx 표현식을 작성할 수 있습니다.

선택한 속성

필드 형식 설명
상품 DataSource의 레코드 DataSource에서 선택한 레코드 중 하나입니다.
AllItems DataSource의 레코드 테이블 DataSource에서 선택한 모든 레코드입니다.
열거형 선택한 컨트롤의 상태입니다. 편집(=0), 새로 만들기(=1), 보기(=2)
저장되지 않음 부울 Selected 또는 SelectedItems에 저장되지 않은 변경 사항이 있으면 true를 반환합니다. 그렇지 않은 경우 false를 반환합니다. 명령 구성 요소 라이브러리 내에서 AutoSave가 true(기본 옵션)로 설정된 경우 항상 false를 반환합니다.
  • 선택된 속성은 명령의 호스트에서 제공합니다.
  • 항목 그리고 모든 항목 이름은 ComboBox 컨트롤 및 갤러리 컨트롤과 다소 일치하지만 이것은 새로운 패턴입니다.
  • 선택된 레코드가 없는 경우, 항목은 공백을 반환하고(IsBlank는 true를 반환함) 모든 항목은 빈 테이블을 반환합니다(IsEmpty는 true를 반환함).
  • 레코드 참조에 대한 Null DataSource(다형성 레코드 유형). Save 또는 IsType/AsType과 같은 일반 함수를 호출할 수 있습니다.
  • SelectionMax <> 1인 경우 항목은 항상 비어 있습니다. 이렇게 하면 하나의 항목에만 수식을 작성하고 둘 이상으로 확장하지 않도록 방지할 수 있습니다.

AutoSave

  • 많은 JavaScript 명령은 양식 버퍼를 저장하는 것으로 시작합니다. 코드의 나머지 부분을 더 쉽게 작업할 수 있기 때문입니다.
  • 기본적으로 양식 버퍼는 앱 제작자를 대신하여 저장됩니다.
    • 명령이 시작되기 전에 양식이 저장됩니다.
    • 저장 작업 중에 발생하는 모든 문제는 양식의 UI 내에서 처리됩니다.

Patch 함수

Patch(업데이트) 현재 선택된 레코드

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

참고

관련 테이블이 아직 명령 구성 요소 라이브러리에 없으면 캔버스 스튜디오에서 열어서 데이터 원본를 추가해야 합니다.

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

날짜 속성 확인 및 편집

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)}))

보이는 속성: 그리드 보기에서 하나 이상의 레코드가 선택된 경우에만 명령을 표시합니다.

CountRows(Self.Selected.AllItems) > 0

레코드 데이터를 기반으로 가시성 제어

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

참고

추가 옵션은 JavaScript 사용을 위한 클라이언트 API 참조를 참조하십시오. 추가 정보: NavigationTo(클라이언트 API 참조)

모델 기반 앱 내에서 사용자 지정 캔버스 페이지로 이동하려면 페이지 이름을 첫 번째 인수로 전달하십시오.

Navigate( myCustomPage )

테이블의 기본 보기로 이동하려면 테이블 이름을 첫 번째 인수로 전달하세요.

Navigate( Accounts )

테이블의 특정 시스템 보기로 이동하려면 테이블의 Views 열거형을 전달합니다.

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

테이블의 기본 양식으로 이동하려면 레코드를 첫 번째 인수로 전달합니다.

Navigate( Gallery1.Selected )

테이블의 기본 양식으로 이동하려면 레코드 기본값 함수에서 생성된 Dataverse 레코드를 전달합니다. 그러면 레코드가 새 레코드로 포함된 기본 양식이 열립니다. Defaults 함수는 레코드를 생성하기 위해 테이블 이름을 사용합니다.

Navigate( Defaults( Accounts ) )

데이터 소스 및 레코드 정보로 사용자 경험 최적화

DataSourceInfo 함수RecordInfo 함수를 사용하여 표시되고 조작되는 데이터에 대한 정보로 사용자 경험을 최적화하세요.

예를 들어 RecordInfo를 사용하여 현재 사용자에게 레코드를 수정할 수 있는 권한이 있는지 확인하고 Visible 속성을 사용하여 "편집" 버튼을 적절하게 표시하거나 숨길 수 있습니다.

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

예를 들어, DataSourceInfo를 사용하여 현재 사용자에게 레코드를 생성할 수 있는 권한이 있는지 확인하고 표시 속성을 사용하여 "만들기" 버튼을 적절하게 표시하거나 숨길 수 있습니다.

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

조치를 취하기 전에 확인 요청

Confirm 함수를 사용하여 현재 화면 상단에 대화 상자를 표시합니다.

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

버튼을 누르면 알림 true를 표시하고, 아니요 버튼을 누르면 알림 false를 표시합니다.

사용자에게 알림

알림 함수를 호출하여 앱 사용자에게 알림을 표시할 수 있습니다.

참고

NotificationType.Success은 현재 지원되지 않으며 정보 알림 유형이 됩니다.

Notify( "Model-driven app notification message" )

다른 예제

URL 실행

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

1:N 속성에 접근

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

지원되지 않는 함수

다음 Power Fx 기능은 현재 모델 기반 앱에서 명령을 지원하지 않습니다.

  • Back()
  • Clear()
  • Collect()
  • Copy()
  • Disable()
  • Enable()
  • Exit()
  • InvokeControl()
  • Language()
  • LoadData()
  • Param()
  • ReadNFC()
  • RequestHide()
  • ResetForm()
  • Revert()
  • SaveData()
  • ScanBarcode()
  • Set()
  • SubmitForm()
  • UpdateContext()
  • 사용자()
  • ViewForm()

지원되지 않는 열거형

  • 정렬
  • 컨테이너 정렬
  • 바코드 유형
  • 테두리 스타일
  • 색상
  • 방향
  • 표시 모드
  • 글꼴
  • 글꼴 두께
  • 양식 패턴
  • 그리드 스타일
  • 이미지 위치
  • 이미지 회전
  • 레이블 위치
  • 레이아웃
  • 레이아웃 정렬 항목
  • 레이아웃 방향
  • 레이아웃 양쪽 맞춤 콘텐츠
  • 레이아웃 모드
  • 레이아웃 오버플로
  • 목록 항목 템플릿
  • 스타일 매핑
  • 오버플로
  • PDF 암호 상태
  • Pen 모드
  • 플래그 제거
  • 화면 전환
  • Teams 테마
  • 텍스트 서식
  • 텍스트 모드
  • 텍스트 위치
  • 테마
  • 전환
  • 세로 정렬
  • 가상 키보드 모드
  • 확대/축소

기타 지원되지 않는 영역

  • 가속
  • 응용 프로그램
  • 나침반
  • Connection
  • Dataverse 파일 형식 열
  • Environment
  • Host
  • 레이아웃
  • 위치
  • 화면크기

참조 항목

동작 수식 이해

수식 참조

Power Fx 개요