|
v7: Выполнение процедуры привязать к событию | ☑ | ||
---|---|---|---|---|
0
Enlighted
03.05.15
✎
16:21
|
Знатоки. Добрый день. Подскажите пожалуйста такую вещь.
На форме имеется поле со списком, как заставить некую процедуру выполняться если пользователь выбрал некое значение в этом списке? |
|||
1
Torquader
03.05.15
✎
16:23
|
Семёрка стандартно выбранное "отдаёт" после перехода к другому полю, так что или фоновое обновление (флажок на форме) или читать, что умеет FormEx.
|
|||
2
ДенисЧ
03.05.15
✎
16:24
|
Блин, 7ку лень запускать...
Смотри СП на предмет предопределенных процедур модуля формы. Там ПриВыборе или похожее по смыслу |
|||
3
Cap_1977
03.05.15
✎
16:32
|
(0) При тыкании пользователя в список значений (либо в список значений с пометками) не происходи смена фокуса элемента. В результате фенкция прицепленная к списку не отрабатывает.
Решение. Повесить на форму скрытое текстовое поле в котором прописать нужную процедуру. Она будет вызваться каждый раз когда пользователь что то ткнул куда то на форме. В ней отлавливать нужное сбытие. Подобное реализовато в типовой ТиС 9.2, например в форме документа реализация. |
|||
4
Остап Сулейманович
03.05.15
✎
16:36
|
(2) ПриНачалеВыбораЗначения(). Хотя не всегда его можно примутить. Например если вставить свою колонку в табличную часть (ну кинуть туда текстовую колонку). Там просто не происходит выбор. Тогда нужно в ПриНачалеРедактированияСтроки() отлавливать АктивныйЭлемент().
|
|||
5
ChMikle
03.05.15
✎
17:22
|
обработкаподбора() , нет ?
|
|||
6
Enlighted
03.05.15
✎
18:21
|
(5) а разве эта процедура сработает с полем со списком?
|
|||
7
Enlighted
03.05.15
✎
18:40
|
Поле со списком называется "ВыборСМС"
Процедура ОбработкаПодбора(ВыборСМС) Сообщить("ну началось"); КОнецПроцедуры Не срабатывает процедура при выборе значения в поле |
|||
8
Cap_1977
03.05.15
✎
18:44
|
Процедура Алерт()
Если Форма.АктивныйЭлемент() = "ВыборСМС" Тогда Сообщить("ну началось"); КонецЕсли; КонецПроцдеуры На форму текстовое поле. Алерт в формулу этого текстового поля. |
|||
9
Zamestas
03.05.15
✎
18:45
|
(8) +1
|
|||
10
Enlighted
03.05.15
✎
19:38
|
Алерт переменная не определена. Походу её надо добавить в реквизиты?
|
|||
11
Enlighted
03.05.15
✎
19:39
|
добавляю скобки в формулу Алерт()
говорит процедура вызывается как функция |
|||
12
Garykom
гуру
03.05.15
✎
19:40
|
(11) ну сделай функцией без возврата значения
|
|||
13
Garykom
гуру
03.05.15
✎
19:41
|
(12)+ и этот вспомогательный текстовый элемент за пределы формы чтобы его не видно или на отдельный слой
|
|||
14
ChMikle
03.05.15
✎
20:39
|
не правильно вопрос понял, думал ты из справочника в списокзначений добавляешь
|
|||
15
ChMikle
03.05.15
✎
20:40
|
тогда функцию засовывай в вызов на форме списка на второй закладке
|
|||
16
Enlighted
03.05.15
✎
21:18
|
(14) Да изначально я добавляю из справочника значения в список значений таким способом.
СправочникСМС = СоздатьОбъект("Справочник.СМС"); СправочникСМС.ВыбратьЭлементы(); сч = 1; ; Пока СправочникСМС.ПолучитьЭлемент() = 1 Цикл ВыборСМС.ДобавитьЗначение(сч, СправочникСМС.наименование); сч = сч + 1; КонецЦикла; А потом когда пользователь в списке выбирает нужное значение, другое текстовое поле на форме должно принят соответствуюее этому значению текст. Вот я и хочу чтобы когда юзер тыкнул по полю со списком событие присвоения сработало. |
|||
17
ChMikle
03.05.15
✎
21:48
|
смотри, в списке на форме можно вставить любую процедуру , которая будет исполняться после выбора значния в списке. Дважды кликнешь и на второй закладке, если память не изменяет
|
|||
18
Enlighted
03.05.15
✎
22:08
|
(17) ИИИИессть спасибо.
|
|||
19
ChMikle
03.05.15
✎
22:16
|
(18) да не за что :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |