0
marshalbratsk
30.05.19
✎
20:25
|
Добрый вечер, уважаемые. Такая задача:
Управляемые формы. Есть динамический список формируемый из произвольного запроса.
В каждой строке есть вес и объем. Мне необходимо при нажатии на строку чтобы отдельно в поле писалось сумма веса и объема выделенных строк. Код:
&НаКлиенте
Процедура РаспоряженияНаОтгрузкуПриАктивизацииСтроки(Элемент)
ПересчитатьВыделенныеСтроки();
КонецПроцедуры
&НаКлиенте
Процедура ПересчитатьВыделенныеСтроки()
СуммаОбъем = 0;
СуммаВес = 0;
//ТЗ = Получить_ТЗ_Из_ДинамическогоСписка();
Для Каждого Строка Из Элементы.РаспоряженияНаОтгрузку.ВыделенныеСтроки Цикл
СуммаВес = СуммаВес + Элементы.РаспоряженияНаОтгрузку.ДанныеСтроки(Строка).Вес;
СуммаОбъем = СуммаОбъем + Элементы.РаспоряженияНаОтгрузку.ДанныеСтроки(Строка).Объем;
КонецЦикла;
СтрокаВесОбъем = "Вес: %вес%, объем: %объем%";
СтрокаВесОбъем = СтрЗаменить(СтрокаВесОбъем, "%вес%", ""+СуммаВес);
СтрокаВесОбъем = СтрЗаменить(СтрокаВесОбъем, "%объем%", ""+СуммаОбъем);
Элементы.ВесОбъем.Заголовок = СтрокаВесОбъем;
КонецПроцедуры
Проблема заключается в том, что когда выбираешь строку, он проходит процедуру, записывает вес, объем, а потом сразу же опять переходит на процедуру ПриАктивацииСтроки будто выбрана первая строка и в итоге вообще не выбирает никакую строку.
Сначала делал процедуру ПересчитатьВыделенныеСтроки() на сервере, там он сразу когда я обращаюсь к данным строки переходил на ПриАктивацииСтроки и начинался бесконечный цикл.
В чём тут косяк и как его можно обойти?
|
|
4
jsmith82
30.05.19
✎
21:53
|
я попробовал. у меня работает без кипиша
правда, я пользовался только переменной Строка
но нашёл багофичу - при отжатии строки, она всё равно является выделенной
|
|