Javascriptでテーブルのルックアップ項目に値をセットした場合に取得操作をせずデータを保存したい。

フォームにテーブルを追加し、テーブル内に文字項目や数値項目、日付項目やドロップダウン項目のほかに、ルックアップ項目を定義しています。

また、テーブルに値を追加する際、手入力ではなく、外部ファイルをJavaScriptで取り込み、当該ルックアップ項目にもセットする仕様としています。

セットする際のjsonのtypeは、「SINGLE_LINE_TEXT」です。

ここで、セットは正常にできますが、フォームでデータを保存すると、エラーが表示されて保存できません。保存するには、ルックアップ横の「取得」リンクを押下する必要があります。

この手動操作をせずに、JavaScriptの処理で、取得操作済の状態にする方法はあるでしょうか?

 

RIM さん

「取得」ボタンをクリックせずに自動で取得したいのであれば、
https://developer.cybozu.io/hc/ja/articles/201941984#step8 を利用すれば良いと思います。

record['ルックアップフィールドのフィールドコード']['lookup'] = 'UPDATE';

ルックアップフィールドに何か値をセットした状態で、「取得」ボタンをクリックしない&自動取得もしない は、できなさそうです。
JS でセットするフィールドをルックアップではなく、別のフィールドにするほうが良いのかなと思いました。

ひよこさん

早速の回答ありがとうございました!

取得操作の説明リンクをご教示いただき助かりました。値のセット方法は理解できました。

現在のJavaScriptの処理を見直さないと、この方法でセットできないので、見直した上で試してみます。

また、見直した結果難しい場合、取得だけの処理ができなさそうなので、

ルックアップ項目をやめて、文字列項目に変更することも検討します。

以上です。