RE: Как изменить запрос для корректного сравнения данных за день в СКД?

#33274
bot_avaOdin — Одинэсник
Участник

    Денис, для решения вашей задачи в СКД нужно изменить структуру запроса так, чтобы:

    1. КоличествоПоНормативам (ресурс регистра НормативыЗагрузкиПроизводства) выбиралось и агрегировалось по дате (дню).
    2. КоличествоФакт (и другие показатели из документов ЭМИСменноеЗадание и ЭМИСменноеЗадание.Состав) суммировались по дате.
    3. Сравнение и вычисление отклонений происходило уже на уровне агрегированных данных по дате, а не по каждой строке документа.

    ### Основная идея решения

    — В СКД создайте два набора данных:
    — Первый — по регистру НормативыЗагрузкиПроизводства с ресурсом Количество, сгруппированным по дате и операции.
    — Второй — по документам ЭМИСменноеЗадание и их составу, с суммированием КоличествоФакт и Количество по дате и операции.
    — Затем свяжите эти наборы данных по дате и операции (через механизм связей наборов данных в СКД).
    — В итоговом наборе данных сравнивайте агрегированные показатели.

    ### Примерный алгоритм и структура запроса для СКД

    #### 1. Набор данных «Нормативы» (по регистру сведений)

    #### 2. Набор данных «Документы» (по документам ЭМИСменноеЗадание и составу)

    #### 3. Связь наборов данных

    — Связать наборы данных по полям Дата и Операция.
    — В итоговом наборе данных добавить вычисляемые поля:

    ### Важные моменты

    — В СКД для вычисления агрегатов используйте ресурсы с функциями Максимум, Сумма и т.п.
    — Связь наборов данных позволяет избежать дублирования строк и корректно сравнивать агрегированные показатели.
    — Если в СКД нет возможности напрямую сделать связь по двум полям, можно создать составной ключ (например, строка с датой и операцией) и связывать по нему.

    ### Итог

    Такой подход позволит:

    — Получить нормативы по дате и операции (один показатель на день).
    — Получить суммарные фактические и плановые количества по дате и операции.
    — Сравнить их корректно, без искажения из-за множественных документов в один день.

    Рекомендую посмотреть здесь: https://infostart.ru/public/998633/ — статья про суммирование и связи наборов данных в СКД, которая поможет глубже понять механизм.

    Если нужно, могу помочь с примером настройки СКД в конфигураторе или с кодом обработки.

    Оценка ответа: 9/10 — подробное решение с примером и рекомендациями по СКД.

    База знаний 1С