8.х Неправильно считаются итоги при добавлении колонки

Тема в разделе "Система компоновки данных (СКД)", создана пользователем lopolik, 20 янв 2015.

  1. TopicStarter Overlay
    lopolik
    Offline

    lopolik Опытный в 1С

    Регистрация:
    27 ноя 2006
    Сообщения:
    80
    Симпатии:
    0
    Баллы:
    26
    УТ 11, 8.3. В стандартный отчет "Расчеты с клиентом" добавили колонку "РеальнаяСуммаПрихода" - колонка учитывает поступление -списание денежный средств (нал и безнал).
    Но, почему-то, сумма из этой колонки плюсуется к значению "Начальный остаток/Долг клиента".
    И только, если убрать группировку Регистратор. Если выводить отчет с документами - все нормально.
    Если в настройках убрать эту колонку - тоже правильные суммы встают.

    Текст запроса:
    Код:
    ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
        Сегменты.Партнер КАК Партнер,
        ИСТИНА КАК ИспользуетсяОтборПоСегментуПартнеров
    ПОМЕСТИТЬ ОтборПоСегментуПартнеров
    {ВЫБРАТЬ
        Партнер.*}
    ИЗ
        РегистрСведений.ПартнерыСегмента КАК Сегменты
    {ГДЕ
        Сегменты.Сегмент.* КАК СегментПартнеров,
        Сегменты.Партнер.* КАК Партнер}
    
    ИНДЕКСИРОВАТЬ ПО
        Сегменты.Партнер
    ;
    
    ////////////////////////////////////////////////////////////////////////////////
    ВЫБРАТЬ РАЗРЕШЕННЫЕ
        0 КАК ТипРасчетов,
        РасчетыСКлиентами.АналитикаУчетаПоПартнерам,
        РегистрАналитикаУчетаПоПартнерам.Организация,
        РегистрАналитикаУчетаПоПартнерам.Партнер,
        РегистрАналитикаУчетаПоПартнерам.Контрагент,
        РасчетыСКлиентами.Валюта КАК ВалютаВзаиморасчетов,
        РасчетыСКлиентами.ЗаказКлиента КАК Заказ,
        РасчетыСКлиентами.ЗаказКлиента.Соглашение КАК Соглашение,
        РасчетыСКлиентами.ЗаказКлиента.Соглашение.ГруппаФинансовогоУчета КАК ГруппаФинансовогоУчета,
        ВЫБОР
            КОГДА РасчетыСКлиентами.ЗаказКлиента ССЫЛКА Справочник.ДоговорыКонтрагентов
                ТОГДА РасчетыСКлиентами.ЗаказКлиента
            ИНАЧЕ РасчетыСКлиентами.ЗаказКлиента.Договор
        КОНЕЦ КАК Договор,
        ВЫБОР
            КОГДА РасчетыСКлиентами.Регистратор = НЕОПРЕДЕЛЕНО
                ТОГДА NULL
            ИНАЧЕ РасчетыСКлиентами.Регистратор
        КОНЕЦ КАК Регистратор,
        РасчетыСКлиентами.ПериодСекунда КАК ПериодСекунда,
        РасчетыСКлиентами.ПериодДень КАК ПериодДень,
        РасчетыСКлиентами.ПериодНеделя КАК ПериодНеделя,
        РасчетыСКлиентами.ПериодДекада КАК ПериодДекада,
        РасчетыСКлиентами.ПериодМесяц КАК ПериодМесяц,
        РасчетыСКлиентами.ПериодКвартал КАК ПериодКвартал,
        РасчетыСКлиентами.ПериодПолугодие КАК ПериодПолугодие,
        РасчетыСКлиентами.ПериодГод КАК ПериодГод,
        ВЫБОР
            КОГДА РасчетыСКлиентами.СуммаНачальныйОстаток > 0
                ТОГДА РасчетыСКлиентами.СуммаНачальныйОстаток
            ИНАЧЕ 0
        КОНЕЦ КАК ДолгПартнераНачальныйОстаток,
        ВЫБОР
            КОГДА РасчетыСКлиентами.СуммаНачальныйОстаток < 0
                ТОГДА -РасчетыСКлиентами.СуммаНачальныйОстаток
            ИНАЧЕ 0
        КОНЕЦ КАК НашДолгНачальныйОстаток,
        РасчетыСКлиентами.СуммаНачальныйОстаток КАК ДолгНачальныйОстаток,
        РасчетыСКлиентами.СуммаПриход КАК ДолгУвеличение,
        РасчетыСКлиентами.СуммаРасход КАК ДолгУменьшение,
        РасчетыСКлиентами.СуммаКонечныйОстаток КАК ДолгКонечныйОстаток,
        ВЫБОР
            КОГДА РасчетыСКлиентами.СуммаКонечныйОстаток > 0
                ТОГДА РасчетыСКлиентами.СуммаКонечныйОстаток
            ИНАЧЕ 0
        КОНЕЦ КАК ДолгПартнераКонечныйОстаток,
        ВЫБОР
            КОГДА РасчетыСКлиентами.СуммаКонечныйОстаток < 0
                ТОГДА -РасчетыСКлиентами.СуммаКонечныйОстаток
            ИНАЧЕ 0
        КОНЕЦ КАК НашДолгКонечныйОстаток,
        ВЫБОР
            КОГДА РасчетыСКлиентами.Регистратор.Ссылка ССЫЛКА Документ.ПоступлениеБезналичныхДенежныхСредств
                    ИЛИ РасчетыСКлиентами.Регистратор.Ссылка ССЫЛКА Документ.ПриходныйКассовыйОрдер
                    ИЛИ РасчетыСКлиентами.Регистратор.Ссылка ССЫЛКА Документ.РасходныйКассовыйОрдер
                    ИЛИ РасчетыСКлиентами.Регистратор.Ссылка ССЫЛКА Документ.СписаниеБезналичныхДенежныхСредств
                ТОГДА РасчетыСКлиентами.СуммаРасход
        КОНЕЦ КАК РеальнаяСуммаПрихода
    ИЗ
        РегистрНакопления.РасчетыСКлиентами.ОстаткиИОбороты(, , Авто, , ) КАК РасчетыСКлиентами
            {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаПоПартнерам КАК РегистрАналитикаУчетаПоПартнерам
            ПО РасчетыСКлиентами.АналитикаУчетаПоПартнерам = РегистрАналитикаУчетаПоПартнерам.КлючАналитики}
    ГДЕ
        РегистрАналитикаУчетаПоПартнерам.Партнер <> ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие)
        И &ДанныеПоРасчетам = 1
    {ГДЕ
        (РегистрАналитикаУчетаПоПартнерам.Партнер В
                (ВЫБРАТЬ
                    ОтборПоСегментуПартнеров.Партнер
                ИЗ
                    ОтборПоСегментуПартнеров
                ГДЕ
                    ОтборПоСегментуПартнеров.ИспользуетсяОтборПоСегментуПартнеров = &ИспользуетсяОтборПоСегментуПартнеров))}
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        0,
        РасчетыСКлиентами.АналитикаУчетаПоПартнерам,
        РегистрАналитикаУчетаПоПартнерам.Организация,
        РегистрАналитикаУчетаПоПартнерам.Партнер,
        РегистрАналитикаУчетаПоПартнерам.Контрагент,
        РасчетыСКлиентами.Валюта,
        РасчетыСКлиентами.ЗаказКлиента,
        РасчетыСКлиентами.ЗаказКлиента.Соглашение,
        РасчетыСКлиентами.ЗаказКлиента.Соглашение.ГруппаФинансовогоУчета,
        ВЫБОР
            КОГДА РасчетыСКлиентами.ЗаказКлиента ССЫЛКА Справочник.ДоговорыКонтрагентов
                ТОГДА РасчетыСКлиентами.ЗаказКлиента
            ИНАЧЕ РасчетыСКлиентами.ЗаказКлиента.Договор
        КОНЕЦ,
        ВЫБОР
            КОГДА РасчетыСКлиентами.Регистратор = НЕОПРЕДЕЛЕНО
                ТОГДА NULL
            ИНАЧЕ РасчетыСКлиентами.Регистратор
        КОНЕЦ,
        РасчетыСКлиентами.ПериодСекунда,
        РасчетыСКлиентами.ПериодДень,
        РасчетыСКлиентами.ПериодНеделя,
        РасчетыСКлиентами.ПериодДекада,
        РасчетыСКлиентами.ПериодМесяц,
        РасчетыСКлиентами.ПериодКвартал,
        РасчетыСКлиентами.ПериодПолугодие,
        РасчетыСКлиентами.ПериодГод,
        ВЫБОР
            КОГДА &ДанныеПоРасчетам = 2
                ТОГДА ВЫБОР
                        КОГДА РасчетыСКлиентами.ДолгУпрНачальныйОстаток + РасчетыСКлиентами.ПредоплатаУпрНачальныйОстаток > 0
                            ТОГДА РасчетыСКлиентами.ДолгУпрНачальныйОстаток + РасчетыСКлиентами.ПредоплатаУпрНачальныйОстаток
                        ИНАЧЕ 0
                    КОНЕЦ
            ИНАЧЕ ВЫБОР
                    КОГДА РасчетыСКлиентами.ДолгРеглНачальныйОстаток + РасчетыСКлиентами.ПредоплатаРеглНачальныйОстаток > 0
                        ТОГДА РасчетыСКлиентами.ДолгРеглНачальныйОстаток + РасчетыСКлиентами.ПредоплатаРеглНачальныйОстаток
                    ИНАЧЕ 0
                КОНЕЦ
        КОНЕЦ,
        ВЫБОР
            КОГДА &ДанныеПоРасчетам = 2
                ТОГДА ВЫБОР
                        КОГДА РасчетыСКлиентами.ДолгУпрНачальныйОстаток + РасчетыСКлиентами.ПредоплатаУпрНачальныйОстаток < 0
                            ТОГДА -(РасчетыСКлиентами.ДолгУпрНачальныйОстаток + РасчетыСКлиентами.ПредоплатаУпрНачальныйОстаток)
                        ИНАЧЕ 0
                    КОНЕЦ
            ИНАЧЕ ВЫБОР
                    КОГДА РасчетыСКлиентами.ДолгРеглНачальныйОстаток + РасчетыСКлиентами.ПредоплатаРеглНачальныйОстаток < 0
                        ТОГДА -(РасчетыСКлиентами.ДолгРеглНачальныйОстаток + РасчетыСКлиентами.ПредоплатаРеглНачальныйОстаток)
                    ИНАЧЕ 0
                КОНЕЦ
        КОНЕЦ,
        ВЫБОР
            КОГДА &ДанныеПоРасчетам = 2
                ТОГДА РасчетыСКлиентами.ДолгУпрНачальныйОстаток + РасчетыСКлиентами.ПредоплатаУпрНачальныйОстаток
            ИНАЧЕ РасчетыСКлиентами.ДолгРеглНачальныйОстаток + РасчетыСКлиентами.ПредоплатаРеглНачальныйОстаток
        КОНЕЦ,
        ВЫБОР
            КОГДА &ДанныеПоРасчетам = 2
                ТОГДА РасчетыСКлиентами.ДолгУпрПриход + РасчетыСКлиентами.ПредоплатаУпрПриход
            ИНАЧЕ РасчетыСКлиентами.ДолгРеглПриход + РасчетыСКлиентами.ПредоплатаРеглПриход
        КОНЕЦ,
        ВЫБОР
            КОГДА &ДанныеПоРасчетам = 2
                ТОГДА РасчетыСКлиентами.ДолгУпрРасход + РасчетыСКлиентами.ПредоплатаУпрРасход
            ИНАЧЕ РасчетыСКлиентами.ДолгРеглРасход + РасчетыСКлиентами.ПредоплатаРеглРасход
        КОНЕЦ,
        ВЫБОР
            КОГДА &ДанныеПоРасчетам = 2
                ТОГДА РасчетыСКлиентами.ДолгУпрКонечныйОстаток + РасчетыСКлиентами.ПредоплатаУпрКонечныйОстаток
            ИНАЧЕ РасчетыСКлиентами.ДолгРеглКонечныйОстаток + РасчетыСКлиентами.ПредоплатаРеглКонечныйОстаток
        КОНЕЦ,
        ВЫБОР
            КОГДА &ДанныеПоРасчетам = 2
                ТОГДА ВЫБОР
                        КОГДА РасчетыСКлиентами.ДолгУпрКонечныйОстаток + РасчетыСКлиентами.ПредоплатаУпрКонечныйОстаток > 0
                            ТОГДА РасчетыСКлиентами.ДолгУпрКонечныйОстаток + РасчетыСКлиентами.ПредоплатаУпрКонечныйОстаток
                        ИНАЧЕ 0
                    КОНЕЦ
            ИНАЧЕ ВЫБОР
                    КОГДА РасчетыСКлиентами.ДолгРеглКонечныйОстаток + РасчетыСКлиентами.ПредоплатаРеглКонечныйОстаток > 0
                        ТОГДА РасчетыСКлиентами.ДолгРеглКонечныйОстаток + РасчетыСКлиентами.ПредоплатаРеглКонечныйОстаток
                    ИНАЧЕ 0
                КОНЕЦ
        КОНЕЦ,
        ВЫБОР
            КОГДА &ДанныеПоРасчетам = 2
                ТОГДА ВЫБОР
                        КОГДА РасчетыСКлиентами.ДолгУпрКонечныйОстаток + РасчетыСКлиентами.ПредоплатаУпрКонечныйОстаток < 0
                            ТОГДА -(РасчетыСКлиентами.ДолгУпрКонечныйОстаток + РасчетыСКлиентами.ПредоплатаУпрКонечныйОстаток)
                        ИНАЧЕ 0
                    КОНЕЦ
            ИНАЧЕ ВЫБОР
                    КОГДА РасчетыСКлиентами.ДолгРеглКонечныйОстаток + РасчетыСКлиентами.ПредоплатаРеглКонечныйОстаток < 0
                        ТОГДА -(РасчетыСКлиентами.ДолгРеглКонечныйОстаток + РасчетыСКлиентами.ПредоплатаРеглКонечныйОстаток)
                    ИНАЧЕ 0
                КОНЕЦ
        КОНЕЦ,
        0
    ИЗ
        РегистрНакопления.РасчетыСКлиентамиПоДокументам.ОстаткиИОбороты(, , Авто, , ) КАК РасчетыСКлиентами
            {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаПоПартнерам КАК РегистрАналитикаУчетаПоПартнерам
            ПО РасчетыСКлиентами.АналитикаУчетаПоПартнерам = РегистрАналитикаУчетаПоПартнерам.КлючАналитики}
    ГДЕ
        РегистрАналитикаУчетаПоПартнерам.Партнер <> ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие)
        И &ДанныеПоРасчетам В (2, 3)
    {ГДЕ
        (РегистрАналитикаУчетаПоПартнерам.Партнер В
                (ВЫБРАТЬ
                    ОтборПоСегментуПартнеров.Партнер
                ИЗ
                    ОтборПоСегментуПартнеров
                ГДЕ
                    ОтборПоСегментуПартнеров.ИспользуетсяОтборПоСегментуПартнеров = &ИспользуетсяОтборПоСегментуПартнеров))}

    Вложения:

    Последнее редактирование модератором: 21 янв 2015
  2. Draco
    Online

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.639
    Симпатии:
    948
    Баллы:
    204
    Скорее всего чтото с ролями не так. Ролями которые в СКД там где устанавливает еИзмерение , родитель нач остаток и т.д на ИТС статю почитайте и на форуме обсуждалось
  3. TopicStarter Overlay
    lopolik
    Offline

    lopolik Опытный в 1С

    Регистрация:
    27 ноя 2006
    Сообщения:
    80
    Симпатии:
    0
    Баллы:
    26
    роли проверила - вроде, все в норме.
    до кучи, решила пойти другим путем - не вводя новую колонку, а изменяя вариант расчета для существующей
    на выходе опять косяк - задваиваются суммы в поле Начальный долг. Но стоит добавить в настройки Регистратор - и все считается правильно.
  4. Draco
    Online

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

    Регистрация:
    28 окт 2009
    Сообщения:
    13.639
    Симпатии:
    948
    Баллы:
    204
    На ИТС есть статья по остаткам в СКД - читали ее? как раз вот там такие вопросы и обсуждаются.
    Просто на само деле что бы посчитался итог во временном диапазоне нуже и нач остаток и время и оборот

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