Получить значение активной ячейки табличной части документа

1. julia96_07 12 06.09.16 17:01 Сейчас в теме
Добрый день!
Каким образом можно получить значение активной ячейки табличной части документа?
+
По теме из базы знаний
Найденные решения
3. dj_serega 391 06.09.16 17:18 Сейчас в теме
ИмяКолонки = Элементы.ТекущийЭлемент.Имя;
ИмяКолонки = СтрЗаменить(ИмяКолонки, ИмяТаблицы, "");
ЗначениеАктивнойЯчейки = Элементы.ИмяТаблицы.ТекущиеДанные[ИмяКолонки];
DeXeD; user1619761; ZDmitry83; smile6601; starik80; Garikomus; Valerianich; julia96_07; +8
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. fromtomike 48 06.09.16 17:18 Сейчас в теме
Вроде так:
ДокументРезультат.ВыделенныеОбласти

Если ТипЗнч(ДокументРезультат.ВыделенныеОбласти) = Тип("ВыделенныеОбластиТабличногоДокумента") Тогда
	...
	...
	...
КонецЕсли;
+
4. julia96_07 12 06.09.16 17:25 Сейчас в теме
(2) fromtomike, это метод табличного документа, а мне нужна ячейка табличной части документа
+
6. white-mount 06.09.16 17:32 Сейчас в теме
(4) julia96_07,
это выбранная строка. имя колонки.
попробуйте прописать сообщить(... тогда разберётесь быстро.
+
7. julia96_07 12 06.09.16 17:36 Сейчас в теме
(6) white-mount, мне имя колонки заранее не известно. Необходимо получить и имя колонки, которую выберет пользователь. Думала, что есть свойство, в котором хранится данное значение.
+
8. antz 06.09.16 17:48 Сейчас в теме
(7) julia96_07, да, оно хранится в
Элементы.ТекущийЭлемент.Имя
.
+
9. julia96_07 12 06.09.16 17:49 Сейчас в теме
(8) antz, это имя колонки с именем ТЧ, а значение хранится?
+
10. white-mount 06.09.16 17:53 Сейчас в теме
(7) julia96_07, оно известно форме, на которой активирована ячейка.
+
12. julia96_07 12 06.09.16 17:58 Сейчас в теме
(10) white-mount, (11) antz, я сделала, как предложил (3) dj_serega, просто думала может есть именно свойство, в кортом хранится значение активной ячейки.

Спасибо за помощь!
+
13. dj_serega 391 06.09.16 18:01 Сейчас в теме
(12) julia96_07, Такого к сожалению нет. А если подумать то это лишняя информация :)
+
3. dj_serega 391 06.09.16 17:18 Сейчас в теме
ИмяКолонки = Элементы.ТекущийЭлемент.Имя;
ИмяКолонки = СтрЗаменить(ИмяКолонки, ИмяТаблицы, "");
ЗначениеАктивнойЯчейки = Элементы.ИмяТаблицы.ТекущиеДанные[ИмяКолонки];
DeXeD; user1619761; ZDmitry83; smile6601; starik80; Garikomus; Valerianich; julia96_07; +8
5. julia96_07 12 06.09.16 17:28 Сейчас в теме
(3) dj_serega, а возможно только через имя колонки? так эти данные нигде не хранятся?
+
15. olololeg 20.11.18 11:38 Сейчас в теме
(3)Может возникнуть проблема, так как ИмяКолонки = ИмяТаблицыИмяКолонки. ИмяКолонки = СтрЗаменить(ИмяКолонки, ИмяТаблицы, "") вернет "" , как вариант: Прав(ИмяКолонки,СтрДлина(ИмяКолонки)-СтрДлина(ИмяТаблицы))
+
11. antz 06.09.16 17:54 Сейчас в теме
А значение получаешь через Элементы.ИмяЭлементаТабличнойЧасти.ТекущиеДанные[ИмяКолонки].
+
14. lenar84 19.02.18 12:52 Сейчас в теме
Я у себя через ПутьКДанным получал, так как поле тч формы в управляемых формах могут переименовать. ТекущаяКолонка - это доп. реквизит формы.

&НаСервере
Процедура НоменклатураЗаказчикаТекущаяКолонка()   
         ПутьКДанным = ЭтотОбъект.Элементы.НоменклатураЗаказчика.ТекущийЭлемент.ПутьКДанным; 
         ЭтотОбъект.ТекущаяКолонка = СтрЗаменить(ПутьКДанным, "Объект.НоменклатураЗаказчика.", "");
КонецПроцедуры
madway; LightWinged; +2
16. uno-c 235 21.02.19 21:11 Сейчас в теме
Имена Таблицы формы и Полей формы (колонок таблицы) могут быть вообще не связаны, если их вручную задавать, как на картинке в прикрепленном файле. Вот этот код справляется с подобным:
&НаКлиенте
Процедура НоменклатураБезКартинокПриАктивизацииЯчейки(Элемент)
	//Элемент - это ТаблицаФормы
	Если Элемент.ТекущиеДанные= Неопределено Тогда
		Возврат;
	КонецЕсли;
	ИмяКолонки =  ИмяКолонки(Элемент.ТекущийЭлемент.Имя);
	Сообщить(Элемент.ТекущиеДанные[ИмяКолонки]);
КонецПроцедуры

&НаСервере
Функция ИмяКолонки(ИмяЭлементаКолонки)
	ПолеФормыКолонкаТаблицы = Элементы[ИмяЭлементаКолонки];
	МассивЦепочкаПутиКДанным = СтрРазделить(ПолеФормыКолонкаТаблицы.ПутьКДанным, ".");
	Возврат МассивЦепочкаПутиКДанным[МассивЦепочкаПутиКДанным.ВГраница()];
КонецФункции
Показать
Непонятно только как быть с цитатой из СП. Нельзя, но работает? :
ПриАктивизацииЯчейки() ... Примечание: В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере.
Прикрепленные файлы:
LightWinged; WhiteOwl; +2
17. SlavaKron 22.02.19 09:47 Сейчас в теме
(16) Много раз обсуждалось. Серверный вызов не требуется, если закэшировать связи имён колонок и пути к данным. Либо через реквизит формы ТаблицаЗначений, либо через переменную модуля на клиенте типа Соответствие.
+
18. uno-c 235 22.02.19 10:15 Сейчас в теме
(17)Кеширование - это очевидно и замечательно. Чтобы сделать кеширование - тоже нужна процедура на сервере типа приведенной мной в коде. И, наконец, эта страница выходит в первых при поиске в яндексе, так что хорошо что Вы повторили то, что много раз обсуждалось, теперь это сразу найдут. Удивительно, что тривиальная операция требует ухищрений.
gubanoff; +1
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот