Вход | Регистрация


Доступность элементов формы при ТолькоПросмотр = Истина

Доступность элементов формы при ТолькоПросмотр = Истина
Я
   Svetlana_Kazan
 
31.01.18 - 17:04
Необходимо сделать доступной колонку табличной части. Весь проведенный документ становится недоступным для редактирования ТолькоПросмотр = Истина, но для некоторых элементов формы(в том числе и табличной части) ставлю Доступность = Истина(чтобы пользователь не мог редактировать значение, но мог по ссылке открыть в справочнике).
У колонки типа Булево или Строка Доступность = Истина отрабатывает правильно(), но вот доступным сделать колонку типа СправочникСсылка не получается. Что я не учла?
Процедура ДоступностьЭлементовФормы()
Если Объект.Ссылка.Проведен Тогда
    Для Каждого ЭлементФормы Из ЭтаФорма.Элементы Цикл
        Если ЭлементФормы.Имя = "Таблица1Выдано" Тогда
            Продолжить;
        КонецЕсли;
        Если ЭлементФормы.Имя = "Таблица1ПСН" Тогда
            ЭлементФормы.ТолькоПросмотр = Истина;
            ЭлементФормы.Доступность = Истина;
            Продолжить;
        КонецЕсли;
        ...
        ЭлементФормы.ТолькоПросмотр = Истина;
    КонецЦикла;
КонецЕсли;
КонецПроцедуры
 
 
   Вафель
 
1 - 31.01.18 - 17:14
надо наоборот, все остальные поля делать недоступными
   Вафель
 
2 - 31.01.18 - 17:14
а сама форма доступна
   GGDots
 
3 - 31.01.18 - 17:16
Саму таблицу и группу в которой она находится не блокируй, а то если заблокируешь саму таблицу, а колонку в ней сделаешь доступной - то колонка не будет доступна, так как родитель заблокирован
   Масянька
 
4 - 31.01.18 - 17:19
(0) Если форма = только просмотр - никак не открыть некоторые реквизиты.
Обход в (1).
   GGDots
 
5 - 31.01.18 - 17:20
Если Объект.Ссылка.Проведен Тогда
    
    Для Каждого ЭлементФормы Из ЭтаФорма.Элементы Цикл
        
        
        
        Если ЭлементФормы.Имя = "Таблица1Выдано" Тогда//твоя колонка

            Продолжить;
        КонецЕсли;
        
        Если ЭлементФормы.Имя = "Таблица1" Тогда//твоя таблица

            Продолжить;
        КонецЕсли;    
        
        Если ЭлементФормы.Имя = "Таблица1" Тогда//твоя группа где находится таблица

            Продолжить;
        КонецЕсли;    
        
        
        //еще какие то условия на группы где лежит твоя таблица

        
        ЭлементФормы.ТолькоПросмотр = Истина;    //все остальное блокируем

        
    КонецЦикла;
    
КонецЕсли;
   GGDots
 
6 - 31.01.18 - 17:23
//получше вариант


МассивНеБлокируемыхЭлементов = Новый Массив()
МассивНеБлокируемыхЭлементов.Вставить("Таблица1Выдано");
МассивНеБлокируемыхЭлементов.Вставить("Таблица1");
МассивНеБлокируемыхЭлементов.Вставить("ГруппаТаблица1");

Если Объект.Ссылка.Проведен Тогда
    
    Для Каждого ЭлементФормы Из ЭтаФорма.Элементы Цикл
        
        Если НЕ МассивНеБлокируемыхЭлементов.Найти(ЭлементФормы.Имя) = Неопределено Тогда
             Продолжить;
        КонецЕсли;
        
        ЭлементФормы.ТолькоПросмотр = Истина;    //все остальное блокируем

        
    КонецЦикла;
    
КонецЕсли;
   GGDots
 
7 - 31.01.18 - 17:24
плюс (1) не блокируем саму форму
   Вафель
 
8 - 31.01.18 - 17:28
(7) не у всех элементов есть только просмотр
   GGDots
 
9 - 31.01.18 - 17:35
(8) согласен:

дописать необходимые условия из серии:
        Если ТипЗнч(ТекЭлемент) = Тип("ПолеФормы") И ТекЭлемент.Вид = ВидПоляФормы.ПолеВвода Тогда    
            
            ТекЭлемент.ТолькоПросмотр 
                     
        
            
             
        ИначеЕсли ТипЗнч(ТекЭлемент) = Тип("ТаблицаФормы") Тогда
            
            ТекЭлемент.ТолькоПросмотр 
            
            
        Иначе
            
            ТекЭлемент.Доступность = Настройка.Доступность;
            
            
        КонецЕсли;
   GGDots
 
10 - 31.01.18 - 17:36
здесь с помощью каких либо тэгов вообще можно код нормально вставлять?
 
 Рекламное место пустует
   Волшебник
 
Модератор
11 - 31.01.18 - 17:41
(10) [ 1 C ] ... [ / 1 C ]
без пробелов
   GGDots
 
12 - 31.01.18 - 17:43
(11) - спасибо, попробую в следующий раз
   Svetlana_Kazan
 
13 - 01.02.18 - 11:06
Перепробовала все уже. Все равно недоступна у меня колонка ПСН. Спасибо за помощь!

Список тем форума
Рекламное место пустует  Рекламное место пустует
Закон Брукера: Даже маленькая практика стоит большой теории.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует