Отчеты и Аналитика · 10 мин
Как открыть схему компоновки данных в 1С
Как открыть схему компоновки данных в 1С в конфигураторе и режиме предприятия: отчёты, внешние СКД, программный доступ, типичные ошибки и проверка результата.
Схема компоновки данных (СКД) — это основа большинства отчётов в конфигурациях 1С. Открыть её нужно в разных ситуациях: чтобы изменить запрос отчёта, добавить поле, поправить настройки по умолчанию или разобраться, откуда берутся данные. Способ открытия зависит от того, где хранится схема: в составе отчёта конфигурации, во внешнем файле или в макете.
Ниже разобраны все рабочие сценарии: открытие СКД через конфигуратор, через режим «Предприятие» с помощью консоли СКД, загрузка внешней схемы из файла и программное обращение к схеме из кода. Отдельно описаны типичные ошибки — например, когда кнопка открытия схемы недоступна или изменения не сохраняются.
Что такое схема компоновки данных и где она хранится
СКД — это объект, описывающий источник данных (обычно запрос), наборы полей, ресурсы, параметры и варианты настроек отчёта. На её основе платформа строит итоговый отчёт без написания кода вывода. Понимание того, где лежит схема, — ключ к её быстрому открытию.
Схема может находиться в трёх местах. Первое — основная схема отчёта в конфигурации: она привязана к объекту метаданных «Отчёт» и открывается через конфигуратор. Второе — макет типа «Схема компоновки данных», который может быть у отчёта, обработки или другого объекта. Третье — внешний файл с расширением .xml, который загружается в отчёт или обработку в режиме «Предприятие».
Как открыть СКД отчёта в конфигураторе
Это самый частый сценарий. Запустите конфигуратор, откройте конфигурацию через меню «Конфигурация → Открыть конфигурацию» и дождитесь построения дерева метаданных. Если конфигурация закрыта для редактирования (стоит на поддержке без изменений), схему можно открыть на просмотр, но сохранить правки не получится.
В дереве конфигурации найдите ветку «Отчёты» и нужный отчёт. Откройте его двойным щелчком — появится окно редактирования объекта. На закладке «Основная схема компоновки данных» нажмите кнопку «Открыть схему компоновки данных». Запустится конструктор СКД с закладками «Наборы данных», «Связи наборов данных», «Вычисляемые поля», «Ресурсы», «Параметры», «Настройки» и другими.
Если кнопка открытия неактивна, значит у отчёта не задана основная схема — например, отчёт выводится программно или через макет. В этом случае проверьте свойство «Основная схема компоновки данных» в палитре свойств отчёта и наличие макетов в ветке «Макеты».
- 1Откройте конфигуратор и загрузите конфигурацию
- 2В дереве метаданных раскройте ветку «Отчёты» и выберите нужный отчёт
- 3Перейдите на закладку «Основная схема компоновки данных»
- 4Нажмите «Открыть схему компоновки данных»
- 5Внесите изменения и сохраните конфигурацию через Ctrl+S
Как открыть схему, хранящуюся в макете
Не всякая схема привязана к отчёту как основная. Часто СКД лежит в макете: у обработок, у отчётов с несколькими схемами или у объектов, где схема подставляется динамически. Признак такого хранения — в ветке объекта есть подветка «Макеты», а в ней элемент с типом «Схема компоновки данных».
Чтобы открыть такую схему, разверните объект в дереве конфигурации, откройте «Макеты» и дважды щёлкните по нужному макету. Если макет создан как СКД, откроется тот же конструктор схемы. Если макет имеет другой тип (например, табличный документ), конструктор СКД не появится — проверьте тип макета в его свойствах.
Узнать, какой именно макет используется в коде, помогает поиск по конфигурации: ищите вызов ПолучитьМакет("ИмяМакета") в модуле объекта. Так вы поймёте, какая схема реально участвует в формировании отчёта, и не будете править «не ту».
Как открыть внешнюю схему из файла
Схему можно выгрузить в файл и передать коллеге или сохранить как резервную копию. В конструкторе СКД есть кнопки «Сохранить схему в файл» и «Загрузить схему из файла» (обычно на панели инструментов конструктора). Файл сохраняется в формате XML.
Чтобы открыть внешнюю схему, запустите конструктор СКД любого отчёта или создайте временный отчёт, затем нажмите «Загрузить схему из файла» и укажите XML-файл. После правок не забудьте сохранить схему обратно в файл, если она должна остаться внешней.
В типовых конфигурациях также встречаются отчёты, где варианты и схемы хранятся в пользовательских настройках или подсистеме дополнительных отчётов. Там схему правят через механизм конкретной конфигурации, а не напрямую в конфигураторе.
Как открыть СКД в режиме «Предприятие»
Разработчику не всегда удобно перезапускать конфигуратор. Для работы в режиме «Предприятие» существуют внешние инструменты — консоли СКД и консоли отчётов. Они позволяют загрузить схему из файла, отредактировать запрос и настройки, выполнить отчёт и сразу увидеть результат.
Типовой сценарий: откройте консоль СКД через «Файл → Открыть» в режиме «Предприятие», загрузите в неё XML-файл схемы или создайте схему с нуля, настройте запрос и варианты, затем сохраните результат. Учтите, что консоль работает с файлом, а не с конфигурацией: чтобы перенести правки в отчёт конфигурации, схему нужно загрузить в конфигураторе.
Ещё один путь — открыть готовый отчёт в режиме «Предприятие», зайти в «Ещё → Изменить вариант» (или аналогичную команду расширенной настройки). Там доступны настройки СКД на уровне пользователя: отборы, группировки, поля. Это не редактирование самой схемы, но часто именно этого достаточно, чтобы получить нужный вид отчёта без вмешательства в конфигурацию.
Способы открытия СКД
Полный доступ к схеме отчёта и макетам. Требует прав на изменение конфигурации и обновления базы.
Быстрая отладка запросов и настроек без перезапуска. Работает с файлами, правки в конфигурацию переносятся вручную.
Доступно пользователю без конфигуратора, но правятся только настройки, а не запрос и структура схемы.
Программное открытие и получение схемы из кода
В коде схему получают методом ПолучитьМакет() у объекта отчёта или обработки. Результат — объект типа «СхемаКомпоновкиДанных», с которым можно работать: менять текст запроса, параметры, передавать в компоновщик.
Типовой фрагмент выглядит так:
Схема = Отчеты.ПродажиПоМесяцам.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(Схема));
КомпоновщикНастроек.ЗагрузитьНастройки(Схема.НастройкиПоУмолчанию);
Такой подход нужен, когда схема выбирается динамически или когда отчёт формируется программно из обработки. Для отладки удобно выгрузить полученную схему в XML и открыть её в консоли СКД — так видно, что реально ушло в компоновку.
Типичные ошибки и ограничения
Первая частая проблема — изменения схемы «не применяются». Причина почти всегда в том, что после правки конфигурации не выполнено обновление конфигурации базы данных (F7) или пользователь смотрит кэшированный вариант отчёта. Обновите базу и перезапустите сеанс.
Вторая ошибка — правка не той схемы. Если у отчёта несколько макетов или схема подставляется программно, изменение основной схемы ничего не даст. Проверьте модуль объекта на предмет вызовов ПолучитьМакет и установки свойства «СхемаКомпоновкиДанных».
Третья группа проблем — права и поддержка. Без роли с правом изменения конфигурации схема откроется только на просмотр. Если конфигурация на полной поддержке поставщика, потребуется включить возможность изменения, что влияет на дальнейшие обновления — взвесьте этот шаг.
Как проверить результат после правки схемы
После сохранения схемы выполните контрольную проверку. Откройте отчёт в режиме «Предприятие», сформируйте его с типовыми настройками и убедитесь, что данные выводятся без ошибок компоновки. Затем проверьте новые поля или отборы, ради которых делалась правка.
Дополнительно проверьте поведение при пустых данных и при крайних значениях параметров — ошибки в запросе схемы часто всплывают именно там. Если отчёт используется в регламентных заданиях или рассылках, убедитесь, что программное формирование тоже проходит без ошибок.
Как проверить результат
Отчёт строится без сообщений об ошибках компоновки
Ошибка «Поле не найдено» или «Ошибка в схеме компоновки»
Поля доступны в настройках и выводят корректные данные
Поле отсутствует в списке или показывает пустые значения
Регламентные задания и вызовы из кода работают
Ошибки в журнале регистрации при программном запуске
Частые вопросы
Почему кнопка «Открыть схему компоновки данных» неактивна?
У отчёта не задана основная схема компоновки данных. Проверьте свойство отчёта в палитре свойств и наличие макетов типа СКД — возможно, схема хранится в макете или отчёт формируется программно.
Можно ли открыть СКД без конфигуратора?
Да, через внешнюю консоль СКД в режиме «Предприятие», если схема выгружена в XML-файл. Для правки схемы внутри конфигурации без конфигуратора не обойтись — консоль работает только с файлами.
Как выгрузить схему в файл?
В конструкторе СКД нажмите кнопку «Сохранить схему в файл» на панели инструментов и укажите имя XML-файла. Обратная операция — «Загрузить схему из файла».
Изменил схему, но отчёт выводится по-старому. Что делать?
Выполните обновление конфигурации базы данных (клавиша F7 в конфигураторе) и перезапустите сеанс. Также проверьте, не использует ли отчёт другую схему из макета или кода.
Как открыть схему отчёта в конфигурации на поддержке?
На просмотр схема открывается всегда. Для редактирования нужно включить возможность изменения через «Конфигурация → Поддержка → Настройка поддержки». Учтите, что это усложнит будущие обновления конфигурации.
Чем отличается изменение варианта отчёта от правки схемы?
Вариант меняет только настройки: отборы, группировки, порядок полей. Правка схемы затрагивает сам запрос, поля и параметры и требует доступа к конфигуратору.
Что важно запомнить
Основной путь — конфигуратор, ветка «Отчёты», закладка основной схемы. Схема также может лежать в макете или внешнем XML-файле. После правок обновляйте конфигурацию базы данных и проверяйте формирование отчёта, а перед экспериментами сохраняйте резервную копию схемы.