Имя: Пароль:
1C
1С v8
Как правильно вывести данные из регистра накопления?
,
0 leo58
 
19.01.12
19:53
Есть регистр накопления с данными о количестве забитых голов игроками,создан такой запрос:
стрЗапрос="
   |ВЫБРАТЬ
   |    Сведения_игроков.Игрок,
   |    Сведения_игроков.Количество
   |ИЗ
   |    РегистрНакопления.Сведения_игроков КАК Сведения_игроков
   |ГДЕ
   |    Сведения_игроков.Период МЕЖДУ &ДатаНач И &ДатаКон";
   
   обЗапрос=Новый Запрос(стрЗапрос);

обЗапрос.УстановитьПараметр("ДатаНач",ПолеВвода1);
обЗапрос.УстановитьПараметр("ДатаКон",ПолеВвода2);

резЗапроса= обЗапрос.Выполнить();

Проблема в том что данные в регистре накопления не суммируются, например:
зидан 1
зидан 1
рауль 1
Как сделать так чтобы запрос суммировал по игроку, т.е. было так:
зидан 2
рауль 1
1 МурЬка
 
19.01.12
19:55
А все почему? Потому что учиться надо было во время семестра.
2 Rie
 
19.01.12
19:56
(0) Используй виртуальную таблицу (например, Обороты) для этой цели.
3 leo58
 
19.01.12
19:57
МурЬка, да учился вроде, но вот это никак не допру как сделать, сгруппировать наверное но чото не получилось
4 МурЬка
 
19.01.12
19:57
(3) А ты лекции почитай.
5 leo58
 
19.01.12
19:57
Rie, ниразу с виртуальными таблицами не сталкивался, сложно сделать?
6 echo77
 
19.01.12
19:59
leo58, проще паренной репы.
Еще можете почитать/посмотреть лекции Павла Чистова про запросы.
Курс по СКД, который рекламируют здесь на сайта
7 catena
 
19.01.12
20:00
(5)Конструктор запроса все сделает за вас.
8 Rie
 
19.01.12
20:00
(5) Открой хотя бы встроенную справку 1С. И почитай, что такое теблица Обороты.
Или открой для себя конструктор запросов 1С.
9 leo58
 
19.01.12
20:01
echo77, я бы с радостью но время поджимает...Если можно обьясните пожалуйста как
10 ДенисЧ
 
19.01.12
20:02
стрЗапрос="
   |ВЫБРАТЬ
   |    Сведения_игроков.Игрок,
   |    Сумма(Сведения_игроков.Количество)
   |ИЗ
   |    РегистрНакопления.Сведения_игроков КАК Сведения_игроков
   |ГДЕ
   |    Сведения_игроков.Период МЕЖДУ &ДатаНач И &ДатаКон
Сгруппировать по Игрок...
11 leo58
 
19.01.12
20:03
catena, а что за конструктор запроса?
12 zak555
 
19.01.12
20:03
(10) виртуальные таблицы неее ?
13 leo58
 
19.01.12
20:04
ДенисЧ, спасибо сейчас попробую
14 catena
 
19.01.12
20:04
(10)эээ...
15 МурЬка
 
19.01.12
20:04
(10) А я б на пересдачу отправила )
17 leo58
 
19.01.12
20:11
стрЗапрос="
   |ВЫБРАТЬ
   |    Сведения_игроков.Игрок,
   |    Сумма(Сведения_игроков.Количество)
   |ИЗ
   |    РегистрНакопления.Сведения_игроков КАК Сведения_игроков
   |ГДЕ
   |    Сведения_игроков.Период МЕЖДУ &ДатаНач И &ДатаКон
   |СГРУППИРОВАТЬ ПО
   |    Сведения_игроков.Игрок";
   
   обЗапрос=Новый Запрос(стрЗапрос);

обЗапрос.УстановитьПараметр("ДатаНач",ПолеВвода1);
обЗапрос.УстановитьПараметр("ДатаКон",ПолеВвода2);

резЗапроса= обЗапрос.Выполнить();
Выборка=резЗапроса.Выбрать();

ТабДок=Новый ТабличныйДокумент;

Макет=Отчеты.Сведения_игроков.ПолучитьМакет("Бомбард");

ОблВыв=Макет.ПолучитьОбласть("Шапка");
ОблВыв.Параметры.ДатаНач=ФОРМАТ(ПолеВВода1,"ДФ=""дд ММММ гггг 'г.'""");
ОблВыв.Параметры.ДатаКон=ФОРМАТ(ПолеВВода2,"ДФ=""дд ММММ гггг 'г.'""");
ТабДок.Вывести(ОблВыв);

ОблВыв=макет.ПолучитьОбласть("Запись");
Пока выборка.Следующий()ЦИКЛ
   ОблВыв.Параметры.Игрок=Выборка.Игрок;
   ОблВыв.Параметры.Количество=Выборка.Количество;
   ТабДок.Вывести(ОблВыв);
конецЦикла;

Сделал так, вроде всё правильно но ошибка с
ОблВыв.Параметры.Количество=Выборка.Количество;
Пробовал Выборка.Сумма всё равно не находит
18 ДенисЧ
 
19.01.12
20:12
(15) А я не пойду :-)
(12) религия не позволяет.
(14) уууу
19 ДенисЧ
 
19.01.12
20:12
(17) а псевдОним кто будет задавать?
20 МурЬка
 
19.01.12
20:13
(19) Не пугай ребенка страшными словами.
21 echo77
 
19.01.12
20:15
П!@#$@ ! человека учили все кодить только руками
22 ДенисЧ
 
19.01.12
20:17
(21) я сам учился :-)
23 Rie
 
19.01.12
20:17
(21) И это не так уж плохо - особенно на начальном этапе.
24 МурЬка
 
19.01.12
20:18
(21) У меня студенты делают один отчет в трех вариантах - руками, через построитель, через компоновку. Некоторым помогает )
25 leo58
 
19.01.12
20:24
задал псевдоним:
Сумма(Сведения_игроков.Количество) КАК Сумма

В выборке ставлю:
Выборка.Сумма
Поле всё равно не находит...
Мурька, если вы хорошо понимаете лучше бы помогли чем опускать незнающего человека, все когда то учатся
26 catena
 
19.01.12
20:25
(25)Ткни уже правой кнопкой в запрос, найди там конструктор и посмотри таблицы. Не слушай ДенисаЧ, это для тебя еще слишком сложно.
27 zak555
 
19.01.12
20:26
(26) как раз сначала и надо учиться писать руками - быстрее всё заполнишь
28 leo58
 
19.01.12
20:28
zak555 я пытаюсь вот встрял))
29 leo58
 
19.01.12
20:28
catena, спасибо за подсказку гляну что там
30 ДенисЧ
 
19.01.12
20:29
лучше отладчиком пройтись, чем через эти даун-формы ползти...
31 leo58
 
19.01.12
20:31
ДенисЧ, с запросом вроде всё норм, только вот выборку уже немогу сделать как теперь поле количество выбрать?
ОблВыв=макет.ПолучитьОбласть("Запись");
Пока выборка.Следующий()ЦИКЛ
   ОблВыв.Параметры.Игрок=Выборка.Игрок;
   ОблВыв.Параметры.Количество=Выборка.Количество;
   ТабДок.Вывести(ОблВыв);
32 leo58
 
19.01.12
20:32
в запросе они так:
|ВЫБРАТЬ
   |    Сведения_игроков.Игрок,
   |    Сумма(Сведения_игроков.Количество) КАК Сумма
   |ИЗ
   |    РегистрНакопления.Сведения_игроков КАК Сведения_игроков
   |ГДЕ
   |    Сведения_игроков.Период МЕЖДУ &ДатаНач И &ДатаКон
   |СГРУППИРОВАТЬ ПО
   |    Сведения_игроков.Игрок";
33 Rie
 
19.01.12
20:33
(31) Так а как у тебя в запросе названо Сумма(Сведения_игроков.Количество)?
Судя по (25) - Сумма.
И в (25) ты сказал, что пишешь Выборка.Сумма.
А в (31) почему-то снова Выборка.Количество.
Ты уж определись...
34 leo58
 
19.01.12
20:34
В 31 тоже выборка.сумма не проходит
35 ДенисЧ
 
19.01.12
20:34
(31) а где там у тебя в запросе поле "Количество"?
36 ДенисЧ
 
19.01.12
20:35
Всё таки отладчик или метла в руки...
37 catena
 
19.01.12
20:35
(27)Для начала лучше документацию читать, если уж на то пошло.
38 leo58
 
19.01.12
20:36
Всё ребят, заработало, большое всем спасибо за помощь!!!
39 leo58
 
19.01.12
20:36
Rie, ты прав я в 31 опять количество указал
40 ДенисЧ
 
19.01.12
20:36
ой.... Научили... На свою голову... Ещё один конкурент... Опять цены повышать, как же меня это задолбало :-)
41 leo58
 
19.01.12
20:38
ДенисЧ, да ладно тебе, спасибо за помощь!!!
42 zak555
 
19.01.12
20:39
(37) методом тыка надо =)
43 catena
 
19.01.12
20:40
Спасибо тебе, Денис... А потом плачемся на форуме, за всякими Лео переписывая :)
44 catena
 
19.01.12
20:41
(42)Метод тыка не подразумевает наличие форумов ;)
45 zak555
 
19.01.12
20:48
(44) так и на форумах народ тыкается =)
46 МурЬка
 
19.01.12
20:56
Злые вы... он же это преподу покажет :(
47 БибиГон
 
19.01.12
20:57
(46) а препод на пересдачу отправит. )