Событие при смене активного элемента формы
День добрый, коллеги.
Появилась необходимость помнить предыдущий активный элемент на форме (упр)
Есть ли какой-нибудь общий механизм формы (событие), который активируется при смене активного элемента формы чтобы из него получать текущий активный элемент формы?
Прописывать такое в каждом элементе формы очень не хочется, их очень много.
Появилась необходимость помнить предыдущий активный элемент на форме (упр)
Есть ли какой-нибудь общий механизм формы (событие), который активируется при смене активного элемента формы чтобы из него получать текущий активный элемент формы?
Прописывать такое в каждом элементе формы очень не хочется, их очень много.
По теме из базы знаний
- Требование-накладная с просмотром остатков в форме
- Разные хм... неожиданности при работе с УТ 11 и платформой
- Пометка тестовой копии рабочей базы через механизм оповещений и раскрашивание форм (Управляемое приложение)
- Вывод вариантов СКД в таблицы на управляемой форме
- Открыть форму внутри другой формы - наконец-то возможно!
Найденные решения
(9) Вот что сейчас откопал.
Если разместить кнопки в командной панели в выпадающем подменю, то текущий элемент не пропадает. То есть работает так, как тебе надо. Просто команды расположенные в командной панели не проверял, но с меню точно работает.
Если разместить кнопки в командной панели в выпадающем подменю, то текущий элемент не пропадает. То есть работает так, как тебе надо. Просто команды расположенные в командной панели не проверял, но с меню точно работает.
&НаКлиенте
Процедура КомандаВставитьСимвол(Команда)
Перем Текст;
Если Команда = Команды.КомандаВставитьВопрос Тогда
Текст = "?";
ИначеЕсли Команда = Команды.КомандаВставитьВосклицательный Тогда
Текст = "!";
КонецЕсли;
Элемент = ЭтаФорма.ТекущийЭлемент;
Если Элемент = Элементы.Строка1 или Элемент = Элементы.Строка2 Тогда
ВставитьТекст(Элемент, Текст);
КонецЕсли;
КонецПроцедуры
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3) если коротко, то задача следующая:
предыдущий активный элемент формы запоминать и при определенных нажатиях на кнопки формы вносить изменения в этот предыдущий элемент формы, так как при нажатии на кнопку формы текущим элементом становится нажимаемая кнопка формы.
предыдущий активный элемент формы запоминать и при определенных нажатиях на кнопки формы вносить изменения в этот предыдущий элемент формы, так как при нажатии на кнопку формы текущим элементом становится нажимаемая кнопка формы.
(5) на форме есть несколько реквизитов текстовых и всего один ряд уникальных кнопок.
К каждой кнопке привязан один специфичный символ.
Нужно чтобы при нажатии на кнопку мышкой, символ назначенный этой кнопке, записывался в текстовый реквизит, который был активен до нажатия кнопки.
Так надеюсь понятнее написал.
Дублировать ряд кнопок под каждый текстовый реквизит не получиться.
Перевести все реквизиты в таблицу тоже не получится.
К каждой кнопке привязан один специфичный символ.
Нужно чтобы при нажатии на кнопку мышкой, символ назначенный этой кнопке, записывался в текстовый реквизит, который был активен до нажатия кнопки.
Так надеюсь понятнее написал.
Дублировать ряд кнопок под каждый текстовый реквизит не получиться.
Перевести все реквизиты в таблицу тоже не получится.
(9) На попробовать такой вариант. Если символы надо вставлять не прям очень часто и можно это делать двумя нажатиями.
То можно попробовать сделать рядом с реквизитами выпадающие списки для выбора нужного символа.
Или открывать форму с таблицей символов по нажатии кнопки Открыть в реквизитах.
То можно попробовать сделать рядом с реквизитами выпадающие списки для выбора нужного символа.
Или открывать форму с таблицей символов по нажатии кнопки Открыть в реквизитах.
(9) Вот что сейчас откопал.
Если разместить кнопки в командной панели в выпадающем подменю, то текущий элемент не пропадает. То есть работает так, как тебе надо. Просто команды расположенные в командной панели не проверял, но с меню точно работает.
Если разместить кнопки в командной панели в выпадающем подменю, то текущий элемент не пропадает. То есть работает так, как тебе надо. Просто команды расположенные в командной панели не проверял, но с меню точно работает.
&НаКлиенте
Процедура КомандаВставитьСимвол(Команда)
Перем Текст;
Если Команда = Команды.КомандаВставитьВопрос Тогда
Текст = "?";
ИначеЕсли Команда = Команды.КомандаВставитьВосклицательный Тогда
Текст = "!";
КонецЕсли;
Элемент = ЭтаФорма.ТекущийЭлемент;
Если Элемент = Элементы.Строка1 или Элемент = Элементы.Строка2 Тогда
ВставитьТекст(Элемент, Текст);
КонецЕсли;
КонецПроцедуры
Показать
Попробуй воспользоваться событием элемента формы - АвтоПодбор. Даже при простой активизации поля событие выполняется. Запиши оттуда имя элемента формы в реквизит формы, а затем при нажатии кнопки с символом получи реквизит объекта по имени из сохраненного значения реквизита и допиши в него символы.
Придётся для всех элементов, в которые ты записываешь, сделать такое событие.
Объект[ИмяПоляФормыИзРеквизита] = Объект[ИмяПоляФормыИзРеквизита] + СимволСКнопки;
Придётся для всех элементов, в которые ты записываешь, сделать такое событие.
Объект[ИмяПоляФормыИзРеквизита] = Объект[ИмяПоляФормыИзРеквизита] + СимволСКнопки;
(12) Кстати, если у тебя много элементов формы, то ты можешь их затолкать в массив, затем обойти его и каждому элементу из коллекции установить действие - Элементы[ИмяЭлемента].УстановитьДействие("АвтоПодбор", "ОбщаяПроцедураАвтоПодбор");
У тебя получится, что для всех твоих элементов одно событие, которое будет отрабатывать на все эти элементы, куда нужно значение писать, и оно будет тебе последний активированный элемент в переменную записывать, а дальше уже как выше написал
У тебя получится, что для всех твоих элементов одно событие, которое будет отрабатывать на все эти элементы, куда нужно значение писать, и оно будет тебе последний активированный элемент в переменную записывать, а дальше уже как выше написал
(13) Чтобы корректно отработало нужно всем элементам формы присвоить данное действие.
Иначе не всегда информация по текущему элементу будет актуальная.
Не уверен что в дальнейшем по какому-нибудь элементу не потребуется данное действие для другой цели.
Пока решил свою задачу путем создания кнопок в командной панели.
Но всё равно спасибо за помощь.
Иначе не всегда информация по текущему элементу будет актуальная.
Не уверен что в дальнейшем по какому-нибудь элементу не потребуется данное действие для другой цели.
Пока решил свою задачу путем создания кнопок в командной панели.
Но всё равно спасибо за помощь.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот