|
v7: Установить курсор на ТЗ | ☑ | ||
---|---|---|---|---|
0
evgpinsk_
21.04.19
✎
14:16
|
Гугл выдаёт много тем, но почемуто не получается.
Есть ТЗ на форме документа. По нажатию кнопки нужна установить курсор на ТЗ (т.е. перенести его с кнопки на ТЗ) ТЗ.ТекущаяСтрока(НужнаяСтрока) - активирует курсор, но фокус остаётся на кнопке также и ТЗ.ПолучитьСтрокуПоНомеру(НужнаяСтрока); Как перенести фокус на таблицу значений ? |
|||
1
Sserj
21.04.19
✎
15:23
|
Ну наверно поможет Активизировать()
|
|||
2
evgpinsk_
21.04.19
✎
15:29
|
(1) Нет, это работает для полей диалога. Для ТЗ - нет
|
|||
3
HawkEye
21.04.19
✎
17:05
|
(2) какого эффекта то хочешь добиться то?
так-то и ТекущаяСтрока и Активизировать - работает.... |
|||
4
Злопчинский
21.04.19
✎
17:48
|
(2) работает и для ТЗ
другое дело что Активизировать не во всяком контексте может выполняться и тогда с ложным закртием формы придетс |
|||
5
vcv
21.04.19
✎
18:25
|
На сколько помнится, активизировать надо не ТЗ, а колонку ТЗ по наименованию.
|
|||
6
evgpinsk_
21.04.19
✎
22:22
|
(3) Нажимаю кнопку, и далее для ускорения процесса фокус должен перейти на ТЗ, чтобы клавиатурой мог перемещаться по ТЗ
|
|||
7
MAG
21.04.19
✎
22:38
|
Активизировать("ТЗ");
Форма.Обновить(); |
|||
8
evgpinsk_
21.04.19
✎
22:42
|
(7) Нет, не проходит. Фокус остаётся на кнопк
|
|||
9
Сияющий в темноте
22.04.19
✎
00:35
|
активизировать строку т.з.со входом в режим редактирования,тогда точно кнопка неактивной станет.
|
|||
10
Злопчинский
22.04.19
✎
00:42
|
(8) ищи где криво.
работает однозначно. я постоянно использую. возможно ТЗ - стоит флаг "недоступно" |
|||
11
HawkEye
22.04.19
✎
09:10
|
(6) после кнопки у меня не получилось, после редактирования ПоляВвода - можно, надо настроить порядок обхода так, чтобы ТЗ стояла после ПоляВводы ))
|
|||
12
evgpinsk_
22.04.19
✎
10:17
|
(11) Т.е по клавише энтер после ПоляВвода? Так какой смысл в коде, если без всякого когда по энтер (или таб) переходит на следующий объект
|
|||
13
HawkEye
22.04.19
✎
10:24
|
(12) никакого, ты разве не знаешь, что лучший код - не написанный код? ))))
|
|||
14
evgpinsk_
22.04.19
✎
10:26
|
(13) А код нужен ).
|
|||
15
HawkEye
22.04.19
✎
10:31
|
(14) ни разу не слышал такой постановки задачи ))))
|
|||
16
evgpinsk_
22.04.19
✎
10:35
|
(15) Стараюсь максимально оптимизировать процессы. Лишний клик мышкой, когда их нужно сделать 100 раз - существенно
|
|||
17
1Сергей
22.04.19
✎
10:41
|
Нет ли на форме текстового поля с функцией, в которой возможно меняется фокус?
|
|||
18
HawkEye
22.04.19
✎
10:54
|
(16) так порядок обхода как раз для того и сделан, чтобы не кликать лишний раз )))
|
|||
19
evgpinsk_
22.04.19
✎
10:57
|
(18) После нажатия Таб или энтер. А щёлкая по кнопке мышкой или клавой, переход фокуса системой не предусмотрен
|
|||
20
Salimbek
22.04.19
✎
11:00
|
(19) Такое пробовал? http://my1c-archive.narod.ru/knowhow/getskod.html
|
|||
21
uno-group
22.04.19
✎
11:16
|
Перем НеЗакрывать;
//******************************************* Процедура ПриЗакрытии() Если НеЗакрывать=1 Тогда Активизировать("ТЗ"); НеЗакрывать=0; СтатусВозврата(0); Возврат; КонецЕсли; КонецПроцедуры //******************************************* Процедура Сформировать() НеЗакрывать=1; Форма.Закрыть(0); КонецПроцедуры //******************************************* Процедура ПриОткрытии() Тз.НоваяКолонка("Кво"); Тз.НоваяСтрока(); Тз.Кво=1; Тз.НоваяСтрока(); Тз.Кво=2; НеЗакрывать=0; КонецПроцедуры //******************************************* Работает 100% |
|||
22
evgpinsk_
22.04.19
✎
12:28
|
(17) Да, скорее всего здесь нужно покапать. (21) На тестовой форме работает, на нужной нет - на ней несколько ТЗ и при обновлении поля ввода происходит перерисовка второй ТЗ.
Это скорее всего и мешает |
|||
23
Ёпрст
22.04.19
✎
13:00
|
(22) перерисовывать нужно не всегда, а только при необходимых условиях.
Фокус ввода можно поместить куда угодно и когда угодно. Хоть штатно, хоть формексом |
|||
24
evgpinsk_
22.04.19
✎
13:27
|
(23) Пока нет времени разобраться, но на требуемом документе фокус не перемещается. Тот же код на пустом внешнем отчёте работает
|
|||
25
uno-group
22.04.19
✎
13:40
|
(24) вставь в правильное место форма.закрыть(0) и будет счастье. Пройтись отладчиком и найти это место 5 минут времени.
|
|||
26
uno-group
22.04.19
✎
13:41
|
какое обновление поля ввода при нажатии кнопки. код в студию.
|
|||
27
evgpinsk_
22.04.19
✎
14:11
|
Да, ошибся с названием таблицы в строке
Активизировать("ТаблицаТоваров"); код (21) заработал |
|||
28
evgpinsk_
22.04.19
✎
14:16
|
Т.е. заработало только через фиктивное закрытие формы
|
|||
29
evgpinsk_
22.04.19
✎
14:18
|
(23) Только через закрытие формы заработало. Штатно:
Активизировать("ТаблицаТоваров"); после нажатия по кнопке - не работает |
|||
30
Ёпрст
22.04.19
✎
14:26
|
(28) ты не поверишь, но ложное закрытие формы - это штатный метод.
|
|||
31
evgpinsk_
22.04.19
✎
14:34
|
(30) Активизировать() - тоже штатное, которое должно работать и без закрытия.
Так? ) |
|||
32
uno-group
23.04.19
✎
12:21
|
Читай синтаксический помощник, он не может быть вызван где угодно.
"Метод Активизировать может быть вызван из другого (внешнего) модуля, если в нем известен контекст формы, в которой нужно активизировать элемент диалога. Доступ к методу возможен только в контексте Модуля формы. " |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |