Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
29 июн 2024, 05:59

Права доступа для установки флажка

Автор S.Boev, 30 июл 2018, 19:11

0 Пользователей и 1 гость просматривают эту тему.

S.Boev

Привет, форум!
Помогите, пожалуйста, решить задачку:
В документе нужно установить галочку/флажок с наименованием "Подписано руководителем", чтобы документ нельзя было провести без этой галочки. Это сделано. Но как сделать так, чтобы эту галочку мог поставить только один пользователь - руководитель? Или может есть какое-то другое решение этой задачи?
Спасибо.

Alex26

В модуле объекта формы, поищи есть ли процедуры "ПриОткрытии" "ПриСозданииНаСервере" "УстановитьВидимость", в одну из них помести это, но я не знаю что у тебя за конфигурация, по примеру у себя подумай как сделать, данный код в упр формах выполняется только на сервере

Элементы.ПодписанноРук.Доступность = Ложь;
Если ПараметрыСеанса.ТекущийПользователь = Справочники.Пользователи.НайтиПоНаименованию("Руководитель") Тогда //за место руководителя, логин директора вставь

    Элементы.ПодписанноРук.Доступность = Истина;

КонецЕсли;


alex0402

Цитата: Alex26 от 31 июл 2018, 07:24
В модуле объекта формы, поищи есть ли процедуры "ПриОткрытии" "ПриСозданииНаСервере" "УстановитьВидимость", в одну из них помести это, но я не знаю что у тебя за конфигурация, по примеру у себя подумай как сделать, данный код в упр формах выполняется только на сервере

Элементы.ПодписанноРук.Доступность = Ложь;
Если ПараметрыСеанса.ТекущийПользователь = Справочники.Пользователи.НайтиПоНаименованию("Руководитель") Тогда //за место руководителя, логин директора вставь

    Элементы.ПодписанноРук.Доступность = Истина;

КонецЕсли;



будет другой руководитель и придется менять конфигурацию.

есть такая функция РольДоступна(<Роль>)

роль должна быть только у руководителя.
Спасибо за Сказать спасибо

S.Boev

Конфигурация такая:
Управление нашей фирмой, редакция 1.6 (1.6.13.58)
1С:Предприятие 8.3 (8.3.12.1469)

Спасибо, буду пробовать, логику вроде понял.
Добавлено: 31 июл 2018, 12:46


Решили следующим образом:
В Перечислениях создаётся объект СтатусыУтвержденияПлатежей со Значениями – Утвержден и НеУтвержден.
На форме документа создаётся объект "Статус" с полем переключателя и ссылкой на этот объект.


&НаСервере
Процедура СтатусУтвержденияСчетаПриИзмененииНаСервере()
Если ПараметрыСеанса.ТекущийПользователь <> Пользователи.НайтиПоИмени("Иван Иванович") Тогда
Объект.СтатусУтвержденияСчета = Перечисления.СтатусыУтвержденияПлатежей.НеУтвержден;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СтатусУтвержденияСчетаПриИзменении(Элемент)
СтатусУтвержденияСчетаПриИзмененииНаСервере();
КонецПроцедуры

ilyay

Правильно вам советовали использовать "РольДоступна". Не надо было бы хардкодить имя руководителя.
Более правильный вариант - по RLS запретить изменять этот реквизит, кроме как руководителем. Например, для этого создается соответствующий булевский параметр сеанса.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск