Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Программное управление справочниками и документами в режиме "ТолькоПросмотр"
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
Constantus
Приветствую, форумчане!
"Управление торговлей 10.3", (Моби-С 5.5). "ABBYY Ukraine", 2003-2014 (2.3.20.1)

Есть такая хотелка у начальника, чтобы запретить или разрешить пользователям иметь возможность редактирования справочников и документов, или оставить в режиме "ТолькоПросмотр"...

Не хочется лесть в Роли, т.к. это будет требовать постоянного изменения конфигурации.

Мелькнула такая мысль: создать некий справочник (или регистр), где будут реквизиты:
Пользователь;
Документ/Справочник ("СправочникМенеджер")
Булево (ТолькоПросмотр)

Далее, для участвующих в процессе блокировке спр/док на событие "При открытии" ставится некая процедура, которая обращается к справочнику Блокировок и считывает режим просмотра, типа, если Булево=Истина, то "ТолькоПросмотр"...

Если ПроверкаНаПросмотр(ТекущийПользователь, ТекущийДокумент) Тогда
ТолькоПросмотр = Истина;
КонецЕсли;

Но никак не могу сообразить как компактно и оптимально реализовать эту хотелку.

Подскажите правильную идею, а то в голову какой-то ... лезет
Flexy
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
       Отказ = Не ОбщийМодульПроверкаДоступа.ПроверитьДоступ(ТекущийПользователь, ТекущийДокумент);
           // ТолькоПросмотр = ОбщийМодульПроверкаДоступа.ПроверитьДоступ(ТекущийПользователь, ТекущийДокумент);
КонецПроцедцры

...

// Общий модуль
Функция ПроверитьДоступ(ТекущийПользователь, ТекущийДокумент) Экспорт
      Запрос = НовыйЗапрос("ВЫБРАТЬ РежимПросмотра ИЗ РегистрСВ ... ГДЕ Пользователь = &ТекущийПользователь И Документ = &ТекущийДокумент);
      Результат = Запрос.Выполнить().Выбрать();
     РазрешенДоступ = Ложь;
      Если Результат.Следующий() Тогда
      Разрешен.Доступ = Результат.РежимПросмотра;
      КонецЕсли;

      Возврат РазрешенДоступ;

КонецФункции
Constantus
Столкнулся с такой проблемой...

При использовании

Сообщить(ЭлементыФормы.Список.ТипЗначения);


получил ответ:

Документ список: Реализация товаров и услуг

А как получить тип значение в виде:

РеализацияТоваровИУслуг
Flexy
Constantus @ Сегодня, 15:08 необходимо зарегистрироваться для просмотра ссылки ,
Док.Метаданные().Имя
Dimtok1985
Constantus @ Вчера, 12:27 необходимо зарегистрироваться для просмотра ссылки ,
А чего не хочется лезть в роли? Создаете роль " запретРедактированияСпрХ" далее назначаете роль пользователям которім нужно ограничить роли. Далее создаете подписку на событие "ПередЗаписью" или перед открытием формы проверяете если роль доступна - отказ. Конечно если сколько пользователей столько и ролей тогда проблематично.

 ! 

необходимо зарегистрироваться для просмотра ссылки: 1
 
logist
Цитата(Dimtok1985 @ 04.10.17, 19:26) необходимо зарегистрироваться для просмотра ссылки
А чего не хочется лезть в роли?

Цитата(Dimtok1985 @ 04.10.17, 19:26) необходимо зарегистрироваться для просмотра ссылки
Конечно если сколько пользователей столько и ролей тогда проблематично.

32542460.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.