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

```1c
    Для каждого ТекСтрока из Объект.Товары Цикл
    Элементы.Товары.ТекущаяСтрока = ТекСтрока.ПолучитьИдентификатор();
    ....дальше делаем че хотим
```
---
Почему-то не работает такой код. Не могу понять в чем причина. В процедуру передается ТекущаяСтрока

```1c
    Для Каждого ТекСтрока Из Объект.Товары Цикл
    Элементы.Товары.ТекущаяСтрока = ТекСтрока.ПолучитьИдентификатор();
    ЗТЧ_ТоварыНоменклатураПриИзменении(Элементы.Товары.ТекущаяСтрока);
    КонецЦикла;
```
---
Сообщение было скрыто модератором.
---
```1c
    Процедура ЗТЧ_ТоварыНоменклатураПриИзменении(Элемент) Экспорт

    ТекущаяСтрока = Элемент;

    СтруктураПересчетаСуммы = ОбработкаТабличнойЧастиКлиентСервер.ПараметрыПересчетаСуммыНДСВСтрокеТЧ(Объект);

    ОчиститьСообщения();
    ПрименитьОплатуБонуснымиБаллами(, Истина);

    СтруктураДействий = Новый Структура;
    СтруктураДействий.Вставить("ПроверитьХарактеристикуПоВладельцу", ТекущаяСтрока.Характеристика);
    СтруктураДействий.Вставить("ПроверитьЗаполнитьУпаковкуПоВладельцу", ТекущаяСтрока.Упаковка);
    СтруктураДействий.Вставить("ПересчитатьКоличествоЕдиниц");
    СтруктураДействий.Вставить("ПроверитьЗаполнитьСклад", ОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруЗаполненияСкладаВСтрокеТЧ(Объект, СкладГруппа));
    СтруктураДействий.Вставить("ЗаполнитьСтавкуНДС", ОбработкаТабличнойЧастиКлиентСервер.ПараметрыЗаполненияСтавкиНДС(Объект, Истина));
    СтруктураДействий.Вставить("ЗаполнитьСтавкуНДСВозвратнойТары", Объект.ВернутьМногооборотнуюТару);
    СтруктураДействий.Вставить("ПересчитатьСуммуНДС", СтруктураПересчетаСуммы);
    СтруктураДействий.Вставить("ПересчитатьСуммуСНДС", СтруктураПересчетаСуммы);
    СтруктураДействий.Вставить("ПересчитатьСумму");
    СтруктураДействий.Вставить("ПересчитатьСуммуСУчетомРучнойСкидки", Новый Структура("Очищать", Истина));
    СтруктураДействий.Вставить("ПересчитатьСуммуСУчетомАвтоматическойСкидки", Новый Структура("Очищать", Истина));
    СтруктураДействий.Вставить("ПересчитатьСуммуСУчетомСкидкиБонуснымиБаллами");
    СтруктураДействий.Вставить("ЗаполнитьПризнакТипНоменклатуры", Новый Структура("Номенклатура", "ТипНоменклатуры"));
    СтруктураДействий.Вставить("ЗаполнитьПризнакАртикул", Новый Структура("Номенклатура", "Артикул"));
    СтруктураДействий.Вставить("ЗаполнитьПризнакВариантОформленияПродажи", Новый Структура("Номенклатура", "ВариантОформленияПродажи"));
    СтруктураДействий.Вставить("ЗаполнитьСодержание", ОбработкаТабличнойЧастиКлиентСервер.ПолучитьСтруктуруЗаполненияСодержанияУслугиВСтрокеТЧ(Объект, Ложь));
    СтруктураДействий.Вставить("ЗаполнитьДубликатыЗависимыхРеквизитов", ЗависимыеРеквизиты());
    СтруктураДействий.Вставить("ЗаполнитьПризнакБезВозвратнойТары", Объект.ВернутьМногооборотнуюТару);
    СтруктураДействий.Вставить("ЗаполнитьПризнакОтмененоБезВозвратнойТары", Объект.ВернутьМногооборотнуюТару);
    СтруктураДействий.Вставить("ПроверитьСериюРассчитатьСтатус", Новый Структура("Склад, ПараметрыУказанияСерий", ТекущаяСтрока.Склад, ПараметрыУказанияСерий));
    ДобавитьДействияОбеспеченияНаКлиенте(СтруктураДействий,
    "ВариантОбеспечения,ДоступноВДругихСтроках,СкладОбязателен,ДатаОтгрузкиОбязательна");
    ДобавитьДействиеЗаполненияЦен(СтруктураДействий);

    СтруктураДействий.Вставить("НоменклатураПриИзмененииПереопределяемый", Новый Структура("ИмяФормы, ИмяТабличнойЧасти",
    ЭтаФорма.ИмяФормы, "Товары"));
    СтруктураДействий.Вставить("ЗаполнитьПодразделениеВСтрокеТЧ", Новый Структура("Подразделение", Объект.Подразделение));

    ОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(ТекущаяСтрока, СтруктураДействий, КэшированныеЗначения);

    Если ОбеспечениеВДокументахКлиент.ТребуетсяОбновитьКолонкуДоступно(СтруктураДействий) Тогда
    ОбновитьКолонкуДоступноСервер();
    КонецЕсли;

    ОбеспечениеВДокументахКлиентСервер.ЗаполнитьСлужебныеРеквизиты(Объект.Товары, ДатаОтгрузкиОбязательна, СкладОбязателен);

    РассчитатьИтоговыеПоказателиЗаказа(ЭтаФорма);

    СкидкиНаценкиЗаполнениеКлиент.СброситьФлагСкидкиРассчитаны(ЭтаФорма);

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