Имя: Пароль:
1C
1С v8
Не устанавливается ТекущийЭлемент формы.
,
0 depthzer0
 
12.02.13
13:38
Простейшее действия, пытаюсь установить в качестве текущего элемента формы табличное поле:

ЭтаФорма.ТекущийЭлемент = ЭлементыФормы.ТабличноеПоле;

но этого, к сожалению, не происходит. Подскажите, пожалуйста, как правильно, и можно ли вообще?

Торговля, 8.2.
1 Maxus43
 
12.02.13
13:40
что не происходит?
2 Wobland
 
12.02.13
13:43
(0) так. да
3 smitru
 
12.02.13
13:43
(0) а кто тебе сказал, что конструктив
ЭтаФорма.ТекущийЭлемент
можно применять в "слевой стороны" равенства? Что можно его "установить"?
4 Maxus43
 
12.02.13
13:44
(3) СП говорит
5 Maxus43
 
12.02.13
13:44
Форма (Form)
ТекущийЭлемент (CurrentControl)
Использование:

Чтение и запись.
6 depthzer0
 
12.02.13
13:44
(1) фокус не падает на табличное поле
7 depthzer0
 
12.02.13
13:46
(2) так а что не так, если так и да?
8 Wobland
 
12.02.13
13:46
(7) всё так
9 depthzer0
 
12.02.13
13:47
(8) отчего же тогда фокус остаётся на кнопке, на которой ему вовсе не место?
10 Wobland
 
12.02.13
13:48
(9) значит, не остаётся, а перкскакивает обратно
11 Smallrat
 
12.02.13
13:49
Может в какомнить ОбновлениеОтображения() есть установка фокуса
12 depthzer0
 
12.02.13
13:50
(10) непосредственно после выполнения строки

ЭтаФорма.ТекущийЭлемент = ЭлементыФормы.ТабличноеПоле;

т.е. в следующей строке, отладчик показывает в качестве текущего элемента всё ту же пресловутую кнопку. не может успеть перескочить обратно никак.
13 Wobland
 
12.02.13
13:50
ничо не знаю, работает


Процедура КнопкаВыполнитьНажатие(Кнопка)
   // Вставить содержимое обработчика.
КонецПроцедуры

Процедура Кнопка1Нажатие(Элемент)
   ТекущийЭлемент=ЭлементыФормы.ТабличноеПоле1;
КонецПроцедуры
14 Smallrat
 
12.02.13
13:53
(12) руками создать какой нить другой элемент и попробовать на нем - в случае успеха смотреть что там натыкано в галках у табличного поля.
15 depthzer0
 
12.02.13
14:00
(13) так тоже работает. единственно, реализовано несколько сложнее:

Если Вопрос("Переключить фокус?") = КодВозвратаДиалога.ОК Тогда
   ЭтаФорма.ТекущийЭлемент = ЭлементыФормы.ТабличноеПоле;
КонецЕсли;

т.е. дополнительно участвует диалог....

(14) из странного нашёл только ТолькоПросмотр, но снятие не спасло.
16 НЕА123
 
12.02.13
14:19
(0)
Может ТекущаяСтрока еще надо установить?
17 depthzer0
 
12.02.13
14:24
Всё, всем спасибо!!

У меня это табличное поле, кроме всего прочего, находилось на панели, которая до нажатия кнопки свёрнута. И разворачивается по нажатию на неё. А фокус я пытался переместить на табличное поле до того, как разворачиваю панель.
Короче сначала разворачиваю, потом переношу фокус и всё в порядке!

Ещё раз спасибо за участие.
18 depthzer0
 
12.02.13
14:24
(16) тоже пробовал, ругается ))