背景・実現したいこと
自動計算された複数の文字列を改行して文字列複数行に結合
各文字列は自動計算にて文字列を構成しています
それを以前の投稿にあった
複数の文字列を改行して文字列複数行に結合 のコードで利用しようとしたのですが
普通の文字列なら問題ないのですが
自動計算した文字列を結合すると 自動計算された文字列が空白の場合は
#N/A! と表示されてしまいます。
これを空白にしたいです
入力画面
保存後
エラー情報
#N/A! と表示されてしまう 空白にしたい
利用したソースコード
(function() {
“use strict”;
kintone.events.on([“app.record.create.submit”,“app.record.edit.submit”,“app.record.index.edit.submit”], function(event) {
var record = event.record;
record[‘複数行’].value = record[‘文字列1’].value || ‘’;
record[‘複数行’].value += ‘’;
record[‘複数行’].value += record[[‘文字列2’].value || ‘’;
record[‘複数行’].value += ‘’;
record[‘複数行’].value += record[[‘文字列3’].value || ‘’;return event;
});
})();
白井さん、こんにちは。プロジェクト・アスノートの松田です。
レコードオブジェクトの内容を確認したらわかりますが、
自動計算の結果が空白の場合、そのレコードのvalueは"#N/A!"となっています。
なので、そのままだと現状のようになってしまいます。
回避するためには、値が"#N/A!"のときは空白にする、という処理を入れればいいと思います。
松田様 ありがとうございます
「空白の場合、そのレコードのvalueは"#N/A!"」とても参考になりました。
空白は「“”」と思っていたので if文ではうまく行かずに困っていました
ありがとうございます
改善後
(function() {
“use strict”;
kintone.events.on([“app.record.create.submit”,
“app.record.edit.submit”,
“app.record.index.edit.submit”], function(event) {
var record = event.record;
var gg1 = record[‘文字列1’][‘value’] || ‘’;
var gg2 = record[‘文字列2’][‘value’] || ‘’;
var gg3 = record[‘文字列3’][‘value’] || ‘’;
if (gg1 === “#N/A!”) {record[‘複数行’].value = ‘’ || ‘’;
} else {
record[‘複数行’].value = gg1 || ‘’;
}
record[‘複数行’].value += ‘’;
record[‘複数行’].value += gg2 || ‘’;
record[‘複数行’].value += ‘’;
record[‘複数行’].value += gg3 || ‘’;
return event;
});
})();
system
(system)
クローズされました:
4
このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。