ルックアップのコピー先フィールドを条件付きで編集可能にしたい

初心者です。初めて投稿させて頂きます。

調べながら書いてみたのですが、エラーもなく動きません。

やりたいことは

「ルックアップで、指定文字(unfound)を選択した場合は、

コピー先のフィールド(区分、資格名)を編集可能な状態にしたい。」

です。

編集可能にすることで、マスタからデータを取得してもしなくても良い設定に出来ればと考えています。

恐縮ではございますが、ご教示頂けますでしょうか。

 

(function() {
  ‘use strict’;

kintone.events.on(‘app.record.edit.change.ルックアップ’,(event)=>{

    if (event.record.ルックアップ.value === ‘unfound’){ 
     event.record.区分.disabled = false;
     event.record.資格名.disabled = false;
     
    }else{
     event.record.区分.disabled = true;
     event.record.資格名.disabled = true;
    
    }
     return event;
  });
})();

 

よく読まずに回答してしまいました。申し訳ありません。

'app.record.edit.change.ルックアップ'

ルックアップフィールドはchangeイベントを起こすことができません(こちらのページの「フィールドコードに指定可能なフィールド」しか対応していません)。また、 ルックアップは仕様上「何らかの文字が入力されていながら、取得をしていない場合」はレコードを保存することができません (ルックアップにunfoundを入力するのであれば、取得させるかクリアしなければ保存できません)。

そのため、ルックアップを入力した時に、という処理はできないので、同じような機能を実装する場合、簡単なのはルックアップからコピーされるフィールドを使う方法があります(おそらく区分や資格名でしょうか)。

その上で「ルックアップからコピーされるフィールドが変更された時に」というイベントを起こす必要があるので、現実的な方法としては

①ルックアップがunfoundを取得できるように、ルックアップが参照するアプリに「unfound」のレコードを作成しておく(区分や資格名に何らかの文字が入るようにしておく)
②区分または資格名のchangeイベントでルックアップを参照し、フィールドの入力可否を設定
(①でコピーされるフィールドを区分・資格名以外のダミーフィールドにしても良いかもしれません)

かと思います。もしくは、changeイベントを使うのではなく、ボタンを設置し、そのボタンのクリックイベントでフィールドの入力可否を設定、という方法でも良いかもしれません。

mls-hashimoto様

代替方法としてご教示頂いた内容に変更致しましたら、動くようになりました!

本当に、ありがとうございました。

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