ステータスによって入力を不可にしたいと考えています。
具体的には、
ステータス:決裁 or 受注
フィールドA:編集不可
フィールドB:編集不可
グループA:編集不可
のように、ステータスの状態も複数あり、その時に編集不可にして
かつ、グループも編集不可にしたいのですが、
グループはそもそも可能なのでしょうか
グループの場合は、その中のフィールドを指定しないといけないでしょうか。
分かる方がいらっしゃれば教えていただけると幸いです。
ステータスによって入力を不可にしたいと考えています。
具体的には、
ステータス:決裁 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 日が経過したので自動的にクローズされました。新たに返信することはできません。