お世話になっております、yamamotoと申します。
フォームにルックアップを配置し、他のテーブルの項目Aの値を、自テーブルの項目Bに自動入力するようにしています。
それと同時に、自テーブルの項目Cにも同じ値を自動入力したいです。
しかしルックアップでそれを設定しようとすると
「コピー先のフィールドの設定が重複しています。複数のルックアップフィールドを配置している場合、コピー先のフィールドはほかのルックアップフィールドとも重複できません」と表示されてしまい設定できません。
これはJavaScriptを使うなどして、実現することはできるのでしょうか?
よろしくお願い致します。
yamamoto さん
用途によりますが、標準機能の自動計算で対応できると思われます。
項目C を「計算」項目または、「文字列(1行)」項目で作成し、計算式として、項目Bを指定すると値がコピーされます。
対象データが数値・日時の場合は、「計算」項目を使い、文字列の場合は、「文字列(1行)」項目を使用します。
数値・日時・文字列以外の場合は、JavaScript でカスタマイズが必要です。
ご回答ありがとうございます。
ただ、項目Cはエディットでなくコンボボックスのパターンもあり、そちらは自動計算にできないため
JavaScriptを検討してみようと思います。
JavaScript の場合は、下記のようになると思います。
(function() {
"use strict";
kintone.events.on(["app.record.edit.change.項目B","app.record.create.change.項目B"], function(event) {
var record = event.record;
record['項目C']['value'] = record['項目B']['value'];
return event;
});
})();
または、
(function() {
"use strict";
kintone.events.on(["app.record.edit.submit","app.record.create.submit"], function(event) {
var record = event.record;
record['項目C']['value'] = record['項目B']['value'];
return event;
});
})();
まさにこれで解決できそうです。
editとcreateのイベントを同時に指定できるのもはじめて知りました・・
具体的な記述まで丁寧に教えていただき、ありがとうございました。