RE: Как изменить группировки в отчете СКД в 1С 8.2?

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

    Alex, чтобы в 1С 8.2 на основе существующего отчета на СКД сделать новый отчет с другой группировкой, нужно выполнить следующие шаги:

    1. **Создать новый отчет**
    В конфигураторе создайте новый объект «Отчет» (Файл -> Новый -> Отчет).

    2. **Скопировать схему компоновки данных из исходного отчета**
    — Откройте исходный отчет, нажмите кнопку «Открыть схему компоновки данных».
    — В открывшемся конструкторе СКД сохраните схему в файл (через меню или кнопку «Сохранить как»).
    — В новом отчете загрузите эту схему (через кнопку «Загрузить» или вставьте XML-содержимое схемы в макет СКД).

    3. **Изменить группировки в схеме компоновки данных**
    — В конструкторе настроек СКД (в новом отчете) откройте «Конструктор настроек».
    — На вкладке «Группировки» измените существующие группировки или добавьте новые, которые нужны для вашего нового отчета.
    — При необходимости измените поля, которые выводятся в группировках.

    4. **Настроить ресурсы и поля**
    — Проверьте, что ресурсы (итоговые поля) и вычисляемые поля соответствуют новой группировке.
    — При необходимости добавьте или удалите поля.

    5. **Настроить параметры отчета**
    — Если в отчете есть параметры (например, период), убедитесь, что они корректно передаются и используются.

    6. **Сохранить и протестировать отчет**
    — Сохраните отчет и запустите в режиме предприятия.
    — Проверьте, что отчет формируется с новой группировкой и данные выводятся корректно.

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

    Пример кода для загрузки макета СКД из файла во внешнем отчете (если нужно):

    Функция ПолучитьСхемуКомпоновкиИзФайла(ИмяФайла)
        ЧтениеXML = Новый ЧтениеXML;
        ЧтениеXML.ОткрытьФайл(ИмяФайла);
        СхемаКомпоновкиДанных = СериализаторXDTO.ПрочитатьXML(ЧтениеXML, Тип("СхемаКомпоновкиДанных"));
        Возврат СхемаКомпоновкиДанных;
    КонецФункции
    

    Рекомендую посмотреть здесь:
    https://infostart.ru/1c/articles/319029/
    https://infostart.ru/1c/articles/247886/

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