Имя: Пароль:
1C
1С v8
8.2 УИ ТабличноеПоле: Как узнать индекс текущей колонки?
0 wisekat
 
23.12.11
17:03
Собственно сабж. Есть двумерный массив, на основании которого заполняется табличное поле в форме. При двойном щелчке на ячейке, в событии "Выбор", надо узнать номер текущей колонки чтобы потом обратиться к соответствующему элементу массива.
1 Mort
 
23.12.11
17:05
ЭлементыФормы (FormItems)
ЭлементыФормы (FormItems)
Элементы коллекции:

ГруппаФормы, ТаблицаФормы, ПолеФормы, КнопкаФормы
Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются .
Возможно обращение к коллекции посредством оператора [...]. В качестве аргумента передается имя элемента.

Методы:

Индекс (IndexOf)
Количество (Count)
Найти (Find)
Получить (Get)

Описание:

Содержит коллекцию подчиненных элементов управляемой формы.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент.
См. также:

ТаблицаФормы, свойство ПодчиненныеЭлементы
ГруппаФормы, свойство ПодчиненныеЭлементы
УправляемаяФорма, свойство ПодчиненныеЭлементы
2 Mort
 
23.12.11
17:05
+(1) Показанный в (1) Элементы формы это подчиненные таблице формы элементы, т.е. поля.
3 Mort
 
23.12.11
17:07
Короче,

Процедура ТрататаВыбор(ВыбраннаяСТрока, Поле, ...)


НомерКолонки = Поле.Родитель.ПодчиненныеЭлементы.Индекс(Поле);
4 wisekat
 
23.12.11
17:12
ПИПЕЦ... Это значит СПАСИБО БОЛЬШОЕ :)

В моём случае начало процедуры выглядит так:

Процедура ТаблицаМесяцВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
   Перем НомерКолонки;
   
   НомерКолонки = Элемент.ПодчиненныеЭлементы.Индекс(Поле);

В "Элемент" уже сразу передаётся целевое ТабличноеПоле.

Но Ваш код даже более универсальный.
5 Mort
 
23.12.11
17:15
Да про параметр элемент я зыбыл - в СП то его не пишут. Но это простительно после 0.4 коньячка.
6 Mort
 
23.12.11
17:18
И ещё это, надо запретить пользователю изменять состав элемента, а то пользователь зайдёт в ИзменитьФорму и весь твой порядок пойдет по ---.
7 wisekat
 
23.12.11
17:32
(6) Полезная мысль! А Вам удачного завершения рабочей недели с допингом :)