Имя: Пароль:
1C
1С v8
Запрос к регистрам накопления
0 dan4ik
 
04.07.12
04:59
Здравствуйте, нужна помощь с составлением запрос. Должно получиться так:
Организация 1
   Касса 1
      Период 1
      Период 2
      Период 3
Организация 2
   Касса 2
      Период 1
.
.
.
Запрос будет к Регистрам накопления денежные средства УНФ
1 dan4ik
 
04.07.12
05:01
И кстати делаю такой запрос не группирует по периоду(
Текст = "ВЫБРАТЬ
               |    ДенежныеСредства.Период КАК Период,
               |    ДенежныеСредства.БанковскийСчетКасса КАК бСчет,
               |    ДенежныеСредства.Валюта КАК Валюта,
               |    ДенежныеСредства.Организация КАК Организация,
               |    ДенежныеСредства.Сумма КАК Сумма
               |ИЗ
               |    РегистрНакопления.ДенежныеСредства КАК ДенежныеСредства
               |ГДЕ
               |    ДенежныеСредства.Период МЕЖДУ &НачалоПериод И &КонецПериод
               |ИТОГИ
               |    СУММА(Сумма)
               |ПО
               |    Организация,
               |    бСчет,
               |    Период,
               |    Валюта";
2 nicxxx
 
04.07.12
05:22
ИТОГИ
   СУММА(КоличествоКонечныйОстаток)
ПО
   Период ПЕРИОДАМИ(ДЕНЬ, &дата1, &дата1)
3 dan4ik
 
04.07.12
06:02
ВЫБРАТЬ
               |    ДенежныеСредства.Период КАК Период,
               |    ДенежныеСредства.БанковскийСчетКасса КАК бСчет,
               |    ДенежныеСредства.Валюта КАК Валюта,
               |    ДенежныеСредства.Организация КАК Организация,
               |    ДенежныеСредства.Сумма КАК Сумма
               |ИЗ
               |    РегистрНакопления.ДенежныеСредства КАК ДенежныеСредства
               |ГДЕ
               |    ДенежныеСредства.Период МЕЖДУ &НачалоПериод И &КонецПериод
               |ИТОГИ
               |    СУММА(Сумма)
               |ПО
               |    Организация,
               |    бСчет,
               |    Период ПЕРИОДАМИ(ДЕНЬ, &НачалоПериод, &КонецПериод),
               |    Валюта

Если это так должно получиться, то опять не группирует по Периоду
4 nicxxx
 
04.07.12
06:04
а выбираешь результат ты как? надо Выбрать(ОбходРезультатов.ПоГруппировкам) *не помню синтаксис точно
5 dan4ik
 
04.07.12
06:07
Текст = "ВЫБРАТЬ
               |    ДенежныеСредства.Период КАК Период,
               |    ДенежныеСредства.БанковскийСчетКасса КАК бСчет,
               |    ДенежныеСредства.Валюта КАК Валюта,
               |    ДенежныеСредства.Организация КАК Организация,
               |    ДенежныеСредства.Сумма КАК Сумма
               |ИЗ
               |    РегистрНакопления.ДенежныеСредства КАК ДенежныеСредства
               //|ГДЕ
               //|    ДенежныеСредства.Период МЕЖДУ &НачалоПериод И &КонецПериод
               |ИТОГИ
               |    СУММА(Сумма)
               |ПО
               |    Организация,
               |    бСчет,
               |    Период ПЕРИОДАМИ(ДЕНЬ, &НачалоПериод, &КонецПериод),
               |    Валюта";
               
ТабДок.Вывести(Макет.ПолучитьОбласть("Шапка"));    
   
   Запрос = новый Запрос(Текст);
   Запрос.УстановитьПараметр("НачалоПериод", нПериод);
   Запрос.УстановитьПараметр("КонецПериод", кПериод);
   
   Выборка0 = запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
   
   
   //ТабДок.НачатьГруппуСтрок();
   Пока выборка0.Следующий() цикл
           ТабДок.Вывести(Макет.ПолучитьОбласть("Отступ"));

       Область = Макет.ПолучитьОбласть("грОрг");
       Область.Параметры.орг = выборка0.Организация;
       Область.Параметры.КонОст = выборка0.Сумма;
       ТабДок.Вывести(Область);

    Результат = Выборка0.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
   ТабДок.НачатьГруппуСтрок(, ложь);
   пока Результат.Следующий() Цикл
       Область = Макет.ПолучитьОбласть("грБанкСчет");
       Область.Параметры.бСчет = Результат.бСчет;
       Область.Параметры.КонОст = Результат.Сумма;
       ТабДок.Вывести(Область);
       
       ТабДок.НачатьГруппуСтрок();
       Выборка1 = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
       Пока выборка1.Следующий() цикл
           Область = Макет.получитьОбласть("грПериод");
           //ОборотЗаПериод = ОборотЗаПериод(НачалоДня(Выборка1.период), КонецДня(выборка1.период),
           //Сообщить(
           область.Параметры.Период = ФОРМАТ(выборка1.Период, "ДФ = ""дд ММММ гггг""");
           область.параметры.КонОст = выборка1.Сумма;
           ТабДок.Вывести(Область);
           ТабДок.НачатьГруппуСтрок(,ложь);
           выборка2 = выборка1.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
           Пока выборка2.Следующий() цикл
               Область = Макет.ПолучитьОбласть("Валюта");
               Область.Параметры.Валюта = выборка2.Валюта;
               Область.Параметры.КонОст = выборка2.Сумма;
               ТабДок.Вывести(Область);
           КонецЦикла;
           ТабДок.ЗакончитьГруппуСтрок();
       КонецЦикла;
       ТабДок.ЗакончитьГруппуСтрок();
   КонецЦикла;
   ТабДок.ЗакончитьГруппуСтрок();
6 dan4ik
 
04.07.12
06:08
вот код полностью
7 vicof
 
04.07.12
06:22
Так нужна группировка или итоги по периоду?
8 dan4ik
 
04.07.12
06:27
надо что бы выводил сумму на каждый день "общую за день", а у меня от такого запроса только нормально выводит Организацию, Кассу, а вот дни повторяются по несколько раз
9 vicof
 
04.07.12
06:30
Намекаю второй раз: СГРУППИРОВАТЬ ПО...
10 dan4ik
 
04.07.12
06:34
ВЫБРАТЬ
                   |    ДенежныеСредства.Период КАК Период,
                   |    ДенежныеСредства.Организация,
                   |    ДенежныеСредства.БанковскийСчетКасса,
                   |    ДенежныеСредства.Валюта,
                   |    СУММА(ДенежныеСредства.Сумма) КАК Сумма
                   |ИЗ
                   |    РегистрНакопления.ДенежныеСредства КАК ДенежныеСредства
                   |ГДЕ
                   |    ДенежныеСредства.Период МЕЖДУ &НачалоПериод И &КонецПериод
                   |
                   |СГРУППИРОВАТЬ ПО
                   |    ДенежныеСредства.Организация,
                   |    ДенежныеСредства.БанковскийСчетКасса,
                   |    ДенежныеСредства.Период,
                   |    ДенежныеСредства.Валюта
                   |
                   |УПОРЯДОЧИТЬ ПО
                   |    Период

Вот так какую Хрень выдает....
11 nicxxx
 
04.07.12
06:35
да и без СГРУППИРОВАТЬ работает нормально
12 vicof
 
04.07.12
06:36
(10) скрин в студию
13 vicof
 
04.07.12
06:36
из консоли
14 nicxxx
 
04.07.12
06:37
наверно у тебя одна и та же дата выводится несколько раз потому что Период в выборке указан с точностью до секунды. попробуй
ВЫБРАТЬ    НачалоПериода(ДенежныеСредства.Период,ДЕНЬ) КАК Период,
15 dan4ik
 
04.07.12
06:41
Вот так заработало нормально. Спасибо большое!)