Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Отбор с условием в отчете на СКД
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Система компоновки данных
Yevhenii_S
платформа: 1С:Підприємство 8.3 (8.3.16.1148)
Конфигурация: 1С:Бухгалтерія сільськогосподарського підприємства для України, редакция 2.0

Добрый день колеги.
Есть задача. имею отчёт сделанный в СКД , данные выбираются запросом, в запросе формируется временная таблица из 8 выборок по регистрам бухгалтерии, которые имеют одинаковые поля и сливаються через "ОБЪЕДИНИТЬ ВСЕ"

ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Контрагент,
    ХозрасчетныйОстаткиИОбороты.Субконто2 КАК ДоговорКонтрагента,
    "Початковий залишок" КАК Номенклатура,
    ЕСТЬNULL(ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокКт, 0) - ЕСТЬNULL(ХозрасчетныйОстаткиИОбороты.СуммаНачальныйОстатокДт, 0) КАК Показатель,
    NULL КАК Документ,
    ХозрасчетныйОстаткиИОбороты.Организация КАК Организация,
    "А" КАК ПорядокКолонок
ПОМЕСТИТЬ вт
ИЗ
    РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, , , Счет = &Счет6856, &ПорядокСубконто) КАК ХозрасчетныйОстаткиИОбороты

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ХозрасчетныйОбороты.Субконто1,
    ХозрасчетныйОбороты.Субконто2,
    "Нараховано",
    ХозрасчетныйОбороты.СуммаОборотКт,
    ХозрасчетныйОбороты.Регистратор,
    ХозрасчетныйОбороты.Организация,
    "Б"
ИЗ
    РегистрБухгалтерии.Хозрасчетный.Обороты(&НачалоПериода, &КонецПериода, Регистратор, Счет = &Счет6856, &ПорядокСубконто, , , ) КАК ХозрасчетныйОбороты

ОБЪЕДИНИТЬ ВСЕ


пример выборок

в конце выбираем поля для отчёта из временной таблицы

ВЫБРАТЬ
    вт.Организация КАК Организация,
    вт.Контрагент КАК Контрагент,
    вт.ДоговорКонтрагента КАК ДоговорКонтрагента,
    вт.Документ КАК Документ,
    вт.Номенклатура КАК Номенклатура,
    вт.Показатель КАК Показатель,
    вт.ПорядокКолонок КАК ПорядокКолонок
ИЗ
    вт КАК вт

УПОРЯДОЧИТЬ ПО
    ПорядокКолонок


Далее настраиваем ресурсы, параметры, настройки и собственно получаем отчёт
П.С. отчёт не моего авторства, написан разработчиками конфы

Задача: когда пользователь выбирает отбор по контрагенту (1) (а именно группу(отсюда условие)) (2), нужно вывести в отчёт всех контрагентов из этой группы (3)
в отчёт. Сейчас можно вывести или без отбора всех по кому были движения, или контрагента по которому установлен отбор и были движения.

Вопрос: куда копать??? 64000000.gif

до этого в СКД делал довольно простые отчёты, понимаю откуда беруться данные. но не понимаю как связать отбор с запросом и куда соеденить выборку контрагента с выбраным родителем.... help.gif
Vofka
Yevhenii_S, "группа" - это папка в справочнике? Если да, то в виде сравнения отбора надо указать "В иерархии" или что-то типа того.
sava1
отборы -
контрагент - в группе - группа
Yevhenii_S
Vofka @ Сегодня, 16:01 необходимо зарегистрироваться для просмотра ссылки ,
Спасибо.
я так понимаю что это надо писать в запросе, что то похожее уже описано по параметру "СчётКт"
ИЗ
    РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&НачалоПериода, &КонецПериода, Регистратор, СчетДт = &Счет6856, &ПорядокСубконто, СчетКт В ИЕРАРХИИ (&Счет7), , ) КАК ХозрасчетныйОбороты


но дело в том что у меня в запросе нигде нет параметра "&Контрагент"
т.е. Контрагентов мы получаем при переборе движений по регистрам бухгалтерии, вродь как "Субконто1" ( я в этом плаваю)
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ХозрасчетныйОстаткиИОбороты.Субконто1 КАК Контрагент,
    ХозрасчетныйОстаткиИОбороты.Субконто2 КАК ДоговорКонтрагента,
    "Початковий залишок" КАК Номенклатура,



по логике наверное нужно в каждой выборке которая формирует временную таблицу задавать параметр "&Субконто1" или "&Контрагент" и как то связывать его с отбором по контрагенту... why.gif
sava1
не надо ничего писать. Скд сама дает Вам поля в отбор - Вы можете их только ограничить на вкладке Поля
Yevhenii_S
sava1 @ Сегодня, 17:04 необходимо зарегистрироваться для просмотра ссылки ,
Если я Вас правильно понял то настройка должна выглядеть так:

Но при выборе папки отчёт пуст


хотя в этой папке есть два контрагента которые попадают в отчёт без отбора и по отбору конкретно по контрагенту
Vofka
Yevhenii_S, на скрине с пустым результатом отчета выше написано "Контрагент дорівнює". Там видимо вы отбор поставили на равенство.
sava1
там Основной вариант отрабатывает.
Надо Изменить вариант - Отбор - Установить для контрагента в Группе, а на форме (в быстром отборе) - вооще снять птису
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.