質問編集履歴
4
間違い修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -152,7 +152,7 @@
|
|
152
152
|
|
153
153
|
if ((file=='')||(punchOut_limit=='')||(break_time=='')){
|
154
154
|
|
155
|
-
|
155
|
+
return false;
|
156
156
|
|
157
157
|
}
|
158
158
|
|
@@ -182,7 +182,7 @@
|
|
182
182
|
|
183
183
|
|
184
184
|
|
185
|
-
if (
|
185
|
+
if (user_info == false){
|
186
186
|
|
187
187
|
return //html画面を書き換えたい(*);
|
188
188
|
|
3
間違い修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -182,7 +182,7 @@
|
|
182
182
|
|
183
183
|
|
184
184
|
|
185
|
-
if (
|
185
|
+
if (file_id == ''){
|
186
186
|
|
187
187
|
return //html画面を書き換えたい(*);
|
188
188
|
|
2
誤字修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
|
9
9
|
打刻アプリを作っており、エラー用のhtmlで起動時のhtmlを書き換えたいです。
|
10
10
|
|
11
|
-
formで送られてきたデータを、対象のスプレットシートから検索し、紐づくデータを返却する
|
11
|
+
formで送られてきたデータを、対象のスプレットシートから検索し、紐づくデータを返却する関数が
|
12
12
|
|
13
13
|
あります。
|
14
14
|
|
1
詳細追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -6,17 +6,29 @@
|
|
6
6
|
|
7
7
|
|
8
8
|
|
9
|
+
打刻アプリを作っており、エラー用のhtmlで起動時のhtmlを書き換えたいです。
|
10
|
+
|
11
|
+
formで送られてきたデータを、対象のスプレットシートから検索し、紐づくデータを返却する変数が
|
12
|
+
|
13
|
+
あります。
|
14
|
+
|
15
|
+
データがかけているときに、エラーとしたいです。
|
16
|
+
|
17
|
+
|
18
|
+
|
9
19
|
コード例
|
10
20
|
|
11
|
-
.html
|
21
|
+
index.html
|
12
22
|
|
13
23
|
```
|
14
24
|
|
15
25
|
<script type="application/javascript">
|
16
26
|
|
27
|
+
//onClick時にformの値を送信する
|
28
|
+
|
17
29
|
function testFormSend(p) {
|
18
30
|
|
19
|
-
google.script.run.withSuccessHandler().
|
31
|
+
google.script.run.withSuccessHandler().main(p.parentNode);
|
20
32
|
|
21
33
|
}
|
22
34
|
|
@@ -25,6 +37,8 @@
|
|
25
37
|
<body>
|
26
38
|
|
27
39
|
<form>
|
40
|
+
|
41
|
+
<input class="form-control" id="user_name" type="text" name="user_name" value=''>
|
28
42
|
|
29
43
|
<input id="button_test" class="btn btn-primary" type="button" name="btn" onclick="testFormSend(this);" value="test">
|
30
44
|
|
@@ -38,17 +52,141 @@
|
|
38
52
|
|
39
53
|
```
|
40
54
|
|
41
|
-
|
55
|
+
/*----------------------------------------------------
|
42
56
|
|
57
|
+
* html表示関数
|
58
|
+
|
59
|
+
* 処理内容
|
60
|
+
|
61
|
+
* htmlを表示する
|
62
|
+
|
63
|
+
* 関数名
|
64
|
+
|
65
|
+
* doGet
|
66
|
+
|
67
|
+
* 引数
|
68
|
+
|
69
|
+
* なし
|
70
|
+
|
71
|
+
* 戻り値
|
72
|
+
|
73
|
+
* html.evaluate();
|
74
|
+
|
75
|
+
*-------------------------------------------------- */
|
76
|
+
|
77
|
+
function doGet() {
|
78
|
+
|
79
|
+
var html = HtmlService.createTemplateFromFile('index');
|
80
|
+
|
43
|
-
|
81
|
+
return html.evaluate();
|
44
82
|
|
45
83
|
}
|
46
84
|
|
47
85
|
|
48
86
|
|
49
|
-
|
87
|
+
/*----------------------------------------------------
|
50
88
|
|
89
|
+
* ユーザー情報取得関数
|
90
|
+
|
91
|
+
* 処理内容
|
92
|
+
|
93
|
+
* ログインユーザーの情報を取得する
|
94
|
+
|
95
|
+
* 関数名
|
96
|
+
|
97
|
+
* getUserInfo
|
98
|
+
|
99
|
+
* 引数
|
100
|
+
|
101
|
+
* user_name : 氏名
|
102
|
+
|
103
|
+
* 戻り値
|
104
|
+
|
105
|
+
* result = [
|
106
|
+
|
107
|
+
* file, : 紐付くスプレットシートid
|
108
|
+
|
109
|
+
* punchIn_limit, : 遅刻の判定基準となる時間
|
110
|
+
|
111
|
+
* punchOut_limit, : 残業の判定基準となる時間
|
112
|
+
|
113
|
+
* break_time : 休憩時間
|
114
|
+
|
115
|
+
* ]
|
116
|
+
|
117
|
+
*-------------------------------------------------- */
|
118
|
+
|
119
|
+
function getUserInfo(user_name){
|
120
|
+
|
121
|
+
var id = 'spreadSheetId';
|
122
|
+
|
123
|
+
var sheet_name = 'USER';
|
124
|
+
|
125
|
+
var spreadSheet = SpreadsheetApp.openById(id);
|
126
|
+
|
127
|
+
var sheet = spreadSheet.getSheetByName(sheet_name);
|
128
|
+
|
129
|
+
var dat = sheet.getDataRange().getValues();
|
130
|
+
|
131
|
+
|
132
|
+
|
133
|
+
for(var i=1;i<dat.length;i++){
|
134
|
+
|
135
|
+
if(dat[i][2] == user_name){
|
136
|
+
|
137
|
+
var range = sheet.getRange(i+1, 2);
|
138
|
+
|
139
|
+
var file = range.getValue();
|
140
|
+
|
141
|
+
var range = sheet.getRange(i+1, 4);
|
142
|
+
|
143
|
+
var punchIn_limit = range.getValue();
|
144
|
+
|
145
|
+
var range = sheet.getRange(i+1, 5);
|
146
|
+
|
147
|
+
var punchOut_limit = range.getValue();
|
148
|
+
|
149
|
+
var range = sheet.getRange(i+1, 6);
|
150
|
+
|
151
|
+
var break_time = Utilities.formatDate(range.getValue(), 'Asia/Tokyo', "HH:mm");
|
152
|
+
|
153
|
+
if ((file=='')||(punchOut_limit=='')||(break_time=='')){
|
154
|
+
|
155
|
+
//return false;
|
156
|
+
|
157
|
+
}
|
158
|
+
|
159
|
+
var result = [file, punchIn_limit, punchOut_limit, break_time];
|
160
|
+
|
161
|
+
return result;
|
162
|
+
|
163
|
+
}
|
164
|
+
|
165
|
+
}
|
166
|
+
|
167
|
+
//return false;
|
168
|
+
|
169
|
+
}
|
170
|
+
|
171
|
+
|
172
|
+
|
173
|
+
|
174
|
+
|
175
|
+
function main(form){
|
176
|
+
|
177
|
+
// 対象ファイル取得
|
178
|
+
|
179
|
+
var user_info = getUserInfo(form.user_name);
|
180
|
+
|
181
|
+
var file_id = user_info[0];
|
182
|
+
|
183
|
+
|
184
|
+
|
185
|
+
if (user_info == ''){
|
186
|
+
|
51
|
-
//html画面を書き換えたい(*)
|
187
|
+
return //html画面を書き換えたい(*);
|
188
|
+
|
189
|
+
}
|
52
190
|
|
53
191
|
}
|
54
192
|
|