kura2
1
何を実現したいのかを書きましょう
フィールドAにフィールドコード(佐藤or高橋)を入力、そのフィールドの値をフィールドBに表示させたいです。
画像は対象が2名だけですが、実際にはもっと多く、さらに増減します。
IF関数で実現はできますが数式のメンテナンスが困難です。

発生した問題やエラーメッセージを具体的に書きましょう
javascriptでのカスタマイズを検討していますが、全く動作してくれません。
実行したコードをコピー&ペーストしましょう
javascriptは全くの初心者です。以下はBardで自動生成したコードです。
function onRecordChange(event) {
// フィールドAの値を取得する
var fieldAValue = event.target.fields.fieldA.value;
// フィールドコードを取得する
var fieldCode = fieldAValue.split("_")[0];
// フィールドの値を取得する
var fieldValue = kintone.api.records.getFieldValue(fieldCode);
// フィールドBの値を設定
event.target.fields.fieldB.value = fieldValue;
}
よろしくお願いします。
aaa
2
チュートリアル - cybozu developer network
からはじめて見ませんか?
「いいね!」 2
pomo
3
新規及び追加の際にフィールドAの変化をつかんで、Aの値を条件とし対応した値をBに入れたいのだと思うのでサンプルです。
(() => {
const targetFieldCode = "フィールドA"
kintone.events.on([
`app.record.create.change.${targetFieldCode}`,
`app.record.edit.change.${targetFieldCode}`,
],
function (event) {
// フィールドAの値を格納
const value = event.changes.field.value
// 値によって処理切り替え
switch (value) {
case "佐藤":
event.record.フィールドB.value = event.record.佐藤.value
break
case "高橋":
event.record.フィールドB.value = event.record.高橋.value
break
default:
alert("対象の名前を入力してください")
}
return event;
});
})()
ただ、aaaさんが貼って頂いているkintoneのお作法を確認していただき、どのイベントで処理をさせたいのか等理解した上でカスタマイズしていくと対応の仕方が身についていくと思います。
「いいね!」 1
kura2
4
aaaさん
pomoさん
ご回答ありがとうございます。
業務で使用していてなかなか学びの時間を確保できないのが実情でして・・・
おっしゃることはよくわかります。
生成AI(リートン)でゴリゴリ書かせたら機能したようなので、
どなたかの役に立てばと思って貼っておきます。
ありがとうございました。
(function () {
'use strict';
var applyFieldCodeValue = function (event) {
var record = event.record;
// フィールドAに入力されたフィールドコードを取得します。
var fieldCodeA = record['フィールドA']['value'];
// フィールドAが空欄の場合、フィールドBも空欄にして処理を終了します。
if (!fieldCodeA) {
record['フィールドB']['value'] = "";
return event;
}
// フィールドAに入力されたフィールドコードの値をフィールドBに設定します。
var fieldValue = record[fieldCodeA]['value'];
record['フィールドB']['value'] = fieldValue;
return event;
};
// レコード表示イベントとフィールドA変更イベントに関数を割り当てます。
kintone.events.on([
'app.record.create.show',
'app.record.create.change.フィールドA',
'app.record.edit.show',
'app.record.edit.change.フィールドA'
], applyFieldCodeValue);
})();
「いいね!」 1
system
(system)
クローズされました:
5
このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。