サブテーブルの行を追加ボタン押下時にルックアップ項目に初期値を設定

お世話になっております。

サブテーブルの行を追加ボタン(+)押下時に、ルックアップ項目に初期値を設定したく、下記のコードを記述しているのですが、画面に「[object Object]」が出力されています。

記述方法に誤りがあるのでしょうか?それともそもそも実現できないのでしょうか?

ご教授いただければ幸いです。

var eventsShow = [‘app.record.create.change.明細テーブル’,
‘app.record.edit.change.明細テーブル’
];
kintone.events.on(eventsShow, function(event) {
var record = event.record;

// 部門名の取得
var addBumonMei = setTableAddRowBumonMeiValue(‘111’);

var row = event.changes.row;

row.value[‘部門名’].value = addBumonMei;
return event;
});

/* 明細テーブルに行追加する部門名の編集 */
function setTableAddRowBumonMeiValue(paramBumonCd) {
return {
‘value’: {
‘部門名’: {
‘type’: ‘SINGLE_LINE_TEXT’,
‘value’: paramBumonCd,
‘lookup’:true
}
}
};
}

 

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

古川さん、こんにちは。

プロジェクト・アスノートの松田です。

https://developer.cybozu.io/hc/ja/articles/202166270#step4

上記リンク先の書き換えできないフィールドにルックアップフィールドも含まれています。

なので、eventオブジェクトの書き換え→returnでは書き換えできませんね。

したがって、ルックアップフィールドを含む場合はREST APIでの更新が必要ですね。

「ルックアップ 更新」等でdevNet内を検索すれば、参考になる記事が見つかると思います。

松田様

お世話になっております。

書き換えできないフィールドに含まれている事に全く気付きませんでした・・・。

row.value[‘部門名’].lookup = true;

で出来ました。

 回答いただき、どうもありがとうございました。

 

古川さん

その方法がありましたね!失礼しました

こちらのドキュメントに記載がありますね。

https://developer.cybozu.io/hc/ja/articles/201941984#step8

 

レコード追加/編集画面の表示イベント、フィールド値変更時イベントで使えるようです。

松田さん

私もサブテーブルには適用されないと思い込み、試す前に質問してしまいました。

こちらこそ失礼しました。

いつもどうもありがとうございます。