質問編集履歴

2

エラーコード部分を間違えていましたので、再編集しました。

2021/11/10 02:19

投稿

sweets_code
sweets_code

スコア4

test CHANGED
File without changes
test CHANGED
@@ -86,17 +86,17 @@
86
86
 
87
87
 
88
88
 
89
- 15行目のここにエラーコードが表示されました。
89
+ エラーでは、67行目と言われている部分が、本内容では3行目部分にエラーコードが表示されました。
90
90
 
91
91
  ```ここに言語を入力
92
92
 
93
- const diffMin = Number(diff[0])*60 + Number(diff[1]);
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

質問内容を変更致しました。

2021/11/10 02:19

投稿

sweets_code
sweets_code

スコア4

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 DayOFF(nickname, get, rowIndex) {
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
- var getMin = Number(get[0])*60 + Number(get[1]);
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
  どうかよろしくお願い致します。