Есть Таблица Значений в которой есть строки "партии товаров" и колонки одна с которых тоже Таблица Значений в которой есть колонка Сумма ...
Пытаюсь Циклом перебрать значения "сумма" что бы сформировать проводки, а в проводки записывает только последнее значение с Колонки "Сумма"

Например в Колонке "Сумма" в Таблице Значений есть такие показатели
  СуммаСписания
1. 350
2. 280
3. 310
А проводку мне делает в регистр только последней суммой дле всех...

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

    Для Каждого СтрМатериалы Из ТаблицаМатериалов Цикл
    Для каждого Стр Из СтрМатериалы.СписанныеПартииБУ Цикл

    СуммаП = Стр.СуммаСписания;
    Движение.Цена = СуммаП;
    КонецЦикла;

    КонецЦикла;
    КонецЦикла;
```

Помогите правильно оформить Цикл. Спасибо)
---
Вопрос решил таким способом) Всем спасибо)

```1c
    Для Каждого СтрМатериалы Из ТаблицаМатериалов Цикл

    СуммаП = СтрМатериалы.СписанныеПартииБУ.Итог("СуммаСписания");

    Движения.ЗапчастиПриход.Записывать = Истина;
    Движение = Движения.ЗапчастиПриход.Добавить();
    Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
    Движение.Период = Дата;
    Движение.Организация = Организация;

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ТребованиеНакладнаяМатериалы.Количество КАК КоличествоЗапчастей
    |ИЗ
    | Документ.ТребованиеНакладная.Материалы КАК ТребованиеНакладнаяМатериалы
    |ГДЕ
    | ТребованиеНакладнаяМатериалы.Номенклатура = &Запчасть";

    Запрос.УстановитьПараметр("Запчасть", СтрМатериалы.Номенклатура);

    РезультатЗапроса = Запрос.Выполнить();
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    КолВоМатериалов = ВыборкаДетальныеЗаписи.КоличествоЗапчастей;
    КонецЦикла;

    Движение.Номенклатура = СтрМатериалы.Номенклатура;
    Движение.Количество = КолВоМатериалов;
    Движение.МОЛ = ЭтотОбъект.Водитель;
    Движение.Ссылка = ЭтотОбъект.Ссылка;
    Движение.Цена = СуммаП;
    Движение.Сумма = СуммаП*КолВоМатериалов;
    КонецЦикла;
```
---
А проводку мне делает в регистр только последней суммой дле всех... "Компьютер выполняет ту программу, которую вы написали, а не ту, которую хотели написать" (с) не мой

Если я правильно понял задачу, то код будет таким:

```1c
    Для Каждого СтрМатериалы Из ТаблицаМатериалов Цикл
    СуммаП = 0;
    Для каждого Стр Из СтрМатериалы.СписанныеПартииБУ Цикл

    СуммаП = СуммаП + Стр.СуммаСписания;
    КонецЦикла;

    Движение.Цена = СуммаП;

    КонецЦикла;
```

А если неправильно понял, то надо СуммаП = 0; и Движение.Цена = СуммаП; выносить еще из одного цикла.
---
Сделал так же, ...все то же последнее значение ..не перебирает Циклом ...только последнее
---
Когда проверил Цикл через Сообщить(); получил все значения перебора Циклом

```1c
    Для Каждого СтрМатериалы Из ТаблицаМатериалов Цикл
    СуммаП = 0;
    Для каждого Партия Из СтрМатериалы.СписанныеПартииБУ Цикл
    СуммаП = СуммаП + Партия.СуммаСписания;
    сообщить(СуммаП);
    КонецЦикла
```
;

А проводку мне дает последнее число
---
А зачем лишний цикл вообще?

```1c
    Для Каждого СтрМатериалы Из ТаблицаМатериалов Цикл
    СуммаП = 0;
    СуммаП = СуммаП + СтрМатериалы.СписанныеПартииБУ.Итог("СуммаСписания");
    сообщить(СуммаП);
    КонецЦикла
```
---
Я уже вставлял Цикл для СуммаП в Цикл Проводки...так же и выводил Циклы отдельно...все то же последнее значение...

```1c
    Для Каждого СтрМатериалы Из ТаблицаМатериалов Цикл
    СуммаП = СтрМатериалы.СписанныеПартииБУ.Итог("СуммаСписания");
    сообщить(СуммаП);
    КонецЦикла;

    Движения.ЗапчастиПриход.Записывать = Истина;
    Для Каждого ТекСтрокаМатериалы Из Материалы Цикл

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

    Движение.Цена = СуммаП; //

    КонецЦикла;
```
---
Вопрос решил таким способом) Всем спасибо)

```1c
    Для Каждого СтрМатериалы Из ТаблицаМатериалов Цикл

    СуммаП = СтрМатериалы.СписанныеПартииБУ.Итог("СуммаСписания");

    Движения.ЗапчастиПриход.Записывать = Истина;
    Движение = Движения.ЗапчастиПриход.Добавить();
    Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
    Движение.Период = Дата;
    Движение.Организация = Организация;

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    | ТребованиеНакладнаяМатериалы.Количество КАК КоличествоЗапчастей
    |ИЗ
    | Документ.ТребованиеНакладная.Материалы КАК ТребованиеНакладнаяМатериалы
    |ГДЕ
    | ТребованиеНакладнаяМатериалы.Номенклатура = &Запчасть";

    Запрос.УстановитьПараметр("Запчасть", СтрМатериалы.Номенклатура);

    РезультатЗапроса = Запрос.Выполнить();
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    КолВоМатериалов = ВыборкаДетальныеЗаписи.КоличествоЗапчастей;
    КонецЦикла;

    Движение.Номенклатура = СтрМатериалы.Номенклатура;
    Движение.Количество = КолВоМатериалов;
    Движение.МОЛ = ЭтотОбъект.Водитель;
    Движение.Ссылка = ЭтотОбъект.Ссылка;
    Движение.Цена = СуммаП;
    Движение.Сумма = СуммаП*КолВоМатериалов;
    КонецЦикла;
```