Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Форма.ТолькоПросмотр = Истина и разблокировать один реквизит

Форма.ТолькоПросмотр = Истина и разблокировать один реквизит
Я
   idw
 
15.03.19 - 06:31
ПриСозданииНаСервере добавил вызов вот такой процедуры, перед этим отрабатывает Форма.ТолькоПросмотр = Истина,
но все равно табличная часть Документация остается заблокированной. Можно как то открыть доступ?

СписокИсключенияЭлементов = Новый СписокЗначений;
    //СписокИсключенияЭлементов.Добавить(ЭтаФорма.Элементы.ДокументацияПутьКДокументу);
    СписокИсключенияЭлементов.Добавить(ЭтаФорма.Элементы.Документация);

    ДоступностьЭлементовФормыПриСозданииНаСервере(ЭтаФорма,СписокИсключенияЭлементов);
&НаСервере
Процедура ДоступностьЭлементовФормыПриСозданииНаСервере(Форма,СписокЭлементов)
    Если ЗначениеЗаполнено(СписокЭлементов) Тогда
        ЭлементыЗаказа = Новый Структура(СписокЭлементов,);
        Для каждого Элемент Из Форма.Элементы Цикл
            
            Если ЭлементыЗаказа.Свойство(Элемент.Имя) Тогда
                Элемент.Доступность = Истина;
            Иначе
                //исключения, кнопки, группы элементов и ТЧ

                Если ТипЗнч(Элемент) = Тип("ГруппаФормы") ИЛИ ТипЗнч(Элемент) = Тип("КнопкаФормы") Тогда
                    Продолжить;
                КонецЕсли;    
                //ТЧ и ее состав

                Если ТипЗнч(Элемент) = Тип("ТаблицаФормы") Тогда
                    Элемент.ТолькоПросмотр = Истина;
                    Продолжить;
                КонецЕсли;    
                //элементы ТЧ не блокируем они и так "для чтения" по родителю

                Если ТипЗнч(Элемент.Родитель) = Тип("ТаблицаФормы") Тогда
                    Продолжить;
                КонецЕсли;    
                //

                Попытка
                    Элемент.Доступность = Ложь;
                Исключение
                    Продолжить;
                КонецПопытки;
            КонецЕсли;
        КонецЦикла;
    КонецЕсли;
КонецПроцедуры
 
 
   idw
 
1 - 15.03.19 - 06:42
Изначально была цель открыть доступ к реквизиту ТЧ ДокументацияПутьКДокументу, но не получается даже открыть доступ ко всей ТЧ Документация.
   Mankubus
 
2 - 15.03.19 - 06:55
(0) нельзя. Форма.ТолькоПросмотр = Истина, имеет приоритет над всем что ты пишешь ниже
   shuhard
 
3 - 15.03.19 - 06:59
(2) +1
нужно лочить все, кроме 1-го
   idw
 
4 - 15.03.19 - 07:03
(2) то есть после Форма.ТолькоПросмотр = Истина
не откроешь доступ к реквизиту?
   APXi
 
5 - 15.03.19 - 07:34
Нет.
   МимохожийОднако
 
6 - 15.03.19 - 07:34
(4) да
   idw
 
7 - 15.03.19 - 09:28
(5) и (6) однозначные ответы.
В общем убрал Форма.ТолькоПросмотр = Истина,
Добавил туда процедуру ДоступностьЭлементовФормыПриСозданииНаСервере()
Но в процедуре не работает для колонки: Элемент.Доступность = Истина;

Куда копать?
   Cyberhawk
 
8 - 15.03.19 - 09:30
Так доступность и у родительского элемента (таблицы) должна быть наверное
   Cyberhawk
 
9 - 15.03.19 - 09:31
Потренируйся на кошках (внешней обработке с формой) - посоздавай там вложенные элементы (страницу, группу, таблицу, колонку) с разными флажками доступности и выясни, что нужно чтоб твоя колонка была доступна
   Valkyrie
 
10 - 15.03.19 - 09:34
(8) +
Таб часть должна быть доступна тоже.
 
 Рекламное место пустует
   cons24
 
11 - 15.03.19 - 09:39
(0) еще вариант - нарисовать свою форму, где "лишних" реквизитов не будет совсем.

Список тем форума
Рекламное место пустует  Рекламное место пустует
AdBlock убивает бесплатный контент. 1Сергей
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует