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