新規投稿
フォローする

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

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

具体的には、

ステータス:決裁 or 受注

フィールドA:編集不可

フィールドB:編集不可

グループA:編集不可

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

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

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

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

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

0

8件のコメント

Avatar
Shotaro Matsuda

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

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

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

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

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

 

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

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

0
Avatar
西達彦

松田様

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

やはり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;
});

})();

 

0
Avatar
Shotaro Matsuda

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

0
Avatar
西達彦

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

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

(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;
});

})();

0
Avatar
Shotaro Matsuda

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

0
Avatar
西達彦

松田様

ありがとうございます。

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

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

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

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

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

書き方が分からず、、、

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

 

西達彦により編集されました
0
Avatar
Shotaro Matsuda

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

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

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

 

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

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

0
Avatar
西達彦

ありがとうございます。

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

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

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

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

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

0
ログインしてコメントを残してください。