Имя: Пароль:
1C
1С v8
Помогите достать сумму по определенному полю
0 pin4er
 
03.04.13
10:00
Всем доброго утра!
Программировать только учусь, опыта маловато, столкнулся с такой задачей:
Нужно вытащить сумму из табличной части строку с названием "Стоимость тура" и из нее взять только суммы "УслугиСуммаДляРебенка", "УслугиСуммаДляВзрослого" сложить их и вывести в печатную форму.

с выводом в печатную форму то все норм, но не получается достать суммы по нужным строкам..

Делал так: Область.Параметры.ПредоплатаТура = Объект.Услуги.Итог("СуммаДляВзрослого") + Объект.Услуги.Итог("СуммаДляРебенка");

но тут выводит итог всех полей таблицы.

<img src="http://gifok.net/images/2013/04/03/Jipd4.jpg" border="0" />
1 pin4er
 
03.04.13
10:01
Ссылка на скрин программы  http://gifok.net/images/2013/04/03/Jipd4.jpg
2 salvator
 
03.04.13
10:04
"но тут выводит итог всех полей таблицы"

Да ладно?
3 pin4er
 
03.04.13
10:06
или как требуется сделать, может кто нибудь на примере объяснит?
4 salvator
 
03.04.13
10:06
Отбери строки нужные с помощью НайтиСтроки, потом сложи результат.
5 pin4er
 
03.04.13
10:07
(4) Это запросом делать или как?
6 salvator
 
03.04.13
10:10
(5) Открой Синтаксис-помощник
7 pin4er
 
03.04.13
10:40
(6) Что то не допонимаю предложенный синтаксис:
ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("Номенклатура", ТекТовар);
НайденныеСтроки = Состав.НайтиСтроки(ПараметрыОтбора);


в "ПараметрыОтбора" надо ставить искомую таблицу?
в "Структура" что требуется найти? т.е. суммы

можете поподробнее разжевать, буду при много благодарен
8 salvator
 
03.04.13
11:16
ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("ИмяКолонки", СсылкаНаЭлементСправочникаУслуги);
НайденныеСтроки = ИмяТабличнойЧасти.НайтиСтроки(ПараметрыОтбора);
9 pin4er
 
03.04.13
11:41
(8) Блин все равно что то недопонимаю как реализовать в коде....

1. Сначала получается надо из таблицы отобрать строки с наименованием "Стоимость тура".
тут обращаться как? Объект.Услуги ковсей ТЧ или Объект.Услуги.Услуга к колонке ТЧ


2. Из найденых строк выбрать Объект.Услуги. .("СуммаДляРебенка(ДляВзрослого)"); и Объект.Услуги. .("СуммаДляВзрослого);

3. Суммировать допустим в переменную СуммаВР

4. Вывести в макет: Область.Параметры.ПредоплатаТура = СуммаВР;
10 pin4er
 
03.04.13
11:42
Поправка 2. Из найденых строк выбрать Объект.Услуги. .("СуммаДляРебенка"); и Объект.Услуги. .("СуммаДляВзрослого");
11 pin4er
 
03.04.13
11:45
забыл сказать если на что то повлияет, конфигурация под 8.2 УП
12 exwill
 
03.04.13
11:48
(9) Вы знаете - что такое цикл?
13 salvator
 
03.04.13
11:50
(9) Позовите специалиста. Уже все разжевали
14 pin4er
 
03.04.13
13:33
(12) знаю
(13) это слишком просто, тогда и не задавал суда вопросы


не могу разобраться как правильно подставить значения
15 Eugene_life
 
03.04.13
13:45
(14) СуммаДляРебенка=0; СуммаДляВзрослого=0;
Для Каждого СтрокаТабЧасти Из Услуги Цикл
Если СокрЛП(СтрокаТабЧасти.Услуга.Наименование) = "Стоимость тура" Тогда
СуммаДляРебенка = СуммаДляРебенка + СтрокаТабЧасти.СуммаДляРебенка;
СуммаДляВзрослого= СуммаДляВзрослого+ СтрокаТабЧасти.СуммаДляВзрослого;
КонецЕсли;
КонецЦикла;

в переменных СуммаДляРебенка и СуммаДляВзрослого у тебя окажутся нужные числа
16 pin4er
 
03.04.13
15:36
(15) Спасибо большое! Внедрил, работает на ура! разобрался=))
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс