Имя: Пароль:
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) Согласен. Просто, когда помогаю, стараюсь в носить в код ТС только те изменения, которые необходимы для решения проблемы, чтобы было наглядно видно.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший