Привет всем, Коллеги!
Бьюсь над вопросом третий день, не оставьте в беде :(
История вопроса такова: требуется написать отчет, в котором выводится количество месяцев неоплаченных контрагентом. Сначала все шло хорошо, отчет работал как надо, но затем выяснилось, что за месяц клиенту могут выписываться несколько реализаций и они должны учитываться как одна. На закладке ресурсы на уровне группировке я сделал Максимум, а на уровне контрагента ВычислитьВыражениеСГруппировкойМассив, в отчет все выходило красиво и так, как нужно, но возникла другая проблема - перестал работать отбор по глубине долга (он в настройках на уровне группировки "Контрагент"). Тогда, я решил найти нужные значения напрямую в запросе, подкорректировал запрос в консоли, там все выходило правильно, глубина долга по контрагенту считалась как надо. НО! Когда я загрузил этот же запрос в СКД, он начал выдавать мне совсем другую картину (на скриншоте 1). Откуда он берет 1? В Консоли же видно что там должно быть 3 на уровне документов.
Подскажите, пожалуйста, куда копать?
Скриншоты, текст запроса, а также сам отчет прилагаю. Отчет для типовой БП, но в коде устанавливается отбор по номенклатуре в актах (параметр). Спасибо!
---
Поле Месяц далее в запросе не используется, как я понимаю, надо его добавить в результирующий запрос и галку "Обязательное" поставить
---
а схему СКД можешь выложить ?
---
а схему СКД можешь выложить ?
Да, конечно
---
, (2) в общем, докопался до сути, выяснилось, что СКД меняет временную таблицу:

```1c
    ВЫБРАТЬ РАЗЛИЧНЫЕ
    ВТ_Долги.Контрагент КАК Контрагент,
    МАКСИМУМ(1) КАК ГлубинаДолга1,
    НАЧАЛОПЕРИОДА(ВТ_ВсеАкты.Ссылка.Дата, МЕСЯЦ) КАК Месяц
    ПОМЕСТИТЬ Вт_ПолучениеГлубины
    ИЗ
    ВТ_Долги КАК ВТ_Долги
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_ВсеАкты КАК ВТ_ВсеАкты
    ПО ВТ_Долги.Акт = ВТ_ВсеАкты.Ссылка

    СГРУППИРОВАТЬ ПО
    ВТ_Долги.Контрагент,
    НАЧАЛОПЕРИОДА(ВТ_ВсеАкты.Ссылка.Дата, МЕСЯЦ)
    ;
```

на

```1c
    ВЫБРАТЬ РАЗЛИЧНЫЕ
    ВТ_Долги.Контрагент КАК Контрагент,
    МАКСИМУМ(1) КАК ГлубинаДолга1
    ПОМЕСТИТЬ Вт_ПолучениеГлубины
    ИЗ
    ВТ_Долги КАК ВТ_Долги
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТ_ВсеАкты КАК ВТ_ВсеАкты
    ПО ВТ_Долги.Акт = ВТ_ВсеАкты.Ссылка

    СГРУППИРОВАТЬ ПО
    ВТ_Долги.Контрагент
    ;
```

Может кто-то знает как это побороть?
---
там в конструкторе запроса есть закладка компоновка данных, вот по идее это там надо экспериментировать.
(Правда я не эксперт по этой закладке, приходилось только параметры виртуальных таблиц прописывать там, чтобы скд их не меняла по своему усмотрению).
В самом тексте запроса при этом появляются дополнительные параметры в фигурных скобках.
---
ам в конструкторе запроса есть закладка компоновка данных, вот по идее это там надо экспериментировать.
(Правда я не эксперт по этой закладке, приходилось только параметры виртуальных таблиц прописывать там, чтобы скд их не меняла по своему усмотрению).
В самом тексте запроса при этом появляются дополнительные параметры в фигурных скобках.
Спасибо всем за помощь!
Разобрался, экспериментировал по разному, в итоге выяснил следующее: оказалось, скд как-то оптимизирует запрос таким образом, что выкидывает неиспользуемые поля во временных таблицах. Попробовал включить это поле в компоновку - результат не изменился, а помогло только включение данного поля в итоговую таблицу, после этого данные стали выводиться корректно.
---
поставь отладчик, в своем СКД, в модуле объекта в процедуре при компоновке результата, ближе к концу.
И раскопай там отладчиком текст запроса.
Сравни его со своим. И увидишь, изменился он или нет
---
оставь отладчик, в своем СКД, в модуле объекта в процедуре при компоновке результата, ближе к концу.
И раскопай там отладчиком текст запроса.
Сравни его со своим. И увидишь, изменился он или нет
Спасибо за совет, сейчас попробую
---
При комопоновке результата запрос не меняется (
---
Поле Месяц далее в запросе не используется, как я понимаю, надо его добавить в результирующий запрос и галку "Обязательное" поставить