#33 福kin 勝手にプラグイン紹介1 マスタとか参照ってなに?? ルックアップ + プラグイン
※福kin(福祉の現場のkintoneシステム)
※デイサービスで活用できるシステム作成のnoteです
前回
前回までは当法人で使われているプラグインのベスト5を紹介しました。
今後は、使われているアプリは少ないものの、
・非常に重要な働きをしてくれるプラグイン
・個人的にお気に入りなプラグイン
などを気まぐれで紹介していこうと思います。
プラグイン関係の記事はマガジンにまとめておきますね。
『ATTAZoo+』ルックアップ + プラグイン
今回紹介するのは『ATTAZoo+』ルックアップ + プラグイン
そもそもマスタと参照ってなんだろう?
皆さん、お困りですね。
そう、ルックアップで参照しているマスタアプリのデータを変更したのに
参照先のアプリのデータが自動で更新されない事に!
どうゆうことか?
みなさんルックアップの機能は使いますか?
同じ情報を入力しなくていいので便利ですよね。
でも、こんな風に思った事はないですか?
「ルックアップ元の情報を変更したら、ルックアップ先の情報も自動で変わらないかな~」って
今日はそのやり方をお伝えしてみます。
まずは、当デイサービスでのアプリ構造の一部をご説明。
ルックアップ元の「利用者情報マスタ」アプリから情報を引っ張ってきて「利用者カルテ」アプリを作ってます。
わかりやすく「利用者カルテ」アプリでグレーになっているフィールド(生年月日や通所曜日等ですね)が「利用者情報マスタ」アプリからルックアップで情報を引っ張ってきているフィールドです。
「利用者カルテ」アプリに設定されているルックアップの設定は画像の通り。
「利用者カルテ」アプリのルックアップフィールド
利用者コードで両アプリを繋げています。
マスタの情報だって不変じゃない!
「利用者情報マスタ」アプリの中の情報はあまり動かない情報(名前とか生年月日等)が多いですが、住所や要介護度・デイサービスの利用曜日は時折変更することがありますよね。
そして実は「利用者情報マスタ」アプリの情報をルックアップしているのは「利用者カルテ」アプリだけではありません。
沢山のアプリが「利用者情報マスタ」アプリの中の、名前や住所、要介護度やデイサービス利用曜日等の情報を引っ張ってきているのです。
でも、「利用者情報マスタ」アプリの情報を変えても、それを参照している各アプリの該当レコードの内容は自動では変わってくれません。
例えば要介護度が要介護1から要介護3に変更になった月曜 太郎Zさんがいるとします。
もちろん「利用者情報マスタ」アプリの月曜 太郎Zさんのレコード内の要介護フィールドはすぐさま要介護1から3に変更します。
「利用者情報マスタ」アプリ
でも待ってください。
「利用者情報マスタ」アプリの情報を変えても、ルックアップ先のアプリ達(例えば利用者カルテアプリ)の情報は要介護1のままですよね?
「利用者カルテ」アプリ
「利用者カルテ」アプリや「理学療法カルテ」アプリでは要介護度をプリントクリエイターを利用して用紙に印刷する仕様になってます。
このままでは変更前の要介護1のまま印刷されてしまいます。
大変だ!
それで、どうする?
簡単な解決策は、参照している各アプリに行って、該当レコードの詳細画面でルックアップフィールドの取得ボタンを押せば「利用者情報マスタ」アプリで変更した内容が反映されます。
「利用者カルテ」アプリ
そう、「利用者情報マスタ」アプリを参照しているアプリ一つ一つ回って、取得ボタンを押して…って効率化から遠ざかってない?
絶対に取得ボタン押し忘れも出てきます。
困った困った・・・
困ったらプラグインなのです!
そこで登場するのが『ATTAZoo+』ルックアップ + プラグイン なのです
これはまさにその困ったを解決するプラグインなのです。
どんな感じになるのか見てみましょう。
では、すでにプラグインが設定されている「利用者情報マスタ」アプリの月曜 太郎Zさんの要介護度を3から要介護度5に変更してみましょう。
「利用者情報マスタ」アプリ
そして保存を押すと・・・
このようなポップアップが出ます。
注目は赤線部分です。
「利用者情報マスタ」アプリを参照元に指定しているアプリ一覧が表示されています。きちんと要介護度の自動更新が終わったら完了のメッセージが記載されます。
それでは「利用者カルテ」アプリの月曜 太郎Zさんレコードを見てみましょう。
「利用者カルテ」アプリ
きちんと変更されてますね。もちろん取得ボタンを押す等なにも操作はしていません。
「利用者情報マスタ」アプリの情報を変更しただけで、自動で情報が更新されたのです。
設定方法
こんなに便利な機能なのに設定は簡単です♪
設定画面はこんな感じ
「利用者情報マスタ」アプリでの設定
アプリIDと参照先のどのルックアップフィールドを自動更新扱いにする決める。
それだけです。
いや、ほんとそれだけなんです。
一応公式の注意事項も
1. 本機能はレコード編集画面でのみ動作します。
2. レコードを編集するユーザーはプッシュ先アプリのアクセスに閲覧権限と編集権限を付与する必要があります。
3. 他の ATTAZoo プラグインと併用してご利用いただく際は、併用するプラグインをアップデートする必要があります。
4. プッシュ先のルックアップの設定([コピー元のフィールド])が参照する、プッシュ元フィールドに対して[値の重複を禁止する]設定する必要があります。
5. プッシュ先のルックアップの設定([ほかのフィールドのコピー])を変更した際は、プラグインの設定を開き再保存する必要があります。
個人的には注目は④です
※ちなみにうまく動作しない!!という時は大抵⑤が理由です。
コピー元のフィールドは重複しちゃいかんのです!(重要)
④は何を言っているかというと、参照先のルックアップフィールドで設定してある参照元のフィールドは[値の重複を禁止する]に設定しておいてくださいということです。
わかりずらいので順を追って説明します。
先ほどプラグインで設定したフィールドありますよね?
「利用者カルテ」アプリを例にとると利用者取得フィールドです。
「利用者情報マスタ」でのプラグイン設定画面
それでは「利用者カルテ」アプリの利用者取得フィールドの設定を見てみましょう。
「利用者カルテ」アプリのルックアップフィールド
赤線の所に注目!
「利用者情報マスタ」アプリの利用者コードフィールドと関連付けていますね。
結論から言うと、この
「利用者情報マスタ」アプリの利用者コードフィールド
を[値の重複を禁止する]設定しておいてくださいね。ということなんです。
図でさらに説明すると
「利用者情報マスタ」アプリの利用者コードフィールドの設定画面に行き
設定で[値の重複を禁止する]にチェックを入れるわけです
こんな感じです。
では、なんでマスタのフィールドの設定を重複禁止にするのか?
勘のいい方はおわかりでしょうが、マスタに全く同じ月曜 太郎Zさんがいると困るからです。
「利用者情報マスタ」アプリに
利用者コードも住所も生年月日も要介護度も同じ月曜 太郎Zさんが2人いるとします。
月曜 太郎Zさんの要介護度が5から1になりました。
もう一人の月曜 太郎Zさんの要介護度は5のままです。
さて、「利用者情報マスタ」アプリを参照している「利用者カルテ」アプリ、「理学療法カルテ」アプリはどちらの月曜 太郎Zさんの要介護度情報を参照して更新したらいいのでしょう?
この時点で同一人物の情報にズレが生じますよね。
だからマスタの参照元のフィールドは重複禁止にするのです。
他にもあるよ自動更新プラグイン
rex0220さんのkintone ルックアップ先更新プラグイン Ver.3
M-SOLUTIONSさんのルックアップコピー先反映プラグイン
もちろんカスタマインでも可能です
そんな中なんで『ATTAZoo+』かというと、まずはその金額
月3000円です。
そしてプラグインの数。ルックアップ + プラグイン含む10個のプラグインで3000円なんです。1プラグイン換算300円!しかも組み込むアプリの数は何個でもOK
ルックアップ +以外のプラグインも非常に業務に生かせる機能満載なので、法人に稟議を通しやすいんですよ。
個人的な感覚では、機能にもよりますが、月額10000円を超えるもの、買い切りで50000円を超えるものは、ちょっと話を持っていき辛いです。
そして、なんとこの自動更新が無料で実現できるプラグインもあります。
TISさんのアプリ間レコード更新プラグイン
無料だからと言って侮ってはいけません。
・参照元からも参照先からも更新設定できる
・〇〇年〇〇月以降のデータのみ自動更新のように条件がつけられる。
・更新するフィールドを個別に設定できる
等々、ものすごく便利で機能も盛りだくさんです。
自動更新の世界を試してみたいかたは、まずはこちらのプラグインを活用してはいかがでしょう。
便利だけどやっぱり複雑ですよね
今回説明した事はリレーショナルデータベースと呼ばれる概念の入り口的なものです。非常に便利なんですが、やはり複雑ですよね。
以前私は何でkintoneにリレーショナルデータベース機能が標準でついてないんだろう?と思ってました。
でも気付いたんです、こんな複雑な事をしなくても業務改善はできるんじゃないかと。
いや気付かせてもらったんです。
きっけはこのツイートでした。
複雑な仕組みを考えないでエクセルをkintoneに移すだけでこれだけのメリットがある。
リレーショナルデータベースの考えを学ばなくてもこれだけのメリットがあるなら十分!って職場沢山あるんじゃないか。
リレーショナルデータベースを標準にしてしまう事で業務改善から遠ざかってしまう人がいるのではないか?
今はそう思います。
でもリレーショナルデータベースはあると便利ですので、活用する場合はアプリを作り始める前に設計していきましょう。
ではでは、また次回~
余談
って、ちょっと待ってください。
参照先のルックアップフィールドで設定してある参照元のフィールドは[値の重複を禁止する]に設定する…
ということは、名前等の重複の可能性があるフィールドでルックアップしている場合はプラグインを使っても自動更新できないんじゃないか!?
はい、その通りです。
重複してはいけない、空白でもいけないフィールドをデータベース的に
主キー又はプライマリキー
と呼びます。
こうゆうことですね。
今回のプラグインの場合は必須項目にするにしなくても自動更新してくれますが、考え方としてはこのような形です。
さらにさらに言えば、あえて自動更新させないというアプリが出てくるのも不思議ではないですよね。
情報を入力した時の内容のまま動かしたくない場合、
そうですね、例えば報告を入力した時の要介護度のままにさせたい
や
住所変更があったけども、請求書を発行した際の住所のまま保持したい
とかですかね。
その場合はプラグインを利用せず自働更新させないので、主キーでなく名前やフリガナでルックアップしても構わないと思います。
上の図は当デイサービスの報告アプリのルックアップフィールドです。
重複が許されているフリガナフィールドで「利用者カルテ」アプリと繋げてますね。
こうすると、ルックアップフィールドを利用者コードでなくフリガナで取得できるので、アプリを利用するスタッフが利用者コードを覚える必要がなくなるのです。
長々とお伝えしましたが、
「いまから作るアプリは自働で更新させたい情報があるのか?」
「その場合は主キーでルックアップ設定しておくか!」
「自動更新のプラグインは設定するべきか?」
な~んて考えるので、実はアプリを作成する前から既に設計は始まっているのです。
ではでは、本当にまた次回~
※あくまでプログラマが書けない人間の感覚です。記事の内容について、ご意見・アドバイスあれば教えてください。
この記事が気に入ったらサポートをしてみませんか?