Имя: Пароль:
1C
1С v8
Установить текущую колонку в таблице управляемой формы
0 Paradox
 
12.09.17
13:18
Всем привет!
Создал программно таблицу на форме. Добавил колонки. (колонок много)
Теперь, если удаляю колонку, начиная с конца, после удаления колонки происходит активизация самой первой колонки в таблице формы, а хотелось бы, что бы курсор оставался на предыдущей колонке.

Подскажите пожалуйста, можно как-то прописать свойства таблицы формы, что бы курсор не перемещался в начало таблицы к первой колонке?

Вот фрагмент удаления колонки:

мТЗ = РеквизитФормыВЗначение("Характеристики", Тип("ТаблицаЗначений"));
    
    Если 1=0 Тогда
        мТЗ = Новый ТаблицаЗначений;
    КонецЕсли;
    
    мТЗ.Колонки.Удалить(мТЗ.Колонки.Найти(УдаляемаяКолонка));
    
    МассивРеквизитов = Новый Массив;
    МассивРеквизитов.Добавить("Характеристики." + УдаляемаяКолонка);
    ИзменитьРеквизиты(, МассивРеквизитов);        
    ЗначениеВРеквизитФормы(мТЗ, "Характеристики");
1 DrShad
 
12.09.17
13:23
таких свойств нет
2 Paradox
 
12.09.17
13:30
в общем, пользователю надоедает, что горизонтальная полоса прокрутки снова перемещается в начало таблицы.
Как установить текущей нужную колонку - вроде бы нашел:

ЭтаФорма.ТекущийЭлемент = Элементы.Характеристики.ПодчиненныеЭлементы.Колонка20;

Проблема с полосой прокрутки. Она уходит к первой колонке и пользователь заново прокручивает мышкой к нужной колонке.
3 Paradox
 
12.09.17
13:32
Можно каким то образом управлять полосой прокрутки в таблице формы? Ну или перемещать ее к текущей активной колонке?
4 DrShad
 
12.09.17
13:40
ты сам то понимаешь что конкретно ты делаешь с формой?
5 Paradox
 
12.09.17
13:45
Понимаю. Опишу:
Таблица формы создана программно. Колонок +50...
Далее пользователь удаляет ненужные колонки, активируя любую строку в удаляемой колонке.

После удаления, горизонтальная полоса прокрутки таблицы формы перемещается к началу первой колонки...это не нравится пользователю.

Вопрос, как сделать так, что бы горизонтальная полоса прокрутки не устанавливалась в самое начало таблицы формы.
Понятно что при программном удалении элемента, форма отрисовывается, но как-то можно...не перемещать горизонтальную полосу прокрутки в начало первой колонки...
6 DrShad
 
12.09.17
13:47
ты же перерисовываешь форму
7 Paradox
 
12.09.17
13:50
да, это я понимаю. Форма перерисовывается.
Видимо управлять горизонтальной полосой прокрутки в таблице формы нельзя...Например, можно же у табличного документа установить текущую область...и платформа сама переставит полосу  прокрутки на текущую область..даже если ее программно установили
8 Paradox
 
12.09.17
14:20
Видимо это невозможность платформы.
Не получится управлять полосой прокрутки программно или перемещать программно полосу прокрутки к активной колонке.
9 skafandr
 
12.09.17
14:36
(8) А как Вам вариант удалять колонки не с конца а с начала?
Логически разместить то можно как угодно
10 skafandr
 
12.09.17
14:37
Будет скакать в пределах видимости
11 DrShad
 
12.09.17
14:37
может их и не удалять вовсе?
12 Paradox
 
12.09.17
14:52
а не возможно понять, какую колонку будет удалять пользователь.
Пользователю выводится перечень доп.реквизитов, которые будут использоваться в справочнике. Далее пользователь сам удаляет ненужные колонки. В оставшиеся колонки загружаются значения и все это сохраняется к справочнику в доп реквизиты.

Почему сделано таблицей? Потому что строк может быть тоже много, типа пакетного редактора реквизитов
13 Paradox
 
12.09.17
15:11
Разобрался как позиционировать полосу прокрутки:

Элементы.Характеристики.ПодчиненныеЭлементы.Колонка20.АктивизироватьПоУмолчанию = Истина;

Именно если устанавливать свойство АктивироватьПоУмолчанию, пр иперерисовки формы, полоса прокрутки сама перемещается к нужной колонке.

В примере я перемещаю полосу прокрутки к необходимой мне колонке...дальше дело техники...определять номер соседней колонки у удаляемой и делать ее активной.
14 dezss
 
12.09.17
15:27
(12) А в каком месте ты пытался сделать вот это?:
ЭтаФорма.ТекущийЭлемент = Элементы.Характеристики.ПодчиненныеЭлементы.Колонка20;
15 dezss
 
12.09.17
15:30
(14) Просто у меня эта строка "прокручивает" полосу прокрутки к выделенному элементу.
16 dezss
 
12.09.17
15:30
(15) тьфу, не заметил (13)
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс