С5.5 ABC
Доброго дня всем.
Давно уже работает программа, где реализованы права пользователя на Добавление/Изменение/Удаление записи следующим образом:
В Browse прописываем примерно следующее:
If Pr_ins=0 then SELF.InsertControl=0.
If Pr_ch=0 then SELF.ChangeControl=0.
If Pr_del=0 then SELF.DeleteControl=0.
Недавно обнаружен следующий глюк:
У пользователя запрет на изменение записи, права только на просмотр.
Таким образом, SELF.InsertControl=0, SELF.ChangeControl=0, SELF.DeleteControl=0.
Доступна только лишь кнопка "Просмотр", которая открывает Update в режиме ViewRecord.
При проверке VM.Reguest = ViewRecord=6
Но в итоге получается так, что "Вьюшка" позволяет пользователю отредактировать поля и, что самое неприятное, эти изменения сохраняются при выходе из Update-а
Что это может быть?
Заранее спасибо.
Почему некорректно работает ViewRecord?
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
-
- Активист
- Сообщения: 114
- Зарегистрирован: 29 Март 2006, 10:53
- Откуда: Саранск
- Контактная информация:
Почему некорректно работает ViewRecord?
Еще трабл - в режиме ViewRecord стандартная кнопка ?ОК должна быть Disable. У меня же она доступна.
И конструкция:
if WM.Request = ViewRecord
Message('ViewRecord') !Для проверки
Disable(?OK)
END
кнопку не дизейблит.
Может где то есть настройка режима ViewRecord?
И конструкция:
if WM.Request = ViewRecord
Message('ViewRecord') !Для проверки
Disable(?OK)
END
кнопку не дизейблит.
Может где то есть настройка режима ViewRecord?
- Игорь Столяров
- Ветеран движения
- Сообщения: 7373
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
Почему некорректно работает ViewRecord?
Окно в момент выполнения Disable(?OK) открыто ?
За теми кто отстал - не возвращаться. (С) Кодекс
-
- ✯ Ветеран ✯
- Сообщения: 4983
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Почему некорректно работает ViewRecord?
Да. Для начала надо посмотреть эти настройки. В Extensions процедуры это называется "Configure View Only form mode". Это для десятки. Для C55 не помню. Возможно там и нет. В какой версии реквест ViewRecord введён?
We are hard at work… for you.
-
- Активист
- Сообщения: 114
- Зарегистрирован: 29 Март 2006, 10:53
- Откуда: Саранск
- Контактная информация:
Почему некорректно работает ViewRecord?
Так то разобрался...
Нашел где его всё таки дизейлбнуть, но непонятно почему не отрабатывает шаблонно. Есть же там:
Код: Выделить всё
! Open Files
Relate:Opechat.Open
Relate:OtvOpechat.Open
Relate:Podr.Open
Relate:SprDeb.Open
Relate:SprEI.Open
Relate:SprKom.Open
SELF.FilesOpened = True
SELF.Primary &= Relate:PrihMBP
IF SELF.Request = ViewRecord
SELF.InsertAction = Insert:None
SELF.DeleteAction = Delete:None
SELF.ChangeAction = 0
SELF.CancelAction = Cancel:Cancel
SELF.OkControl = 0
ELSE
SELF.OkControl = ?OK
IF SELF.PrimeUpdate() THEN RETURN Level:Notify.
END
! [Priority 7600]
-
- ✯ Ветеран ✯
- Сообщения: 4983
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Почему некорректно работает ViewRecord?
Скорее всего, у Вас в настройках стоит "?OK - None". Поставьте "?OK - Disable" и увидите ниже приведённого Вами текста (в том же самом методе Init) - "DISABLE(?OK)". Я всегда сам контролирую настройки "View Mode", не полагаюсь на стандартный механизм. И, по-моему, в новых версиях (в десятке и т.д.) с этим всё более-менее нормально. А в старых все контролы выставляются в "None" и непонятно зачем.
We are hard at work… for you.