Кнопка открытия в колонке "Только просмотр"
По теме из базы знаний
Найденные решения
Остальные ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
(1)
для реквизита на события: НачалоВыбора, Очистка, Создание - добавить
Для тч на событие "Выбор" добавить:
для реквизита на события: НачалоВыбора, Очистка, Создание - добавить
СтандартнаяОбработка = Ложь;
Для тч на событие "Выбор" добавить:
Если Поле = Элементы.НоменклатураЗаказы Тогда
ПоказатьЗначение(,Элементы.Заказы.ТекущиеДанные.Номенклатура);
КонецЕсли;
Без кода обойтись можно:
КнопкаВыпадающегоСписка = Нет
КнопкаВыбора = Нет
КнопкаСоздания = Нет
РедактированиеТекста = Ложь
ИсторияВыбораПриВводе = Не использовать
КнопкаВыпадающегоСписка = Нет
КнопкаВыбора = Нет
КнопкаСоздания = Нет
РедактированиеТекста = Ложь
ИсторияВыбораПриВводе = Не использовать
Во первых - спасибо за обсуждение. Задача была по форме с пачкой ТЧ и уже на стадии отладки формы замучило отсутствие возможности открыть ту или иную ссылку. Представленные здесь решения сильно облегчили мне задачу.
Во вторых - из этих идей родился кусок общего клиентского модуля, может кому понадобится:
Элементы - элементы формы;
МассивТЧ - имена табличных частей в типе "Строка", которые необходимо обработать
ТолькоПросмотрТЧ - булево, которое переключает ТЧ в режим просмотра или наоборот
Во вторых - из этих идей родился кусок общего клиентского модуля, может кому понадобится:
// Обрабатывает ячейки табличных частей таким образом чтобы доступ на редактирование был закрыт, но осталась кнопка открытия значения
Процедура УстановкаЗначенийПросмотраВТЧ(Элементы, МассивТЧ, ТолькоПросмотрТЧ) Экспорт
Для Каждого Ячейка Из МассивТЧ Цикл
ЭлементыТабЧасть = Элементы[Ячейка].ПодчиненныеЭлементы;
Для Каждого ЭлементТЧ Из ЭлементыТабЧасть Цикл
Если ЭлементТЧ.Вид = ВидГруппыФормы.ГруппаКолонок Тогда
Для Каждого ПодЭлементТЧ Из ЭлементТЧ.ПодчиненныеЭлементы Цикл
УстановитьЗначенияВЭлементы(ПодЭлементТЧ, ТолькоПросмотрТЧ);
КонецЦикла;
Иначе
УстановитьЗначенияВЭлементы(ЭлементТЧ, ТолькоПросмотрТЧ);
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецПроцедуры
Процедура УстановитьЗначенияВЭлементы(Элемент, ТолькоПросмотрТЧ)
Если Элемент.Вид = ВидПоляФормы.ПолеВвода Тогда
Если ТолькоПросмотрТЧ Тогда
Элемент.КнопкаВыбора = Ложь;
Элемент.КнопкаВыпадающегоСписка = Ложь;
Элемент.КнопкаОчистки = Ложь;
Элемент.КнопкаСоздания = Ложь;
Элемент.КнопкаОткрытия = Истина;
Элемент.РедактированиеТекста = Ложь;
Элемент.ИсторияВыбораПриВводе = ИсторияВыбораПриВводе.НеИспользовать;
Иначе
Элемент.КнопкаВыбора = Неопределено;
Элемент.КнопкаВыпадающегоСписка = Неопределено;
Элемент.КнопкаОчистки = Неопределено;
Элемент.КнопкаСоздания = Неопределено;
Элемент.КнопкаОткрытия = Неопределено;
Элемент.РедактированиеТекста = Истина;
Элемент.ИсторияВыбораПриВводе = ИсторияВыбораПриВводе.Авто;
КонецЕсли;
Иначе
Элемент.Доступность = Не ТолькоПросмотрТЧ;
КонецЕсли;
КонецПроцедуры
ПоказатьЭлементы - элементы формы;
МассивТЧ - имена табличных частей в типе "Строка", которые необходимо обработать
ТолькоПросмотрТЧ - булево, которое переключает ТЧ в режим просмотра или наоборот
Процедура УстановитьРежимТолькоПросмотр(Форма)
Для сч=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" тогда
Форма.ЭлементыФормы[Сч].Доступность = Истина;
Иначе
Форма.ЭлементыФормы[Сч].Доступность = ложь;
КонецЕСли;
ИначеЕсли ТипЗнч(Форма.ЭлементыФормы[Сч])=тип("Кнопка") Тогда
Форма.ЭлементыФормы[Сч].Доступность = ложь;
Иначе
// Форма.ЭлементыФормы[Сч].Доступность = ложь;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Показать
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)