Имя: Пароль:
1C
1С v8
Сопоставление параметра критерия отбора с результатом запроса
0 Guerro
 
24.09.20
13:52
Добрый день, для получения подчиненных документов использую запрос:

ВЫБРАТЬ РАЗРЕШЕННЫЕ
    СтруктураПодчиненности.Ссылка КАК Документ
ИЗ
    КритерийОтбора.СвязанныеДокументы(&ЗначениеКритерияОтбора) КАК СтруктураПодчиненности
ГДЕ
    СтруктураПодчиненности.Ссылка.Проведен = ИСТИНА

Задавая параметр "ЗначениеКритерияОтбора" получаю список всех документов, которые к этому параметру(ссылке на документ) принадлежат.

Для получения данных по заказам использую запрос с группировкой:

ВЫБРАТЬ
    Заказ.Ссылка КАК Документ,
    Заказ.Дата КАК Дата,
    Заказ.Замерщик КАК Замерщик,
    Заказ.ДогСумма КАК Сумма,
    Заказ.Агород КАК Город,
    Заказ.Аулица КАК Улица,
    Заказ.Адом КАК Дом,
    Заказ.Акв КАК Квартира,
    Заказ.Автор КАК Автор
ИЗ
    Документ.Заказ КАК Заказ
ГДЕ
    Заказ.Проведен = ИСТИНА
    И Заказ.Дата МЕЖДУ &НачалоПериода И &КонецПериода
    И Заказ.Направление = &Направление

УПОРЯДОЧИТЬ ПО
    Дата
ИТОГИ
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Документ),
    СУММА(Сумма)
ПО
    Замерщик

Проблема в том, что требуется в одном запросе выполнялось получение подчиненных документов. Плюс меняется сумма, если определенный тип подчиненного документа встречается.
Как это можно реализовать?
Конфигурация не типовая и без БСП.
1 Guerro
 
24.09.20
13:53
Приходится в цикле по заказам вызывать функцию получения подчиненных документов
2 Guerro
 
24.09.20
13:55
Вот как выглядит результат: https://ibb.co/4m9SQby
3 Guerro
 
24.09.20
13:55
Если в подчиненных есть документ типа "Приложение к заказу", то его тоже нужно к сумме прибавлять
4 Guerro
 
24.09.20
13:56
Получается и итоговая сумма по группировкам меняется
5 ДенисЧ
 
24.09.20
13:57
Рекурсивно перебирай
6 Guerro
 
24.09.20
14:54
Переписал запрос:

ВЫБРАТЬ
    Заказ.Ссылка КАК Документ,
    Заказ.Дата КАК Дата,
    Заказ.Замерщик КАК Замерщик,
    ВЫБОР
        КОГДА НЕ ПриложениеКЗаказу.Ссылка ЕСТЬ NULL
            ТОГДА Заказ.ДогСумма + ПриложениеКЗаказу.Сумма_Итог
        ИНАЧЕ Заказ.ДогСумма
    КОНЕЦ КАК Сумма,
    Заказ.Агород КАК Город,
    Заказ.Аулица КАК Улица,
    Заказ.Адом КАК Дом,
    Заказ.Акв КАК Квартира,
    Заказ.Автор КАК Автор,
    ПриложениеКЗаказу.Ссылка КАК Ссылка
ИЗ
    Документ.Заказ КАК Заказ
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПриложениеКЗаказу КАК ПриложениеКЗаказу
        ПО Заказ.Ссылка = ПриложениеКЗаказу.ДокОснование.Ссылка
ГДЕ
    Заказ.Проведен = ИСТИНА
    И Заказ.Дата МЕЖДУ &НачалоПериода И &КонецПериода
    И Заказ.Направление = &Направление

УПОРЯДОЧИТЬ ПО
    Дата
ИТОГИ
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Документ),
    СУММА(Сумма)
ПО
    Замерщик
7 Guerro
 
24.09.20
14:54
Тема закрыта
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.