Версия для печати темы (https://pro1c.org.ua/index.php?s=c026bf1b976765a90eb1ac19e0d03fa3&showtopic=3624)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.1 (8.0) _ Дать право на редактирование только определенного реквизита

Автор: Log1c 18.05.11, 17:40

Подскажите как дать право на редактирование только определенного реквизита.

Например, Пользователю с ролью МенеджерПоПродажам дать право на изменение реквизита Комментарий в документе ЗаказПокупателя для всех остальных реквизитов право на изменение должно быть закрыто.

Автор: Batchir 18.05.11, 21:45

Программировать нужно. При открытии документа:

Если  РольДоступна("МенеджерПоПродажам ")  Тогда
      ЭлементыФормы.Комментарий.Доступность = Истина;
Иначе
      ЭлементыФормы.Комментарий.Доступность = Ложь;
КонецЕсли;

Автор: Log1c 19.05.11, 7:45

Цитата(Batchir @ 18.05.11, 22:45) *
Программировать нужно. При открытии документа:
Если  РольДоступна("МенеджерПоПродажам ")  Тогда
      ЭлементыФормы.Комментарий.Доступность = Истина;
Иначе
      ЭлементыФормы.Комментарий.Доступность = Ложь;
КонецЕсли;


спасибо, сделаю программно.

Я думал можно сделать так:
Конфигуратор Общие.Роли.МенеджерПоПродажам и в окошке "Ограничение доступа к данным" что-то прописать. Но я так понял ограничения только для одного реквизита сделать с помощью этого механизма не получится.

Еще хотел через RLS но внятного описания с примером так и не нашел.

Автор: Vofka 19.05.11, 8:16

Тремя строчками smile.gif :

Если НЕ РольДоступна("МенеджерПоПродажам ")  Тогда
     ЭлементыФормы.Комментарий.Доступность = Ложь;
КонецЕсли;

Автор: DartRomanius 19.05.11, 9:03

Еще я бы посмотрел в сторону настройки ролей, и условных ограничений доступа.
Механизм на первый взгляд мощный, но я пока не разбирался с ним.
И есть подозрение что он (механизм) только под "Управляемое Приложение".

Да, и если все-таки подойдет, придется выкурить мешок мануалов.

Автор: Log1c 19.05.11, 9:11

Цитата(DartRomanius @ 19.05.11, 10:03) http://pro1c.org.ua/index.php?act=findpost&pid=23644
Тремя строчками smile.gif :
Если НЕ РольДоступна("МенеджерПоПродажам ")  Тогда
     ЭлементыФормы.Комментарий.Доступность = Ложь;
КонецЕсли;


Задача стоит сделать все реквизиты, кроме "Комментарий", недоступными для изменения Пользователю с ролью МенеджерПоПродажам.

Автор: Batchir 19.05.11, 9:27

Если речь идет о уже записанном документе (а я так понимаю так и есть), то самым простым способом вижу открывать форму только для просмотра.
На форму добавить кнопку "Ввести комментарий" - она будет доступна.
При нажатии кнопки открывать диалог для ввода строки.
После окончания ввода передавать строку в комментарий и программно ЗАПИСЫВАТЬ документ - Записать(РежимЗаписиДокумента.Запись)
Должно сработать.

Автор: Log1c 20.05.11, 8:45

Цитата(Batchir @ 19.05.11, 10:27) *
Если речь идет о уже записанном документе (а я так понимаю так и есть), то самым простым способом вижу открывать форму только для просмотра.
На форму добавить кнопку "Ввести комментарий" - она будет доступна.
При нажатии кнопки открывать диалог для ввода строки.
После окончания ввода передавать строку в комментарий и программно ЗАПИСЫВАТЬ документ - Записать(РежимЗаписиДокумента.Запись)
Должно сработать.


спасибо, не знал что 1с такое позволяет делать. Этот способ наиболее предпочтителен тогда.

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua