アクションとルックアップの二重構造、本当にそれでいいの??
kintoneのアプリ作成で、
アプリコードという機能を知らなかった、
アプリ作成者がはまった落とし穴。
私は元レコードへのリンクを手に入れたかったの。
ルックアップを必ず使いたかったわけじゃないのよというお話。
標準機能のルックアップ
「標準機能のルックアップ」では、
1.ルックアップフィールドに値がある場合、
「取得」を押さないとレコードを保存できない。
2.引っ張ってきたデータは編集できない。
3.元のレコードへのリンクが生成される。
そういう側面があります。便利でもあり、不便でもある。
アプリ作成の依頼内容
アクションでデータを引っ張ってきて、レコード作成するけれども、
引っ張ってきた元のレコードを更新した際に、それを反映させたい。
ただし、必ず行うわけではないので、
ルックアップの「取得」を押すのは毎回ではない。
そんなヘンテコな依頼から、標準機能のルックアップではなく、
「関連付けないルックアッププラグイン」を導入し、
必要な時だけ「取得」を押すというアプリを作成し運用していました。
関連付けないルックアッププラグイン
「関連付けないルックアッププラグイン」では、
対象のフィールドに値がある場合に「取得」を押さなくても、
警告表示されず、レコードが保存できます。
ルックアップで引っ張ってきたデータも編集できます。
(元のレコードが更新されるわけではありません)
ルックアップフィールドの関連付け問題を解決するプラグインを開発しました | Ribbit's works (konomi.app)
ただし、元のレコードへのリンクは付与されません。
元レコードへのリンクが欲しい
運用が始まって、半年後。
「取得」押したくないとかそんなことは忘れてしまい、
標準機能のルックアップで生成されるリンクが欲しいなと、
ないものねだりをしていたところ、
ルックアップした先が編集できるプラグインを発見。しかも無料。
ルックアップコピー先編集プラグイン | JCS DX推進グループ (japacom.co.jp)
よくよく調べたら簡単なJavaScriptでも出来るらしい。
Kintoneでルックアップで取得した項目を編集可能にする【小ネタ】 | bassbone's blog
そして失敗に気づく
ルックアップ先が編集できるようになるなら、
標準機能のルックアップで生成されるリンクも手に入るしいいじゃんと、
改修し終わってから、「取得」に伴う警告があることを思い出しました。
改修は結局元に戻して、リンク生成できる方法を探していたら、
アプリコードで出来ることが判明。
アプリコードは神
アプリコードって・・・知らなかったんですけど!!
アプリコードを設定する | kintone ヘルプ (cybozu.help)
というわけで、自動計算の文字列1行を追加し、
アプリコードとアクションで引っ張ってきたレコード番号を繋げて、
いとも簡単にリンクが生成できました。