Lock the doc so only designated user(s) can modify one field

Suppose I have a table and ask a user to approve each row. Is it possible to designate users to have the right to modify the value of specific fields? (in other words, only one user can modify “Approved?” column while others can add/modify rows)

You can make a button that will modify a row and set the “Approved” status to true, then you can make that button disabled if User().In(@User1, @User2,...).Not(). Then obviously hide the checkbox column and lock the section.

Also in that button’s label you can use a formula to show that it’s already approved, e.g.

IF(
  thisRow.Approved,
  "✔️ Approved",
  "Approve"
)

and add the OR thisRow.Approved = false to the “disable if” clause along with the user whitelist condition.

1 Like

@Paul_Danyliuk Thank you for great support!
One more question here… Can I add a date column which records when this row is approved (in other words, the ‘approved’ column value was changed)? AFAIK, ‘modified on’ field catches the changes of any column.

You can use thisRow.Approved.Modified() to automatically get a timestamp of the last time Approved value was changed, not a whole row.

But for a more reliable approach and since you’re going to use a button anyway, just capture the timestamp when you press the button with a formula like:

thisRow.ModifyRows(
  Approved, true,
  [Approved at], Now()
)
1 Like