Kintone 複数の文字列(1行)フィールドを文字列(複数行)フィールドは、改行をして反映させたい

Kintoneの文字列(1行)フィールド、A・B・C・Dを
文字列(複数行)フィールドへコピーしたいと考えております。

↓反映イメージ
文字列(1行)フイールドA 【改行】
文字列(1行)フイールドB 【改行】
文字列(1行)フイールドC 【改行】
文字列(1行)フイールドD

別の質問で、以下コードがあったので使用したのですが
文字列複数行フィールドに反映はされるものの、
改行が含まれず、結合されてしまいました。

原因などがわかれば教えていただきたいです。

文字列1行を複数行へコピー - kintone カスタマイズ - cybozu developer community

(function() {
‘use strict’;

var fcodes = [‘A’,‘B’,‘C’];
var events = [
‘app.record.create.show’,‘app.record.edit.show’,‘app.record.index.edit.show’
];
fcodes.forEach(function(fc) {
events.push(‘app.record.create.change.’ + fc);
events.push(‘app.record.edit.change.’ + fc);
events.push(‘app.record.index.edit.change.’ + fc);
});

kintone.events.on(events, function(event) {
var record = event.record;
record.D.value = fcodes.map(function(fc) {
return record[fc].value || ‘’;
}).join(‘’);
return event;
});
})();

きっと、コミュニティが新しくなったときに
元のページにあったであろう改行コードが置換されて消えてしまってる感じですね。。。おそらく。

リンク先のページの

改行’’ で区切れば大丈夫です。

は、

改行'\n'で区切れば大丈夫です

と書いてあったんじゃないかなーと思います^^

ご回答ありがとうございます。

正しいコードは以下であってますでしょうか?

(function() {
‘use strict’;

var fcodes = [‘A’,‘B’,‘C’];
var events = [
‘app.record.create.show’,‘app.record.edit.show’,‘app.record.index.edit.show’
];
fcodes.forEach(function(fc) {
events.push(‘app.record.create.change.’ + fc);
events.push(‘app.record.edit.change.’ + fc);
events.push(‘app.record.index.edit.change.’ + fc);
});

kintone.events.on(events, function(event) {
var record = event.record;
record.D.value = fcodes.map(function(fc) {
return record[fc].value || ‘\n’;
}).join(‘’);
return event;
});
})();

スミマセン、確認のために環境準備するのもけっこう手間なのと、
合っているかどうかを判断するという責任重大な役をやりたくないので・・・・^^;

@m_3289 さんの想定通りに行ったら「合っている」だと思います。

上手く行かなかったら、改行\nを入れ忘れている部分をまた探して入力して、やってみる・・・
の繰り返すのが良いと思います(><)

1 Like

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。