Имя: Пароль:
1C
1С v8
Посчитать сумму выделенных строк в форме списка
0 lero4ka23
 
12.12.14
13:00
Подскажите, пожалуйста, как посчитать сумму по полю "Цена" выделенных строк в динамическом списке? Пытаюсь сделать вот так не получается

СуммаОтмеченная = 0;
Для Каждого Строка Из Элементы.Список Цикл
Если Элементы.Список.ВыделенныеСтроки.Количество() > 1 Тогда
СуммаОтмеченная = СуммаОтмеченная + Строка.СписокДатаОтправки;
КонецЕсли;
КонецЦикла;
1 Поpyчик-4
 
12.12.14
13:04
(0) Каша у вас в голове. ВыделенныеСтроки - массив идентификаторов, по идентификатору получаете строку, а из неё берёте нужное значение и складываете.
2 Любопытная
 
12.12.14
13:05
Сумма с датой складывается или мне показалось?
3 Cube
 
12.12.14
13:05
(0) Как-то так:

СуммаОтмеченная = 0;
Для Каждого Строка Из Элементы.Список.ВыделенныеСтроки Цикл
    СуммаОтмеченная = СуммаОтмеченная + Строка.СписокДатаОтправки;
КонецЦикла;
4 Cube
 
12.12.14
13:05
(2) Ага, прикольно))
5 lero4ka23
 
12.12.14
13:05
(2)Ой там опечатка там Цена, а не ДатаОтправки
6 ОбычныйЧеловек
 
12.12.14
13:06
(0) Проверять в цикле кол-во строк - это сильно :)
Ты сначала проверь если выделенные строки а потом уже цикл делай... Ну и вопрос - что конкретно не получается?
Ты пытаешься сумма сложить с датой и получить ... ?!
7 lero4ka23
 
12.12.14
13:07
(6)нет там опечатка
8 lero4ka23
 
12.12.14
13:08
(3)так не получается
9 ОбычныйЧеловек
 
12.12.14
13:08
(7) смотри (3)
10 Любопытная
 
12.12.14
13:08
(8) про идентификаторы прочитала?
11 Fish
 
12.12.14
13:08
(8) А ты попробуй.
12 Cube
 
12.12.14
13:09
(8) Это текст ошибки?
13 lero4ka23
 
12.12.14
13:10
(11)попробывала
14 ОбычныйЧеловек
 
12.12.14
13:10
(12) Ошибки никакой нет - просто так не получается :)
15 ДенисЧ
 
12.12.14
13:11
(13) у тебя буква Ё западает...
16 lero4ka23
 
12.12.14
13:15
(14){Обработка.ТКП1.Форма.ФормаСписка.Форма(141)}: Поле объекта не обнаружено (СписокДатаОтправки)
    СуммаОтмеченная = СуммаОтмеченная + Строка.СписокДатаОтправки;
18 Cube
 
12.12.14
13:16
(16) Читай (5) =))
И про идентификаторы ты недочитала похоже...
19 lero4ka23
 
12.12.14
13:17
(18)да не знаю я как сделать
20 Любопытная
 
12.12.14
13:18
(19) Что ты не знаешь как сделать??? Строка.СписокДатаОтправки - нет такого реквизита
21 lero4ka23
 
12.12.14
13:18
{Обработка.ТКП1.Форма.ФормаСписка.Форма(141)}: Поле объекта не обнаружено (СписокДатаОтправки)
    СуммаОтмеченная = СуммаОтмеченная + Строка.Цена;
22 Cube
 
12.12.14
13:20
(21) Ты про идентификаторы прочитаешь когда-нибудь?

СуммаОтмеченная = 0;
Для Каждого Строка Из Элементы.Список.ВыделенныеСтроки Цикл
    СуммаОтмеченная = СуммаОтмеченная + Элементы.Список.ДанныеСтроки(Строка).Цена;
КонецЦикла;
23 lero4ka23
 
12.12.14
13:21
24 lero4ka23
 
12.12.14
13:22
(22)Спасибо!!!!!!!!!!!!
25 Любопытная
 
12.12.14
13:23
(23) Где там СписокДатаОтправки?
26 Vladal
 
12.12.14
16:52
(22) Некрасиво использовать системные функции как идентификаторы.
Я бы переменную Строка обозвал как СтрокаСписка, что-ли. Вот так:

СуммаОтмеченная = 0;
Для Каждого СтрокаСпискаИз Элементы.Список.ВыделенныеСтроки Цикл
    СуммаОтмеченная = СуммаОтмеченная + Элементы.Список.ДанныеСтроки(СтрокаСписка).Цена;
КонецЦикла;
27 Cube
 
15.12.14
05:02
(26) Согласен. Просто, когда помогаю, стараюсь в носить в код ТС только те изменения, которые необходимы для решения проблемы, чтобы было наглядно видно.