Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
01 авг 2021, 14:50

В условиях соединения запроса не допускается обращение к табличным частям.

Автор b7music, 29 окт 2020, 08:03

0 Пользователей и 1 гость просматривают эту тему.

b7music

Не хочу создавать новую тему, подскажите пожалуйста мне тоже :)
Есть запрос расчеты с клиентами.
ВЫБРАТЬ РАЗРЕШЕННЫЕ
Сегменты.Партнер КАК Партнер,
ИСТИНА КАК ИспользуетсяОтборПоСегментуПартнеров
ПОМЕСТИТЬ ОтборПоСегментуПартнеров
ИЗ
РегистрСведений.ПартнерыСегмента КАК Сегменты
{ГДЕ
Сегменты.Сегмент.* КАК СегментПартнеров,
Сегменты.Партнер.* КАК Партнер}

ИНДЕКСИРОВАТЬ ПО
Партнер,
ИспользуетсяОтборПоСегментуПартнеров
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
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
КОНЕЦ
КОНЕЦ,
ПУСТАЯТАБЛИЦА.()
ИЗ
РегистрНакопления.РасчетыСКлиентамиПоДокументам.ОстаткиИОбороты(, , Авто, , ) КАК РасчетыСКлиентами
{ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаПоПартнерам КАК РегистрАналитикаУчетаПоПартнерам
ПО РасчетыСКлиентами.АналитикаУчетаПоПартнерам = РегистрАналитикаУчетаПоПартнерам.КлючАналитики}
ГДЕ
РегистрАналитикаУчетаПоПартнерам.Партнер <> ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие)
И &ДанныеПоРасчетам В (2, 3)
{ГДЕ
(РегистрАналитикаУчетаПоПартнерам.Партнер В
(ВЫБРАТЬ
ОтборПоСегментуПартнеров.Партнер
ИЗ
ОтборПоСегментуПартнеров
ГДЕ
ОтборПоСегментуПартнеров.ИспользуетсяОтборПоСегментуПартнеров = &ИспользуетсяОтборПоСегментуПартнеров))}

Добавляю документ Транспортная накладная в запрос, и настраиваю свзяь
РасчетыСКлиентами.Регистратор = ТранспортнаяНакладная.ДокументыОснования.Ссылка
И получаю ошибку "В условиях соединения запроса не допускается обращение к табличным частям."


LexaK

попробуйте такой запрос
Цитировать
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    Сегменты.Партнер КАК Партнер,
    ИСТИНА КАК ИспользуетсяОтборПоСегментуПартнеров
ПОМЕСТИТЬ ОтборПоСегментуПартнеров
ИЗ
    РегистрСведений.ПартнерыСегмента КАК Сегменты
{ГДЕ
    Сегменты.Сегмент.* КАК СегментПартнеров,
    Сегменты.Партнер.* КАК Партнер}

ИНДЕКСИРОВАТЬ ПО
    Партнер,
    ИспользуетсяОтборПоСегментуПартнеров
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    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
            КОНЕЦ
    КОНЕЦ,
    ПУСТАЯТАБЛИЦА.()
ИЗ
    РегистрНакопления.РасчетыСКлиентамиПоДокументам.ОстаткиИОбороты(, , Авто, , ) КАК РасчетыСКлиентами
        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаПоПартнерам КАК РегистрАналитикаУчетаПоПартнерам
        ПО РасчетыСКлиентами.АналитикаУчетаПоПартнерам = РегистрАналитикаУчетаПоПартнерам.КлючАналитики}
ГДЕ
    РегистрАналитикаУчетаПоПартнерам.Партнер <> ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие)
    И &ДанныеПоРасчетам В (2, 3)
{ГДЕ
    (РегистрАналитикаУчетаПоПартнерам.Партнер В
            (ВЫБРАТЬ
                ОтборПоСегментуПартнеров.Партнер
            ИЗ
                ОтборПоСегментуПартнеров
            ГДЕ
                ОтборПоСегментуПартнеров.ИспользуетсяОтборПоСегментуПартнеров = &ИспользуетсяОтборПоСегментуПартнеров))}
ну сами понимаете, проверить не могу, могут быть ошибки
ответ Понравился? (в смысле пригодился?)

b7music

Спасибо. Отчет формируется, но дублируются поля Реализация товаров, и соответственно сумма в отчете тоже задваивается
Вот и пытался убрать объъеденить эти таблицы через док основание, и не получается

LexaK

хм,
попробуйте, в запросе

ОБЪЕДИНИТЬ ВСЕ
заменить на
ОБЪЕДИНИТЬ

(убрать ВСЕ)
интересно сработает? обязательно отпишитесь!

ответ Понравился? (в смысле пригодился?)

b7music

В запрсое с предложением Различные или Объеденить нельзя использовать вложенные таблицы.

LexaK

упс, не сработало, тогда так

ВЫБРАТЬ РАЗРЕШЕННЫЕ
    Сегменты.Партнер КАК Партнер,
    ИСТИНА КАК ИспользуетсяОтборПоСегментуПартнеров
ПОМЕСТИТЬ ОтборПоСегментуПартнеров
ИЗ
    РегистрСведений.ПартнерыСегмента КАК Сегменты
{ГДЕ
    Сегменты.Сегмент.* КАК СегментПартнеров,
    Сегменты.Партнер.* КАК Партнер}

ИНДЕКСИРОВАТЬ ПО
    Партнер,
    ИспользуетсяОтборПоСегментуПартнеров
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    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
            КОНЕЦ
    КОНЕЦ,
    Неопределено //ПУСТАЯТАБЛИЦА.()
ИЗ
    РегистрНакопления.РасчетыСКлиентамиПоДокументам.ОстаткиИОбороты(, , Авто, , ) КАК РасчетыСКлиентами
        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаПоПартнерам КАК РегистрАналитикаУчетаПоПартнерам
        ПО РасчетыСКлиентами.АналитикаУчетаПоПартнерам = РегистрАналитикаУчетаПоПартнерам.КлючАналитики}
ГДЕ
    РегистрАналитикаУчетаПоПартнерам.Партнер <> ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие)
    И &ДанныеПоРасчетам В (2, 3)
{ГДЕ
    (РегистрАналитикаУчетаПоПартнерам.Партнер В
            (ВЫБРАТЬ
                ОтборПоСегментуПартнеров.Партнер
            ИЗ
                ОтборПоСегментуПартнеров
            ГДЕ
                ОтборПоСегментуПартнеров.ИспользуетсяОтборПоСегментуПартнеров = &ИспользуетсяОтборПоСегментуПартнеров))}
ответ Понравился? (в смысле пригодился?)

b7music

Аналогично(
Дело в том, что в самом документе есть реквизиты, водитель, марка авто и т.д. Вот их ипытаюсь вывести в отчет. И чтобы в отчете строки не задваивались, я через док основание хотел указать связь.

ВЫБРАТЬ РАЗРЕШЕННЫЕ
Сегменты.Партнер КАК Партнер,
ИСТИНА КАК ИспользуетсяОтборПоСегментуПартнеров
ПОМЕСТИТЬ ОтборПоСегментуПартнеров
ИЗ
РегистрСведений.ПартнерыСегмента КАК Сегменты
{ГДЕ
Сегменты.Сегмент.* КАК СегментПартнеров,
Сегменты.Партнер.* КАК Партнер}

ИНДЕКСИРОВАТЬ ПО
Партнер,
ИспользуетсяОтборПоСегментуПартнеров
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
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
КОНЕЦ
КОНЕЦ,
НЕОПРЕДЕЛЕНО,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL
ИЗ
РегистрНакопления.РасчетыСКлиентамиПоДокументам.ОстаткиИОбороты(, , Авто, , ) КАК РасчетыСКлиентами
{ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаПоПартнерам КАК РегистрАналитикаУчетаПоПартнерам
ПО РасчетыСКлиентами.АналитикаУчетаПоПартнерам = РегистрАналитикаУчетаПоПартнерам.КлючАналитики}
ГДЕ
РегистрАналитикаУчетаПоПартнерам.Партнер <> ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие)
И &ДанныеПоРасчетам В (2, 3)
{ГДЕ
(РегистрАналитикаУчетаПоПартнерам.Партнер В
(ВЫБРАТЬ
ОтборПоСегментуПартнеров.Партнер
ИЗ
ОтборПоСегментуПартнеров
ГДЕ
ОтборПоСегментуПартнеров.ИспользуетсяОтборПоСегментуПартнеров = &ИспользуетсяОтборПоСегментуПартнеров))}

Вот что на выходе

Добавлено: 29 окт 2020, 13:46


Конфигурация КА2, стандартный отчет расчеты с клиентами.

LexaK

попробуйте так

ВЫБРАТЬ РАЗРЕШЕННЫЕ
    Сегменты.Партнер КАК Партнер,
    ИСТИНА КАК ИспользуетсяОтборПоСегментуПартнеров
ПОМЕСТИТЬ ОтборПоСегментуПартнеров
ИЗ
    РегистрСведений.ПартнерыСегмента КАК Сегменты
{ГДЕ
    Сегменты.Сегмент.* КАК СегментПартнеров,
    Сегменты.Партнер.* КАК Партнер}

ИНДЕКСИРОВАТЬ ПО
    Партнер,
    ИспользуетсяОтборПоСегментуПартнеров
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    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
            КОНЕЦ
    КОНЕЦ,
    НЕОПРЕДЕЛЕНО,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL,
    NULL
ИЗ
    РегистрНакопления.РасчетыСКлиентамиПоДокументам.ОстаткиИОбороты(, , Авто, , ) КАК РасчетыСКлиентами
        {ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаПоПартнерам КАК РегистрАналитикаУчетаПоПартнерам
        ПО РасчетыСКлиентами.АналитикаУчетаПоПартнерам = РегистрАналитикаУчетаПоПартнерам.КлючАналитики}
ГДЕ
    РегистрАналитикаУчетаПоПартнерам.Партнер <> ЗНАЧЕНИЕ(Справочник.Партнеры.НашеПредприятие)
    И &ДанныеПоРасчетам В (2, 3)
{ГДЕ
    (РегистрАналитикаУчетаПоПартнерам.Партнер В
            (ВЫБРАТЬ
                ОтборПоСегментуПартнеров.Партнер
            ИЗ
                ОтборПоСегментуПартнеров
            ГДЕ
                ОтборПоСегментуПартнеров.ИспользуетсяОтборПоСегментуПартнеров = &ИспользуетсяОтборПоСегментуПартнеров))}
               
               
ответ Понравился? (в смысле пригодился?)

b7music

Ничего не изменилось.:(
Верхняя строка стандартная из отчета, нижняя где замазаны фио водителя и машины данные из транспортной накладной, он документ основания видит - это реализация №1. Но они дублируются.

LexaK

так если у вас документ основания, входит в несколько Документов .ТранспортнаяНакладная
то вот у вас и задвоения!

меняйте идеологию запроса

или проверьте что бы ДокументыОснования входили в ТранспортнаяНакладная один раз
да, в запросе еще добавьте условие рассматривать только проведенные документы ТранспортнаяНакладная (не поможет, если есть повторы)
ответ Понравился? (в смысле пригодился?)

Теги:

Похожие темы (5)

Рейтинг@Mail.ru Rambler's Top100

Поиск