自動計算の文字列を改行して文字列複数行に結合 空白の場合は#N/A! と表示されてしまう

背景・実現したいこと

自動計算された複数の文字列を改行して文字列複数行に結合

各文字列は自動計算にて文字列を構成しています

それを以前の投稿にあった

複数の文字列を改行して文字列複数行に結合 のコードで利用しようとしたのですが

普通の文字列なら問題ないのですが

自動計算した文字列を結合すると 自動計算された文字列が空白の場合は

#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;

});
})();

 

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