テーブル内の特定の1つのフィールドを特定のグループに特定のステータスの時だけ編集権限を付与したい

自前の経費精算アプリで、

フィールドコード[テーブル]のテーブル内の
フィールドコード[内訳]というフィールドのみ、

Garoonに登録ている「経理グループ」のメンバーで、

プロセス管理が、「経理確認中」の時のみ、編集権限をつけたいです。

テーブル内のフィールドはkintoneの標準機能で、権限付与ができなかったので、
JSでカスタマイズするしかないかと思うのですが、
どのように実装したら良いか教えていただけないでしょうか?

アクセス権のレコードで、
ステータスが「経理確認中」で、経理メンバーに閲覧、編集、権限を付与していますが、
テーブル内外全てのフィールドの編集権限がついてしまうのですが、
実際には、「内訳」フィールドのみの編集権限で良い為、
間違えがないように、内訳のみの編集権限とし、そこ以外の編集権限は付与しないでおきたいです。

具体的な実装方法を教えていただけますと幸いです。

こんにちは!

 

「編集不可」にしたい場合は

https://developer.cybozu.io/hc/ja/articles/202166270#step5

こちらを参考に、例えば テーブルの1行目の「名前」フィールドだったら

event.record.テーブル名.value[0].value.名前.disabled=true;

こんな感じで編集不可にできます。

 

しかし、スミマセン、Garoonの登録グループとなると分からなくて(><):sweat_drops::sweat_drops:

↓こういったAPIでログイン中のユーザーがわかるので、特定の方のみ編集可にするなど・・・できるかもです:sweat_drops::sweat_drops:

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

juridon様

丁寧に教えてくださりありがとうございます!

特定のステータスの時にしか、経理グループに編集権限が付いていなかったので、
ステータスを絞って、制御することにして、教えていただいたやり方で以下のように実装し、
編集可能以外のフィールドを編集不可に設定できました。

追加で質問をさせていただきたいのですが、
今の状態で、テーブルの行追加や行削除ができてしまうのですが、
このテーブルの行のプラスボタンやマイナスボタンを押させないような制御はできたりしますでしょうか?

==============

var events1 = [“app.record.edit.show”];
kintone.events.on(events1,function(event){
var record = event.record;
var nStatus = record.ステータス.value;

switch(nStatus){
case “経理確認中”:
record[‘AAA’].disabled=true;
record.テーブル.value.forEach(function(row){
row.value[‘日付’].disabled=true;
row.value[‘税込金額’].disabled=true;
row.value[‘人数’].disabled=true;
row.value[‘BBB’].disabled=true;
})
break;
}
});

こんにちは!

うまく行っているみたいで良かったですε-(´∀`*)ホッ

行の+ーボタンですが、過去のトピックに↓こんなのを見つけましたが、いかがでしょうか:eyes:!?

https://developer.cybozu.io/hc/ja/community/posts/900001862526-%E3%82%B5%E3%83%96%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB%E3%81%AE%E8%A1%8C%E6%95%B0%E5%9B%BA%E5%AE%9A%E3%81%A8%E8%BF%BD%E5%8A%A0%E5%89%8A%E9%99%A4%E3%83%9C%E3%82%BF%E3%83%B3%E3%81%AE%E9%9D%9E%E8%A1%A8%E7%A4%BA

↓こちらを試してみたところ、私の環境でもボタンが消えましたので是非^^
https://developer.cybozu.io/hc/ja/community/posts/115010418386

juridon様

丁寧に教えてくださり、ありがとうございます!

教えていただいた内容で、実装したところ、+ーボタンを非表示にすることができました。

感謝いたします。