Привет!
Задача: найти строку в ТЗ по двум параметрам (Номенклатура и Характеристика) и записать в нее Остаток. Написал код, но видимо, не то... Прошу подсказок.
Задача: найти строку в ТЗ по двум параметрам (Номенклатура и Характеристика) и записать в нее Остаток. Написал код, но видимо, не то... Прошу подсказок.
резост = Запрос.Выполнить().Выбрать();
Пока резост.Следующий() Цикл
ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("Номенклатура", резост.Номенклатура);
ПараметрыОтбора.Вставить("Характеристика", резост.Характеристика);
НайденныеСтроки = рез2.НайтиСтроки(ПараметрыОтбора);
//и что дальше?
КонецЦикла;
ПоказатьПо теме из базы знаний
- Выгрузка запроса с заполненными параметрами в файл для консоли запросов
- Универсальная процедура для изменения набора записей регистра сведений НЕ только по измерениям, но и с отбором по реквизитам
- Эмпатия и системный подход в сборе требований и составлении ТЗ
- Стандартная свертка базы 1С:Розница не работает? Тогда вам сюда
- Неограниченное количество строк в табличной части документа
Найденные решения
(6)НайтиСтроки возвращает массив ссылок на строки из таблицы рез2, изменение данных в этом массиве приведёт к изменению данных в вашей таблице рез2.
Таким образом осуществляют удаление строк из таблицы значений (ТЗ):
Так как если делать перебор самой ТЗ и там вызывать удалить, то в цикле произойдёт смещение и вы можете пропустить строки, которые надо было удалить, а в случае перебора по индексу получите ошибку индекс выходит за пределы массива или как она там.
Таким образом осуществляют удаление строк из таблицы значений (ТЗ):
Для каждого Строка Из НайденныеСтроки Цикл
Если Строка.анигилятронаяпушка Тогда
рез2.удалить(Строка);
КонецЕсли;
КонецЦикла;
Так как если делать перебор самой ТЗ и там вызывать удалить, то в цикле произойдёт смещение и вы можете пропустить строки, которые надо было удалить, а в случае перебора по индексу получите ошибку индекс выходит за пределы массива или как она там.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4)
резост = Запрос.Выполнить().Выбрать();
Пока резост.Следующий() Цикл
ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("Номенклатура", резост.Номенклатура);
ПараметрыОтбора.Вставить("Характеристика", резост.Характеристика);
НайденныеСтроки = рез2.НайтиСтроки(ПараметрыОтбора);
Для каждого Строка Из НайденныеСтроки Цикл
Строка.остаток = резост.остаток;
КонецЦикла;
КонецЦикла;
Показать
(6)НайтиСтроки возвращает массив ссылок на строки из таблицы рез2, изменение данных в этом массиве приведёт к изменению данных в вашей таблице рез2.
Таким образом осуществляют удаление строк из таблицы значений (ТЗ):
Так как если делать перебор самой ТЗ и там вызывать удалить, то в цикле произойдёт смещение и вы можете пропустить строки, которые надо было удалить, а в случае перебора по индексу получите ошибку индекс выходит за пределы массива или как она там.
Таким образом осуществляют удаление строк из таблицы значений (ТЗ):
Для каждого Строка Из НайденныеСтроки Цикл
Если Строка.анигилятронаяпушка Тогда
рез2.удалить(Строка);
КонецЕсли;
КонецЦикла;
Так как если делать перебор самой ТЗ и там вызывать удалить, то в цикле произойдёт смещение и вы можете пропустить строки, которые надо было удалить, а в случае перебора по индексу получите ошибку индекс выходит за пределы массива или как она там.
резост = Запрос.Выполнить().Выбрать();
Пока резост.Следующий() Цикл
ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("Номенклатура", резост.Номенклатура);
ПараметрыОтбора.Вставить("Характеристика", резост.Характеристика);
НайденныеСтроки = рез2.НайтиСтроки(ПараметрыОтбора);
Для каждого стр из НайденныеСтроки Цикл
стр.Остаток = резост.Остаток;
КонецЦикла;
КонецЦикла;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот