teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

4

コードを変更しました

2020/04/18 13:22

投稿

mi000
mi000

スコア4

title CHANGED
File without changes
body CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  複数アプリ(3つ)には
14
14
 
15
- 利用者名(文字列)
15
+ 団体名(文字列)
16
16
  *人数(計算)
17
17
  【サブテーブル】
18
18
 
@@ -54,39 +54,49 @@
54
54
  (function() {
55
55
  'use strict';
56
56
 
57
- // 「Bアプリコピー」時の処理
57
+ // 「Aアプリコピー」時の処理
58
58
  kintone.events.on(["app.record.create.change.コピー",
59
59
  "app.record.edit.change.コピー"],
60
60
  function(event) {
61
61
  var record = event.record;
62
62
 
63
63
  ///カーソル情報代入
64
- var appID = 000; //データ取得元 集計用アプリID
64
+ var appID = 000; //データ取得元 AアプリID
65
65
  var limit = 200;
66
66
  var offset = 0;
67
67
  var size = 100;
68
- //Aアプリ情報代入
68
+ //日報アプリ情報代入
69
- var pNo = record["施設名"].value;
69
+ var pNo = record["施設名A"].value;
70
- var reqStart = record["使用開始日"].value;
71
- var reqEnd = record["使用終了日"].value;
70
+ var menjo = record["減免区分A"].value;
72
- var worker = record["使用団体名"].value;
71
+ var worker = record["団体名A"].value;
73
- var pCostTable = record["使用料1日"].value;
72
+ var kingaku1 = record["金額1"].value;
73
+ var kingaku2 = record["金額2"].value;
74
+ var kingaku3 = record["金額3"].value;
75
+ var ninzu = record["人数A"].value;
76
+ var reqStart = record["日付"].value;
74
77
 
75
78
  function postCursor() {
76
79
  var body = {
77
80
  'app': appID,
78
- 'fields':["者A","日付","施設名"],
81
+ 'fields':["使団体名","人数","施設名","使用開始日","使用終了日","免除区分A","金額1","金額2","金額3"],
79
82
  //'query':「フィールドコード 演算子 条件」の順序で記述
80
-          //Bアプリ:「日付」 が Aアプリ:「使用開始日」~「使用終了日」の間 and
83
+          //Aアプリ:「使用開始日」~「使用終了日」の間 が 日報アプリ:「日付」 and
81
- //Bアプリ:「者A」 が Aアプリ:「使用団体名」と同じ and
84
+ // Aアプリ:「使団体名」 が 日報アプリ:「団体名A」と同じ and
85
+ // Aアプリ:「人数」 が 日報アプリ:「人数A」と同じ and
82
- //Bアプリ:サブテーブルtable1「施設名」 が Aアプリ:「施設名」 と同じ
86
+ //Aアプリ:サブテーブルtable_1「施設名」 が 日報アプリ:「施設名A」 と同じ and
87
+ //Aアプリ:サブテーブルtable_1「免除区分A」 が 日報アプリ:「減免区分A」 と同じ and
88
+ //Aアプリ:サブテーブルtable_1「金額1」 が 日報アプリ:「金額1」 と同じ and
89
+ //Aアプリ:サブテーブルtable_1「金額2」 が 日報アプリ:「金額2」 と同じ and
90
+ //Aアプリ:サブテーブルtable_1「金額3」 が 日報アプリ:「金額3」 と同じ and
83
- 'query': '日 >= "'+ reqStart +'" and 日付 <= "'+ reqEnd +'" and 利用者A = "'+ worker +'" and "施設名 in ("'+ pNo +'") order by $id desc' ,
91
+ 'query': '使用開始<= >= 使用終了日 "'+ reqStart +'" and 使用団体名 = "'+ worker +'" and 人数 = "'+ ninzu +'" and "施設名 in ("'+ pNo+'") order by $id desc'
92
+ +'"and "免除区分A in ("'+menjo+'") order by $id desc'+'"and "金額1 in ("'+kingaku1+'") order by $id desc'+'"and "金額2 in ("'+kingaku2+'") order by $id desc'
93
+ +'"and "金額3 in ("'+ kingaku3+'") order by $id desc',
84
94
  'limit': limit,
85
95
          'offset': offset,
86
96
  'size': size,
87
97
  };
88
98
 
89
- // Bアプリデータ取得用のカーソル作成(thenを使うことで resp の中にデータが格納される)
99
+ // Aアプリデータ取得用のカーソル作成(thenを使うことで resp の中にデータが格納される)
90
100
  return kintone.api(kintone.api.url('/k/v1/records/cursor', true), 'POST', body).then(function(resp) {
91
101
  // 成功:カーソル作成
92
102
  return resp.id;
@@ -103,7 +113,7 @@
103
113
  'id': cursorId
104
114
  };
105
115
 
106
- // Bアプリからデータ取得(thenを使うことで resp の中にデータが格納される)
116
+ // Aアプリからデータ取得(thenを使うことで resp の中にデータが格納される)
107
117
  return kintone.api(kintone.api.url('/k/v1/records/cursor', true), 'GET', body).then(function(resp) {
108
118
  // 成功:データを取得
109
119
  records = records.concat(resp.records);
@@ -127,18 +137,21 @@
127
137
  //set用レコード情報の取得
128
138
  var getRec = kintone.app.record.get();
129
139
 
130
- //コンソールへ格納した「日報」アプリフィールド情報代入
140
+ //コンソールへ格納した「アプリA」アプリフィールド情報代入
131
141
  for (var i = 0; i < respRecords.length; i++) {
132
- var resp_pCostTable = respRecords[i]["table_1"].value;
142
+ var resp_pCostTable = respRecords[i]["table"].value;
133
143
 
134
-   //Aアプリを日報フォーム「table_1」サブテーブルへ取得データセット
144
+   //日報アプリ「table_1」サブテーブルへ取得データセット
135
145
    for (var ii = 0; ii < resp_pCostTable.length; ii++) {
136
146
    getRec.record["table_1"].value.unshift({
137
147
    value: {
148
+   "施設名": { "type": "SINGLE_LINE_TEXT", "value": resp_pCostTable[ii].value["施設名A"].value },
138
149
    "免除区分A": { "type": "SINGLE_LINE_TEXT", "value": resp_pCostTable[ii].value["減免区分A"].value },
139
-   "使用団体名": { "type": "SINGLE_LINE_TEXT", "value": resp_pCostTable[ii].value["利用者A"].value },
150
+   "使用団体名": { "type": "SINGLE_LINE_TEXT", "value": resp_pCostTable[ii].value["団体名A"].value },
140
-   "施設名": { "type": "CALC", "value": "" /*resp_pCostTable[ii].value["施設名"].value*/ },
141
-   "使用料1日": { "type": "SINGLE_LINE_TEXT", "value": resp_pCostTable[ii].value["使用料A"].value },
151
+   "金額1": { "type": "SINGLE_LINE_TEXT", "value": resp_pCostTable[ii].value["金額1"].value },
152
+   "金額2": { "type": "SINGLE_LINE_TEXT", "value": resp_pCostTable[ii].value["金額2"].value },
153
+   "金額3": { "type": "SINGLE_LINE_TEXT", "value": resp_pCostTable[ii].value["金額3"].value },
154
+   "人数": { "type": "SINGLE_LINE_TEXT", "value": resp_pCostTable[ii].value["人数A"].value },
142
155
    }
143
156
    });
144
157
    }
@@ -157,8 +170,8 @@
157
170
 
158
171
  ### 試したこと
159
172
 
160
- Javascript初心者でサブテーブルのコピーのコードを見様見真似で作成してみましたが、全く動かない状態です。
173
+ サブテーブルのコピーのコードを見様見真似で作成してみましたが、全く動かない状態です。
161
- どこをどう変えてよいものか・・・これで合っているのかもわからない状態です。
174
+ どこをどう変えてよいものかわからない状態です。
162
175
 
163
176
  ### 補足情報(FW/ツールのバージョンなど)
164
177
 

3

マルチポストであることを宣言しました。

2020/04/18 13:22

投稿

mi000
mi000

スコア4

title CHANGED
File without changes
body CHANGED
@@ -5,15 +5,18 @@
5
5
  ### 発生している問題・エラーメッセージ
6
6
 
7
7
  ```
8
+ 同質問をサイボウズディベロッパーでも投稿させていただいておりますが、
9
+ なかなか情報収集ができないため、こちらでご質問させてくださいm(__)m
10
+
8
11
  複数のアプリを1つのアプリに集計させたいです。
9
12
 
10
13
  複数アプリ(3つ)には
11
14
 
12
15
  *利用者名(文字列)
13
-
16
+ *人数(計算)
14
17
  【サブテーブル】
15
18
 
16
- ┃開始日(日付)┃~┃終了日(日付)┃総日数(計算)┃施設名(ドロップダウン)┃人数(計算)┃金額/日数分(計算)┃金額/1日分(計算)┃
19
+ ┃開始日(日付)┃~┃終了日(日付)┃総日数(計算)┃施設名(ドロップダウン)┃免除区分(ドロップダウン)┃金額/日数分(計算)┃金額/1日分(計算)┃
17
20
 
18
21
  が入力されています。
19
22
 
@@ -25,15 +28,17 @@
25
28
 
26
29
  【サブテーブル1(アプリA)】
27
30
 
28
- ┃施設名(ドロップダウン)┃団体名(文字列)┃金額(1日分)(数値)┃人数(数値)┃
31
+ ┃施設名(ドロップダウン)┃免除区分(ドロップダウン)┃団体名(文字列)┃金額(1日分)(数値)┃人数(数値)┃
29
32
 
33
+
30
34
  【サブテーブル2(アプリB)】
31
35
 
32
- ┃施設名(ドロップダウン)┃団体名(文字列)┃金額(1日分)(数値)┃人数(数値)┃
36
+ ┃施設名(ドロップダウン)┃免除区分(ドロップダウン)┃団体名(文字列)┃金額(1日分)(数値)┃人数(数値)┃
33
37
 
38
+
34
39
  【サブテーブル3(アプリC)】
35
40
 
36
- ┃施設名(ドロップダウン)┃団体名(文字列)┃金額(1日分)(数値)┃人数(数値)┃
41
+ ┃施設名(ドロップダウン)┃免除区分(ドロップダウン)┃団体名(文字列)┃金額(1日分)(数値)┃人数(数値)┃
37
42
 
38
43
 
39
44
 

2

コード変更

2020/04/18 07:54

投稿

mi000
mi000

スコア4

title CHANGED
File without changes
body CHANGED
@@ -47,75 +47,113 @@
47
47
 
48
48
  ```ここに言語名を入力
49
49
  (function() {
50
- "use strict";
50
+ 'use strict';
51
- kintone.events.on(["app.record.create.change.開始日", "app.record.edit.change.開始日"], function(e) {
52
- var date = e.record["開始日"].value;
53
- // アプリAから取得したデータ格納用
54
- var orderdatas = {};
55
- var body = {
56
- 'app': 000, // アプリAのアプリID
57
- 'query': '開始日 = "' + date + '"'
58
- }
59
- kintone.api(kintone.api.url('/k/v1/records', true), 'GET', body, function(resp) {
60
- resp.records.forEach(function(record) {
61
- var Table = record["アプリA"].value;
62
- for (var t = 0; t < Table.length; t++) {
63
- var code = Table[t].value["施設名"].value;
64
- var name = Table[t].value["団体名"].value;
65
-           var num = Table[t].value["金額"].value;
66
- var num2 = Table[t].value["人数"].value;
67
51
 
52
+ // 「Bアプリコピー」時の処理
53
+ kintone.events.on(["app.record.create.change.コピー",
54
+ "app.record.edit.change.コピー"],
55
+ function(event) {
68
- if (orderdatas[code]) {
56
+ var record = event.record;
57
+
58
+ ///カーソル情報代入
59
+ var appID = 000; //データ取得元 集計用アプリID
60
+ var limit = 200;
61
+ var offset = 0;
62
+ var size = 100;
63
+ //Aアプリ情報代入
69
- var Num = Number(orderdatas[code]["金額"]);
64
+ var pNo = record["施設名"].value;
65
+ var reqStart = record["使用開始日"].value;
66
+ var reqEnd = record["使用終了日"].value;
67
+ var worker = record["使用団体名"].value;
68
+ var pCostTable = record["使用料金1日"].value;
69
+
70
+ function postCursor() {
70
- orderdatas[code] = {
71
+ var body = {
71
- "施設名": code,
72
+ 'app': appID,
73
+ 'fields':["利用者A","日付","施設名"],
74
+ //'query':「フィールドコード 演算子 条件」の順序で記述
75
+          //Bアプリ:「日付」 が Aアプリ:「使用開始日」~「使用終了日」の間 and
76
+ //Bアプリ:「利用者A」 が Aアプリ:「使用団体名」と同じ and
77
+ //Bアプリ:サブテーブルtable1「施設名」 が Aアプリ:「施設名」 と同じ
78
+ 'query': '日付 >= "'+ reqStart +'" and 日付 <= "'+ reqEnd +'" and 利用者A = "'+ worker +'" and "施設名 in ("'+ pNo +'") order by $id desc' ,
79
+ 'limit': limit,
80
+         'offset': offset,
72
- "団体名A": name,
81
+ 'size': size,
82
+ };
83
+
84
+ // Bアプリデータ取得用のカーソル作成(thenを使うことで resp の中にデータが格納される)
85
+ return kintone.api(kintone.api.url('/k/v1/records/cursor', true), 'POST', body).then(function(resp) {
73
- "金額": Num,
86
+ // 成功:カーソル作成
87
+ return resp.id;
88
+ // catch で取得失敗時のエラー制御
89
+ }).catch(function(error) {
90
+ // エラー発生時にエラー表示
91
+ return error;
92
+ });
93
+ }
94
+
95
+ function getRecordsFromCursor(cursorId, opt_records) {
96
+ var records = opt_records || [];
97
+ var body = {
74
- "人数": Num2,
98
+ 'id': cursorId
99
+ };
100
+
101
+ // Bアプリからデータ取得(thenを使うことで resp の中にデータが格納される)
102
+ return kintone.api(kintone.api.url('/k/v1/records/cursor', true), 'GET', body).then(function(resp) {
103
+ // 成功:データを取得
104
+ records = records.concat(resp.records);
105
+ if (resp.next) {
106
+ return getRecordsFromCursor(cursorId, records);
75
107
  }
108
+ return records;
109
+ // catch で取得失敗時のエラー制御
110
+ }).catch(function(error) {
111
+ // エラー発生時にエラー表示
112
+ return error;
113
+ });
114
+
115
+ }
116
+     //コンソールへ取得情報格納
117
+ postCursor().then(function(respCursorId) {
118
+ return getRecordsFromCursor(respCursorId);
119
+ }).then(function(respRecords) {
120
+ console.log(respRecords);
121
+
122
+ //set用レコード情報の取得
123
+ var getRec = kintone.app.record.get();
124
+
125
+ //コンソールへ格納した「日報」アプリフィールド情報代入
126
+ for (var i = 0; i < respRecords.length; i++) {
127
+ var resp_pCostTable = respRecords[i]["table_1"].value;
128
+
129
+   //Aアプリを日報フォーム「table_1」サブテーブルへ取得データセット
130
+   for (var ii = 0; ii < resp_pCostTable.length; ii++) {
131
+   getRec.record["table_1"].value.unshift({
132
+   value: {
133
+   "免除区分A": { "type": "SINGLE_LINE_TEXT", "value": resp_pCostTable[ii].value["減免区分A"].value },
134
+   "使用団体名": { "type": "SINGLE_LINE_TEXT", "value": resp_pCostTable[ii].value["利用者A"].value },
135
+   "施設名": { "type": "CALC", "value": "" /*resp_pCostTable[ii].value["施設名"].value*/ },
136
+   "使用料金1日": { "type": "SINGLE_LINE_TEXT", "value": resp_pCostTable[ii].value["使用料金A"].value },
137
+   }
138
+   });
139
+   }
140
+
76
141
  }
77
- else {
78
- orderdatas[code] = {
79
- "施設名": code,
80
- "団体名": name,
81
- "金額": Number(num),
82
- "人数": Number(num2),
83
- }
84
- }
85
142
 
86
- }
143
+ }).catch(function(error) {
144
+ console.log(error);
87
- });
145
+ });
146
+
88
- setData();
147
+ return event;
148
+
89
149
  });
90
- function setData() {
91
- var record = kintone.app.record.get().record;
92
- var TableB = record["アプリA"].value;
93
- var index = TableB.length - 1;
94
-       // テーブル初期化
95
- for (var i = 0; i <= index; i++) {
96
- TableB.splice(0, 1);
97
- }
98
-       // 取得したデータを追加
99
- for (var key in orderdatas) {
100
- TableB.push({
101
- value: {
102
- "施設名": {value: orderdatas[key]["施設名"], type: "SINGLE_LINE_TEXT"},
103
- "団体名": {value: orderdatas[key]["団体名"], type: "SINGLE_LINE_TEXT"},
104
- "金額": {value: Number(orderdatas[key]["金額"]), type: "NUMBER"},
105
- "人数": {value: orderdatas[key]["人数"], type: "SINGLE_LINE_TEXT"}
106
- }
107
- });
108
- }
109
- kintone.app.record.set({record: record});
110
- }
111
- });
112
150
  })();
113
151
  ```
114
152
 
115
153
  ### 試したこと
116
154
 
117
155
  Javascript初心者でサブテーブルのコピーのコードを見様見真似で作成してみましたが、全く動かない状態です。
118
- ここからレコード一覧からの集計方法や日付の期間な、どこをどう変えてよいものか・・・これで合っているのかもわからない状態です。
156
+ どこをどう変えてよいものか・・・これで合っているのかもわからない状態です。
119
157
 
120
158
  ### 補足情報(FW/ツールのバージョンなど)
121
159
 

1

質問内容とコードを少し変更しました。

2020/04/18 07:15

投稿

mi000
mi000

スコア4

title CHANGED
File without changes
body CHANGED
@@ -11,14 +11,10 @@
11
11
 
12
12
  *利用者名(文字列)
13
13
 
14
- 【サブテーブル
14
+ 【サブテーブル】
15
15
 
16
- ┃開始日(日付)┃~┃終了日(日付)┃
16
+ ┃開始日(日付)┃~┃終了日(日付)┃総日数(計算)┃施設名(ドロップダウン)┃人数(計算)┃金額/日数分(計算)┃金額/1日分(計算)┃
17
17
 
18
- 【サブテーブル2】
19
-
20
- ┃施設名(ドロップダウン)┃金額/日数分(計算)┃金額/1日分(計算)┃
21
-
22
18
  が入力されています。
23
19
 
24
20
 
@@ -29,19 +25,20 @@
29
25
 
30
26
  【サブテーブル1(アプリA)】
31
27
 
32
- ┃施設名(ドロップダウン)┃団体名(文字列)┃金額(1日分)(数値)┃
28
+ ┃施設名(ドロップダウン)┃団体名(文字列)┃金額(1日分)(数値)┃人数(数値)┃
33
29
 
34
30
  【サブテーブル2(アプリB)】
35
31
 
36
- ┃施設名(ドロップダウン)┃団体名(文字列)┃金額(1日分)(数値)┃
32
+ ┃施設名(ドロップダウン)┃団体名(文字列)┃金額(1日分)(数値)┃人数(数値)┃
37
33
 
38
34
  【サブテーブル3(アプリC)】
39
35
 
40
- ┃施設名(ドロップダウン)┃団体名(文字列)┃金額(1日分)(数値)┃
36
+ ┃施設名(ドロップダウン)┃団体名(文字列)┃金額(1日分)(数値)┃人数(数値)┃
41
37
 
42
38
 
43
39
 
40
+ 開始日から終了日までの期間,レコード一覧から抽出集計し
44
- 開始から終了日までの期間、日報フォームに団体名&施設名ごとに金額(1日分)を映したいのですが可能でしょうか?
41
+ 日報フォームに団体名&施設名ごとに金額(1日分)を映したいのですが可能でしょうか?
45
42
 
46
43
  Javascriptなどで実装可能であればサンプルなどご提示いただきたいですm(__)m
47
44
  ```
@@ -49,104 +46,76 @@
49
46
  ### 該当のソースコード
50
47
 
51
48
  ```ここに言語名を入力
52
- //複数アプリ用
53
- //★1つ目
54
- (function () {
49
+ (function() {
55
- "use strict";
50
+ "use strict";
51
+ kintone.events.on(["app.record.create.change.開始日", "app.record.edit.change.開始日"], function(e) {
52
+ var date = e.record["開始日"].value;
56
-   //アプリAの操作
53
+ // アプリAから取得したデータ格納用
54
+ var orderdatas = {};
57
-   var App1 = {};
55
+ var body = {
56
+ 'app': 000, // アプリAのアプリID
57
+ 'query': '開始日 = "' + date + '"'
58
+ }
59
+ kintone.api(kintone.api.url('/k/v1/records', true), 'GET', body, function(resp) {
58
-   App1.APP_ID = kintone.app.getId();
60
+ resp.records.forEach(function(record) {
59
-   App1.APP_NAME = "アプリAシステム";
61
+ var Table = record["アプリA"].value;
60
-   //日報フォームアプリの操作
62
+ for (var t = 0; t < Table.length; t++) {
61
-   var App2 = {};
63
+ var code = Table[t].value["施設名"].value;
64
+ var name = Table[t].value["団体名"].value;
62
-   App2.APP_ID = 0;
65
+           var num = Table[t].value["金額"].value;
63
-   App2.APP_NAME = "日報フォーム";
66
+ var num2 = Table[t].value["人数"].value;
64
67
 
65
-   //アプリAシステムレコード追加画面(保存実行)で、
66
-   //日報フォームアプリに情報を追加する
67
-   kintone.events.on("app.record.create.show", function(event) {
68
-     //追加しようとしているレコードのテーブル値取得
69
-     var Table1 = event.record['Table_1'].value;
70
-     App1.insert(Table1).then(function(resp) {
71
-       if (resp === false) {
68
+ if (orderdatas[code]) {
69
+ var Num = Number(orderdatas[code]["金額"]);
70
+ orderdatas[code] = {
71
+ "施設名": code,
72
+ "団体名A": name,
73
+ "金額": Num,
72
-         alert('* NG * 追加失敗');
74
+ "人数": Num2,
73
-       }
75
+ }
76
+ }
74
-       return event;
77
+ else {
75
-     }).catch(function(resp) {
78
+ orderdatas[code] = {
76
-       event.error = '*** NG *** ' + costApp.APP_NAME + 'に登録できませんでした。';
77
-      
78
-       return event;
79
+ "施設名": code,
80
+ "団体名": name,
81
+ "金額": Number(num),
82
+ "人数": Number(num2),
83
+ }
84
+ }
85
+
86
+ }
79
-     });
87
+ });
88
+ setData();
80
-   });
89
+ });
90
+ function setData() {
91
+ var record = kintone.app.record.get().record;
92
+ var TableB = record["アプリA"].value;
93
+ var index = TableB.length - 1;
94
+       // テーブル初期化
95
+ for (var i = 0; i <= index; i++) {
96
+ TableB.splice(0, 1);
97
+ }
98
+       // 取得したデータを追加
99
+ for (var key in orderdatas) {
100
+ TableB.push({
101
+ value: {
102
+ "施設名": {value: orderdatas[key]["施設名"], type: "SINGLE_LINE_TEXT"},
103
+ "団体名": {value: orderdatas[key]["団体名"], type: "SINGLE_LINE_TEXT"},
104
+ "金額": {value: Number(orderdatas[key]["金額"]), type: "NUMBER"},
105
+ "人数": {value: orderdatas[key]["人数"], type: "SINGLE_LINE_TEXT"}
106
+ }
107
+ });
108
+ }
109
+ kintone.app.record.set({record: record});
110
+ }
111
+ });
81
112
  })();
82
-
83
-
84
- //★2つ目
85
- App1.insert = function(table, nextRow) {
86
-     var row = nextRow || 2;
87
-     // (施設名が同じ)日報フォームにレコードを取得
88
-     return costApp.get(table[row]['value']['施設名'].value).then(function(resp) {
89
-       var costRecord = resp['records'];
90
-       return costApp.increaseRow(costRecord, table[row].value, 0).then(function(resp4) {
91
-         row++;
92
-         if (row < table.length) {
93
-           return App1.insert(table, row);
94
-         }
95
-         return true;
96
-       }, function(resp4) {
97
-      
98
-         row++;
99
-         if (row < table.length) { 
100
-           return billApp.insert(table, row); 
101
-         }
102
-         return false;
103
-       });
104
-     }, function(resp) {
105
-       return false; 
106
-     });
107
-   }; 
108
-
109
-
110
- //日報フォーム用
111
- App2.get = function(No) {
112
-     var params = {
113
-       // 日報フォーム番号
114
-       "app": App2.APP_ID,
115
-       // 検索条件
116
-       "query": '施設名 ="' + No + '"',
117
-       // 取得項目
118
-       "fields": ['$id', '$revision', '施設名', 'アプリA']
119
-     };
120
-     return kintone.api(kintone.api.url('/k/v1/records', true), 'GET', params);
121
-   };
122
-   // テーブル内の1行を更新する(加算)
123
-   // @param exsitedInf 日報日報フォームのレコード
124
-   // @param newInf 総合体育館システムの支払情報1件
125
-   // @param rowIndex 更新する行を示す数(配列の添え字)
126
-   // @return Promise
127
-   //
128
-   App2.increaseRow = function(existedInf, newInf, rowIndex) {
129
-     var App2Table = existedInf[0]['アプリA'].value;
130
-     //支払金額を加算する
131
-     var Value1 = Number(App2Table[rowIndex]['value']['金額'].value);
132
-     App2Table[rowIndex]['value']['金額'].value = Value1 + Number(newInf['金額'].value);
133
-     var params = {
134
-       "app": App2.APP_ID,
135
-       "id": existedInf[0]['$id'].value,
136
-       "revision": existedInf[0]['$revision'].value,
137
-       "record": {
138
-         "アプリA": { "value": App2Table }
139
-       }    
140
-     };
141
-     // 更新
142
-     return kintone.api(kintone.api.url('/k/v1/record', true), 'PUT', params);
143
-   }
144
- })(); //----- function 
145
113
  ```
146
114
 
147
115
  ### 試したこと
148
116
 
117
+ Javascript初心者でサブテーブルのコピーのコードを見様見真似で作成してみましたが、全く動かない状態です。
149
- Javascript初心者で見様見真似で作成してみましたが、どこをどう変えてよいものか・・・これで合っているのかもわからない状態です。
118
+ ここからレコード一覧からの集計方法や日付の期間など、どこをどう変えてよいものか・・・これで合っているのかもわからない状態です。
150
119
 
151
120
  ### 補足情報(FW/ツールのバージョンなど)
152
121