kkk
1
JavaScriptカスタマイズ初心者のため、どなたかご存じでしたらご教示いただきたく存じます。
サブテーブル内の「文字列(複数行)」に入力した内容をテーブル外の「文字列(複数行)」フィールド1つにまとめてコピーするスクリプトの構築が分からず苦戦しております。
結合時は改行にて結合したく、結合タイミングはテーブル行追加し、レコード保存後を想定しております。
他、文字列(1行)を改行で結合や、サブテールを「,」カンマ区切りで結合する方法は見つけているのですが、そもそも本件はJavaにて対応不可でしょうか…。
知識がなく恐縮ですが、お力添えいただければ幸いです。
何卒よろしくお願いいたします。
mura
2
先に結論だけお答えだけすると、可能かと思われます。
保存のタイミングでいいなら、実際にはレコード保存前のイベントが適切かなぁとおもいます。
テーブルの中の文字列(複数行)がフィールドコード text,
テーブルのフィールドコードが table,
結果の出力先文字列(複数行)のフィールドコードがresult
としたとき、下記のようにできるはずです。
(function() {
'use strict';
kintone.events.on(['app.record.create.submit','app.record.edit.submit'], function(event) {
const record = event.record;
// tableの配列をmapで操作して、textの配列をつくる。そのあとjoinしてくっつける。\n は改行
const joinedText = record.table.value.map(r => r.value.text.value).join('\n');
// 結果を格納
record.result.value = joinedText;
return event;
});
})();
kkk
3
mura様
ご返信いただきましてありがとうございます。
詳細と参考画像まで添付いただき、大変助かりました。
こちらのスクリプト是非活用させていただきます。
system
(system)
クローズされました:
4
このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。