| 
    
        
     
     | 
    
  | 
Запрос Продажи за предыдущие 30 дней на каждый день | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        kn    
     01.12.11 
            ✎
    17:11 
 | 
         
        Как написать такой запрос,подскажите идею или где посмотреть что-нибудь похожее
  
        т.е 01.01.11 - продажи за 02.12.10-31.12.10 02.01.11 - продажи за 03.12.10-01.01.11 и т.д.  | 
|||
| 
    1
    
        Ненавижу 1С    
     гуру 
    01.12.11 
            ✎
    17:14 
 | 
         
        берешь ВТ оборотов регистра продаж за (Дата1-30, Дата2-30) с периодичностью день...     
         | 
|||
| 
    2
    
        Buster007    
     01.12.11 
            ✎
    17:15 
 | 
         
        обсуждалось пиццот раз     
         | 
|||
| 
    3
    
        kn    
     01.12.11 
            ✎
    17:16 
 | 
         
        (1)а Дата1,Дата2 что?
  
        (2)не пробегало на моих глазах такого, кинь ссылку если не трудно  | 
|||
| 
    4
    
        pumbaEO    
     01.12.11 
            ✎
    17:21 
 | 
         
        1С нарастающие итоги - в яндексе.     
         | 
|||
| 
    5
    
        kn    
     01.12.11 
            ✎
    17:25 
 | 
         
        верю что вот так (1),спасибо.     
         | 
|||
| 
    6
    
        Ненавижу 1С    
     гуру 
    01.12.11 
            ✎
    17:32 
 | 
         
        (3) параметры     
         | 
|||
| 
    7
    
        kn    
     01.12.11 
            ✎
    17:35 
 | 
         
        понятно, просто ведь.     
         | 
|||
| 
    8
    
        kn    
     01.12.11 
            ✎
    17:38 
 | 
         
        а вто сложней вопрос - как сюда прикрутить дебиторскую задолженность на день(учет по документам расчета установлен в УТ 10.3)     
         | 
|||
| 
    9
    
        kn    
     01.12.11 
            ✎
    18:27 
 | 
         
        возвращаясь к сабжу, замечу что (1) не то
  
        (4)но надо ведь не нарастающие итоги.  | 
|||
| 
    10
    
        pumbaEO    
     01.12.11 
            ✎
    18:28 
 | 
||||
| 
    11
    
        kn    
     01.12.11 
            ✎
    18:40 
 | 
         
        (10)дебиторка пока подождет, а продажи интересуют т.к нет идеи решения.     
         | 
|||
| 
    12
    
        pumbaEO    
     01.12.11 
            ✎
    18:45 
 | 
         
        Ок я приведу ссылку Книга знаний: v8: Полные остатки по периоду во вложенном запросе по начальному остатку 
  
        Там в запросе вы получаете список дат... есть ДОБАВИТЬКДАТЕ что вам мешает выбрать из оборотов по регистру Продажи?  | 
|||
| 
    13
    
        kn    
     01.12.11 
            ✎
    19:47 
 | 
         
        спасибо за ссылки, пробую, но смысл еще не улавливаю.     
         | 
|||
| 
    14
    
        pumbaEO    
     01.12.11 
            ✎
    19:58 
 | 
         
        Там смысл долго надо улавливать, я в первой только через часа 3 понял, это с разбивкой на подзапросы и т.д. Запрос у вас есть, консоль запросов в руки и разбиваем на части смотрим и ищем просветления...     
         | 
|||
| 
    15
    
        АйЭм    
     01.12.11 
            ✎
    20:01 
 | 
         
        Знатная хоботня.     
         | 
|||
| 
    16
    
        kn    
     02.12.11 
            ✎
    13:45 
 | 
         
        не получается.запрос ниже выводит обороты за каждый день, а мне надо за 30 предыдущих, как такое организовать?
  
        ВЫБРАТЬ ДОБАВИТЬКДАТЕ(&ДатаНач, ДЕНЬ, РазностьДат.НомерДняИзДиапазона) КАК Период, ТоварыНаСкладах.СтоимостьОборот, РазностьДат.НомерДняИзДиапазона ИЗ (ВЫБРАТЬ МАКСИМУМ(ЗапросДатаС.ДатаС) КАК ДатаС, ЗапросДатаПо.ДатаПо КАК ДатаПо, ЗапросДатаПо.СтоимостьОборот КАК СтоимостьОборот ИЗ (ВЫБРАТЬ КОНЕЦПЕРИОДА(ПродажиОбороты.Период, ДЕНЬ) КАК ДатаПо, ПродажиОбороты.СтоимостьОборот КАК СтоимостьОборот ИЗ РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, День, ) КАК ПродажиОбороты) КАК ЗапросДатаПо ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ПродажиОбороты.Период КАК ДатаС ИЗ РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, День, ) КАК ПродажиОбороты) КАК ЗапросДатаС ПО (ЗапросДатаС.ДатаС < ЗапросДатаПо.ДатаПо) СГРУППИРОВАТЬ ПО ЗапросДатаПо.ДатаПо, ЗапросДатаПо.СтоимостьОборот) КАК ТоварыНаСкладах ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ aa.a * 1000 + bb.b * 100 + cc.c * 10 + dd.d КАК НомерДняИзДиапазона ИЗ (ВЫБРАТЬ 0 КАК a ОБЪЕДИНИТЬ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВЫБРАТЬ 9) КАК aa ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ 0 КАК b ОБЪЕДИНИТЬ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВЫБРАТЬ 9) КАК bb ПО (ИСТИНА) ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ 0 КАК c ОБЪЕДИНИТЬ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВЫБРАТЬ 9) КАК cc ПО (ИСТИНА) ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ 0 КАК d ОБЪЕДИНИТЬ ВЫБРАТЬ 1 ОБЪЕДИНИТЬ ВЫБРАТЬ 2 ОБЪЕДИНИТЬ ВЫБРАТЬ 3 ОБЪЕДИНИТЬ ВЫБРАТЬ 4 ОБЪЕДИНИТЬ ВЫБРАТЬ 5 ОБЪЕДИНИТЬ ВЫБРАТЬ 6 ОБЪЕДИНИТЬ ВЫБРАТЬ 7 ОБЪЕДИНИТЬ ВЫБРАТЬ 8 ОБЪЕДИНИТЬ ВЫБРАТЬ 9) КАК dd ПО (ИСТИНА) ГДЕ aa.a * 1000 + bb.b * 100 + cc.c * 10 + dd.d <= &КолДнейМеждуДатами) КАК РазностьДат ПО (ДОБАВИТЬКДАТЕ(&ДатаНач, ДЕНЬ, РазностьДат.НомерДняИзДиапазона) МЕЖДУ ТоварыНаСкладах.ДатаС И ТоварыНаСкладах.ДатаПо) УПОРЯДОЧИТЬ ПО Период  | 
|||
| 
    17
    
        kn    
     02.12.11 
            ✎
    14:14 
 | 
         
        вверх     
         | 
|||
| 
    18
    
        Ненавижу 1С    
     гуру 
    02.12.11 
            ✎
    14:18 
 | 
         
        (9) почему (1) ЭТО НЕ ТО?     
         | 
|||
| 
    19
    
        kn    
     02.12.11 
            ✎
    14:21 
 | 
         
        Там тоже продажи разворачиваются до дня и ЗА ДЕНЬ, единственно какой в этом смысл увидела я что делать каждый день отчет за тек день находить обороты  за предыдущие 30 дней, писать это в какой нибудь регистр и отчет получать из этого регистра     
         | 
|||
| 
    20
    
        kn    
     02.12.11 
            ✎
    14:22 
 | 
         
        мне надо чтобы Дата1 Дата2 "скользили" как бы     
         | 
|||
| 
    21
    
        kn    
     02.12.11 
            ✎
    14:31 
 | 
         
        (18)Вот приведу незамысловатый запрос как описано(если правильно понимаю) в (1)
  
        ВЫБРАТЬ ПродажиОбороты.КоличествоОборот, ДОБАВИТЬКДАТЕ(ПродажиОбороты.Период, ДЕНЬ, 30) КАК Дата ИЗ РегистрНакопления.Продажи.Обороты(&Дата1, &Дата2, День, ) КАК ПродажиОбороты УПОРЯДОЧИТЬ ПО Дата Так вот он не то что надо.  | 
|||
| 
    22
    
        kn    
     02.12.11 
            ✎
    16:07 
 | 
         
        вверх     
         | 
|||
| 
    23
    
        pumbaEO    
     02.12.11 
            ✎
    16:16 
 | 
         
        Вы получаете диапазон в один день, почему не получить диапазон в 10, 20, 30 дней?
  
        Экономического смысла в этой информации совершенно не вижу. Подскажите зачем?  | 
|||
| 
    24
    
        kn    
     02.12.11 
            ✎
    16:23 
 | 
         
        (23)на фирме ежедневно создается отчет для руководства куда входят эти самые продажи, дебиторка, просроченная и их отношения,причем бухгалтер выбирает данные по соответствующим отчетам и накапливает в Экселе, вот поставили задачу написать единый отчет за период по дням как их Экселевская таблица.
  
        Я не понимаю как получить диапазон в 30 дней.  | 
|||
| 
    25
    
        pumbaEO    
     02.12.11 
            ✎
    16:59 
 | 
         
        ну остатки(дебиторка ладно, на каждый день есть определенная сумма) а какой период для анализа продаж берется?
  
        А все посмотрел. Тогда вот тебе http://forum.mista.ru/topic.php?upd&id=184893 для регистра накопления.  | 
|||
| 
    26
    
        AAlexandra    
     02.12.11 
            ✎
    17:00 
 | 
         
        (24) с помощью запроса (16) получаешь таблицуОборотовПоДням:
  
        ПериодДень | ОборотСумма ПериодДень в диапазоне от (ДатаНачалаОтчета-31день) до (ДатаОкончанияОтчета-1день) Отдельно получаешь таблицуДнейОтчета из 1 колонки: ПериодДень ПериодДень от (ДатаНачалаОтчета) до (ДатаОкончанияОтчета) Делаешь левое соединение таблицыОборотовПоДням к таблицеДнейОтчета по условию: таблицаОборотовПоДням.ПериодДень > ДобавитьКДате(таблицаДнейОтчета.ПериодДень, ДЕНЬ, -31) И таблицаОборотовПоДням.ПериодДень <= ДобавитьКДате(таблицаДнейОтчета.ПериодДень, ДЕНЬ, -1) Получаешь ИтоговуюТаблицу: таблицаДнейОтчета.ПериодДень | таблицаОборотовПоДням.ОборотСумма Группируешь ее по ПериодДень, Сумма(ОборотСумма) - Получаешь то что хотел в (0).  | 
|||
| 
    27
    
        kn    
     02.12.11 
            ✎
    17:13 
 | 
         
        (25)я это видела и когда-то использовала но как для этого случая адаптировать не знаю
  
        (26)спасибо, попробую  | 
|||
| 
    28
    
        kn    
     02.12.11 
            ✎
    17:29 
 | 
         
        Воспользовавшись идеей в (26), получилось так 
  
        ВЫБРАТЬ ПродажиОбороты.СтоимостьОборот КАК СтоимостьОборот, РегламентированныйПроизводственныйКалендарь.ДатаКалендаря КАК ДатаКалендаря ИЗ РегистрСведений.РегламентированныйПроизводственныйКалендарь КАК РегламентированныйПроизводственныйКалендарь ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&Дата1, &Дата2, День, ) КАК ПродажиОбороты ПО (ПродажиОбороты.Период > ДОБАВИТЬКДАТЕ(РегламентированныйПроизводственныйКалендарь.ДатаКалендаря, ДЕНЬ, -31)) И (ПродажиОбороты.Период <= ДОБАВИТЬКДАТЕ(РегламентированныйПроизводственныйКалендарь.ДатаКалендаря, ДЕНЬ, -1)) ГДЕ РегламентированныйПроизводственныйКалендарь.ДатаКалендаря МЕЖДУ &ДатаНач И &ДатаКон ИТОГИ СУММА(СтоимостьОборот) ПО ДатаКалендаря  | 
|||
| 
    29
    
        kn    
     02.12.11 
            ✎
    17:30 
 | 
         
        Всем помогавшим большое спасибо!     
         | 
|||
| 
    30
    
        pumbaEO    
     02.12.11 
            ✎
    17:31 
 | 
         
        фотку.     
         | 
|||
| 
    31
    
        pumbaEO    
     02.12.11 
            ✎
    17:32 
 | 
         
        на спасибо не посмотришь. :)     
         | 
|||
| 
    32
    
        kn    
     02.12.11 
            ✎
    17:34 
 | 
         
        а помогать лучше просто так и быть верным.     
         | 
|||
| 
    33
    
        pumbaEO    
     02.12.11 
            ✎
    17:35 
 | 
         
        так я не для себя, сыну покажу.     
         | 
|||
| 
    34
    
        kn    
     02.12.11 
            ✎
    17:40 
 | 
         
        ему я думаю лучше смешариков     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |