またまた質問すみません。
現在、スプレッドシートをデータソースとして、従業員の住所録を作っています。
一般の従業員(User)には、以下の権限を与えたいと考えています。
①全従業員のデータの閲覧
②自分のデータ(行)の編集
しかし、②の実現方法が分からず困っています。
「Are updates allowed?」のEXPRESSION ASSISTANTでは、「This formula is not evaluated in the context of a row, so column values are not available.」と書いており、行の値を使うことができません。
②の実現方法を教えてください。
よろしく言お願い致します。
このケースですと、Tableベースの設定ではなく、ROW (行)単位の設定が必要となります。ここで、「自分のデータ(行)」か否かの認定を行うためには、そのテーブルに「Email」のアドレスを保存しているFIELDが必要となります。従業員の住所録、のテーブルですが、EAMILのアドレスの項目はありますか?無い場合はFIELDSの新設とデータの入力を行ってください。
その際、そこに入力されるEmailアドレスはアップシートのアプリのユーザーとして登録する際に利用されるメールアドレスとして下さい。
例えば、
郵便番号 住所1 住所2 電話番号 email
といったfieldsあるとします。
それぞれのfieldの設定に入り EDITIFの項目にAppsheetのExpressionを入力します。Expressionは極めて簡単で
[_thisrow].[email]=useremail()
もしくは単に
[email]=useremail()
でもoKEYです。
uSEREMAIL()という関数はログインしているユーザーのメールアドレスを返します。そのeMAILアドレスのvalueがその行に保存されているemailの値と同じ、つまりは「自分の行」が正の場合のみeditableなるわけです。この関数がfalseである場合は逆に編集が出来ず、結果閲覧のみ。
入力制限をしたいfields、項目すべてにこのeditifの条件を設定してください。
機能実装完了されたようで良かったです。