По теме из базы знаний
- Ограничение прав пользователя на изменение типов объектов конфигурации при помощи расширения
- Ограничение доступа пользователей к внешнему отчёту на СКД
- Настройка ограничений входа пользователей в базу (расширение)
- Доступ на уровне записей в типовых конфигурациях. Настройка доступа пользователей с разделением по подразделениям/складам – практический пример
- Поддержка пользователей [Alt+S] (подключаемое расширение)
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
(3)
как запретить конкретному пользователю(Пусть будет Настя), редактировать документы других пользователей, а конкретно заказы клиенту? 8.3.17.1549
Если нужно запретить редактирование только одного документа, то можно прямо в нем (в процедуре ПриОткрытии()) прописать Этаформа.ТолькоПросмотр для определенного имени пользователя: "пусть будет Настя" - если автор документа не Настя.
(3)
По этому и хотел сделать это расширением, например.
Осталось написать расширение... ;)
(21)
P.S. Учтите: код в (12) не проверяет - кто создал документ? Поэтому, если его использовать "как есть", то Настя потеряет возможность редактировать все заказы, даже свои.
Добавил еще старманю, вдруг кто поможет=)
Выложит готовое расширение? Именно для вашей конфигурации? Ну-ну, удачи!
P.S. Учтите: код в (12) не проверяет - кто создал документ? Поэтому, если его использовать "как есть", то Настя потеряет возможность редактировать все заказы, даже свои.
(8)
Ну роль позволит определить что она только свои заказы должна редактировать, а условие на пользователя идентифицирует пользователя как владельца или нет. Я просто хз по какому полю там определить кто создатель документа
Ну роль позволит определить что она только свои заказы должна редактировать, а условие на пользователя идентифицирует пользователя как владельца или нет. Я просто хз по какому полю там определить кто создатель документа
ЭтаФорма.ТолькоПросмотр = РольДоступна(КакаятоСпециальнаяроль) И ТекущийПользователь <> Объект.Отвественный;
(7)
Ругается на {Запрет Документ.ЗаказКлиента.Форма.ФормаДокумента.Форма(4,49)}: Ожидается символ ')'
ЭтаФорма.ТолькоПросмотр = НЕ РольДоступна(Чтение<<?>> ЭЛН); (Проверка: Сервер)
&НаКлиенте
Процедура Запрет1_ПриОткрытииВместо(Отказ)
ЭтаФорма.ТолькоПросмотр = НЕ РольДоступна(Чтение ЭЛН);
ЭтаФорма.ТолькоПросмотр = РольДоступна(Чтение ЭЛН) И ТекущийПользователь <> Объект.Отвественный;
КонецПроцедуры
Ругается на {Запрет Документ.ЗаказКлиента.Форма.ФормаДокумента.Форма(4,49)}: Ожидается символ ')'
ЭтаФорма.ТолькоПросмотр = НЕ РольДоступна(Чтение<<?>> ЭЛН); (Проверка: Сервер)
&НаСервере
Функция ЭтоНастя()
Настя = Справочники.Пользователи.НайтиПоНаименованию("Настя");
Возврат Настя = ТекущийПользователь() И НЕ(Объект.Ответственный = Настя);
КонецФункции;
&НаКлиенте
Процедура Расш_ПриОткрытииПосле(Отказ)
ЭтаФорма.ТолькоПросмотр = ЭтоНастя():
КонецПроцедуры
Показать
(26)
{Запрет Документ.ЗаказКлиента.Форма.ФормаДокумента.Форма(7,1)}: Неопознанный оператор
<<?>>&НаКлиенте (Проверка: Сервер)
{Запрет Документ.ЗаказКлиента.Форма.ФормаДокумента.Форма(1,1)}: Обнаружено логическое завершение исходного текста модуля (Проверка: Сервер)
UPD убрал точку с запятой после "конец функции" и поставил ЭтаФорма.ТолькоПросмотр = Настя(); точку с запятой вместо двоеточия
Теперь ругается только на "Процедура или функция с указанным именем не определена (ТекущийПользователь)"
{Запрет Документ.ЗаказКлиента.Форма.ФормаДокумента.Форма(7,1)}: Неопознанный оператор
<<?>>&НаКлиенте (Проверка: Сервер)
{Запрет Документ.ЗаказКлиента.Форма.ФормаДокумента.Форма(1,1)}: Обнаружено логическое завершение исходного текста модуля (Проверка: Сервер)
UPD убрал точку с запятой после "конец функции" и поставил ЭтаФорма.ТолькоПросмотр = Настя(); точку с запятой вместо двоеточия
Теперь ругается только на "Процедура или функция с указанным именем не определена (ТекущийПользователь)"
(26) Спасибо, разобрался. Работает в таком виде
&НаСервере
Функция Настя()
Настя = Справочники.Пользователи.НайтиПоНаименованию("Анастасия");
Возврат Настя = ПользователиИнформационнойБазы.ТекущийПользователь() И НЕ(Объект.Ответственный = Настя);
КонецФункции
&НаКлиенте
Процедура Запрет1_ПриОткрытииПосле(Отказ)
ЭтаФорма.ТолькоПросмотр = Настя();
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот