Навеяно: Простой доступ только для чтения.
Данное решение работоспособно в типовых решениях, где присутсвует справочник "ГруппыПользователей".
Алгоритм механизма следующий:
1. Создаются подписки на событие ПередЗаписью на все документы/справочники/рс (в чем есть необходимость).
2. В справочнике "ГруппыПользователей" создается элемент, например: "Запрет на запись документа".
3. Далее, в эту группу ("Запрет на запись документа") добавляются элементы, для которых необходимо запретить запись, с именем = Имя справочника/документа/рс .
4. В обработчтике подписки на событие вставляем код:
ИмяОбъекта = Источник.Метаданные().Имя;
ГруппаЗапрета = Справочники.ГруппыПользователей.НайтиПоНаименованию("Запрет на запись документов", Истина);
ОбъектЗапрета = Справочники.ГруппыПользователей.НайтиПоНаименованию(ИмяОбъекта, Истина, ГруппаЗапрета);
Если НЕ ОбъектЗапрета = Справочники.ГруппыПользователей.ПустаяСсылка() Тогда
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ГруппыПользователейПользователиГруппы.Ссылка
|ИЗ
| Справочник.ГруппыПользователей.ПользователиГруппы КАК ГруппыПользователейПользователиГруппы
|ГДЕ
| ГруппыПользователейПользователиГруппы.Пользователь = &Пользователь
| И ГруппыПользователейПользователиГруппы.Ссылка = &Ссылка";
Запрос.УстановитьПараметр("Пользователь", ПараметрыСеанса.ТекущийПользователь);
Запрос.УстановитьПараметр("Ссылка", ОБъектЗапрета);
Результат = Запрос.Выполнить();
Если НЕ Результат.Пустой() Тогда
Отказ = Истина
КонецЕсли;
КонецЕсли;
В итоге имеем механизм, оперативного запрета/разрешения записи любого документа/справочника/РегистраСведений.
P.S. У данного решения остается вопрос с производительность при большом докуметообороте и включенном РЛС. Протестировать пока не представляется возможным.