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