Программное создание реквизита и установка события нажатие
У меня есть конфигурация в которой я программно создаю элементы формы. Мне необходимо создать поле (чтобы выглядело как реквизит с типом строка, видом поле ввода и чтобы обязательно у него был заголовок, а само поле было правее с одинарной рамкой), но так чтобы нажатие происходило не только по надписи поля, если установить гиперссылку, а по всему полю. Поле может быть как пустое, так и с какими то данными, поэтому мне нужно чтобы оно было полностью нажимаемое. Все перепробовал, но как я понял нажатие по всему полю работает только с декорацией картинкой. Сам реквизит создать я могу, но не знаю какой вид выбрать, чтобы нажатие отрабатывало так, как мне нужно.
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
чтобы нажатие происходило не только по надписи поля, если установить гиперссылку, а по всему полю.
Переведи.
Все перепробовал
Зачем?
нажатие по всему полю работает только с декорацией картинкой
Как бы тебе это сказать... Даже само событие "нажатие" есть только у декорации и картинки. Вот. У других нет.
(5) Создай кнопку... Пример:
Процедура ПриСоздании()
/// 1. Команда
ИмяКнопки = "К_" + СтрЗаменить(XMLСтрока(Номенклатура.Ссылка),"-","_");
КнопкаТовар = ЭтаФорма.Команды.Добавить(ИмяКнопки);
КнопкаТовар.Заголовок = "КнопкаТовара";
КнопкаТовар.Действие = "НажатиеКнопкиТовара";
КнопкаТовар.Отображение = ОтображениеКнопки.КартинкаИТекст;
/// 2. элемент формы
НовыйЭлемент = ЭтаФорма.Элементы.Добавить(ИмяКнопки, Тип("КнопкаФормы"),ГруппаРодитель);
НовыйЭлемент.Заголовок = Строка(Номенклатура.Ссылка); /// Заголовок кнопки
НовыйЭлемент.ИмяКоманды = ИмяКнопки;
НовыйЭлемент.ЦветТекста = WebЦвета.Черный;
НовыйЭлемент.Шрифт = Новый Шрифт(,12);
НовыйЭлемент.ГоризонтальноеПоложениеВГруппе = ГоризонтальноеПоложениеЭлемента.Центр;
НовыйЭлемент.Высота = 2;
//НовыйЭлемент.Картинка = БиблиотекаКартинок.ДругойФрукт40;
НовыйЭлемент.РастягиватьПоВертикали = Истина;
НовыйЭлемент.РастягиватьПоГоризонтали = Истина;
КонецПроцедуры
&НаКлиенте
Процедура НажатиеКнопкиТовара(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = ложь;
Ссылка = ПолучитьСсылкуНадписи(Элемент.Имя,"К_");
//ДобавитьТоварВКорзину(Ссылка); /// тут уже действие с номенклатурой
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПолучитьСсылкуНадписи(ИмяРеквизита,ЗаменяемоеЗначение)
ФорматированнаяСсылка = СтрЗаменить(ИмяРеквизита,ЗаменяемоеЗначение,"");
ФорматированнаяСсылка = СтрЗаменить(ФорматированнаяСсылка,"_","-");
ПолученнаяСсылка = XMLЗначение(Тип("СправочникСсылка.Номенклатура"),ФорматированнаяСсылка);
Возврат ПолученнаяСсылка;
КонецФункции
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот