サブテーブルのデータ更新

javascriptの知識不足でいろいろ調べたのですが、うまくいかず投稿いたしました。

 

レコードにあるサブテーブル内の内容を変更したいのですが、下記ソースだと更新されません。

コンソールに出力したデータをみると書き換わっているように見えるのですが、

なにかテーブルデータの更新記述が必要なのでしょうか。

 

 

(function() {
  ‘use strict’;
  
  // 移動重量・基の変更があったら
  const events = [
    ‘app.record.create.change.移動重量’,
    ‘app.record.create.change.移動基’,
    ‘app.record.edit.change.移動重量’,
    ‘app.record.edit.change.移動基’,
    ‘app.record.create.change.出庫元倉庫名’,
    ‘app.record.create.change.出庫先倉庫名’,
    ‘app.record.edit.change.出庫元倉庫名’,
    ‘app.record.edit.change.出庫先倉庫名’
  ];
  
  kintone.events.on(events, function(event) {
    
    // 移動重量・基・出庫元倉庫コード・出庫先倉庫コード
    // 全て項目が入力入力されていれば続行
    if(!event.record[‘移動重量’].value ||
    !event.record[‘移動基’].value ||
    !event.record[‘出庫元倉庫コード’].value ||
    !event.record[‘出庫先倉庫コード’].value){
     
     return event; 
    }
    
    // 既にデータ反映済みだったらリターン
    if(event.record[‘反映’].value == “反映済み”){
      return event;
    }
    
    // レコードIDが入って入ってなかったらリターン
    const targetRecordId = event.record[‘レコードID’].value;
    if (!targetRecordId){
      return event;
    }
    
    
    // 移動後在庫一覧のデータ反映
      event.record[‘移動後在庫一覧’].value.forEach(function(obj) {
        
        // 出庫元倉庫を判断
        if (obj.value[‘倉庫コード_0’].value == event.record[‘出庫元倉庫コード’].value){
          obj.value[‘重量_0’].value -= event.record[‘移動重量’].value
        }
        
        console.log(obj);
        
      });
      
    
    
    return event;
    
  });
})();

こんにちは

        // 出庫元倉庫を判断
        if (obj.value['倉庫コード_0'].value == event.record['出庫元倉庫コード'].value){
          obj.value['重量_0'].value -= event.record['移動重量'].value
      }

代入するときに余計なマイナスが入っているようなので確認してみてください。

デバッグで、最後に return event するときの event.record の中身が正しく書きかわっているかも見てみてください。