質問編集履歴
2
エラーコード部分を間違えていましたので、再編集しました。
test
CHANGED
File without changes
|
test
CHANGED
@@ -86,17 +86,17 @@
|
|
86
86
|
|
87
87
|
|
88
88
|
|
89
|
-
|
89
|
+
エラーでは、67行目と言われている部分が、本内容では3行目の部分にエラーコードが表示されました。
|
90
90
|
|
91
91
|
```ここに言語を入力
|
92
92
|
|
93
|
-
|
93
|
+
var getMin = Number(get[0])*60 + Number(get[1]);
|
94
94
|
|
95
95
|
```
|
96
96
|
|
97
97
|
|
98
98
|
|
99
|
-
エラー内容。
|
99
|
+
エラー内容です。
|
100
100
|
|
101
101
|
```ここに言語を入力
|
102
102
|
|
1
質問内容を変更致しました。
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
エラーメッセージが表示されています。0ではダメなのでしょうか?『TypeError: Cannot read property '0' of undefined』
|
test
CHANGED
@@ -4,30 +4,112 @@
|
|
4
4
|
|
5
5
|
```ここに言語を入力
|
6
6
|
|
7
|
-
function Day
|
7
|
+
function Dayoff(nickname, get, rowIndex) {
|
8
8
|
|
9
9
|
Logger.log(get);
|
10
10
|
|
11
11
|
var getMin = Number(get[0])*60 + Number(get[1]);
|
12
12
|
|
13
|
+
const id = '112233445566778899aassddffgghhjjkkllqqwweerrtt';
|
14
|
+
|
15
|
+
const sheetName = 'holidays';
|
16
|
+
|
17
|
+
const workDays = SSSQL.OPEN(id).GET(sheetName).SELECT('*').WHERE('名前 = ' + nickname + ' AND 種類 = 休日出社 AND 消滅 > 0 AND 差分 <> 00:00').ORDERBY('取得日時’).RESULT();
|
18
|
+
|
19
|
+
const msg = new Array();
|
20
|
+
|
21
|
+
var i = 0;
|
22
|
+
|
23
|
+
while(getMin > 0) {
|
24
|
+
|
25
|
+
try {
|
26
|
+
|
27
|
+
const value = workDays[i];
|
28
|
+
|
29
|
+
const diff = value['差分'].split(':');
|
30
|
+
|
31
|
+
const diffMin = Number(diff[0])*60 + Number(diff[1]);
|
32
|
+
|
33
|
+
if(diffMin < getMin) {
|
34
|
+
|
35
|
+
getMin -= diffMin;
|
36
|
+
|
37
|
+
SSSQL.OPEN(id).GET(sheetName).UPDATE({ 消化: value['取得'] }, 'rowIndex = ' + value.rowIndex);
|
38
|
+
|
39
|
+
} else {
|
40
|
+
|
41
|
+
const dig = value['消化'] === '' ? [0, 0] : value['消化'].split(':');
|
42
|
+
|
43
|
+
const digMin = getMin + Number(dig[0])*60 + Number(dig[1]);
|
44
|
+
|
45
|
+
SSSQL.OPEN(id).GET(sheetName).UPDATE({ 消化: ('00' + Math.floor(digMin / 60)).slice(-2) + ':' + ('00' + digMin % 60).slice(-2) }, 'rowIndex = ' + value.rowIndex);
|
46
|
+
|
47
|
+
getMin = 0;
|
48
|
+
|
49
|
+
}
|
50
|
+
|
51
|
+
const date = value['取得日時’].split('-');
|
52
|
+
|
53
|
+
date.shift()
|
54
|
+
|
55
|
+
msg.push(date.join('/'));
|
56
|
+
|
57
|
+
}
|
58
|
+
|
59
|
+
catch(e) {
|
60
|
+
|
61
|
+
getMin = 0;
|
62
|
+
|
63
|
+
msg = '申請した内容にエラーが発生しております’;
|
64
|
+
|
65
|
+
SSSQL.OPEN(id).GET(sheetName).UPDATE({ 確認: false }, 'rowIndex = ' + rowIndex);
|
66
|
+
|
67
|
+
GmailApp.sendEmail('kibayashi@foton.jp, nana@foton.jp', '[有休・代休管理]エラー', nickname + ' さんの代休申請の処理でエラーが発生しております。\n’ + e, { noReply: true });
|
68
|
+
|
69
|
+
}
|
70
|
+
|
71
|
+
finally {
|
72
|
+
|
73
|
+
i++;
|
74
|
+
|
75
|
+
}
|
76
|
+
|
77
|
+
}
|
78
|
+
|
79
|
+
msg = Array.isArray(msg) ? msg.join(', ') + '出勤分' : msg;
|
80
|
+
|
81
|
+
SSSQL.OPEN(id).GET(sheetName).UPDATE({ 備考: msg }, 'rowIndex = ' + rowIndex);
|
82
|
+
|
83
|
+
}
|
84
|
+
|
13
85
|
```
|
14
86
|
|
15
|
-
これで全部ではなく、一部抜粋しております。
|
16
87
|
|
17
|
-
そして特にここがどういう動きをしているのか知りたいです。
|
18
88
|
|
19
|
-
|
89
|
+
15行目のここにエラーコードが表示されました。
|
20
90
|
|
91
|
+
```ここに言語を入力
|
92
|
+
|
21
|
-
|
93
|
+
const diffMin = Number(diff[0])*60 + Number(diff[1]);
|
22
94
|
|
23
95
|
```
|
24
96
|
|
25
|
-
調べても、なかなか納得できる答えが見つからず、
|
26
97
|
|
27
|
-
有識者のみなさまに助けていただきたいと思い、
|
28
98
|
|
99
|
+
エラー内容。
|
100
|
+
|
29
|
-
ここに
|
101
|
+
```ここに言語を入力
|
102
|
+
|
103
|
+
エラー
|
104
|
+
|
105
|
+
TypeError: Cannot read property '0' of undefined
|
106
|
+
|
107
|
+
Dayoff @ Google Script.gs:67
|
108
|
+
|
109
|
+
```
|
30
110
|
|
31
111
|
|
32
112
|
|
113
|
+
なぜ、エラーが出るのでしょうか。0だとダメなんでしょうか?
|
114
|
+
|
33
115
|
どうかよろしくお願い致します。
|