質問編集履歴

4

コードを変更しました

2020/04/18 13:22

投稿

mi000
mi000

スコア4

test CHANGED
File without changes
test CHANGED
@@ -26,7 +26,7 @@
26
26
 
27
27
 
28
28
 
29
- 利用者名(文字列)
29
+ 団体名(文字列)
30
30
 
31
31
  *人数(計算)
32
32
 
@@ -110,7 +110,7 @@
110
110
 
111
111
 
112
112
 
113
- // 「Bアプリコピー」時の処理
113
+ // 「Aアプリコピー」時の処理
114
114
 
115
115
  kintone.events.on(["app.record.create.change.コピー",
116
116
 
@@ -124,7 +124,7 @@
124
124
 
125
125
  ///カーソル情報代入
126
126
 
127
- var appID = 000; //データ取得元 集計用アプリID
127
+ var appID = 000; //データ取得元 AアプリID
128
128
 
129
129
  var limit = 200;
130
130
 
@@ -132,17 +132,23 @@
132
132
 
133
133
  var size = 100;
134
134
 
135
- //Aアプリ情報代入
135
+ //日報アプリ情報代入
136
-
136
+
137
- var pNo = record["施設名"].value;
137
+ var pNo = record["施設名A"].value;
138
-
139
- var reqStart = record["使用開始日"].value;
138
+
140
-
141
- var reqEnd = record["使用終了日"].value;
139
+ var menjo = record["減免区分A"].value;
142
-
140
+
143
- var worker = record["使用団体名"].value;
141
+ var worker = record["団体名A"].value;
144
-
142
+
145
- var pCostTable = record["使用料1日"].value;
143
+ var kingaku1 = record["金額1"].value;
144
+
145
+ var kingaku2 = record["金額2"].value;
146
+
147
+ var kingaku3 = record["金額3"].value;
148
+
149
+ var ninzu = record["人数A"].value;
150
+
151
+ var reqStart = record["日付"].value;
146
152
 
147
153
 
148
154
 
@@ -152,17 +158,31 @@
152
158
 
153
159
  'app': appID,
154
160
 
155
- 'fields':["者A","日付","施設名"],
161
+ 'fields':["使団体名","人数","施設名","使用開始日","使用終了日","免除区分A","金額1","金額2","金額3"],
156
162
 
157
163
  //'query':「フィールドコード 演算子 条件」の順序で記述
158
164
 
159
-          //Bアプリ:「日付」 が Aアプリ:「使用開始日」~「使用終了日」の間 and
165
+          //Aアプリ:「使用開始日」~「使用終了日」の間 が 日報アプリ:「日付」 and
160
-
166
+
161
- //Bアプリ:「者A」 が Aアプリ:「使用団体名」と同じ and
167
+ // Aアプリ:「使団体名」 が 日報アプリ:「団体名A」と同じ and
168
+
162
-
169
+ // Aアプリ:「人数」 が 日報アプリ:「人数A」と同じ and
170
+
163
- //Bアプリ:サブテーブルtable1「施設名」 が Aアプリ:「施設名」 と同じ
171
+ //Aアプリ:サブテーブルtable_1「施設名」 が 日報アプリ:「施設名A」 と同じ and
172
+
164
-
173
+ //Aアプリ:サブテーブルtable_1「免除区分A」 が 日報アプリ:「減免区分A」 と同じ and
174
+
175
+ //Aアプリ:サブテーブルtable_1「金額1」 が 日報アプリ:「金額1」 と同じ and
176
+
177
+ //Aアプリ:サブテーブルtable_1「金額2」 が 日報アプリ:「金額2」 と同じ and
178
+
179
+ //Aアプリ:サブテーブルtable_1「金額3」 が 日報アプリ:「金額3」 と同じ and
180
+
165
- 'query': '日 >= "'+ reqStart +'" and 日付 <= "'+ reqEnd +'" and 利用者A = "'+ worker +'" and "施設名 in ("'+ pNo +'") order by $id desc' ,
181
+ 'query': '使用開始<= >= 使用終了日 "'+ reqStart +'" and 使用団体名 = "'+ worker +'" and 人数 = "'+ ninzu +'" and "施設名 in ("'+ pNo+'") order by $id desc'
182
+
183
+ +'"and "免除区分A in ("'+menjo+'") order by $id desc'+'"and "金額1 in ("'+kingaku1+'") order by $id desc'+'"and "金額2 in ("'+kingaku2+'") order by $id desc'
184
+
185
+ +'"and "金額3 in ("'+ kingaku3+'") order by $id desc',
166
186
 
167
187
  'limit': limit,
168
188
 
@@ -174,7 +194,7 @@
174
194
 
175
195
 
176
196
 
177
- // Bアプリデータ取得用のカーソル作成(thenを使うことで resp の中にデータが格納される)
197
+ // Aアプリデータ取得用のカーソル作成(thenを使うことで resp の中にデータが格納される)
178
198
 
179
199
  return kintone.api(kintone.api.url('/k/v1/records/cursor', true), 'POST', body).then(function(resp) {
180
200
 
@@ -208,7 +228,7 @@
208
228
 
209
229
 
210
230
 
211
- // Bアプリからデータ取得(thenを使うことで resp の中にデータが格納される)
231
+ // Aアプリからデータ取得(thenを使うことで resp の中にデータが格納される)
212
232
 
213
233
  return kintone.api(kintone.api.url('/k/v1/records/cursor', true), 'GET', body).then(function(resp) {
214
234
 
@@ -256,15 +276,15 @@
256
276
 
257
277
 
258
278
 
259
- //コンソールへ格納した「日報」アプリフィールド情報代入
279
+ //コンソールへ格納した「アプリA」アプリフィールド情報代入
260
280
 
261
281
  for (var i = 0; i < respRecords.length; i++) {
262
282
 
263
- var resp_pCostTable = respRecords[i]["table_1"].value;
283
+ var resp_pCostTable = respRecords[i]["table"].value;
264
-
265
-
266
-
284
+
285
+
286
+
267
-   //Aアプリを日報フォーム「table_1」サブテーブルへ取得データセット
287
+   //日報アプリ「table_1」サブテーブルへ取得データセット
268
288
 
269
289
    for (var ii = 0; ii < resp_pCostTable.length; ii++) {
270
290
 
@@ -272,13 +292,19 @@
272
292
 
273
293
    value: {
274
294
 
295
+   "施設名": { "type": "SINGLE_LINE_TEXT", "value": resp_pCostTable[ii].value["施設名A"].value },
296
+
275
297
    "免除区分A": { "type": "SINGLE_LINE_TEXT", "value": resp_pCostTable[ii].value["減免区分A"].value },
276
298
 
277
-   "使用団体名": { "type": "SINGLE_LINE_TEXT", "value": resp_pCostTable[ii].value["利用者A"].value },
299
+   "使用団体名": { "type": "SINGLE_LINE_TEXT", "value": resp_pCostTable[ii].value["団体名A"].value },
278
-
279
-   "施設名": { "type": "CALC", "value": "" /*resp_pCostTable[ii].value["施設名"].value*/ },
300
+
280
-
281
-   "使用料1日": { "type": "SINGLE_LINE_TEXT", "value": resp_pCostTable[ii].value["使用料A"].value },
301
+   "金額1": { "type": "SINGLE_LINE_TEXT", "value": resp_pCostTable[ii].value["金額1"].value },
302
+
303
+   "金額2": { "type": "SINGLE_LINE_TEXT", "value": resp_pCostTable[ii].value["金額2"].value },
304
+
305
+   "金額3": { "type": "SINGLE_LINE_TEXT", "value": resp_pCostTable[ii].value["金額3"].value },
306
+
307
+   "人数": { "type": "SINGLE_LINE_TEXT", "value": resp_pCostTable[ii].value["人数A"].value },
282
308
 
283
309
    }
284
310
 
@@ -316,9 +342,9 @@
316
342
 
317
343
 
318
344
 
319
- Javascript初心者でサブテーブルのコピーのコードを見様見真似で作成してみましたが、全く動かない状態です。
345
+ サブテーブルのコピーのコードを見様見真似で作成してみましたが、全く動かない状態です。
320
-
346
+
321
- どこをどう変えてよいものか・・・これで合っているのかもわからない状態です。
347
+ どこをどう変えてよいものかわからない状態です。
322
348
 
323
349
 
324
350
 

3

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

2020/04/18 13:22

投稿

mi000
mi000

スコア4

test CHANGED
File without changes
test CHANGED
@@ -12,6 +12,12 @@
12
12
 
13
13
  ```
14
14
 
15
+ 同質問をサイボウズディベロッパーでも投稿させていただいておりますが、
16
+
17
+ なかなか情報収集ができないため、こちらでご質問させてくださいm(__)m
18
+
19
+
20
+
15
21
  複数のアプリを1つのアプリに集計させたいです。
16
22
 
17
23
 
@@ -22,13 +28,13 @@
22
28
 
23
29
  *利用者名(文字列)
24
30
 
25
-
31
+ *人数(計算)
26
32
 
27
33
  【サブテーブル】
28
34
 
29
35
 
30
36
 
31
- ┃開始日(日付)┃~┃終了日(日付)┃総日数(計算)┃施設名(ドロップダウン)┃人数(計算)┃金額/日数分(計算)┃金額/1日分(計算)┃
37
+ ┃開始日(日付)┃~┃終了日(日付)┃総日数(計算)┃施設名(ドロップダウン)┃免除区分(ドロップダウン)┃金額/日数分(計算)┃金額/1日分(計算)┃
32
38
 
33
39
 
34
40
 
@@ -52,7 +58,9 @@
52
58
 
53
59
 
54
60
 
55
- ┃施設名(ドロップダウン)┃団体名(文字列)┃金額(1日分)(数値)┃人数(数値)┃
61
+ ┃施設名(ドロップダウン)┃免除区分(ドロップダウン)┃団体名(文字列)┃金額(1日分)(数値)┃人数(数値)┃
62
+
63
+
56
64
 
57
65
 
58
66
 
@@ -60,7 +68,9 @@
60
68
 
61
69
 
62
70
 
63
- ┃施設名(ドロップダウン)┃団体名(文字列)┃金額(1日分)(数値)┃人数(数値)┃
71
+ ┃施設名(ドロップダウン)┃免除区分(ドロップダウン)┃団体名(文字列)┃金額(1日分)(数値)┃人数(数値)┃
72
+
73
+
64
74
 
65
75
 
66
76
 
@@ -68,7 +78,7 @@
68
78
 
69
79
 
70
80
 
71
- ┃施設名(ドロップダウン)┃団体名(文字列)┃金額(1日分)(数値)┃人数(数値)┃
81
+ ┃施設名(ドロップダウン)┃免除区分(ドロップダウン)┃団体名(文字列)┃金額(1日分)(数値)┃人数(数値)┃
72
82
 
73
83
 
74
84
 

2

コード変更

2020/04/18 07:54

投稿

mi000
mi000

スコア4

test CHANGED
File without changes
test CHANGED
@@ -96,130 +96,206 @@
96
96
 
97
97
  (function() {
98
98
 
99
- "use strict";
100
-
101
- kintone.events.on(["app.record.create.change.開始日", "app.record.edit.change.開始日"], function(e) {
102
-
103
- var date = e.record["開始日"].value;
104
-
105
- // アプリAから取得したデタ格納用
106
-
107
- var orderdatas = {};
108
-
109
- var body = {
110
-
111
- 'app': 000, // アプリAのアプリID
112
-
113
- 'query': '開始日 = "' + date + '"'
114
-
115
- }
116
-
117
- kintone.api(kintone.api.url('/k/v1/records', true), 'GET', body, function(resp) {
118
-
119
- resp.records.forEach(function(record) {
120
-
121
- var Table = record["アプリA"].value;
122
-
123
- for (var t = 0; t < Table.length; t++) {
124
-
125
- var code = Table[t].value["施設名"].value;
126
-
127
- var name = Table[t].value["団体名"].value;
128
-
129
-           var num = Table[t].value["金額"].value;
130
-
131
- var num2 = Table[t].value["人数"].value;
132
-
133
-
134
-
135
- if (orderdatas[code]) {
136
-
137
- var Num = Number(orderdatas[code]["金額"]);
138
-
139
- orderdatas[code] = {
140
-
141
- "施設名": code,
142
-
143
- "団体名A": name,
144
-
145
- "金額": Num,
146
-
147
- "人数": Num2,
99
+ 'use strict';
100
+
101
+
102
+
103
+ // 「Bアプリコピー」時の処理
104
+
105
+ kintone.events.on(["app.record.create.change.コピ",
106
+
107
+ "app.record.edit.change.コピー"],
108
+
109
+ function(event) {
110
+
111
+ var record = event.record;
112
+
113
+
114
+
115
+ ///カーソル情報代入
116
+
117
+ var appID = 000; //データ取得元 集計用アプリID
118
+
119
+ var limit = 200;
120
+
121
+ var offset = 0;
122
+
123
+ var size = 100;
124
+
125
+ //Aアプリ情報代入
126
+
127
+ var pNo = record["施設名"].value;
128
+
129
+ var reqStart = record["使用開始日"].value;
130
+
131
+ var reqEnd = record["使用終了日"].value;
132
+
133
+ var worker = record["使用団体名"].value;
134
+
135
+ var pCostTable = record["使用料金1日"].value;
136
+
137
+
138
+
139
+ function postCursor() {
140
+
141
+ var body = {
142
+
143
+ 'app': appID,
144
+
145
+ 'fields':["利用者A","日付","施設名"],
146
+
147
+ //'query':「フィールドコード 演算子 条件」の順序で記述
148
+
149
+          //Bアプリ:「日付」 が Aアプリ:「使用開始日」~「使用終了日」の間 and
150
+
151
+ //Bアプリ:「利用者A」 が Aアプリ:「使用団体名」と同じ and
152
+
153
+ //Bアプリ:サブテーブルtable1「施設名」 が Aアプリ:「施設名」 と同じ
154
+
155
+ 'query': '日付 >= "'+ reqStart +'" and 日付 <= "'+ reqEnd +'" and 利用者A = "'+ worker +'" and "施設名 in ("'+ pNo +'") order by $id desc' ,
156
+
157
+ 'limit': limit,
158
+
159
+         'offset': offset,
160
+
161
+ 'size': size,
162
+
163
+ };
164
+
165
+
166
+
167
+ // Bアプリデータ取得用のカーソル作成(thenを使うことで resp の中にデータが格納される)
168
+
169
+ return kintone.api(kintone.api.url('/k/v1/records/cursor', true), 'POST', body).then(function(resp) {
170
+
171
+ // 成功:カーソル作成
172
+
173
+ return resp.id;
174
+
175
+ // catch で取得失敗時のエラー制御
176
+
177
+ }).catch(function(error) {
178
+
179
+ // エラー発生時にエラー表示
180
+
181
+ return error;
182
+
183
+ });
184
+
185
+ }
186
+
187
+
188
+
189
+ function getRecordsFromCursor(cursorId, opt_records) {
190
+
191
+ var records = opt_records || [];
192
+
193
+ var body = {
194
+
195
+ 'id': cursorId
196
+
197
+ };
198
+
199
+
200
+
201
+ // Bアプリからデータ取得(thenを使うことで resp の中にデータが格納される)
202
+
203
+ return kintone.api(kintone.api.url('/k/v1/records/cursor', true), 'GET', body).then(function(resp) {
204
+
205
+ // 成功:データを取得
206
+
207
+ records = records.concat(resp.records);
208
+
209
+ if (resp.next) {
210
+
211
+ return getRecordsFromCursor(cursorId, records);
148
212
 
149
213
  }
150
214
 
215
+ return records;
216
+
217
+ // catch で取得失敗時のエラー制御
218
+
219
+ }).catch(function(error) {
220
+
221
+ // エラー発生時にエラー表示
222
+
223
+ return error;
224
+
225
+ });
226
+
227
+
228
+
229
+ }
230
+
231
+     //コンソールへ取得情報格納
232
+
233
+ postCursor().then(function(respCursorId) {
234
+
235
+ return getRecordsFromCursor(respCursorId);
236
+
237
+ }).then(function(respRecords) {
238
+
239
+ console.log(respRecords);
240
+
241
+
242
+
243
+ //set用レコード情報の取得
244
+
245
+ var getRec = kintone.app.record.get();
246
+
247
+
248
+
249
+ //コンソールへ格納した「日報」アプリフィールド情報代入
250
+
251
+ for (var i = 0; i < respRecords.length; i++) {
252
+
253
+ var resp_pCostTable = respRecords[i]["table_1"].value;
254
+
255
+
256
+
257
+   //Aアプリを日報フォーム「table_1」サブテーブルへ取得データセット
258
+
259
+   for (var ii = 0; ii < resp_pCostTable.length; ii++) {
260
+
261
+   getRec.record["table_1"].value.unshift({
262
+
263
+   value: {
264
+
265
+   "免除区分A": { "type": "SINGLE_LINE_TEXT", "value": resp_pCostTable[ii].value["減免区分A"].value },
266
+
267
+   "使用団体名": { "type": "SINGLE_LINE_TEXT", "value": resp_pCostTable[ii].value["利用者A"].value },
268
+
269
+   "施設名": { "type": "CALC", "value": "" /*resp_pCostTable[ii].value["施設名"].value*/ },
270
+
271
+   "使用料金1日": { "type": "SINGLE_LINE_TEXT", "value": resp_pCostTable[ii].value["使用料金A"].value },
272
+
273
+   }
274
+
275
+   });
276
+
277
+   }
278
+
279
+
280
+
151
281
  }
152
282
 
153
- else {
283
+
154
-
284
+
155
- orderdatas[code] = {
285
+ }).catch(function(error) {
156
-
286
+
157
- "施設名": code,
287
+ console.log(error);
158
-
159
- "団体名": name,
288
+
160
-
161
- "金額": Number(num),
162
-
163
- "人数": Number(num2),
164
-
165
- }
166
-
167
- }
168
-
169
-
170
-
171
- }
172
-
173
- });
289
+ });
174
-
290
+
291
+
292
+
175
- setData();
293
+ return event;
294
+
295
+
176
296
 
177
297
  });
178
298
 
179
- function setData() {
180
-
181
- var record = kintone.app.record.get().record;
182
-
183
- var TableB = record["アプリA"].value;
184
-
185
- var index = TableB.length - 1;
186
-
187
-       // テーブル初期化
188
-
189
- for (var i = 0; i <= index; i++) {
190
-
191
- TableB.splice(0, 1);
192
-
193
- }
194
-
195
-       // 取得したデータを追加
196
-
197
- for (var key in orderdatas) {
198
-
199
- TableB.push({
200
-
201
- value: {
202
-
203
- "施設名": {value: orderdatas[key]["施設名"], type: "SINGLE_LINE_TEXT"},
204
-
205
- "団体名": {value: orderdatas[key]["団体名"], type: "SINGLE_LINE_TEXT"},
206
-
207
- "金額": {value: Number(orderdatas[key]["金額"]), type: "NUMBER"},
208
-
209
- "人数": {value: orderdatas[key]["人数"], type: "SINGLE_LINE_TEXT"}
210
-
211
- }
212
-
213
- });
214
-
215
- }
216
-
217
- kintone.app.record.set({record: record});
218
-
219
- }
220
-
221
- });
222
-
223
299
  })();
224
300
 
225
301
  ```
@@ -232,7 +308,7 @@
232
308
 
233
309
  Javascript初心者でサブテーブルのコピーのコードを見様見真似で作成してみましたが、全く動かない状態です。
234
310
 
235
- ここからレコード一覧からの集計方法や日付の期間な、どこをどう変えてよいものか・・・これで合っているのかもわからない状態です。
311
+ どこをどう変えてよいものか・・・これで合っているのかもわからない状態です。
236
312
 
237
313
 
238
314
 

1

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

2020/04/18 07:15

投稿

mi000
mi000

スコア4

test CHANGED
File without changes
test CHANGED
@@ -24,19 +24,11 @@
24
24
 
25
25
 
26
26
 
27
- 【サブテーブル
27
+ 【サブテーブル】
28
-
29
-
30
-
31
- ┃開始日(日付)┃~┃終了日(日付)┃
28
+
32
-
33
-
34
-
35
- 【サブテーブル2】
29
+
36
-
37
-
38
-
30
+
39
- ┃施設名(ドロップダウン)┃金額/日数分(計算)┃金額/1日分(計算)┃
31
+ 開始日(日付)┃~┃終了日(日付)┃総日数(計算)┃施設名(ドロップダウン)┃人数(計算)┃金額/日数分(計算)┃金額/1日分(計算)┃
40
32
 
41
33
 
42
34
 
@@ -60,7 +52,7 @@
60
52
 
61
53
 
62
54
 
63
- ┃施設名(ドロップダウン)┃団体名(文字列)┃金額(1日分)(数値)┃
55
+ ┃施設名(ドロップダウン)┃団体名(文字列)┃金額(1日分)(数値)┃人数(数値)┃
64
56
 
65
57
 
66
58
 
@@ -68,7 +60,7 @@
68
60
 
69
61
 
70
62
 
71
- ┃施設名(ドロップダウン)┃団体名(文字列)┃金額(1日分)(数値)┃
63
+ ┃施設名(ドロップダウン)┃団体名(文字列)┃金額(1日分)(数値)┃人数(数値)┃
72
64
 
73
65
 
74
66
 
@@ -76,7 +68,7 @@
76
68
 
77
69
 
78
70
 
79
- ┃施設名(ドロップダウン)┃団体名(文字列)┃金額(1日分)(数値)┃
71
+ ┃施設名(ドロップダウン)┃団体名(文字列)┃金額(1日分)(数値)┃人数(数値)┃
80
72
 
81
73
 
82
74
 
@@ -84,7 +76,9 @@
84
76
 
85
77
 
86
78
 
79
+ 開始日から終了日までの期間,レコード一覧から抽出集計し
80
+
87
- 開始から終了日までの期間、日報フォームに団体名&施設名ごとに金額(1日分)を映したいのですが可能でしょうか?
81
+ 日報フォームに団体名&施設名ごとに金額(1日分)を映したいのですが可能でしょうか?
88
82
 
89
83
 
90
84
 
@@ -100,192 +94,134 @@
100
94
 
101
95
  ```ここに言語名を入力
102
96
 
103
- //複数アプリ用
104
-
105
- //★1つ目
106
-
107
- (function () {
108
-
109
- "use strict";
110
-
111
-   //アプリAの操作
112
-
113
-   var App1 = {};
114
-
115
-   App1.APP_ID = kintone.app.getId();
116
-
117
-   App1.APP_NAME = "アプリAシステム";
118
-
119
-   //報フォームアプリの操作
120
-
121
-   var App2 = {};
122
-
123
-   App2.APP_ID = 0;
124
-
125
-   App2.APP_NAME = "日報フォーム";
126
-
127
-
128
-
129
-   //アプリAシステムレコード追加画面(保存実行)で、
130
-
131
-   //日報フォームアプリに情報を追加する
132
-
133
-   kintone.events.on("app.record.create.show", function(event) {
134
-
135
-     //追加しようとしているレコードのテーブル値取得
136
-
137
-     var Table1 = event.record['Table_1'].value;
138
-
139
-     App1.insert(Table1).then(function(resp) {
140
-
141
-       if (resp === false) {
142
-
143
-         alert('* NG * 追加失敗');
144
-
145
-       }
146
-
147
-       return event;
148
-
149
-     }).catch(function(resp) {
150
-
151
-       event.error = '*** NG *** ' + costApp.APP_NAME + 'に登録できませんでした。';
152
-
153
-      
154
-
155
-       return event;
156
-
157
-     });
158
-
159
-   });
97
+ (function() {
98
+
99
+ "use strict";
100
+
101
+ kintone.events.on(["app.record.create.change.開始日", "app.record.edit.change.開始日"], function(e) {
102
+
103
+ var date = e.record["開始日"].value;
104
+
105
+ // アプリAから取得したデータ格納用
106
+
107
+ var orderdatas = {};
108
+
109
+ var body = {
110
+
111
+ 'app': 000, // アプリAのアプリID
112
+
113
+ 'query': '開始 = "' + date + '"'
114
+
115
+ }
116
+
117
+ kintone.api(kintone.api.url('/k/v1/records', true), 'GET', body, function(resp) {
118
+
119
+ resp.records.forEach(function(record) {
120
+
121
+ var Table = record["アプリA"].value;
122
+
123
+ for (var t = 0; t < Table.length; t++) {
124
+
125
+ var code = Table[t].value["施設名"].value;
126
+
127
+ var name = Table[t].value["団体名"].value;
128
+
129
+           var num = Table[t].value["金額"].value;
130
+
131
+ var num2 = Table[t].value["人数"].value;
132
+
133
+
134
+
135
+ if (orderdatas[code]) {
136
+
137
+ var Num = Number(orderdatas[code]["金額"]);
138
+
139
+ orderdatas[code] = {
140
+
141
+ "施設名": code,
142
+
143
+ "団体名A": name,
144
+
145
+ "金額": Num,
146
+
147
+ "人数": Num2,
148
+
149
+ }
150
+
151
+ }
152
+
153
+ else {
154
+
155
+ orderdatas[code] = {
156
+
157
+ "施設名": code,
158
+
159
+ "団体名": name,
160
+
161
+ "金額": Number(num),
162
+
163
+ "人数": Number(num2),
164
+
165
+ }
166
+
167
+ }
168
+
169
+
170
+
171
+ }
172
+
173
+ });
174
+
175
+ setData();
176
+
177
+ });
178
+
179
+ function setData() {
180
+
181
+ var record = kintone.app.record.get().record;
182
+
183
+ var TableB = record["アプリA"].value;
184
+
185
+ var index = TableB.length - 1;
186
+
187
+       // テーブル初期化
188
+
189
+ for (var i = 0; i <= index; i++) {
190
+
191
+ TableB.splice(0, 1);
192
+
193
+ }
194
+
195
+       // 取得したデータを追加
196
+
197
+ for (var key in orderdatas) {
198
+
199
+ TableB.push({
200
+
201
+ value: {
202
+
203
+ "施設名": {value: orderdatas[key]["施設名"], type: "SINGLE_LINE_TEXT"},
204
+
205
+ "団体名": {value: orderdatas[key]["団体名"], type: "SINGLE_LINE_TEXT"},
206
+
207
+ "金額": {value: Number(orderdatas[key]["金額"]), type: "NUMBER"},
208
+
209
+ "人数": {value: orderdatas[key]["人数"], type: "SINGLE_LINE_TEXT"}
210
+
211
+ }
212
+
213
+ });
214
+
215
+ }
216
+
217
+ kintone.app.record.set({record: record});
218
+
219
+ }
220
+
221
+ });
160
222
 
161
223
  })();
162
224
 
163
-
164
-
165
-
166
-
167
- //★2つ目
168
-
169
- App1.insert = function(table, nextRow) {
170
-
171
-     var row = nextRow || 2;
172
-
173
-     // (施設名が同じ)日報フォームにレコードを取得
174
-
175
-     return costApp.get(table[row]['value']['施設名'].value).then(function(resp) {
176
-
177
-       var costRecord = resp['records'];
178
-
179
-       return costApp.increaseRow(costRecord, table[row].value, 0).then(function(resp4) {
180
-
181
-         row++;
182
-
183
-         if (row < table.length) {
184
-
185
-           return App1.insert(table, row);
186
-
187
-         }
188
-
189
-         return true;
190
-
191
-       }, function(resp4) {
192
-
193
-      
194
-
195
-         row++;
196
-
197
-         if (row < table.length) { 
198
-
199
-           return billApp.insert(table, row); 
200
-
201
-         }
202
-
203
-         return false;
204
-
205
-       });
206
-
207
-     }, function(resp) {
208
-
209
-       return false; 
210
-
211
-     });
212
-
213
-   }; 
214
-
215
-
216
-
217
-
218
-
219
- //日報フォーム用
220
-
221
- App2.get = function(No) {
222
-
223
-     var params = {
224
-
225
-       // 日報フォーム番号
226
-
227
-       "app": App2.APP_ID,
228
-
229
-       // 検索条件
230
-
231
-       "query": '施設名 ="' + No + '"',
232
-
233
-       // 取得項目
234
-
235
-       "fields": ['$id', '$revision', '施設名', 'アプリA']
236
-
237
-     };
238
-
239
-     return kintone.api(kintone.api.url('/k/v1/records', true), 'GET', params);
240
-
241
-   };
242
-
243
-   // テーブル内の1行を更新する(加算)
244
-
245
-   // @param exsitedInf 日報日報フォームのレコード
246
-
247
-   // @param newInf 総合体育館システムの支払情報1件
248
-
249
-   // @param rowIndex 更新する行を示す数(配列の添え字)
250
-
251
-   // @return Promise
252
-
253
-   //
254
-
255
-   App2.increaseRow = function(existedInf, newInf, rowIndex) {
256
-
257
-     var App2Table = existedInf[0]['アプリA'].value;
258
-
259
-     //支払金額を加算する
260
-
261
-     var Value1 = Number(App2Table[rowIndex]['value']['金額'].value);
262
-
263
-     App2Table[rowIndex]['value']['金額'].value = Value1 + Number(newInf['金額'].value);
264
-
265
-     var params = {
266
-
267
-       "app": App2.APP_ID,
268
-
269
-       "id": existedInf[0]['$id'].value,
270
-
271
-       "revision": existedInf[0]['$revision'].value,
272
-
273
-       "record": {
274
-
275
-         "アプリA": { "value": App2Table }
276
-
277
-       }    
278
-
279
-     };
280
-
281
-     // 更新
282
-
283
-     return kintone.api(kintone.api.url('/k/v1/record', true), 'PUT', params);
284
-
285
-   }
286
-
287
- })(); //----- function 
288
-
289
225
  ```
290
226
 
291
227
 
@@ -294,7 +230,9 @@
294
230
 
295
231
 
296
232
 
233
+ Javascript初心者でサブテーブルのコピーのコードを見様見真似で作成してみましたが、全く動かない状態です。
234
+
297
- Javascript初心者で見様見真似で作成してみましたが、どこをどう変えてよいものか・・・これで合っているのかもわからない状態です。
235
+ ここからレコード一覧からの集計方法や日付の期間など、どこをどう変えてよいものか・・・これで合っているのかもわからない状態です。
298
236
 
299
237
 
300
238