ステータスによって入力不可フィールドに設定する

ステータスによって入力を不可にしたいと考えています。

具体的には、

ステータス:決裁 or 受注

フィールドA:編集不可

フィールドB:編集不可

グループA:編集不可

のように、ステータスの状態も複数あり、その時に編集不可にして

かつ、グループも編集不可にしたいのですが、

グループはそもそも可能なのでしょうか

グループの場合は、その中のフィールドを指定しないといけないでしょうか。

分かる方がいらっしゃれば教えていただけると幸いです。

西さんこんにちは。プロジェクト・アスノートの松田です。

すでにお試しのことと思いますが、

グループフィールドに対して設定した編集不可(フィールドの disabledをtrue)設定は、

内部に設置したフィールドには適用されません。

書かれているとおり、グループ内のフィールドを指定する必要があります。

 

一方、フィールドの表示・非表示 (kintone.app.record.setFieldShown)に関しては、

グループフィールドでまとめて設定することができます。

松田様

早速のコメントありがとうございます。

やはり1つずつ設定なのですね!

ちなみにコードなのですが、下記のような記述でステータスの場合分けを増やせばいいでしょうか。

(function () {
“use strict”;

// プロセス管理アクション実行時
kintone.events.on([“app.record.detail.process.proceed”], function(event){
var record = event.record;
var nStatus = event.nextStatus.value;

switch(nStatus){
case “決裁”:
record[‘フィールドA’][‘disabled’] = true; record[‘フィールドB’][‘disabled’] = true; break;
}
return event;
});

})();

 

編集に関する制御なので、新規追加または編集画面の表示イベントではないでしょうか?

まだあまり知識がなく申し訳ありません。

このような感じでしょうか?

(function () {
“use strict”;

// レコード登録/編集画面の表示時
var eventsCreateShow = [‘app.record.create.show’, ‘app.record.index.create.show’,
‘app.record.edit.show’, ‘app.record.index.edit.show’];
kintone.events.on(eventsCreateShow, function(event){
var record = event.record;
var nStatus = event.nextStatus.value;

switch(nStatus){
case “決裁”:
record[‘フィールドA’][‘disabled’] = true;
record[‘フィールドB’][‘disabled’] = true;
}
return event;
});

})();

西さん
まずはドキュメントの、イベントのページをひと通り確認された方がいいと思います。
知識はなくても調べれば書いてありますので。

松田様

ありがとうございます。

おおよそは出来たのですが、

1点テーブル化しているフィールドだけ上手く指定できないのですが

こちらはどのような記述にすればよいかご存知でしょうか。

テーブルの行数指定では出来たのですが、

行が増えた時にもすべてに適用させる場合、変数により指定だとは思いますが

書き方が分からず、、、

この辺はJavaScriptの記述方法でしょうか

 

テーブルの操作に関しては、データの構造が通常フィールドとは違います。

以下のチュートリアルを参考にされてみてはいかがでしょうか。

https://developer.cybozu.io/hc/ja/articles/360027244231

 

※このチュートリアルは、最近どんどん内容が充実してきてるので、

ひと通り学習されることをおススメします。

ありがとうございます。

おかげさまでテーブル化した部分も編集不可に出来ました。

追加でもし分かったらでいいのですが、テーブルの±ボタンを消す方法をご存知でしょうか?

テーブル化している部分を編集不可に出来たのはいいのですが、行追加は可能でそこは入力が可能になってしまいます。

(一度保存すればそこは編集不可にはなるのですが)

ある一定のステータスから編集は出来ないようにするように言われていますので、+ーを押させたくないと思っています。

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