Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Получить данные строки динамического списка при активации строки

Получить данные строки динамического списка при активации строки
Я
   marshalbratsk
 
30.05.19 - 20:25
Добрый вечер, уважаемые. Такая задача:
Управляемые формы. Есть динамический список формируемый из произвольного запроса.
В каждой строке есть вес и объем. Мне необходимо при нажатии на строку чтобы отдельно в поле писалось сумма веса и объема выделенных строк. Код:


&НаКлиенте
Процедура РаспоряженияНаОтгрузкуПриАктивизацииСтроки(Элемент)
    ПересчитатьВыделенныеСтроки();
КонецПроцедуры

&НаКлиенте
Процедура ПересчитатьВыделенныеСтроки()
    
    СуммаОбъем = 0;
    СуммаВес = 0;
    //ТЗ = Получить_ТЗ_Из_ДинамическогоСписка();
    Для Каждого Строка Из Элементы.РаспоряженияНаОтгрузку.ВыделенныеСтроки Цикл
        СуммаВес = СуммаВес + Элементы.РаспоряженияНаОтгрузку.ДанныеСтроки(Строка).Вес;
        СуммаОбъем = СуммаОбъем + Элементы.РаспоряженияНаОтгрузку.ДанныеСтроки(Строка).Объем;
    КонецЦикла;
    
    СтрокаВесОбъем = "Вес: %вес%, объем: %объем%";
    СтрокаВесОбъем = СтрЗаменить(СтрокаВесОбъем, "%вес%", ""+СуммаВес);
    СтрокаВесОбъем = СтрЗаменить(СтрокаВесОбъем, "%объем%", ""+СуммаОбъем);
    
    Элементы.ВесОбъем.Заголовок = СтрокаВесОбъем;
    
КонецПроцедуры

Проблема заключается в том, что когда выбираешь строку, он проходит процедуру, записывает вес, объем, а потом сразу же опять переходит на процедуру ПриАктивацииСтроки будто выбрана первая строка и в итоге вообще не выбирает никакую строку.
Сначала делал процедуру ПересчитатьВыделенныеСтроки() на сервере, там он сразу когда я обращаюсь к данным строки переходил на ПриАктивацииСтроки и начинался бесконечный цикл.
В чём тут косяк и как его можно обойти?
 
 
   jsmith82
 
1 - 30.05.19 - 20:40
поставь условие
   hhhh
 
2 - 30.05.19 - 21:26
(0) ну,  всё правильно. Пересчет вызывает активизацию строки. А при активизации строки у вас вызывается пересчет. Поэтому должен быть бесконечный цикл.
   marshalbratsk
 
3 - 30.05.19 - 21:28
(2) Это то всё понятно. Как получить данные строки не приводя к активации этой строки?
   jsmith82
 
4 - 30.05.19 - 21:53
я попробовал. у меня работает без кипиша
правда, я пользовался только переменной Строка
но нашёл багофичу - при отжатии строки, она всё равно является выделенной

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.