新規投稿
フォローする

関連レコード一括取得(更新)の期間指定

https://developer.cybozu.io/hc/ja/community/posts/360017977863 

上記記事からレコード一覧で一括取得(更新)をしたいと思っています。

関連レコードから指定の値を抽出することは出来たのですが、期間指定の部分が分からずご教授いただけませんでしょうか。

何卒よろしくお願い申し上げます。

 

表示フィールドコード:第3四半期
取得内容:関連レコードの売上日フィールドから7/1~9/30までを指定して売上を集計しレコード一括更新

https://developer.cybozu.io/hc/ja/community/posts/360017851006 

表示フィールドは上記記事の関連レコード一覧から取得した数値フィールドです。

 

現在のソースコード↓

kintone.events.on('app.record.index.show', function(event){

 if(document.getElementById('updateButton') !== null) return;

 var button = document.createElement('button');

 button.innerHTML = '一括更新';

 button.id = 'updateButton';

 kintone.app.getHeaderMenuSpaceElement().appendChild(button);

 button.addEventListener('click', function(){

  Promise.all([

  getRecords(kintone.app.getId()),

  RelatedRecordsFieldManager.prototype.getFieldProperties()

]).then(function(responses){

 return Promise.all(responses[0].map(function(selfRecord){

  return (new RelatedRecordsFieldManager('関連レコード一覧')).getRecords(selfRecord).then(function(relatedRecords){

   return {

    id: selfRecord.レコード番号.value,

     record: {

      合計: {

      value: relatedRecords.reduce(function(sum, relatedRecord){

       return sum + Number(relatedRecord.売上.value);

     }, 0)

     },

      利益: {

     value: relatedRecords.reduce(function(sum, relatedRecord){

      return sum + Number(relatedRecord.粗利.value);

     }, 0)

      },

    record:{}

   }

  };

 });

}));

}).then(function(records){

putRecords(kintone.app.getId(), records).then(function(){

 alert('更新しました。');

  location.reload();

  });

 });

});

return event;

 

また、関連レコード集計では以下のようにしておりますが、同じ記述では動作しませんでした。

event.record.第3四半期.value = records.filter(function(record){
var date= record.売上日.value;
return (date >= '2020-07-01' && date <= '2020-09-30');
}).reduce(function(sum,record){
return sum + Number(record.売上.value);
  }, 0);

 

内容が散らかっており申し訳ありません。

どうぞよろしくお願い致します。

0

0件のコメント

サインインしてコメントを残してください。