Форма.ТолькоПросмотр() = 1 для документов не сбрасывается в "0"

Новая тема
"Если зайти в 1С с правами Администратора и поставить пользователям допустим с правами Менеджер запрет на изменение проведенных документов, то режим Форма.ТолькоПросмотр() = 1 устанавливается автоматически при открытии документа. Нужно, чтобы при открытии уже проведенного документа в пределах текущей даты у менеджера была возможность изменения этого документа, примерно так:
   Если (глПользователь = "Менеджер") и (ДатаДок =   ПолучитьДатуТА()) Тогда
Форма.ТолькоПросмотр(0);  
   КонецЕсли;

но значение 1 не сбрасывается в 0, оператор внутри "если" не срабатывает."
И не сбросится, раз Вы в конфигураторе поставили запрет на редактирование проведенных документов.
Если Вам нужно самим контролировать доступ на разрешение редактирование в зависимости от даты, так и не закрывайте это в правах, а проверяйте сами  в процедуре Приоткрытии().
Полньстью согласен:)
Настройка прав япляется доминирующей и расширить полномочия Вы сможете только там, а вот ограничить можно и по условиям в модуле формы...
"И так пробовала. Дала доступ и только по условию поставила если вошел как менеджер и дата не текущая то закрыть доступ, то есть с точностью до наоборот - и так на меняется.
То есть
  Если (глПользователь = СокрЛП("Менеджер"))  и (ДатаДок <> ПолучитьДатуТА()) Тогда   Форма.ТолькоПросмотр(1);  
  КонецЕсли;

(при условии разрешения редактирования, установленного в конфигураторе)."
"Процедура ПриОткрытии()
если (имяПользователя()="Менеджер") и (ДатаДок<>ПолучитьДатуТА())
форма. Толькопросмотр(1);
конецесли;
...
конецпроцедуры
Все работает.
Совет. В отладчике посмотрите как идет проверка условий в Вашем случае.
Удачи. "
Всем спасибо. Проблема похоже ждала когда я ее на форум выложу.)) Хождение в трех соснах - оказалось проблема в преобразовании типов. Три дня смотрела на оператор и каждый раз переписывала неправильно. Случай клинический. Случается редко - но случается...
Читают тему
(гостей: 1)

Быстрый переход