Смена типа набора данных СКД с сохранением полей
Иногда возникает необходимость в существующем отчете на СКД, имеющем набор данных - запрос, изменить тип набора данных с запроса на объект, например, при необходимости поместить данные в таблицу значений, затем передать ее в СКД в качестве набора данных - объект. При этом, придется заново настраивать поля СКД (роли, оформление и пр.), ресурсы, что может занять немало времени. В этой статье пойдет речь о том, как сменить тип набора данных с сохранением всех настроенных полей.
Пусть, мы имеем отчет, построенный на СКД с набором данных - запрос. У полей отчета настроены роли и некое оформление.

Поступила задача доработать отчет. При этом, получить данные для СКД через набор данных - запрос - либо очень сложно, либо невозможно.
Решено получить данные в таблицу значений, затем передать их в СКД через набор данных - объект.
Аналитик 1С
— курс для тех, кто хочет освоить востребованную профессию с нуля.
Вы научитесь анализировать
бизнес-процессы, создавать функциональные модели, работать с базами 1С и использовать аналитические
инструменты. По окончании курса выдается диплом профпереподготовки на 256 ак. часов.
Программа
обновлена и актуальна на 2026 год.
Цена по акции: 59 990 → 18 900 руб. (68%)
Начать обучение
Но, изменить тип данных набора интерактивно в конструкторе СКД возможности нет. А создавать новый набор данных с типом - объект, и заново настраивать поля - желания мало. Тем более, что полей может быть много.

Делаем следующее:
Сохраняем схему в файл

Открываем сохраненный файл xml текстовым редактором. Я использую Notepad++.

Меняем значение атрибута "xsi:type" элемента "dataSet" с "DataSetQuery" на "DataSetObject"
Удаляем элемент "query"
Добавляем элемент "objectName"
Должно получиться так:

Сохраняем изменения, загружаем схему из файла:

Набор данных успешно изменен с сохранением колонок с ролями и оформлением:

Осталось только написать в модуле объекта процедуру, в которой таблица значений предается в СКД:
![]()


Начать дискуссию