8.х Накопительный расчет в запросе

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем †omynoker, 26 дек 2010.

  1. TopicStarter Overlay
    †omynoker
    Offline

    †omynoker

    Регистрация:
    17 авг 2006
    Сообщения:
    41
    Симпатии:
    0
    Баллы:
    1
    Уважаемые коллеги.
    Сразу оговорюсь, что задачу формализовал для типовой конфигурации, что бы сэкономить ваше время и трафик (объяснение оригинальной задачи займет не одну страницу, да и выкладывать только .cf смысла не имеет), по сему, прошу воздержаться от вопросов "Зачем это нужно?"
    Задача - необходимо создать запрос к документам вида "Реализация товаров и услуг", инересуют реквизиты "Контрагент", "Дата", "Сумма документа". Результатом запроса должна быть таблица содержащая в каждой строке, помимо перечисленного, Итоговую сумму по контрагенту за период отчета и накопительную суму по контрагенту на момент документа, то есть

    Контрагент|Документ|Сумма|Накопит| Итог|
    ---------------------------------------------------
    Контр1___|Док №12|__10__|__10___|_30_|
    Контр1___|Док №13|__10__|__20___|_30_|
    Контр1___|Док №14|__10__|__30___|_30_|
    ---------------------------------------------------
    Контр2___|Док №22|__15__|__15___|_35_|
    Контр2___|Док №33|__10__|__25___|_35_|
    Контр2___|Док №45|__10__|__35___|_35_|

    Условие - про регистры забыть, работать только с документом.
    Вопрос - это в принципе возможно?
    Если да, буду признателен за подсказку - в каком направлении искать.
  2. r-d-v2008
    Offline

    r-d-v2008 Опытный в 1С

    Регистрация:
    16 сен 2010
    Сообщения:
    272
    Симпатии:
    0
    Баллы:
    26
    Ну а почему бы нет, делаете выборку по документу реализация
  3. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Возможно.
    Вот пример получения нарастающих итогов.
    Код:
    "ВЫБРАТЬ
    ВзаиморасчетыСКонтрагентамиОбороты.Контрагент КАК Контрагент,
    ВзаиморасчетыСКонтрагентамиОбороты.Регистратор.МоментВремени КАК НачПериода,
    СУММА(ВзаиморасчетыСКонтрагентамиОбороты.СуммаВзаиморасчетовПриход) КАК Сумма
    ПОМЕСТИТЬ ОборотыПоМесяцам
    ИЗ
    РегистрНакопления.ВзаиморасчетыСКонтрагентами.Обороты(
    ,
    &КонецПериода,
    Регистратор,
    Организация = &Организация
    И Контрагент В ИЕРАРХИИ (&Контрагент)) КАК ВзаиморасчетыСКонтрагентамиОбороты
    </span>
    СГРУППИРОВАТЬ ПО
    ВзаиморасчетыСКонтрагентамиОбороты.Контрагент,
    ВзаиморасчетыСКонтрагентамиОбороты.Регистратор.МоментВремени
    
    ИНДЕКСИРОВАТЬ ПО
    Контрагент;
    
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ
    ОборотыПоМесяцам.Контрагент КАК Контрагент,
    ОборотыПоМесяцам.НачПериода КАК НачПериода,
    ОборотыПоМесяцам.Сумма КАК СуммаДокумента,
    СУММА(ОборотыПоМесяцамКопия.Сумма) - ОборотыПоМесяцам.Сумма КАК СуммаДоДокумента,
    СУММА(ОборотыПоМесяцамКопия.Сумма) КАК СуммаПослеДокумента
    ИЗ
    ОборотыПоМесяцам КАК ОборотыПоМесяцам
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОборотыПоМесяцам КАК ОборотыПоМесяцамКопия
    ПО ОборотыПоМесяцам.Контрагент = ОборотыПоМесяцамКопия.Контрагент
    И ОборотыПоМесяцам.НачПериода >= ОборотыПоМесяцамКопия.НачПериода
    
    СГРУППИРОВАТЬ ПО
    ОборотыПоМесяцам.НачПериода,
    ОборотыПоМесяцам.Контрагент,
    ОборотыПоМесяцам.Сумма
    
    УПОРЯДОЧИТЬ ПО
    Контрагент,
    НачПериода
    АВТОУПОРЯДОЧИВАНИЕ"
    
    </FONT></FONT></pre>
    Думаю переделать на выборку по документам труда не составит.
    1) Если не трудно, все-таки вкратце озвучте полную задачу, возможно кто-то посоветует вам другой путь решения.
    2) И (вытекает из п.1) скажите почему нельзя использовать РН? Данная выборка и на регистрах тормозит, а по документам, там предполагаю вообще Ж... по времени выполнения будет.
  4. TopicStarter Overlay
    †omynoker
    Offline

    †omynoker

    Регистрация:
    17 авг 2006
    Сообщения:
    41
    Симпатии:
    0
    Баллы:
    1
    Спасибо за подсказку. Попробую.
    2. РН использовать невозможно, поскольку в оригинальной задаче объект не связан с регистрами.
    1. От развернутого описания задачи все же воздержусь, поскольку общее направление решения с Вашей помощью определилось.

    Еще раз спасибо.

Поделиться этой страницей