Версия для печати темы (https://pro1c.org.ua/index.php?s=8ddf59f5b744e54f32411c9b604fe781&showtopic=51974)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ СКД Выбрасывает null группировки

Автор: Said 13.05.19, 11:08

Добрый день.

Вопрос по СКД. (8.3.9.1818)
Пишу отчет "Дт задолженность по периодам"
Суть отчета, показать задолженность в разных периодах. И такую которая тянется с более ранних периодов и сгруппировать по периодам задолженности.

Текст запроса

ВЫБРАТЬ
    ХозрасчетныйОстатки.Субконто3 КАК ДокументРасчетов,
    ХозрасчетныйОстатки.СуммаОстатокДт КАК СуммаЗадолженности,
    "0" КАК ПорядокЗадолженности
ПОМЕСТИТЬ ВТ_Остатки
ИЗ
    РегистрБухгалтерии.Хозрасчетный.Остатки(&Период {(&Период)}, Счет = &Счет, , {(Субконто1).* КАК Контрагент, (Субконто2).* КАК ДоговорКонтрагента, (Субконто3).* КАК ДокументРасчетов}) КАК ХозрасчетныйОстатки
{ГДЕ
    (">0") КАК ПорядокЗадолженности}
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ХозрасчетныйОстатки.Субконто3 КАК ДокументРасчетов,
    ХозрасчетныйОстатки.СуммаОстатокДт КАК СуммаЗадолженности,
    ">30" КАК ПорядокЗадолженности
ПОМЕСТИТЬ ВТ_Остатки30
ИЗ
    РегистрБухгалтерии.Хозрасчетный.Остатки(ДОБАВИТЬКДАТЕ(&Период, ДЕНЬ, -30) {(&Период)}, Счет = &Счет, , {(Субконто1).* КАК Контрагент, (Субконто2).* КАК ДоговорКонтрагента, (Субконто3).* КАК ДокументРасчетов}) КАК ХозрасчетныйОстатки
{ГДЕ
    (">30") КАК ПорядокЗадолженности}
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ_Остатки.ДокументРасчетов КАК ДокументРасчетов,
    ЕСТЬNULL(ВТ_Остатки30.ПорядокЗадолженности, ">0") КАК ПорядокЗадолженности,
    ЕСТЬNULL(ВТ_Остатки30.СуммаЗадолженности, ВТ_Остатки.СуммаЗадолженности) КАК СуммаЗадолженности
{ВЫБРАТЬ
    ДокументРасчетов.*,
    ПорядокЗадолженности,
    СуммаЗадолженности}
ИЗ
    ВТ_Остатки КАК ВТ_Остатки
        ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Остатки30 КАК ВТ_Остатки30
        ПО ВТ_Остатки.ДокументРасчетов = ВТ_Остатки30.ДокументРасчетов


Проблема в том что в консоли запросов запрос показывает все корректно. Колонки "ПорядокЗадолженности" и "СуммаЗадолженности" заполнены.
А вот когда в отчете пытаюсь сгруппировать по "ПорядокЗадолженности" у меня выводится только группировка ">30". Хотя в консоли есть ">0" и ">30"

Пытался указать для поля "ПорядокЗадолженности" в ролях "Обязательное", но ничего не помогло. "Автозаполнение" - снял

Прошу помощи, что я делаю не так?
Заранее спасибо.

Автор: sava1 13.05.19, 12:02

в наборе данных не используется таблица вт_остатки, поэтому скд ее и не использует.
Возьмите запросы в консольСКД и посмотрите на результирующий запрос.

Автор: Said 13.05.19, 13:47

sava1 @ Сегодня, 13:02 * ,

Опыта в отладке отчетов через консоль СКД нет.

На какой из вкладок нужно смотреть результирующий запрос.
А самое главное как сделать так что бы группировки не исчезали ?

Неужели ну у кого не было похожих ситуаций ?

Автор: sava1 13.05.19, 14:11

макет для таблицы..
нижняя часть

они не исчезают - они даже не появляются там. Нужно использовать данные - иначе СКД их не получает.

Автор: Said 21.05.19, 15:40

Решил. Возможно кому то будет полезно.

Снял автозаполнение.
В запросе в каждой виртуальной таблице (на вкладке Компоновка данных) Сделал принудительную выборку полей. Выбирал все.



Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua