Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: Как решить вопрос с запросом.

v7: Как решить вопрос с запросом.
Я
   zenon46
 
10.07.19 - 21:10
Доброго вечера, есть запрос, который выбирает документы ПКО и РКО по дням и выводит суммы на каждый день. Но есть одно НО, если в какой-то день, в выбранном периоде нет документов, то в результате запроса этой даты нет, а хотелось бы видеть эту дату с 0. Но я так понимаю, что с помощью запроса такое не реализовать?
PS как я вижу, придется совершить страшный грех и крутить запрос в цикле по каждому дню выборки.

    |Период с НачДата по КонДата;
    |Обрабатывать НеПомеченныеНаУдаление;
    |ОбрабатыватьДокументы Проведенные;
    |ДатаДокумента    = Документ.ПКО.ДатаДок,    
    |            Документ.РКО.ДатаДок;
    |Касса            = Документ.ПКО.Касса,
    |            Документ.РКО.Касса;
    |СуммаДокументаПКО= Документ.ПКО.СуммаВзаиморасчетов;
    |СуммаДокументаРКО= Документ.РКО.СуммаВзаиморасчетов;
    |ФирмаДокумента   = Документ.ПКО.Фирма,
    |            Документ.РКО.Фирма;
    |КонтрДокумента  =  Документ.ПКО.Контрагент,
    |            Документ.РКО.Контрагент;    
    |Группировка День;
    |Функция СуммаДокументаПК=Сумма(СуммаДокументаПКО);
    |Функция СуммаДокументаРК=Сумма(СуммаДокументаРКО);
    |Условие(ФирмаДокумента = ВбрФирма);
    |Условие(Касса = ВбрКасса);
    |Без Итогов;
 
 
   Злопчинский
 
1 - 10.07.19 - 21:24
имхо нет, только на уровне обработки результатов запроса.
   vcv
 
2 - 10.07.19 - 21:52
А для группировки День разве не работает модификатор Все ВходящиеВЗапрос. Или как оно там. Смотрите синтакс-помошник по Группировка.
   MWWRuza
 
3 - 10.07.19 - 22:12
+(1)В принципе, не сложно реализовать при желании.
   HawkEye
 
4 - 11.07.19 - 00:02
(0) ты же результат будешь выводить куда-то (в печатную форму, в ТЗ, в таб.часть документа), все равно будет цикл перебора?
запоминай день который вывел, как только в следующей строке появляется новый день - сравнивай с предыдущим значением, если разница больше 1, значит есть дни без документов...  - добавляй их...
   Злопчинский
 
5 - 11.07.19 - 00:10
(2) очень сомневаюсь
   АгентБезопаснойНацио
 
6 - 11.07.19 - 05:06
(0)
1.уложить в сз все даты за период.
2.уложить сз во временную таблицу
3.прямым запросом достать необходимый результат.
   Bigbro
 
7 - 11.07.19 - 05:11
выводишь же наверняка в отчет какой то. храни предыдущую дату в переменной в цикле по группировке День проверяй, если перескочил больше чем на 1 - выводи нужное количество пустых строчек с нулем и дальше едем.
если из запроса выгружается ТЗ и дальше куда то едет в обработку - то наверное лучше (6).
   vcv
 
8 - 11.07.19 - 05:41
(5) Работает. Достаточно |Группировка День Все; и в запросе будут все даты, каждый день в периоде запроса.
   vcv
 
9 - 11.07.19 - 05:43
По крайней мере у меня на sql работает, за файловые не скажу.
   zenon46
 
10 - 11.07.19 - 09:06
(8) блин, работает! Спасибо!
   zenon46
 
11 - 11.07.19 - 09:07
"Все" - в запрос выводятся все значения, и нулевые тоже (используется для группировок по справочникам и временных группировок).
   Злопчинский
 
12 - 11.07.19 - 11:10
(8) спсб, учту

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.