テーブル内のドロップダウンの値を別フィールドへコピーしたい

お世話になります。

初心者で申し訳ないのですが行き詰まっております。

 

現在テーブルの中に入っている、ステータスとして使用している

ドロップダウンフィールドを

関連レコード用フィールド という文字列一行フィールドへ

コピーしたくjsを組もうとしておりますが動かず。

目標としては

関連レコード一覧にテーブルないのフィールドは表示できないことから

ステータスだけでも表示させたいので

これを表示させることが目的です。

使い方としては

課題管理として1つの課題に対する内容とステータスなどが1テーブルとなり

2目は次のテーブルとなっていくので

3、4・・・・

と増えていくにあたり

ステータスも増やしていけるのか、

または

ステータスコピー先の関連レコード用フィールドを

ある程度個数を設けておけば良いのか

今一つわからないのでアドバイスいただけると大変助かります。

よろしくお願いいたします。

 

(function() {
‘use strict’;

var events = [
‘app.record.create.show’,
‘app.record.edit.show’,
‘app.record.create.change.ドロップダウン_4’,
‘app.record.edit.change.ドロップダウン_4’,

];

// 選択フィールドの値を取得
var RadioVal = event.record[‘ドロップダウン_4’].value;

// 選択肢により表示プルダウンを変更
switch (RadioVal) {
case ‘未着手’ :
kintone.app.record.setFieldShown(‘文字列__1行__3’, true);
break;
case ‘対応中’ :
kintone.app.record.setFieldShown(‘文字列__1行__3’, true);
break;
case ‘完了’ :
kintone.app.record.setFieldShown(‘文字列__1行__3’, true);
break;
}

return event;

});
})();

 

 

Riorioさん

こんにちは。

まず初めに、kintoneのテーブルを操作を行う場合、

var RadioVal = event.record[‘ドロップダウン_4’].value;の記述だと、eventオブジェクト内の形が違うので、

エラーとなってしまいます。

フィールドコードがTableの場合に、1行目の値を取得する場合以下のような形式で指定が必要です。

event.record.Table.value[0].value.ドロップダウン_4.value

各フィールドの形式に関しては、デバッグしつつeventオブジェクトから参照するまたは、こちらを参照されるのが良いかと思います。

 

なお、changeイベントに関しては、変更を行った行の情報がeventオブジェクト内のchangesに格納がされているので、

今回の場合、そちらから値を取得する方が簡易化と思います。

event.changes.field.value のような感じで値を参照することで、ドロップダウンで選択した値が取得できます。

 

また、関連レコード用フィールドを何個用意するのかなどは、希望の運用に完全依存する部分なので、明確なアドバイスはできないのですが、

今回の情報をサブテーブルで管理する必要がないのであれば、アプリを分けて、すべて関連レコードで紐づける形で作ってはダメなのだろうか?

と少しお思いました。

投稿の内容だけ見ていると、設計が固まりきっていない時に比較的よく起きる悩みのようにも感じたので、一旦どんな構造でどんな運用をするのかを

あらためて図解するなどで、起こしてみる方がよさそうな気がしました。

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