Как получить значения табличной части справочника (задана не программно, а в конфигурации), если у справочника и его табличной части все типы реквизитов - Число. В реквизит справочника должно будет выбираться то значение, которое он в данный момент нажал (текущее), из одной колонки.
---
Да. Эта конструкция для обычных форм.
Для Вашего варианта на управлемых формах надо написать так:
ТекущееЗначение = Элементы.ТрубыГладкиеИМуфтыКНим.ТекущиеДанные.ТолщинаСтенки;
---
Очень похожую задачу сейчас решал: https://forum.infostart.ru/forum9/topic236364/#message2394854
---
мне б со своим разобраться. А то я пока как в каше
---
так я решил, в конце гляньте там готовый код как получить значение ячейки ТЗ, из ТЧ думаю так же можно получить
---
Всё равно спасибо, думаю потом пригодится
---
Как получить значения табличной части справочника (задана не программно, а в конфигурации), если у справочника и его табличной части все типы реквизитов - Число.
Запросом.
В реквизит справочника должно будет выбираться то значение, которое он в данный момент нажал (текущее), из одной колонки.Это - уже работа с ФормаСписка и ТаблицаЗначений в нем.
Т.е. к получению ТЧ справочника вообще никакого отношения не имеет.
---
У Справочника есть Табличная часть в конфигураторе. Но в реальной базе эта каждая копия - Табличная часть принадлежит конкретному ЭЛЕМЕНТУ этого справочника, а не всему абстрактному Справочнику.
То есть , если в справочнике записано 10 элементов, то будет 10 Табличных частей. Они могут быть пустыми , либо иметь огромное количество записей - у каждого элемента свой случай.
Есть два варианта - элемент записан, тогда имея Ссылку на элемент вы можете получить доступ к ЗАПИСАННЫМ значениям Таблицы.
Второй вариант - элемент ещё не записан в базу, а значит он существует только на экране пользователя ( Одного ) .
В таком случае Текущие данные есть только в форме.
Юзайте ЭлеменыФормы. Ищите там свой реквизит и обрабатывайте данные
---
У табличной части есть событие "ПриАктивизацииЯчейки". Там берем текущее значение текущей строки табличной части и записываете в реквизит.
---
Что-то вроде:

```1c
    Объект.С = Справочники.ИмяСправочника.ТабличнаяЧасть.ТекущиеДанные ?
```
---
Ну не совсем так просто, но направление мысли верное.
Обработчик выглядит так: ТабЧастьПриАктивизацииЯчейки(Элемент)
В Элементе содержится объект - табличное поле. У него есть свойство ТекущаяСтрока и ТекущаяКолонка. В Текущей строке содержится строка табличного поля. Надо найти нужную ячейку в этой строке по имени текущей колонки.
ТекущееЗначение = Элемент.ТекущиеДанные[Элемент.ТекущаяКолонка.Имя];
Используйте значение дальше по усмотрению.
---
Хмм, а я пробовал вот так:

```1c
    ТекущаяСтрока = Этаформа.Элементы.ТрубыГладкиеИМуфтыКНимТолщинаСтенки;
    Объект.s = ТекущаяСтрока;
```

И вычислением выражения понял что ТекущаяСтрока Неопределенно.
Что значит что я что-то не так делаю
---
Текущая строка будет, если фокус на табличном поле. Внутри обработчика события ПриАктивизацииЯчейки текущая строка и колонка 100% есть. Так как есть активизированная ячейка.
Вы в каком месте проверяли значение ТекущейСтроки?
---
В месте, если выбрано значение из табличной части.

```1c
    ТекущееЗначение = Элементы.ТекущиеДанные(Элемент.ТекущаяКолонка.ТолщинаСтенки);
    ТабличноеПоле = Этаформа.Элементы.ТрубыГладкиеИМуфтыКНимТолщинаСтенки;
    Объект.s = ТекущаяСтрока;
```
---
Хмм.. Что такое Элемент.ТекущаяКолонка.ТолщинаСтенки?
Этаформа.Элементы.ТрубыГладкиеИМуфтыКНимТолщинаСтенки - это скорее всего элемент Табличное поле. Но отнюдь не Текущая строка этого элемента.
---
Кстати, если заполнять реквизит надо по нажатию на ячейке, то использовать лучше событие ПередНачаломРедактирования() и при обработке выставить Отказ в Истина.
---
ТекущееЗначение = Элементы.ТекущиеДанные(Элементы.ТрубыГладкиеИМуфтыКНимТолщинаСтенки.ТекущаяКолонка.ТолщинаСтенки);
Ругается будто не может найти ТекущуюКолонку.
---
Попробуйте в обработчике события ПередНачаломИзменения табличного поля такую конструкцию

Процедура ТрубыГладкиеИМуфтыКНимТолщинаСтенкиПередНачаломИзменения(Отказ)
  Сообщить(Элементы.ТрубыГладкиеИМуфтыКНимТолщинаСтенки.ТекущаяСтрока[Элементы.ТрубыГладкиеИМуфтыКНимТолщинаСтенки.ТекущаяКолонка.Имя]);
 Отказ = Истина;
КонецПроцедуры
---
Я его не пойму почему ругается на текущую колонку. Кажется к Сообщить нужно присвоить Текущая строка, а то ошибка говорит о том что не находит поля текущая строка
---
Как называется табличная часть? Точнее, табличное поле, которое привязано к табличной части,
---
Имя Табличной части ТрубыГладкиеИМуфтыКНим. Имя реквизита в этой табличной части ТолщинаСтенки
---
Что такое реквизит табличной части? Может это колонка так зовется?
---
вроде итак итак
---
Если Вам надо получить значение ячейки на пересечении текущей строки и колонки ТолщинаСтенки, то пишем
ТекущееЗначение = Элементы.ТрубыГладкиеИМуфтыКНим.ТекущаяСтрока["ТолщинаСтенки"];
или
ТекущееЗначение = Элементы.ТрубыГладкиеИМуфтыКНим.ТекущаяСтрока.ТолщинаСтенки;
---
Значение не является значением объектного типа (ТолщинаСтенки)
 ТекущееЗначение = Элементы.ТрубыГладкиеИМуфтыКНим.ТекущаяСтрока.ТолщинаСтенки;

```1c
    Процедура ТрубыГладкиеИМуфтыКНимПриАктивизацииЯчейки(Элемент)
    ТекущееЗначение = Элементы.ТрубыГладкиеИМуфтыКНим.ТекущаяСтрока.ТолщинаСтенки;
    КонецПроцедуры
```
---
Да. Эта конструкция для обычных форм.
Для Вашего варианта на управлемых формах надо написать так:
ТекущееЗначение = Элементы.ТрубыГладкиеИМуфтыКНим.ТекущиеДанные.ТолщинаСтенки;
---
Спасибо, всё работает. А до меня доконца наконец-то всё дошло.
---
Это радует! Главное, понять всю эту канитель.
---
Так в итоге ТС понял, что желательно перед обращением к ТекущиеДанные проверять, что они - не Неопределено ?
---
ТС, по-моему, вообще ничего не понял. Судя по вопросам.