質問編集履歴
4
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -101,6 +101,78 @@
|
|
101
101
|
|
102
102
|

|
103
103
|
|
104
|
-
### 補足情報
|
104
|
+
### 補足情報
|
105
105
|
|
106
|
+
下記のコードにすることで、まずは外部のCSVファイルのインポート(POST)は出来ました。
|
107
|
+
|
108
|
+
```javascript
|
106
|
-
|
109
|
+
jQuery.noConflict();
|
110
|
+
(function ($) {
|
111
|
+
"use strict";
|
112
|
+
|
113
|
+
kintone.events.on(['app.record.index.show'], function (event) {
|
114
|
+
var appId = event.appId;
|
115
|
+
|
116
|
+
//ダイアログでファイルが選択された時の処理
|
117
|
+
$('#selfile').bind('change', function (evt) {
|
118
|
+
//読み込んだファイルをテキストエリアに表示
|
119
|
+
var reader = new FileReader();
|
120
|
+
reader.readAsText(evt.target.files[0]);
|
121
|
+
reader.onerror = function () {
|
122
|
+
alert('ファイル読み取りに失敗しました')
|
123
|
+
}
|
124
|
+
reader.onload = function (ev) {
|
125
|
+
$('textarea[name=\"txt\"]').val(reader.result);
|
126
|
+
};
|
127
|
+
});
|
128
|
+
//「post」ボタン押下時の処理
|
129
|
+
$('#post_btn').bind('click', function () {
|
130
|
+
var text_val = $('textarea[name=\"txt\"]').val();
|
131
|
+
text_val = text_val.replace(/"/g, "");
|
132
|
+
var jsonArray = csv2json(text_val.split('\n'));
|
133
|
+
var obj = []
|
134
|
+
for (var i = 0; i < jsonArray.length; i++) {
|
135
|
+
if (jsonArray[i]['quote_number']) {
|
136
|
+
obj[i] = {
|
137
|
+
'quote_number': {
|
138
|
+
value: jsonArray[i]['quote_number']
|
139
|
+
},
|
140
|
+
'contract_amount': {
|
141
|
+
value: jsonArray[i]['contract_amount']
|
142
|
+
},
|
143
|
+
|
144
|
+
}
|
145
|
+
}
|
146
|
+
}
|
147
|
+
if (window.confirm('データを登録します。よろしいでしょうか?')) {
|
148
|
+
// ログアプリへの登録処理
|
149
|
+
kintone.api('/k/v1/records', 'POST', {
|
150
|
+
app: appId,
|
151
|
+
records: obj
|
152
|
+
}, function (resp) {
|
153
|
+
location.reload();
|
154
|
+
});
|
155
|
+
} else {
|
156
|
+
window.alert('キャンセルされました'); // 警告ダイアログを表示
|
157
|
+
}
|
158
|
+
});
|
159
|
+
//パース処理
|
160
|
+
function csv2json(csvArray) {
|
161
|
+
var jsonArray = [];
|
162
|
+
var items = csvArray[0].split(',');
|
163
|
+
for (var i = 1; i < csvArray.length; i++) {
|
164
|
+
var a_line = {};
|
165
|
+
var csvArrayD = csvArray[i].split(',');
|
166
|
+
// 各データをループ処理する
|
167
|
+
for (var j = 0; j < items.length; j++) {
|
168
|
+
//要素名:items[j]
|
169
|
+
//データ:csvArrayD[j]
|
170
|
+
a_line[items[j]] = csvArrayD[j];
|
171
|
+
}
|
172
|
+
jsonArray.push(a_line);
|
173
|
+
}
|
174
|
+
return jsonArray;
|
175
|
+
}
|
176
|
+
});
|
177
|
+
})(jQuery);
|
178
|
+
```
|
3
コードと追記をいたしました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -42,16 +42,19 @@
|
|
42
42
|
text_val = text_val.replace(/"/g, "");
|
43
43
|
var jsonArray = csv2json(text_val.split('\n'));
|
44
44
|
var obj = [];
|
45
|
+
var j = 0;
|
45
46
|
for (var i = 0; i < jsonArray.length; i++) {
|
46
47
|
if (jsonArray[i]['quote_number']) {
|
48
|
+
j++
|
47
|
-
obj[
|
49
|
+
obj[j - 1] = {
|
50
|
+
'app': appId,
|
48
|
-
|
51
|
+
'records': [{
|
49
52
|
'quote_number': {
|
50
53
|
type: 'SINGLE_LINE_TEXT',
|
51
54
|
value: jsonArray[i]['quote_number']
|
52
55
|
},
|
53
56
|
'contract_amount' : {
|
54
|
-
type: '
|
57
|
+
type: 'NUMBER',
|
55
58
|
value: jsonArray[i]['contract_amount']
|
56
59
|
}
|
57
60
|
}]
|
@@ -93,7 +96,10 @@
|
|
93
96
|
|
94
97
|
### 試したこと
|
95
98
|
|
99
|
+
一つ一つ考えるために、上記のコードにしてみました。
|
100
|
+
その後デバック操作で確認をしてみましたら、登録処理の箇所でエラーが発生しておりました。
|
96
101
|
|
102
|
+

|
97
103
|
|
98
104
|
### 補足情報(FW/ツールのバージョンなど)
|
99
105
|
|
2
フィールドの形式が間違っておりましたので、変更しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -43,26 +43,24 @@
|
|
43
43
|
var jsonArray = csv2json(text_val.split('\n'));
|
44
44
|
var obj = [];
|
45
45
|
for (var i = 0; i < jsonArray.length; i++) {
|
46
|
-
if (jsonArray[i]['
|
46
|
+
if (jsonArray[i]['quote_number']) {
|
47
47
|
obj[i] = {
|
48
|
+
"records": [{
|
48
|
-
|
49
|
+
'quote_number': {
|
49
|
-
|
50
|
+
type: 'SINGLE_LINE_TEXT',
|
50
|
-
|
51
|
+
value: jsonArray[i]['quote_number']
|
51
|
-
|
52
|
+
},
|
52
|
-
|
53
|
+
'contract_amount' : {
|
53
|
-
|
54
|
+
type: 'SINGLE_LINE_TEXT',
|
54
|
-
|
55
|
+
value: jsonArray[i]['contract_amount']
|
55
|
-
},
|
56
|
-
'tax': {
|
57
|
-
type: 'NUMBER',
|
58
|
-
value: jsonArray[i]['tax']
|
59
|
-
|
56
|
+
}
|
60
|
-
|
57
|
+
}]
|
58
|
+
}
|
61
59
|
}
|
62
60
|
}
|
63
61
|
if (window.confirm('データを登録します。よろしいでしょうか?')) {
|
64
62
|
// ログアプリへの登録処理
|
65
|
-
kintone.api('/k/v1/
|
63
|
+
kintone.api('/k/v1/records', 'POST', {
|
66
64
|
app: appId,
|
67
65
|
records: obj
|
68
66
|
}, function (resp) {
|
1
※キーを間違えました。quote_numberです。
title
CHANGED
File without changes
|
body
CHANGED
@@ -6,8 +6,8 @@
|
|
6
6
|
現在、kintone JSを使ってCSVインポートを行いたいと考えております。
|
7
7
|
実現したいことに関しては、下記の通りです。
|
8
8
|
|
9
|
-
1/ CSVインポートを行う。CSV外部ファイルをインポートする。主キーは、【
|
9
|
+
1/ CSVインポートを行う。CSV外部ファイルをインポートする。主キーは、【quote_number】
|
10
|
-
2/ POSTボタンを押下した時点で、
|
10
|
+
2/ POSTボタンを押下した時点で、quote_numberがある場合は、上書きを行い、
|
11
11
|
ない場合は、新規で登録したい。
|
12
12
|
|
13
13
|
こういった処理が初めてなことで、色々と学びながら実現をしたいです。
|