フィールド編集時の値の書き換え

プラグインで、特定のフィールドを編集したタイミングで、別フィールドに値を書き換える処理を作っています。

単純に ‘app.record.create.change.フィールドコード’ イベントで別フィールドに値を入れることはできます。

作っている処理の順番

  1. 値編集イベント
  2. 入力された値を取得
  3. 入力された値からapiで別アプリからデータを取得
  4. 3で取得したデータを別フィールドに設定(同期処理)

具体的なソースコードは以下です。

var ev = [
'app.record.create.change.特定フィールド'
]
kintone.events.on(ev, function(event) {
var record = event.record;
var inputcode = record['特定フィールド'].value;

record['別フィールド'].value = 'データ入る'

/* アプリから値を取得 */
var body = {
'app': 7,
'query': (省略),
'fields': ['テキスト1']
};

var sample = new Promise(function(resolve,reject){
kintone.api(kintone.api.url('/k/v1/records', true), 'GET', body, function(resp) {
// 成功時
var rec = resp.records[0];
resolve(rec);
}, function(error) {
console.log('データ取得失敗');
console.log(error);
reject();
});
});

sample.then(function(result){
console.log(result);
record['別フィールド'].value = result.テキスト1.value;
console.log('終了');
return event;
});

});

わかる方がいらっしゃったらご教示いただきたくお願いします!

自己解決しました。

以下を参考に、kintone.app.record.get()とkintone.app.record.set()を利用することで値の代入の反映を確認しました。

https://www.joyzo.co.jp/blog/2021