Добрый день, подскажите пожалуйста в чем ошибка.
В обработке есть табчасть Контрагенты (4 строки). Необходимо получить выделенного контрагента из таблицы и создать документ. С помощью Элементы.Контрагенты.ВыделенныеСтроки получаю индекс выделенной строки и в цикле
СписокКонтрагентов.Добавить(Объект.Контрагенты[стр].Контрагент) получаю желаемый список.
Проблема в том, что при повторном обращении к выделенным строкам Элементы.Контрагенты.ВыделенныеСтроки[0] может равняться 5,6,7 и т.п. хотя строки всего 4. (!!!) Как заново получить актуальную выделенную строку?
В обработке есть табчасть Контрагенты (4 строки). Необходимо получить выделенного контрагента из таблицы и создать документ. С помощью Элементы.Контрагенты.ВыделенныеСтроки получаю индекс выделенной строки и в цикле
СписокКонтрагентов.Добавить(Объект.Контрагенты[стр].Контрагент) получаю желаемый список.
Проблема в том, что при повторном обращении к выделенным строкам Элементы.Контрагенты.ВыделенныеСтроки[0] может равняться 5,6,7 и т.п. хотя строки всего 4. (!!!) Как заново получить актуальную выделенную строку?
СписокКонтрагентов = новый СписокЗначений;
Если Объект.Контрагенты.Количество() = 1 Тогда
СписокКонтрагентов.Добавить(Объект.Контрагенты[0].Контрагент);
Иначе
Для каждого стр из Элементы.Контрагенты.ВыделенныеСтроки Цикл
СписокКонтрагентов.Добавить(Объект.Контрагенты[стр].Контрагент) //этот "стр" уходит в значение 5,6,7 и т.п. НО строки всего 4
КонецЦикла;
КонецЕсли;
ПоказатьПо теме из базы знаний
- Сказ о том, как мы мобильное приложение писали. Часть 2. Обработка долгого нажатия
- Интерактивное заполнение табличной части открытого документа/справочника управляемой формы на примере конфигурации КА 2.4.11.92
- Дружелюбный интерфейс пометки и отмены пометки в диалоге табличных полей, для управляемых форм.
- Обзор полезных методов БСП 3.1.4
- Дублирование значений в полях табличных частей (CTRL+D)
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Потому что массив ВыделенныеСтроки содержит не индексы, а идентификаторы строк!
Нужно делать так:
Нужно делать так:
Для каждого стр из Элементы.Контрагенты.ВыделенныеСтроки Цикл
ДанныеСтроки = Объект.Контрагенты.НайтиПоИдентификатору(стр);
СписокКонтрагентов.Добавить(ДанныеСтроки.Контрагент);
КонецЦикла;
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот