カテゴリー: IT

  • PowerApps PDFビューアーを触ってみました

    PowerAppsには、PDFを表示する機能があります。

    はじめはPowerAutomateで下記の関数を使い、帰ってきた、バイナリデータをSet関数で変数に代入し、その変数をPDFViewerのDocumentプロパティにセットし、PDFを表示させていたのですが。

    dataUri(base64ToBinary(body('ステップ名')?['$Content']))

    PowerAppsだけでも、データでデータの追加 コネクタでBoxを追加すると、Box.GetFileContent(“Box.File.Id“)が使えるようになり、Set関数で変数に代入し、その変数をPDFViewerのDocumentプロパティにセットすれば表示できますした。こちらの方が簡単なので、今はこの方法を使っています。

  • PowerApps Launchを触ってみました

    自作アプリから別の自作アプリへ移動する時Launch関数を使います。

    Launch("url")

    urlにparameter &web=1をつけるとブラウザーで開くことができます。

    Launch("url&web=1")

    Teams内のPowerAppsで作成されたアプリを参照する場合、一度チャネルのタグに登録し、チャネルに認識させないと、アプリオーナー以外のチームメンバーが参照できません。タグ登録した後、タグを削除し、Teams上にアプリ登録し、そのurlを取得し、Launchのparameterとして設定すればアプリオーナー以外のチームメンバーも参照できます。

  • PowerApps Patchを触ってみました

    PowerAppsでJSONデータをテーブルにして、レコードの内容を変更して、テーブルに反映させる。

    まずはJSONの簡単なサンプルを変数_JSONtextにセットします。

    Set(_JSONtext,"[{""A"": ""A1""},{""A"": ""A2""}]")

    ParseJSON関数を使いコレクション_tableにセットします。この時ClearCollectionを使うのが味噌です。Patch関数の第一引数はコレクションなので、単純にSet関数を使ってしまうと、_tableを参照できませんでした。

    ClearCollect(_table,ForAll(ParseJSON(TextBoxJSONSample.Value),{A:Text(ThisRecord.A)}))

    _tableをGallary1のItemsにセットします。

    Gallary1でレコードをSelectされたらレコードの内容を反映させるFormを作成します。FormのDataSourceに_tableをセット、ItemにGallary1.Selectedをセット、DataCardを追加し、その中にTextBox2をセットし、ValueにThisItem.Aをセットします。これでGallary1で選択したレコードのAがTextBox2に表示されます。

    TextBos2の内容を変更し、その変更を_tableに反映させるのにPatch関数を使います。

    Patch(_table,First(Filter(_table,A = Gallery1.Selected.A)),{A: TextBox2.Value})

    この第二引数First(Filter(_table,A = Gallery1.Selected.A))でわかるように、レコードを特定する必要があります。JSONデータを作成するときには重複しないデータをもつプロパティを設定する必要があります。

    コレクションをJSONデータにします。

    Set(_JSONtext,JSON(_table))