Привет!

Задача: найти строку в ТЗ по двум параметрам (Номенклатура и Характеристика) и записать в нее Остаток. Написал код, но видимо, не то... Прошу подсказок.

```1c
    резост = Запрос.Выполнить().Выбрать();
    Пока резост.Следующий() Цикл
    ПараметрыОтбора = Новый Структура;
    ПараметрыОтбора.Вставить("Номенклатура", резост.Номенклатура);
    ПараметрыОтбора.Вставить("Характеристика", резост.Характеристика);
    НайденныеСтроки = рез2.НайтиСтроки(ПараметрыОтбора);

    //и что дальше?

    КонецЦикла;
```
---
НайтиСтроки возвращает массив ссылок на строки из таблицы рез2, изменение данных в этом массиве приведёт к изменению данных в вашей таблице рез2.
Таким образом осуществляют удаление строк из таблицы значений (ТЗ):

```1c
    Для каждого Строка Из НайденныеСтроки Цикл
    Если Строка.анигилятронаяпушка Тогда
    рез2.удалить(Строка);
    КонецЕсли;
    КонецЦикла;
```

Так как если делать перебор самой ТЗ и там вызывать удалить, то в цикле произойдёт смещение и вы можете пропустить строки, которые надо было удалить, а в случае перебора по индексу получите ошибку индекс выходит за пределы массива или как она там.
---
вы после НайтиСтроки - получаете коллекцию, которую нужно обойти циклом, либо обратиться к нужной записи, пример:
Если НайденныйСтроки.Количество() > 0 Тогда
НайденныйСтроки[0].Количество = 1;
КонецЕсли;
---
да, там массив. это понятно. не понимаю как в рез2.остаток записать резост.остаток.
---
```1c
    резост = Запрос.Выполнить().Выбрать();
    Пока резост.Следующий() Цикл
    ПараметрыОтбора = Новый Структура;
    ПараметрыОтбора.Вставить("Номенклатура", резост.Номенклатура);
    ПараметрыОтбора.Вставить("Характеристика", резост.Характеристика);
    НайденныеСтроки = рез2.НайтиСтроки(ПараметрыОтбора);

    Для каждого Строка Из НайденныеСтроки Цикл
    Строка.остаток = резост.остаток;
    КонецЦикла;

    КонецЦикла;
```
---
Для каждого Строка Из НайденныеСтроки Цикл
Строка.остаток = резост.остаток;
КонецЦикла;
т.е. строка из массива это и есть найденная строка ТЗ и в нее сразу можно писать?
---
НайтиСтроки возвращает массив ссылок на строки из таблицы рез2, изменение данных в этом массиве приведёт к изменению данных в вашей таблице рез2.
Таким образом осуществляют удаление строк из таблицы значений (ТЗ):

```1c
    Для каждого Строка Из НайденныеСтроки Цикл
    Если Строка.анигилятронаяпушка Тогда
    рез2.удалить(Строка);
    КонецЕсли;
    КонецЦикла;
```

Так как если делать перебор самой ТЗ и там вызывать удалить, то в цикле произойдёт смещение и вы можете пропустить строки, которые надо было удалить, а в случае перебора по индексу получите ошибку индекс выходит за пределы массива или как она там.
---
```1c
    Для каждого стр из НайденныеСтроки цикл
    стр.остаток = 1;

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