Случается так, что мы хотим запретить любые действия пользователя на форме программно. Для этой цели я написал небольшую процедурку. Она принимает форму и устанавливает или снимает запрет использования элементов. Вызывать можно, например, при создании на сервере.
Процедура УстановитьЗапретИзменений(Форма, ЗапретИзменений) Экспорт Для Каждого Элемент Из Форма.Элементы Цикл Если Элемент.Имя = "ФормаКоманднаяПанель" Или //это командная панель (Элемент.Родитель <> Форма И (Элемент.Родитель.Имя = "ФормаКоманднаяПанель" Или //это кнопка командной панели (Служебные.ПеременнаяСодержитСвойство(Элемент.Родитель.Родитель, "Имя") И Элемент.Родитель.Родитель.Имя = "ФормаКоманднаяПанель"))) //это кнопка панели "еще" Тогда Продолжить; КонецЕсли; Если ТипЗнч(Элемент) = Тип("ПолеФормы") Тогда Элемент.ТолькоПросмотр = ЗапретИзменений; ИначеЕсли ТипЗнч(Элемент) = Тип("ПолеФлажкаФормы") Или ТипЗнч(Элемент) = Тип("КнопкаФормы") Тогда Элемент.Доступность = Не ЗапретИзменений; КонецЕсли; КонецЦикла; КонецПроцедуры
Вот как выглядит форма с запретом изменения: