|
Доступность элементов формы при ТолькоПросмотр = Истина | ☑ | ||
---|---|---|---|---|
0
Svetlana_Kazan
31.01.18
✎
17:04
|
Необходимо сделать доступной колонку табличной части. Весь проведенный документ становится недоступным для редактирования ТолькоПросмотр = Истина, но для некоторых элементов формы(в том числе и табличной части) ставлю Доступность = Истина(чтобы пользователь не мог редактировать значение, но мог по ссылке открыть в справочнике).
У колонки типа Булево или Строка Доступность = Истина отрабатывает правильно(), но вот доступным сделать колонку типа СправочникСсылка не получается. Что я не учла? Процедура ДоступностьЭлементовФормы() Если Объект.Ссылка.Проведен Тогда Для Каждого ЭлементФормы Из ЭтаФорма.Элементы Цикл Если ЭлементФормы.Имя = "Таблица1Выдано" Тогда Продолжить; КонецЕсли; Если ЭлементФормы.Имя = "Таблица1ПСН" Тогда ЭлементФормы.ТолькоПросмотр = Истина; ЭлементФормы.Доступность = Истина; Продолжить; КонецЕсли; ... ЭлементФормы.ТолькоПросмотр = Истина; КонецЦикла; КонецЕсли; КонецПроцедуры |
|||
1
Вафель
31.01.18
✎
17:14
|
надо наоборот, все остальные поля делать недоступными
|
|||
2
Вафель
31.01.18
✎
17:14
|
а сама форма доступна
|
|||
3
GGDots
31.01.18
✎
17:16
|
Саму таблицу и группу в которой она находится не блокируй, а то если заблокируешь саму таблицу, а колонку в ней сделаешь доступной - то колонка не будет доступна, так как родитель заблокирован
|
|||
4
Масянька
31.01.18
✎
17:19
|
(0) Если форма = только просмотр - никак не открыть некоторые реквизиты.
Обход в (1). |
|||
5
GGDots
31.01.18
✎
17:20
|
Если Объект.Ссылка.Проведен Тогда
Для Каждого ЭлементФормы Из ЭтаФорма.Элементы Цикл Если ЭлементФормы.Имя = "Таблица1Выдано" Тогда //твоя колонка Продолжить; КонецЕсли; Если ЭлементФормы.Имя = "Таблица1" Тогда //твоя таблица Продолжить; КонецЕсли; Если ЭлементФормы.Имя = "Таблица1" Тогда //твоя группа где находится таблица Продолжить; КонецЕсли; //еще какие то условия на группы где лежит твоя таблица ЭлементФормы.ТолькоПросмотр = Истина; //все остальное блокируем КонецЦикла; КонецЕсли; |
|||
6
GGDots
31.01.18
✎
17:23
|
//получше вариант
МассивНеБлокируемыхЭлементов = Новый Массив() МассивНеБлокируемыхЭлементов.Вставить("Таблица1Выдано"); МассивНеБлокируемыхЭлементов.Вставить("Таблица1"); МассивНеБлокируемыхЭлементов.Вставить("ГруппаТаблица1"); Если Объект.Ссылка.Проведен Тогда Для Каждого ЭлементФормы Из ЭтаФорма.Элементы Цикл Если НЕ МассивНеБлокируемыхЭлементов.Найти(ЭлементФормы.Имя) = Неопределено Тогда Продолжить; КонецЕсли; ЭлементФормы.ТолькоПросмотр = Истина; //все остальное блокируем КонецЦикла; КонецЕсли; |
|||
7
GGDots
31.01.18
✎
17:24
|
плюс (1) не блокируем саму форму
|
|||
8
Вафель
31.01.18
✎
17:28
|
(7) не у всех элементов есть только просмотр
|
|||
9
GGDots
31.01.18
✎
17:35
|
(8) согласен:
дописать необходимые условия из серии: Если ТипЗнч(ТекЭлемент) = Тип("ПолеФормы") И ТекЭлемент.Вид = ВидПоляФормы.ПолеВвода Тогда ТекЭлемент.ТолькоПросмотр ИначеЕсли ТипЗнч(ТекЭлемент) = Тип("ТаблицаФормы") Тогда ТекЭлемент.ТолькоПросмотр Иначе ТекЭлемент.Доступность = Настройка.Доступность; КонецЕсли; |
|||
10
GGDots
31.01.18
✎
17:36
|
здесь с помощью каких либо тэгов вообще можно код нормально вставлять?
|
|||
11
Волшебник
модератор
31.01.18
✎
17:41
|
(10) [ 1 C ] ... [ / 1 C ]
без пробелов |
|||
12
GGDots
31.01.18
✎
17:43
|
(11) - спасибо, попробую в следующий раз
|
|||
13
Svetlana_Kazan
01.02.18
✎
11:06
|
Перепробовала все уже. Все равно недоступна у меня колонка ПСН. Спасибо за помощь!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |