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

質問編集履歴

2

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

2021/11/10 02:19

投稿

sweets_code
sweets_code

スコア4

title CHANGED
File without changes
body CHANGED
@@ -42,12 +42,12 @@
42
42
  }
43
43
  ```
44
44
 
45
- 15行目のここにエラーコードが表示されました。
45
+ エラーでは、67行目と言われている部分が、本内容では3行目部分にエラーコードが表示されました。
46
46
  ```ここに言語を入力
47
- const diffMin = Number(diff[0])*60 + Number(diff[1]);
47
+ var getMin = Number(get[0])*60 + Number(get[1]);
48
48
  ```
49
49
 
50
- エラー内容。
50
+ エラー内容です
51
51
  ```ここに言語を入力
52
52
  エラー
53
53
  TypeError: Cannot read property '0' of undefined

1

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

2021/11/10 02:19

投稿

sweets_code
sweets_code

スコア4

title CHANGED
@@ -1,1 +1,1 @@
1
- このコドの和訳をお願したいです。
1
+ エラメッセージが表示されてす。0ではダメなのでしょうか?『TypeError: Cannot read property '0' of undefined』
body CHANGED
@@ -1,17 +1,58 @@
1
1
  以下のコードです。
2
2
 
3
3
  ```ここに言語を入力
4
- function DayOFF(nickname, get, rowIndex) {
4
+ function Dayoff(nickname, get, rowIndex) {
5
5
  Logger.log(get);
6
6
  var getMin = Number(get[0])*60 + Number(get[1]);
7
+ const id = '112233445566778899aassddffgghhjjkkllqqwweerrtt';
8
+ const sheetName = 'holidays';
9
+ const workDays = SSSQL.OPEN(id).GET(sheetName).SELECT('*').WHERE('名前 = ' + nickname + ' AND 種類 = 休日出社 AND 消滅 > 0 AND 差分 <> 00:00').ORDERBY('取得日時’).RESULT();
10
+ const msg = new Array();
11
+ var i = 0;
12
+ while(getMin > 0) {
13
+ try {
14
+ const value = workDays[i];
15
+ const diff = value['差分'].split(':');
16
+ const diffMin = Number(diff[0])*60 + Number(diff[1]);
17
+ if(diffMin < getMin) {
18
+ getMin -= diffMin;
19
+ SSSQL.OPEN(id).GET(sheetName).UPDATE({ 消化: value['取得'] }, 'rowIndex = ' + value.rowIndex);
20
+ } else {
21
+ const dig = value['消化'] === '' ? [0, 0] : value['消化'].split(':');
22
+ const digMin = getMin + Number(dig[0])*60 + Number(dig[1]);
23
+ SSSQL.OPEN(id).GET(sheetName).UPDATE({ 消化: ('00' + Math.floor(digMin / 60)).slice(-2) + ':' + ('00' + digMin % 60).slice(-2) }, 'rowIndex = ' + value.rowIndex);
24
+ getMin = 0;
25
+ }
26
+ const date = value['取得日時’].split('-');
27
+ date.shift()
28
+ msg.push(date.join('/'));
29
+ }
30
+ catch(e) {
31
+ getMin = 0;
32
+ msg = '申請した内容にエラーが発生しております’;
33
+ SSSQL.OPEN(id).GET(sheetName).UPDATE({ 確認: false }, 'rowIndex = ' + rowIndex);
34
+ GmailApp.sendEmail('kibayashi@foton.jp, nana@foton.jp', '[有休・代休管理]エラー', nickname + ' さんの代休申請の処理でエラーが発生しております。\n’ + e, { noReply: true });
35
+ }
36
+ finally {
37
+ i++;
38
+ }
39
+ }
40
+ msg = Array.isArray(msg) ? msg.join(', ') + '出勤分' : msg;
41
+ SSSQL.OPEN(id).GET(sheetName).UPDATE({ 備考: msg }, 'rowIndex = ' + rowIndex);
42
+ }
7
43
  ```
8
- これで全部ではなく、一部抜粋しております。
44
+
9
- そして特にここがどういう動きをているのか知りいです
45
+ 15行目のここにエラーコード表示されました。
10
- ```ここに言語を入力
46
+ ```ここに言語を入力
11
- var getMin = Number(get[0])*60 + Number(get[1]);
47
+ const diffMin = Number(diff[0])*60 + Number(diff[1]);
12
48
  ```
13
- 調べても、なかなか納得できる答えが見つからず、
14
- 有識者のみなさまに助けていただきたいと思い、
15
- ここに質問した次第です。
16
49
 
50
+ エラー内容。
51
+ ```ここに言語を入力
52
+ エラー
53
+ TypeError: Cannot read property '0' of undefined
54
+ Dayoff @ Google Script.gs:67
55
+ ```
56
+
57
+ なぜ、エラーが出るのでしょうか。0だとダメなんでしょうか?
17
58
  どうかよろしくお願い致します。