как получить имя колонки элемента при событии "ПриИзменении"
☑
0
vde69
30.11.12
✎
08:49
есть обработчик на много полей сразу, нужно получить имя колонки к которой принадлежит элемент, сейчас есть такой код
Процедура ОтражениеВУчетеПриИзмененииПоля(Элемент) Экспорт
СтрокаТабличнойЧасти = ЭлементыФормы.ОтражениеВУчете.ТекущиеДанные;
ИмяКолонки = ЭлементыФормы.ОтражениеВУчете.ТекущаяКолонка.Имя;
но при програмном изменении значения обработчик отрабатывает криво, как получить имя колонки для "Элемента"
1
Морозов Александр
30.11.12
✎
08:53
А енто... а чего когда программно меняешь не знаешь в какую колонку пишешь?
2
vde69
30.11.12
✎
08:56
(1) этот вариант самый последний :)
не хочется заморачиваться с тем что платформа сама умеет (например сравнивать старое и новое значение)
3
Defender aka LINN
30.11.12
✎
08:59
(0) Есть такая вещь, как необязательные параметры
4
vde69
30.11.12
✎
09:07
(3) обработчик ПриИзменении имеет только один параметр, при попытке поставить второй - ругается :)
5
kosts
30.11.12
✎
09:12
(0)
Процедура ОтражениеВУчетеПриИзмененииПоля(Элемент) Экспорт
...
ПриИзмененииПоля(Строка, ИмяКолонки);
КонецПроцедуры
Процедура ПриИзмененииПоля(Строка, ИмяКолонки);
...
КонецПроцедуры
Процедура ПрограммнаяОбработка()
Цикл
ПриИзмененииПоля(Строка, ИмяКолонки);
конеццикла;
КонецПроцедуры
6
Defender aka LINN
30.11.12
✎
09:15
(4) Зочем ви т'гавите? Все работает. Хотя сама идея ущербная, ИМХО. Тебе процедур жалко, что ли?
7
vde69
30.11.12
✎
09:17
странно но вот так все работает
Процедура ОтражениеВУчетеПриИзмененииПоля(Элемент) // Экспорт
СтрокаТабличнойЧасти = ЭлементыФормы.ОтражениеВУчете.ТекущиеДанные;
мКолонки = ЭлементыФормы.ОтражениеВУчете.Колонки;
//ИмяКолонки = ЭлементыФормы.ОтражениеВУчете.ТекущаяКолонка.Имя;
ИмяКолонки = "";
Для Каждого мКолонка из мКолонки Цикл
Если мКолонка.ЭлементУправления = Элемент Тогда
ИмяКолонки = мКолонка.Имя;
КонецЕсли;
КонецЦикла;
AdBlock убивает бесплатный контент. 1Сергей