初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2022-11-30 10:28:39

こうらん
Guest

リスト形式のマスタで、ログインユーザ以外の値の変更を禁止したい

いつもお世話になっております。

リスト形式の社員マスタがありまして、社員番号や免許の有無ラジオボタンなどが表示されています。
表示されるレコードは、ログインユーザの所属部署メンバーです。
ログインユーザ以外の同じ部署メンバーの値は表示のみで編集不可としたいのですが・・・

各フィールドの「入力値の制限」の「計算式で制限」に「社員番号 ≠ ログインユーザ番号」と設定してみたのですが、
「「自動車免許有無」は、指定された値のみを割り当てるように設定されています。有効な値を入力してください。」
というダイアログがでるのですが、ここで「レコード復帰」ボタンを押して、続けて出てくる
「このレコードに対するすべての変更を最後に入力された状態に戻しますか?」ダイアログで
復帰ボタンを押してしまうと値が変更できてしまい、以後、警告ダイアログが出ず、変更が自由に可能になってしまいます。

スクリプトトリガのOnObjectEnterで「社員番号 ≠ ログインユーザ番号」なら"元に戻す/再実行[元に戻す]"という
スクリプトを設定してもみたのですが、一回目は変更処理が無効になるものの、同じ動作を二回繰り返すと
やはり値が変更できてしまいます。

どのような設定をすればいいのでしょうか?

#2 2022-11-30 11:16:51

himadanee
Guest

Re: リスト形式のマスタで、ログインユーザ以外の値の変更を禁止したい

フィールド定義でなくレコードアクセス権で設定すべきだと思いますが

#3 2022-11-30 13:08:48

こうらん
Guest

Re: リスト形式のマスタで、ログインユーザ以外の値の変更を禁止したい

himadanee様
>レコードアクセス権で設定すべき
セキュリティ管理からカスタムレコードアクセス件の編集に計算式を設定したところ、期待していだ動作になりました。
ただ一つだけ例外がありまして(後出しで申し訳ありません)、「所属長確認」というチェックボックスフィールドだけは各部署の所属長が同じ課員のレコードに対しても
チェックボックスを入力できるようにしたいのですが、こういったことは可能でしょうか?

#4 2022-11-30 13:13:40

himadanee
Guest

Re: リスト形式のマスタで、ログインユーザ以外の値の変更を禁止したい

スクリプトで設定するようにして、スクリプトには「フルアクセスで実行」にするとか?

そのフィールドだけ別のテーブルにするという方法もあるかも?

#5 2022-11-30 13:18:12

Shin
Member

Re: リスト形式のマスタで、ログインユーザ以外の値の変更を禁止したい

所属長は、別アクセス権セットにして、自所属部署のレコードは編集できる許可を与えればいいです。
もし、「所属長確認」というチェックボックスを入力後にチェックボックスを外すことも禁止したいのでしたら、そのレコードの編集を禁止できるような設定にもできます。
その場合は、さらに上長がチェックを外せるようにしておくといいでしょう。

Last edited by Shin (2022-11-30 14:37:31)

Offline

#6 2022-12-07 09:39:38

こうらん
Guest

Re: リスト形式のマスタで、ログインユーザ以外の値の変更を禁止したい

間が空いてしまい申し訳ございません。
あの後、色々仕様変更がありまして、「所属長マスタ」という新たなテーブルを作成し、そこで該当部署の所属長には"所属長設定"フィールド(チェックボックス)に
チェックを入れると、部下員の"所属長確認"のチェックボックスにチェックが入れれる、という仕様になりました。
社員マスタと所属長マスタは社員マスタでリレーションされており、今まで社員マスタにあった"所属長確認"フィールドは所属長マスタに移動しました。
所属長マスタには現在、"社員番号"・"所属長確認"・"所属長設定"の3つのフィールドがある状態です。(部署についてはおいおい考えていくつもりです)

今回躓いているのは、所属長マスタの"所属長設定"にチェックが入っている管理者で社員マスタにログインした際、"所属長確認"チェックボックスを自由に入力できるのが"所属長設定"にチェックを入れた、いわば所属長のレコードの"所属長確認"チェックしか入力できないことです。
セキュリティ設定や所属長確認チェックボックスを2つ重ねて所属長のみ見えるチェックボックスを重ねたり試行錯誤しているのですが、
いずれも「"所属長設定"にチェックを入れたユーザのレコード」に対しての処理が働いてしまい、
「"所属長設定"にチェックを入れたユーザがログインすると部下員レコードの"所属長確認"チェックを操作」するようにすることができないのです。

とても初歩的な質問な↑に文章が分かりづらく誠に恐縮ですが、ご助言を頂けないでしょうか。

>Shin様
アクセス権の追加は社の取り決めでできない事になっているのです・・・

#7 2022-12-07 10:29:41

Shin
Member

Re: リスト形式のマスタで、ログインユーザ以外の値の変更を禁止したい

アクセス権セットの追加ができないのでしたら、別テーブルにしてもアクセス制限できないので、無意味です。
すべtのフィールドを、職員マスターの中の職権の設定で動きを制限するように作り込むといいでしょう。フィールドが50あれば、そのスクリプトが50本になり、運用が変更されるごとにその50本のメンテナンスが必要でしょうね。
単にフィールドに入れるかどうかは、OnObjectEnter() トリガーで、アカウント名から制限するかどうかをチェックして、制限なら、フィールド移動() スクリプト終了(1) としておけばいいでしょうが。

Last edited by Shin (2022-12-07 10:59:12)

Offline

#8 2022-12-07 16:54:35

チポ
Member

Re: リスト形式のマスタで、ログインユーザ以外の値の変更を禁止したい

> 該当部署の所属長には"所属長設定"フィールド(チェックボックス)に
チェックを入れると、部下員の"所属長確認"のチェックボックスにチェックが入れれる

この所属長確認フィールドは、どのテーブル?

> 社員マスタと所属長マスタは社員マスタでリレーションされており
これは意味不明ですね

> 今まで社員マスタにあった"所属長確認"フィールドは所属長マスタに移動しました
社員マスタには所属長確認フィールドはないのですか?

> 今回躓いているのは、所属長マスタの"所属長設定"にチェックが入っている管理者で
社員マスタにログインした際、"所属長確認"チェックボックスを自由に入力できる

上の説明と矛盾しませんか?


現状の説明と希望がよく分かりませんよ。

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.008 seconds, 9 queries executed - Memory usage: 563.98 KiB (Peak: 579.59 KiB) ]