Добрый день
УФ.
На форме документа - лежит список товаров.
ТЧ = Запасы.
---
делаю метод - Элементы.Запасы.ВыделенныеСтроки
&НаСервере
Процедура РассчитатьСуммуВыделенныхСтрокНаСервере()
счВыд = 0;
для каждого ЭлСтроки из Элементы.Запасы.ВыделенныеСтроки цикл
счВыд = счВыд+Объект.запасы[ЭлСтроки].Всего;
конеццикла;
ИтогВыделенныхСтрок = счВыд ;
конецпроцедуры
в документе - 15 строк.
При первом обращении - все нормально работает.
Потом в таблицу делаются записи значений, типа - сумма скидки, процент скидки (программно) , всего .. и тд и тп
И потом метод
Элементы.Запасы.ВыделенныеСтроки
начинается выдавать индексы выделенных строк как 16,17,18...
Потом чуть еще над таблицей пользователь поработал.
и
Элементы.Запасы.ВыделенныеСтроки
начинается выдавать индексы выделенных строк как 30,31,32...
решение
Для Каждого Идентификатор Из Элементы.СоставЗаказа.ВыделенныеСтроки Цикл
СтрокаКоллекции = Объект.СоставЗаказа.НайтиПоИдентификатору(Идентификатор);
ИндексСтрокиКоллекции = Объект.СоставЗаказа.Индекс(СтрокаКоллекции);
МассивВыделеннойНоменклатуры.Добавить(Объект.СоставЗаказа[ИндексСтрокиКоллекции].Номенклатура);
КонецЦикла;
Ибо не поиндексам нужно строки брать, а по идентификаторам.
Для Каждого Идентификатор Из Элементы.СоставЗаказа.ВыделенныеСтроки Цикл
СтрокаКоллекции = Объект.СоставЗаказа.НайтиПоИдентификатору(Идентификатор);
МассивВыделеннойНоменклатуры.Добавить(СтрокаКоллекции.Номенклатура);
КонецЦикла;
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.