関連レコードの集計結果と特定フィールドの値を足して特定のフィールドに書き込みたい

商談アプリを作成して、1アプリ内で親商談、子商談レコードが混在しているアプリを作成します。

子商談を関連レコードで表示して親商談の粗利と子商談の粗利を合計した結果を親子合計粗利’に書き込みたいスペースへの表示は成功していますが、フィールドへの書き込みがうまくいきません。

参考になるものをみましたが、理解ができずご助力いただければ幸いです。

 

(function() {
     ‘use strict’;
 
 
     var events = [
         ‘app.record.detail.show’,
         ‘app.record.edit.show’,
         ‘app.record.edit.submit’,
         ‘app.record.edit.change.粗利’
        
         ];
     kintone.events.on(events, function(event) {
         var record = event.record;
         var arari = parseInt(record[‘粗利’].value,10);
         var clientkeyId = event.recordId;
         var relatedAppId = kintone.app.getRelatedRecordsTargetAppId(‘関連商談’);
         var query = ‘親子商談連携用="’ + clientkeyId + ‘"’; 
         var outputFields = [‘粗利’];
         var appUrl = kintone.api.url(‘/k/v1/records’);
 
         var params = {
             ‘app’: relatedAppId,
             ‘query’: query,
             ‘fields’: outputFields
         };
 
         var elementId = ‘totalAmount’;
 
 
         return kintone.api(appUrl, ‘GET’, params, function(resp) {
             var amount = 0;
             for (var i = 0; i < resp.records.length; i++) {
                 amount += parseFloat(resp.records[i].粗利.value);
             }
            
             var amount_1 = amount + arari;
            record[‘親子合計粗利’].value = amount_1;      
           
             var divTotalAmount = document.createElement(‘div’);
             var wString = String(amount_1);
             divTotalAmount.style.fontWeight = ‘bold’;
             divTotalAmount.style.textAlign = ‘right’;
             divTotalAmount.style.fontSize = 12;
             divTotalAmount.innerHTML = wString;
             kintone.app.record.getSpaceElement(elementId).appendChild(divTotalAmount);
             return event;
         });
     });
 })();

全てのイベントでフィールドの値の変更がうまくいかないのでしょうか?

すくなくとも、イベントは見直したほうがよさそうです。

submit、edit.show時には動きそうに見えますが、

 

detail.showのときはフィールドの値の書き換えはできませんし

change.粗利のときもこれでは動かないですね。

 

イベントごとに処理を分けたほうがいいかと思われます。

 

ご助力ありがとうございます。

 

イベントで分ける運用だとうまく動いたのですが、

運用に乗らない動作になって、

詳細表示で、関連レコードの参照先と参照元レコードの粗利の合算を表示します。

編集画面にした時に合算合計がフィールドに書き込まれるという動きでは成功したのですが

これだと参照元の粗利を変更した場合に一度保存して再度編集画面にしてでないと合計が親子合計粗利に書き込まれません。

合計を親子合計粗利に書き込むボタンを配置した方が良いか、運用面で実運用にのせるアドバイスあればお教えください。