サブテーブル上ルックアップフィールドに参照先がない場合

お世話になります、こもるーです。

サブテーブル上にルックアップがあるのですが、

受け側はずっと編集できるようにしてあります。

ルックアップの参照先がない場合ももちろん受け側は編集できるのですが、

肝心のルックアップフィールドは取得を行ってください、とエラーで保存ができません。

エラーを無視して保存することは可能でしょうか?

助力になるかわかりませんが、思いついた2パターンを書いておきます。そもそも的を射てなければすいません

  1. 保存時にルックアップのデータがある/ないを判定し、ない場合はLookupをクリアする

https://developer.cybozu.io/hc/ja/articles/202166270#step9

  1. (直接解決ではないですが)逆にonChangeなどのタイミングで早期に自動でルックアップの取得を行わせ、ユーザーにエラーを明示的にする

https://developer.cybozu.io/hc/ja/articles/202166270#step8

村濱一樹様

お世話になります、こもるーです。

上記に頂いたやり方を試してみたのですが、残念ながら少し違くて、、

説明が悪くて大変申し訳ありません。

現在サブテーブル上のルックアップに下記のようなスクリプトを入れています。(一部のみ抜粋)

var tableVal = event.record[‘一覧’].value;
tableVal.forEach(function(column) {
column.value[‘種類’].disabled = false;

これでルックアップで持ってきたところ「種類」の部分を、編集できるようにしてあります。

ただ、本来入力しなくてはならないルックアップのところがマスタにないものを選んで取得するとエラーになるのですが、

マスタにないだけであってこちらとしては正しい値なので、エラーと書いてあってもそのまま種類を入力していっています。

そしてこのまま保存をしたい、というわけなのですが、エラーだから保存できないと怒られる、という感じなのです。

今回の質問については、CSVを流し込んで元を作成するため、ルックアップ先のマスタに登録することや、自作ルックアップを作ることは、考えていません。

やはり難しいでしょうか?

> CSVを流し込んで元を作成するため

とのことなので、編集イベントなどのJSの制御ができないということですかね。厳しそうですね。。

村濱一樹様

ううーん、やっぱり難しいですか。。

この元をCSVで作成しない場合でも厳しいですか?

>ただ、本来入力しなくてはならないルックアップのところがマスタにないものを選んで取得するとエラーになるのですが、

> マスタにないだけであってこちらとしては正しい値なので、エラーと書いてあってもそのまま種類を入力していっています。

> そしてこのまま保存をしたい、というわけなのですが、エラーだから保存できないと怒られる、という感じなのです。

 

ルックアップフィールドでエラーになるものであっても保存したい、という意味であってますか?

であれば、認識の通り自作ルックアップを作るということが直接的解決アプローチになりそうなきがしています

> 自作ルックアップを作ることは、

ルックアップフィールドをやめて、通常のテキストにし、候補としてマスターからデータを取ってきて表示させるが、マスターにないデータも保存できるように…という具合でしょうか。

 

 

 

村濱一樹様

 

>ルックアップフィールドでエラーになるものであっても保存したい、という意味であってますか?

合ってます。

>ルックアップフィールドをやめて、通常のテキストにし、候補としてマスターからデータを取ってきて表示させるが、マスターにないデータも保存できるように…という具合でしょうか。

この方法ってできるんですか??

通常のフィールドの自作ルックアップは見るのですが、サブテーブルでのそれを見た事がないので、できるかどうかもわからず。。

できますが、おそらく懸念されてるようにテーブルに要素を突っ込むのは難しいので、

通常のテーブルは隠し、独自テーブルを実装という感じになると思います。

 

ただ、コストは高そうなので、「ルックアップフィールドでエラーになるものであっても保存する」ということをやめたほうが本当は良さそうに思えますね…

 

 

村濱一樹様

返信が遅くなってしまい、申し訳ありません。

>ただ、コストは高そうなので、「ルックアップフィールドでエラーになるものであっても保存する」ということをやめたほうが本当は良さそうに思えますね…

やはりそうですよね。

実装したいのはやまやまですが、この件について諦めることにします。

相談に乗って頂き、ありがとうございました!