Кнопка открытия в колонке "Только просмотр"

1. PLAstic 295 15.03.19 18:03 Сейчас в теме
Коллеги, подскажите, есть ли возможность в колонке (с объектными сущностями) с признаком "Только просмотр" в ТЧ оставить возможность открытия значения на просмотр? А то после установки ридонли колонка игнорирует любые тычки мышкой.
По теме из базы знаний
Найденные решения
10. Kovekh 18.03.19 07:22 Сейчас в теме
(9)
Если стоит только просмотр, то кнопки открытия не будет) Так что без кода никак не обойтись.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. alxarz 31 15.03.19 19:05 Сейчас в теме
(1) вроде бы за игнорирование любых тычков мышки отвечает свойство "доступность"?
SilinaAlena0303; +1 Ответить
3. PLAstic 295 15.03.19 19:06 Сейчас в теме
(2) Вроде бы. Но к вопросу это не относится.
4. singlych 15.03.19 19:16 Сейчас в теме
(1) обрабатывай событие ТЧ Выбор
5. PLAstic 295 15.03.19 19:26 Сейчас в теме
(4) его не будет. Поле только для просмотра. В обычном интерфейсе можно было сделать только просмотр с кнопкой открытия. Хочется в уф так же.
6. singlych 15.03.19 19:27 Сейчас в теме
7. noprogrammer 237 15.03.19 19:56 Сейчас в теме
(1) сделай общую команду "Открыть значение" и навесь ее на табличную часть, она всегда доступна.
15. Dracarys 28.01.22 10:34 Сейчас в теме
(1)
для реквизита на события: НачалоВыбора, Очистка, Создание - добавить
СтандартнаяОбработка = Ложь;



Для тч на событие "Выбор" добавить:
	
Если Поле = Элементы.НоменклатураЗаказы Тогда
		
	ПоказатьЗначение(,Элементы.Заказы.ТекущиеДанные.Номенклатура);
		
КонецЕсли;
8. user774630 15.03.19 23:29 Сейчас в теме
Сделайте для поля обработчик события ОбработкаВыбора. В нем - ОткрытьЗначение(ВыбраннаяСтрока[Колонка.Имя]).
Будет то что вы хотите. И поле недоступно, и значение можно открыть.
9. PLAstic 295 16.03.19 10:12 Сейчас в теме
Вопрос больше, можно ли это сделать без кода, галками. Но, похоже, нет. Спасибо.
10. Kovekh 18.03.19 07:22 Сейчас в теме
(9)
Если стоит только просмотр, то кнопки открытия не будет) Так что без кода никак не обойтись.
11. ahahaev 11.06.19 10:24 Сейчас в теме
Без кода обойтись можно:

КнопкаВыпадающегоСписка = Нет
КнопкаВыбора = Нет
КнопкаСоздания = Нет
РедактированиеТекста = Ложь
ИсторияВыбораПриВводе = Не использовать
6385232; user943788; mtv79; idiked; Swamt; RIS2020; Berzzz; An-Aleksey; GV.; Tworozhok; malenushka1; +11 Ответить
12. albatros12 26.06.19 10:28 Сейчас в теме
(11) Ещё ОтображениеКнопкиВыбора = В поле ввода
Но по F4 всё равно откроется форма выбора.
RIS2020; Berzzz; GV.; +3 Ответить
14. GV. 1 03.11.21 15:08 Сейчас в теме
(12) F4 можно побороть в обработчике события НачалоВыбора, указав СтандартнаяОбработка = Ложь.
RIS2020; Berzzz; +2 Ответить
13. Sashares 34 26.06.19 10:31 Сейчас в теме
(11)А как на счет запрета очистки? Ее только кодом.
16. Berzzz 18.05.22 07:11 Сейчас в теме
Во первых - спасибо за обсуждение. Задача была по форме с пачкой ТЧ и уже на стадии отладки формы замучило отсутствие возможности открыть ту или иную ссылку. Представленные здесь решения сильно облегчили мне задачу.
Во вторых - из этих идей родился кусок общего клиентского модуля, может кому понадобится:

// Обрабатывает ячейки табличных частей таким образом чтобы доступ на редактирование был закрыт, но осталась кнопка открытия значения
Процедура УстановкаЗначенийПросмотраВТЧ(Элементы, МассивТЧ, ТолькоПросмотрТЧ) Экспорт
	
	Для Каждого Ячейка Из МассивТЧ Цикл
		ЭлементыТабЧасть = Элементы[Ячейка].ПодчиненныеЭлементы;
		Для Каждого ЭлементТЧ Из ЭлементыТабЧасть Цикл
			Если ЭлементТЧ.Вид = ВидГруппыФормы.ГруппаКолонок Тогда
				Для Каждого ПодЭлементТЧ Из ЭлементТЧ.ПодчиненныеЭлементы Цикл
					УстановитьЗначенияВЭлементы(ПодЭлементТЧ, ТолькоПросмотрТЧ);
				КонецЦикла;
			Иначе
				УстановитьЗначенияВЭлементы(ЭлементТЧ, ТолькоПросмотрТЧ);
			КонецЕсли;
		КонецЦикла;
	КонецЦикла;
	
КонецПроцедуры

Процедура УстановитьЗначенияВЭлементы(Элемент, ТолькоПросмотрТЧ)
	
	Если Элемент.Вид = ВидПоляФормы.ПолеВвода Тогда
		Если ТолькоПросмотрТЧ Тогда
			Элемент.КнопкаВыбора			= Ложь;
			Элемент.КнопкаВыпадающегоСписка	= Ложь;
			Элемент.КнопкаОчистки			= Ложь;
			Элемент.КнопкаСоздания			= Ложь;
			Элемент.КнопкаОткрытия			= Истина;
			Элемент.РедактированиеТекста	= Ложь;
			Элемент.ИсторияВыбораПриВводе 	= ИсторияВыбораПриВводе.НеИспользовать;
		Иначе
			Элемент.КнопкаВыбора			= Неопределено;
			Элемент.КнопкаВыпадающегоСписка	= Неопределено;
			Элемент.КнопкаОчистки			= Неопределено;
			Элемент.КнопкаСоздания			= Неопределено;
			Элемент.КнопкаОткрытия			= Неопределено;
			Элемент.РедактированиеТекста	= Истина;
			Элемент.ИсторияВыбораПриВводе	= ИсторияВыбораПриВводе.Авто;
		КонецЕсли;
	Иначе
		Элемент.Доступность = Не ТолькоПросмотрТЧ;
	КонецЕсли;
	
КонецПроцедуры
Показать


Элементы - элементы формы;
МассивТЧ - имена табличных частей в типе "Строка", которые необходимо обработать
ТолькоПросмотрТЧ - булево, которое переключает ТЧ в режим просмотра или наоборот
slige; _LkMaksimka_; vita8383; +3 Ответить
17. enp2003@list.ru 16.05.23 15:19 Сейчас в теме
Процедура УстановитьРежимТолькоПросмотр(Форма) 
	Для сч=0 По Форма.ЭлементыФормы.Количество()-1 Цикл

		Если ТипЗнч(Форма.ЭлементыФормы[Сч])=тип("ПолеВвода") Тогда
			Форма.ЭлементыФормы[Сч].ТолькоПросмотр = истина; 
		ИначеЕсли ТипЗнч(Форма.ЭлементыФормы[Сч])=тип("Флажок") Тогда 	
			Форма.ЭлементыФормы[Сч].Доступность = ложь; 
		ИначеЕсли ТипЗнч(Форма.ЭлементыФормы[Сч])=тип("Надпись") Тогда 	
			//Форма.ЭлементыФормы[Сч].Доступность = ложь; 
			Если Форма.ЭлементыФормы[Сч].Гиперссылка  =  Ложь Тогда
				Форма.ЭлементыФормы[Сч].Доступность = ложь; 
			КонецЕСли;	
		ИначеЕсли ТипЗнч(Форма.ЭлементыФормы[Сч])=тип("ТабличноеПоле") Тогда 		
			Для Сч1=0 По Форма.ЭлементыФормы[Сч].Колонки.Количество()-1 Цикл
				Если ТипЗнч(Форма.ЭлементыФормы[Сч].Колонки[Сч1].ЭлементУправления) = Тип("ПолеВвода") Тогда
					Форма.ЭлементыФормы[Сч].Колонки[Сч1].ЭлементУправления.ТолькоПросмотр = Истина;
				КонецЕСли;
			КонецЦикла;	
		ИначеЕсли ТипЗнч(Форма.ЭлементыФормы[Сч])=тип("КоманднаяПанель") Тогда

			Если Форма.ЭлементыФормы[Сч].Имя = "ОсновныеДействияФормы" тогда
				Для Сч2=0 По Форма.ЭлементыФормы[Сч].Кнопки.Количество()-1 Цикл 	
					Если Форма.ЭлементыФормы[Сч].Кнопки[сч2].Имя = "ДействиеПечать" или
						 Форма.ЭлементыФормы[Сч].Кнопки[сч2].Имя = "ПодменюПечати" или
						 Форма.ЭлементыФормы[Сч].Кнопки[сч2].Имя = "Печать" или
						 Форма.ЭлементыФормы[Сч].Кнопки[сч2].Имя = "Закрыть1" или
						 Форма.ЭлементыФормы[Сч].Кнопки[сч2].Имя = "ОсновныеДействияФормыЗакрыть" или
						 Форма.ЭлементыФормы[Сч].Кнопки[сч2].Имя = "Закрыть" Тогда
						 Форма.ЭлементыФормы[Сч].Кнопки[сч2].Доступность = Истина;
					 Иначе
						 Форма.ЭлементыФормы[Сч].Кнопки[сч2].Доступность = Ложь;	 
					 КонецЕСли;	 
				 КонецЦикла;	
			ИначеЕсли Форма.ЭлементыФормы[Сч].Имя = "ДействияФормы" тогда
				Для Сч2=0 По Форма.ЭлементыФормы[Сч].Кнопки.Количество()-1 Цикл 	
					Если Форма.ЭлементыФормы[Сч].Кнопки[сч2].Имя = "ЭлектронныйДокумент" Тогда							 
						Форма.ЭлементыФормы[Сч].Кнопки[сч2].Доступность = Истина;
					Иначе
						Форма.ЭлементыФормы[Сч].Кнопки[сч2].Доступность = Ложь;	 
					КонецЕСли;	 
				КонецЦикла;	
		ИначеЕсли Форма.ЭлементыФормы[Сч].Имя = "КоманднаяПанель2" тогда
			Форма.ЭлементыФормы[Сч].Доступность = Истина;
		Иначе
			Форма.ЭлементыФормы[Сч].Доступность = ложь; 	
		КонецЕСли;	
		
		ИначеЕсли ТипЗнч(Форма.ЭлементыФормы[Сч])=тип("Кнопка") Тогда	
			Форма.ЭлементыФормы[Сч].Доступность = ложь; 
		Иначе
		//	Форма.ЭлементыФормы[Сч].Доступность = ложь; 
		КонецЕсли;	
	КонецЦикла;	           
		
КонецПроцедуры
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот