第一章-④ Power Appsでなんちゃってワークフローを作ってみた(ワークフローの機構作成)

こんにちは、はなくそです。

親が決めた顔も知らない見合い相手との見合いまでの暇つぶしにブログ書いているという、

ラノベやアニメならこの待ち時間に運命的な出会いをするはずなので期待してます、はなくそです。

 

さてさて、

このブログを真剣に見てる人なんていねぇだろうな!という背徳的な価値観の元、

今日も元気に更新します。

なんか200PVという多いのか少ないのかわからないPV数を誇るこのブログですが、

超絶☆初心者の方には参考になるように作りたいなと思ってます。

思ってるだけです。参考になるかはしりません。

 

さていきましょー!

誰も見てないと思うとゾクゾクしますね。

 

前回テキトーにテキトーを重ねてなんだかきっちりしてるっぽいインターフェース(笑)を作りました(下図)

f:id:hanakuso365:20200607233213p:plain

ここからワークフロー(笑)をつくります。

作るのは以下のようなイメージです。

Youtu.be

まぁ見たらわかると思いますが、

基本的には

・Visible

・Display mode

あたりをいじってその行の値でIf分岐させてるだけです。

なのでルール決めから考えよう!(誰も見てないと思うとテンションあがりますね!)

f:id:hanakuso365:20200614151735p:plain

こんな構造で行きます。

flagの値に対応して

0:未申請

1:承認待ち

2:承認済

3:差戻

としてあげれば、

あとは

その第n次承認者フラグに対して以下のように変化を設定します。

f:id:hanakuso365:20200614152823p:plain

また、

Patch(データソース名A,式B,{列名C:テキストD})

=『Aのデータソースの中の、Bに当てはまる行の、Cという列をDに変える』

First(データソース名E)

=『データソースEの一番最初のデータを取り出す』

Filter(データソース名F,条件G)

=『データソース名Hの中で条件Gに当てはまるものをすべて取り出す』

Thisitem.ID

=sharepointのリストの行ID

 

となるので、onselectプロパティに

Patch(sharepointで作成したリスト名,
 First(
  Filter(sharepointで作成したリスト名,
   ID = Thisitem.ID
)
),
{第一承認者のフラグ: 2,
第二承認者のフラグ: 1,
第一承認者のタイムスタンプ列: 今の時間

}
)

 

と書くことで、

=『sharepointのリストの中から今あなたが押したボタンがあるgalleryのIDと同じ行探し出して今あなたが押したボタンのフラグの値を変えてやるんだからね!感謝しなさいよ!』

ということをやってくれます。

これでわざわざ中味を見に行かずとも、gallery上で動作ができ、目暗チェックも簡単☆

 

前回作成した設定に合わせると

  承認ボタン 差戻ボタン
第一承認者の枠 Patch(
    request,
    First(
        Filter(
            request,
            ID = Thisitem.ID
        )
    ),
    {
        ch_st_1:2,
        ch_st_2:1,
        t_stamp_1:※
    }
)
Patch(
    request,
    First(
        Filter(
            request,
            ID = Thisitem.ID
        )
    ),
    {
        ch_st_1:3,
        t_stamp_1:※
    }
)
第二承認者の枠 Patch(
    request,
    First(
        Filter(
            request,
            ID = Thisitem.ID
        )
    ),
    {
        ch_st_2:2,
        ch_st_3:1,
        t_stamp_2:※
    }
)
Patch(
    request,
    First(
        Filter(
            request,
            ID = Thisitem.ID
        )
    ),
    {
        ch_st_1:3,
        ch_st_2:3,
        t_stamp_2:※
    }
)
第三承認者の枠 Patch(
    request,
    First(
        Filter(
            request,
            ID = Thisitem.ID
        )
    ),
    {
        ch_st_3:2,
        ch_st_4:1,
        t_stamp_3:※
    }
)
Patch(
    request,
    First(
        Filter(
            request,
            ID = Thisitem.ID
        )
    ),
    {
        ch_st_1:3,
        ch_st_2:3,
        ch_st_3:3,
        t_stamp_3:※
    }
)
第四承認者の枠 Patch(
    request,
    First(
        Filter(
            request,
            ID = Thisitem.ID
        )
    ),
    {
        ch_st_4:2,
        ch_st_5:1,
        t_stamp_4:※
    }
)
Patch(
    request,
    First(
        Filter(
            request,
            ID = Thisitem.ID
        )
    ),
    {
        ch_st_1:3,
        ch_st_2:3,
        ch_st_3:3,
        ch_st_4:3,
        t_stamp_4:※
    }
)
第五承認者の枠 Patch(
    request,
    First(
        Filter(
            request,
            ID = Thisitem.ID
        )
    ),
    {
        ch_st_5:2,
        t_stamp_5:※
    }
)
Patch(
    request,
    First(
        Filter(
            request,
            ID = Thisitem.ID
        )
    ),
    {
        ch_st_1:3,
        ch_st_2:3,
        ch_st_3:3,
        ch_st_4:3,
        ch_st_5:3,
        t_stamp_5:※
    }
)

 

※印に関してはhttps://qiita.com/kura_yu/items/092dad2b05099a253e3e

kura_yuさんが紹介しているものをテキトーにリストにぶち込んで表示したtext名を使用してます。

承認スペースの配置を以下のように置いてあげれば、

承認ボタンを押す→タイムスタンプ&印鑑がつくみたいな挙動に見えます。

この辺がなんちゃって感ですね。

同じように差戻ボタン押す→タイムスタンプ&差戻画像がつくみたいな挙動に見えます。

f:id:hanakuso365:20200615190203p:plain

ざっくりいうとflag用意してあげて、1のときは○○の状態、2のときは××の状態のように定義するだけです。

簡単ですね。

鼻糞でもできる。

ありがとうございます。神様いっぱいです。さすが八百万。

 

今回はこの辺でやめておきます。

あと2,3回でなんちゃってワークフロー完成予定です。

残りは、

・申請フォーム作成

・Power Automateで承認催促通知作成

くらいです。

 

気分で増やします。

それではまたいつか(誰も見てなかったらゾクゾクします。)

 

ミーアキャット可愛い!!!!

ミーアキャットがいるcafeです。

店主も可愛い女性なので、おすすめです。

https://www.facebook.com/pg/runacafe/photos/?ref=page_internal

しれっと宣伝しときます。

 

次回は明日書こうかな。