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

1С:Предприятие ::

Метки: 

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

Я
   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
Перепробовала все уже. Все равно недоступна у меня колонка ПСН. Спасибо за помощь!


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