Часто при доработке отчетов на системе компоновки данных (СКД) возникает ситуация, когда добавление нового поля (например, способа отражения зарплаты) приводит к неожидаемому «размножению» строк. Вместо одной итоговой записи мы видим несколько, хотя в консоли запросов данные выглядят корректно. Давайте разберем, почему это происходит и как пошагово решить эту задачу.
Одной из самых частых причин появления «лишних» строк является наличие пустых значений (NULL) в добавленном поле. СКД воспринимает NULL как самостоятельное значение, требующее отдельной группировки. Если в вашем наборе данных есть записи, где способ отражения не заполнен, система создаст для них отдельную строку.
Что нужно сделать:
ЕСТЬNULL() для всех полей, которые могут содержать пустые значения, чтобы привести их к осмысленному виду (например, к пустой строке или значению «Не указано»).
ВЫБРАТЬ
ЕСТЬNULL(СпособыОтражения.Способ, \"Не указано\") КАК СпособОтражения
ИЗ
РегистрНакопления.БухучетЗарплатыСотрудников КАК Данные
Если вы используете несколько наборов данных, проблема часто кроется в настройках Связи наборов данных. При добавлении нового набора СКД пытается соединить данные из него с основным набором. Если условие связи не является уникальным или если связь настроена по полям, которые могут принимать неопределенные значения, система будет дублировать строки.
Как проанализировать ситуацию:
Связи наборов данных в настройках схемы компоновки.Период или Сотрудник) однозначно определяют запись в присоединяемом наборе.СрезПоследних, проанализируйте, передается ли туда корректный параметр периода. Если период «плавает» или задан неверно, система будет находить несколько записей там, где должна быть одна.Иногда поля, которые мы явно не выбираем в отчете, все равно присутствуют в структуре набора данных СКД. Если у поля установлена роль Измерение, оно автоматически становится группировочным. Даже если поле «Документ-основание» скрыто из видимости, само его наличие в наборе данных может заставлять СКД разбивать строки, если значения этого документа различаются.
Порядок действий:
Наборы данных.Измерение, если вы не планируете группировать по нему данные.Разберем ситуацию, когда проблема не в запросе, а в самих настройках отчета. Если в разделе Настройки на вкладке Выбранные поля или в Детальных записях добавлена избыточная группировка, отчет будет выглядеть развернутым.
Рекомендации по настройке:
Детальные записи только там, где это действительно необходимо. Часто для получения красивого отчета достаточно настроить только одну группировку по ключевому полю, а остальные параметры вывести в «Выбранные поля».Итог: Проанализируйте свои данные, открыв список регистра и сравнив записи, которые «раздваиваются». Скорее всего, вы увидите разницу в скрытых измерениях (период, регистратор или документ-основание). Устранив причину различий в этих полях (через ЕСТЬNULL или корректировку связей), вы добьетесь правильного формирования строки.