指定のフィールドに値が入力されたら他のフィールドが更新したい

現在、他のプラグインを使用してフィールドに値が入力されるように設定しています。

都道府県、市区郡、町名番地の各フィールドに値が入力されたら、住所フィールドに結合された住所が入力されるようになっています。
住所フィールドに値が入ったら別フィールドに飛ぶように設定しているのですが、住所フィールドに入力された後、いったん編集ボタンを押して保存しないと別フィールドに飛びません。
住所フィールドの値が入力されたら別フィールドが更新されるといったコードをカスタマイズしたいのですが、なかなかうまくいきません。そもそも難しいでしょうか。

まず、自動計算フィールドが一番楽かなぁとおもいますがどうでしょうか?

それ以上の特殊なことをしたい、とかあればJavaScriptカスタマイズで、Changeイベントなどで変更するという方法もあります。

(ただ、Changeイベントは落とし穴などあるので、できれば、JavaScriptカスタマイズでは、ボタンを設置して、押したタイミングで任意のフィールドに値を入力するようにする、というのがシンプルになるかなぁとはおもいます

1 Like

ありがとうございます。
別フィールドはリッチエディタ―フィールドを使っているので、自動計算ができません。

ここでGoogleマップリンクを作成しているんです。
なので、この結合はプラグインでないと結合ができないのではと思っています。

住所フィールドまでは一度でうまく入力されるんですが、その次にリッチエディタ―フィールドでの結合が一度ではできず、いったん編集保存が必要みたいです。

自動で編集保存(リフレッシュ?)されるようなカスタマイズはありますでしょうか。

Googleマップのリンクと聞いて以下の記事が思い浮かんだんですが、

この記事の内容で行けば、文字列結合プラグインを使って住所を結合しているので、保存ボタンを押したタイミングでリッチエディターフィールドに反映されると思います。普通に kintone の画面上から住所を入力すれば動く、といった感じです。

もしかして画面上から入力せず REST API によるデータ更新を組み合わせたい、という意図でしょうか?

ありがとうございます。まさしくこの記事で行っていて、マップリンクは作成されて問題ないのですが、住所データを入力の際にプラグインを使用して直接反映されるようにしているため、いったん編集画面にして保存しないとマップリンクに反映されないんです。。
編集画面からレコード作成した場合は問題なくできています。

文字列結合プラグインに加え、さらに別のプラグインを使用していて、プラグインが自動的に住所を入力するようになっているということでしょうかね?

であれば、もしかしたらプラグインの実行順の関係で、先に文字列結合が動いてしまっているかもしれません。

プラグインで自動的に住所が入力されるようになっていますが、そのあとのリッチエディタ―への結合ができなくなっているようです。先に住所入力が働いてるんだと思います。順番はそれでいいのですが、リッチエディタ―への結合を自動化したいんです。
住所入力された後に編集ボタンを押すとリッチエディタ―への結合が自動で行われています。

なので、住所入力後、保存されたらレコードが更新されるかリッチエディタ―フィールドが更新されるようにできたらと思っています。

住田さんのリンク:link:

を読んで、Pluginの実行順序を変更されることをお勧めします
読んで、実行順序の変更方法が、わからないのなら
プラグインの実行順序の変更方法の方が わかり易い:duck:かも

ちなみに、ですが こんな:backhand_index_pointing_down:Pluginもあります
住所/緯度経度変換プラグイン

1 Like

サイボウズのサンプルプラグインの文字列結合プラグインを使っているなら、 保存ボタン押下時 に結合処理が動きます。なので、住所入力プラグインが 保存ボタン押下時 に住所を入力するようになっているのであれば、プラグインの実行順によって挙動が変化することになります。

例えば先に文字列結合プラグインが動くとしたら、こんな感じの挙動になります。 (フィールドとかは適当です)

※URLが自動でリンクに変換されちゃうので見にくいですが、ホバーしてリンク文字列を確認してみてください……

動く順番 プラグイン 動く処理 都道府県 住所 番地 Googleマップリンク
0 - 保存ボタンを押す (未入力) (未入力) (未入力) (空欄)
1 文字列結合プラグイン Google マップ 」と【都道府県】と【住所】と【番地】を結合して「Googleマップリンク」に格納する (未入力) (未入力) (未入力) Google マップ
2 住所入力プラグイン 【都道府県】と【住所】と【番地】を自動入力 ○○県 ○市○区○町 ○番地 Google マップ
3 - レコードが保存される ○○県 ○市○区○町 ○番地 Google マップ

このように、リンクを作成する時点 (1) では 住所などのフィールドが空欄のままなので リンクが正しく生成されません。もう一度レコード編集画面を開いて保存すると、リンクを生成する時点 (1) で前回保存した住所が既に入っている状態になるので、正しくリンクが生成されて保存されるようになります。

これが、今起こっている現象なんじゃないかと思います。

逆に、プラグインの実行順を変更すると、こんな感じになります。

動く順番 プラグイン 動く処理 都道府県 住所 番地 Googleマップリンク
0 - 保存ボタンを押す (未入力) (未入力) (未入力) (空欄)
1 住所入力プラグイン 【都道府県】と【住所】と【番地】を自動入力 ○○県 ○市○区○町 ○番地 (空欄)
2 文字列結合プラグイン Google マップ 」と【都道府県】と【住所】と【番地】を結合して「Googleマップリンク」に格納する ○○県 ○市○区○町 ○番地 Google マップ
3 - レコードが保存される ○○県 ○市○区○町 ○番地 Google マップ

リンクを生成するする時点 (2) で、既に住所を入力する処理 (2) が動いているので、正しくリンクが生成されて保存されます。

これのどちらで動いているかは、プラグインをインストールした順番に依存するので、先ほど紹介した記事を確認してみてください。


で、もし文字列結合プラグインが 別のベンダーのプラグイン なのであれば、もしかしたら保存ボタン押下時に動かないかもしれません。そうなるとちょっと話は別になってくると思います。

プラグインの実行順序はあっていますし、問題はないんです。。。

サンプルプラグインの文字結合は使用していません。これを使用したところ他の有料プラグインが動かなくなってしまったので。。。
文字結合はattazooを使用しています。

だとすると、他のPluginとの競合ですね

他のPluginを一旦「無効」にして
対象のPlugin 2つ のみで動作させたらどうなりますか?

ちなみに、ATTAZooは、嫁の会社でも使用しているみたいだけど...
TABプラグインで、よく競合するみたいです

1 Like

他のプラグインを無効にしても同じでした。
ほんとは住所入力されたレコードができた後、編集保存の流れが自動で行われてリッチエディタ―フィールドが更新されるようにしたかったんですが。。。
ときどき、アプリのデータ登録状況を確認してattazooの一括文字連結ボタンを押すようにしようと思います。

そうですか~~
ATTAZooって、自分的にはイメージがよくないんですよね-
(嫁のために試しただけなので何ともいえませんが...)

ちなみに、自分は①②③の順序で文字結合を使いわけています

①デフォルト計算式= IF関数を使い「&」で結ぶ
文字列結合プラグイン - Ribbit's works 無料
Boost! Action Pluginの 計算式=Boost!

①は、今回 リッチ エディター フィールドだからNGと思われていますが...
【文字列で結合後に、リッチ エディター フィールドに(Pluginで)copyする】
②設定が簡単なので...利用Pluginが少ないとき
③ 〃 難しいですが他のPlugin(機能)と連携させたいとき

自分だったら①or③かな~

マップリンクはリッチエディタ―じゃないと反応しないので。。

いろいろありがとうございました。

@hiroshikan
ちなみに、文字列結合は ATTAZoo+ を利用されているようですが、住所の自動入力はどのプラグインを使っているんですか?

k&IソリューションズのAI-OCRです。

色々調べてみましたが、そのプラグインってもしかして、レコード詳細画面かレコード一覧画面でしか読み取りができないプラグインではないでしょうか?

kintone の仕様上、 REST API (レコード編集画面を経由しないデータの追加/更新等) での操作ではプラグインは動かないので、何かしら別の定期更新系の連携サービスを利用するか、 AI-OCR のプラグイン側で Google マップリンクを生成して登録できる機能が無いとうまく動かないと思います。

1 Like

問題なく読み取れています。
PDFを添付→内容を各フィールドに転記して保存
編集ボタンを押して保存するとグーグルマップリンクができています。
都度更新されるのがベストですが、一括更新でやっていこうと思います。
いろいろありがとうございました。

1 Like

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。