Программы "Простой софт" www.prostoysoft.ru
http://prostoysoft.ru/phpBB3/

Запрет редактирования поля в зависимости от роли
http://prostoysoft.ru/phpBB3/viewtopic.php?f=10&t=57919
Страница 1 из 1

Автор:  Ostrovsky [ 09.06.2016 11:49 ]
Заголовок сообщения:  Запрет редактирования поля в зависимости от роли

Приветствую всех участников форума, прошу подсказать как решить мою задачу. Честно изучил похожие темы форума, но решения именно моей задачи не нашел.
MS SQL, версия 2.953. Задача: запрет редактирования полей Field1 и Field2, но разрешить редактировать остальные поля выделенной записи таблицы tblMain пользователям с определенной ролью. При этом добавлять новые записи можно без ограничений.
Смотрел в сторону создания триггера при открытии формы DisableFields "tblMain", но он не срабатывает даже без задания условий.
Спасибо!

Автор:  OMEN [ 09.06.2016 13:54 ]
Заголовок сообщения:  Re: Запрет редактирования поля в зависимости от роли

Неверно команду использовали:
Код:
DisableFields "ADD,EDIT,CUSTOMFIELD"
, т.е. в кавычках через запятую список вн. имен полей. См. руководство по программе.
Также именно для этой цели существует настройка ограничений доступа по полям (вертикальная фильтрация) для пользователей/ролей.
См. руководство по программе + видео о правах доступа.
Также не помешает еще раз перечитать п.1 Правил форума.

Автор:  Ostrovsky [ 09.06.2016 16:57 ]
Заголовок сообщения:  Re: Запрет редактирования поля в зависимости от роли

Извините, при создании сообщения неправильно указал текст триггера, в программе я использовал именно название поля таблицы DisableFields "Field1", и он в программе не отрабатывает.
По вертикальной фильтрации в Правах доступа существуют ограничения "недоступно" и "только просмотр", соответственно при выборе любого из этого пункта добавить новое значение в данное поле будет невозможно.
п.с. OMEN, поверьте, прежде чем создавать новую тему, все источники что имеются у вас на сайте я пересматриваю и зачастую большинство вопросов снимается, но не всегда :) И в любом случае спасибо Вам за терпение!

Автор:  OMEN [ 10.06.2016 13:07 ]
Заголовок сообщения:  Re: Запрет редактирования поля в зависимости от роли

Ostrovsky писал(а):
При этом добавлять новые записи можно без ограничений.
Если имелась ввиду возможность заполнять значения этих полей при создании записи, то так и надо было указать. Я вот не понял этого момента.
В таком случае в настройках полей задаете такие условия (в примере работаю с полем PaymentDocument - Документ):
Код:
ISNULL([ID]) = True | PaymentDocument | Доступность = 1
ISNULL([ID]) = False | PaymentDocument | Доступность = 0


Вложения:
disablefields.gif
disablefields.gif [ 1.8 МБ | Просмотров: 14844 ]

Автор:  Ostrovsky [ 10.06.2016 15:53 ]
Заголовок сообщения:  Re: Запрет редактирования поля в зависимости от роли

Попробовал в Демо базе на Access - данный вариант работает, в моей базе MS SQL нет.
Поправил на
Код:
[ID] = NULL | Field1, Field2 | Enabled | 1

Код:
 [ID] IS NOT NULL | Field1, Field2 | Enabled | 0

и работает! Очень благодарен за помощь!

Автор:  OMEN [ 10.06.2016 16:57 ]
Заголовок сообщения:  Re: Запрет редактирования поля в зависимости от роли

Да, не заметил, что у вас MS SQL. Тогда да, IS NULL и IS NOT NULL

Страница 1 из 1 Часовой пояс: UTC + 4 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/