ВыделенныеСтроки в табличной части

1. Gendelf 29.05.19 15:12 Сейчас в теме
Добрый день, подскажите пожалуйста в чем ошибка.

В обработке есть табчасть Контрагенты (4 строки). Необходимо получить выделенного контрагента из таблицы и создать документ. С помощью Элементы.Контрагенты.ВыделенныеСтроки получаю индекс выделенной строки и в цикле
СписокКонтрагентов.Добавить(Объект.Контрагенты[стр].Контрагент) получаю желаемый список.

Проблема в том, что при повторном обращении к выделенным строкам Элементы.Контрагенты.ВыделенныеСтроки[0] может равняться 5,6,7 и т.п. хотя строки всего 4. (!!!) Как заново получить актуальную выделенную строку?

СписокКонтрагентов = новый СписокЗначений;
        Если Объект.Контрагенты.Количество() = 1 Тогда
            СписокКонтрагентов.Добавить(Объект.Контрагенты[0].Контрагент);    
        Иначе
            Для каждого стр из Элементы.Контрагенты.ВыделенныеСтроки Цикл
                СписокКонтрагентов.Добавить(Объект.Контрагенты[стр].Контрагент)     //этот "стр" уходит в значение 5,6,7 и т.п.  НО строки всего 4
            КонецЦикла;    
        КонецЕсли;
Показать
По теме из базы знаний
Найденные решения
3. Gendelf 29.05.19 15:24 Сейчас в теме
СписокКонтрагентов = новый СписокЗначений;
Для каждого стр из Элементы.Контрагенты.ВыделенныеСтроки Цикл
	СписокКонтрагентов.Добавить(Объект.Контрагенты.НайтиПоИдентификатору(стр).Контрагент);	
КонецЦикла;
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. dhurricane 29.05.19 15:22 Сейчас в теме
(1) Потому что массив ВыделенныеСтроки содержит не индексы, а идентификаторы строк!
Нужно делать так:
Для каждого стр из Элементы.Контрагенты.ВыделенныеСтроки Цикл
   ДанныеСтроки = Объект.Контрагенты.НайтиПоИдентификатору(стр);
   СписокКонтрагентов.Добавить(ДанныеСтроки.Контрагент);
КонецЦикла;
SedovSU@mail.ru; +1 Ответить
3. Gendelf 29.05.19 15:24 Сейчас в теме
СписокКонтрагентов = новый СписокЗначений;
Для каждого стр из Элементы.Контрагенты.ВыделенныеСтроки Цикл
	СписокКонтрагентов.Добавить(Объект.Контрагенты.НайтиПоИдентификатору(стр).Контрагент);	
КонецЦикла;
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот