顧客管理を自動で問合せフォームから自動登録できるようにした(ついでに入金管理)

あきらです。前回に引き続き、たまったSPO listをPower Appsで閲覧および編集(入金管理)していこうと思います。

 

作るのはこんなん。

 

f:id:hanakuso365:20210905101713p:plain

 

f:id:hanakuso365:20210905101918p:plain

ソースの確認

ソースは前回の記事でためた顧客情報。

こんなん

こんな感じで企業と個人で埋まる列が違い、列数も違ってくるので、

表示するアプリの列もドロップダウンに対して可変にしたい。

f:id:hanakuso365:20210905145442p:plain

gallery header列作成

ドロップダウンが企業なら10行、そうでないなら9行で考える。

全体の構成を考えてみる

galleryの幅は決まっているので、その幅に合わせて横gallery作成して、

均等になるようにtemplate sizeを、企業ならSelf.Width/10、そうでないならSelf.Width/9で中のtemplateを可変にして、ラベルを中に仕込み、そのWidthとHeightを Parent.templateプロパティに合わせる。

これでgalleryサイズが変わっても幅が追従する。

If(
    Dropdown1.Selected.Value = "賛助会員(企業)",
    [
        {name: "名前"},
        {name: "会社名"},
        {name: "住所"},
        {name: "電話"},
        {name: "口数"},
        {name: "支払方法"},
        {name: "領収書"},
        {name: "次回更新"},
        {name: "総額"},
        {name: "支払"}
    ],
    Dropdown1.Selected.Value = "賛助会員(個人)",
    [
        {name: "名前"},
        {name: "住所"},
        {name: "電話"},
        {name: "口数"},
        {name: "支払方法"},
        {name: "領収書"},
        {name: "次回更新"},
        {name: "総額"},
        {name: "支払"}
    ]
)

均等割をしたくなければ、こちらの記事をどーぞ。

Galleryのヘッダーメニューコンポーネントを作ってみた - When I was XXX in the toilet, I came up with an idea! /s-tbl tech Blog (hatenablog.com)

galleryのなかのパーツ作成

これも自分はもう既にコンポーネントにしてある(面倒だから)

ラベルを順番に並べて、二つ目はラベル幅×1をxに、三つ目はラベル幅×2をxに、四つ目はラベル幅×3をxに、ってやってって、一つ目のラベルをParent.Width/企業なら10、9で割ったげる。

あとはそれぞれのラベル値を表示したいラベル名にif関数で分岐させれば、ドロップダウンの値に応じて内容が変わったように見える。

f:id:hanakuso365:20210905151147p:plain

Patchで入金フラグ処理

最後の列だけ開けてあげて、ボタンを仕込む。

これで入金があったかどうかを自分たちでチェックする。

リストに入金フラグを仕込み、その値に応じて変更させる。

変更させる対象は、Template.Fillと追加するボタンのテキスト。

If関数で分岐してあげればいいですね。

そしてボタン押したらさっきのフラグ列変えてあげればいいので、

If(
    ThisItem.フラグの列名 = 1,
    Patch(
        データソース,
        Parent.Selected,
        {フラグの列名: 0}
    ),
    Patch(
        データソース,
        Parent.Selected,
        {フラグの列名: 1}
    )
)

 

これでボタン押すとフラグが1(入金済)になって、背景とかにThiitem.フラグの列名で分岐させれば可変になります。

やってみると簡単な仕組みですね。

f:id:hanakuso365:20210905151434p:plain

デザイン

諸説ありますがワタシはデザインの基本は、「レイアウト」だと思ってます。

例えばsymmetry。

左の余白と右の余白が合っていないならば、合っていないなりの理屈がないとアカン。

それが機能要件ならば、機能が必要か?調整はできないか?と考えるべきだと思う。

何故ならユーザーにはそんなこと関係ないから。

機能が美しく動くことと、アプリが美しく見えること、どちらを優先するかは個人次第だけれど、使う人が毎日見て「楽しい、触りたい」と思えるようなデザインが必要だと思う。

内製が基本となるソリューションだからこそ、デザイナーなんていないわけで、だからこそ設計者にはそこまでこだわって欲しい。

動けばいい、というのは自己要件であってユーザー目線ではない、と考えてしまうワタシがいます。

デザイン一つで職場の雰囲気変わりますんでね。

おわりに

せっかくメインのアプリ作ったんで、これを基盤にいろんな機能入れていきます。

わくわく。

 

あ、あと年間でフラグリセットさせて、更新のお知らせを自動で送ろうかな。

めんどくさいし。

しめしめ。

 

また明日。