|
Форма.ТолькоПросмотр = Истина и разблокировать один реквизит |
☑ |
0
idw
15.03.19
✎
06:31
|
ПриСозданииНаСервере добавил вызов вот такой процедуры, перед этим отрабатывает Форма.ТолькоПросмотр = Истина,
но все равно табличная часть Документация остается заблокированной. Можно как то открыть доступ?
СписокИсключенияЭлементов = Новый СписокЗначений;
//СписокИсключенияЭлементов.Добавить(ЭтаФорма.Элементы.ДокументацияПутьКДокументу);
СписокИсключенияЭлементов.Добавить(ЭтаФорма.Элементы.Документация);
ДоступностьЭлементовФормыПриСозданииНаСервере(ЭтаФорма,СписокИсключенияЭлементов);
&НаСервере
Процедура ДоступностьЭлементовФормыПриСозданииНаСервере(Форма,СписокЭлементов)
Если ЗначениеЗаполнено(СписокЭлементов) Тогда
ЭлементыЗаказа = Новый Структура(СписокЭлементов,);
Для каждого Элемент Из Форма.Элементы Цикл
Если ЭлементыЗаказа.Свойство(Элемент.Имя) Тогда
Элемент.Доступность = Истина;
Иначе
//исключения, кнопки, группы элементов и ТЧ
Если ТипЗнч(Элемент) = Тип("ГруппаФормы") ИЛИ ТипЗнч(Элемент) = Тип("КнопкаФормы") Тогда
Продолжить;
КонецЕсли;
//ТЧ и ее состав
Если ТипЗнч(Элемент) = Тип("ТаблицаФормы") Тогда
Элемент.ТолькоПросмотр = Истина;
Продолжить;
КонецЕсли;
//элементы ТЧ не блокируем они и так "для чтения" по родителю
Если ТипЗнч(Элемент.Родитель) = Тип("ТаблицаФормы") Тогда
Продолжить;
КонецЕсли;
//
Попытка
Элемент.Доступность = Ложь;
Исключение
Продолжить;
КонецПопытки;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
|
|
1
idw
15.03.19
✎
06:42
|
Изначально была цель открыть доступ к реквизиту ТЧ ДокументацияПутьКДокументу, но не получается даже открыть доступ ко всей ТЧ Документация.
|
|
2
Mankubus
15.03.19
✎
06:55
|
(0) нельзя. Форма.ТолькоПросмотр = Истина, имеет приоритет над всем что ты пишешь ниже
|
|
3
shuhard
15.03.19
✎
06:59
|
(2) +1
нужно лочить все, кроме 1-го
|
|
4
idw
15.03.19
✎
07:03
|
(2) то есть после Форма.ТолькоПросмотр = Истина
не откроешь доступ к реквизиту?
|
|
5
APXi
15.03.19
✎
07:34
|
Нет.
|
|
6
Мимохожий Однако
15.03.19
✎
07:34
|
(4) да
|
|
7
idw
15.03.19
✎
09:28
|
(5) и (6) однозначные ответы.
В общем убрал Форма.ТолькоПросмотр = Истина,
Добавил туда процедуру ДоступностьЭлементовФормыПриСозданииНаСервере()
Но в процедуре не работает для колонки: Элемент.Доступность = Истина;
Куда копать?
|
|
8
Cyberhawk
15.03.19
✎
09:30
|
Так доступность и у родительского элемента (таблицы) должна быть наверное
|
|
9
Cyberhawk
15.03.19
✎
09:31
|
Потренируйся на кошках (внешней обработке с формой) - посоздавай там вложенные элементы (страницу, группу, таблицу, колонку) с разными флажками доступности и выясни, что нужно чтоб твоя колонка была доступна
|
|
10
Valkyrie
15.03.19
✎
09:34
|
(8) +
Таб часть должна быть доступна тоже.
|
|
11
cons24
15.03.19
✎
09:39
|
(0) еще вариант - нарисовать свою форму, где "лишних" реквизитов не будет совсем.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший