К статье
Практический материал

Отчеты и Аналитика · 10 мин

Как открыть схему компоновки данных в 1С

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

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

Ниже разобраны все рабочие сценарии: открытие СКД через конфигуратор, через режим «Предприятие» с помощью консоли СКД, загрузка внешней схемы из файла и программное обращение к схеме из кода. Отдельно описаны типичные ошибки — например, когда кнопка открытия схемы недоступна или изменения не сохраняются.

Что такое схема компоновки данных и где она хранится

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

Схема может находиться в трёх местах. Первое — основная схема отчёта в конфигурации: она привязана к объекту метаданных «Отчёт» и открывается через конфигуратор. Второе — макет типа «Схема компоновки данных», который может быть у отчёта, обработки или другого объекта. Третье — внешний файл с расширением .xml, который загружается в отчёт или обработку в режиме «Предприятие».

Как открыть СКД отчёта в конфигураторе

Это самый частый сценарий. Запустите конфигуратор, откройте конфигурацию через меню «Конфигурация → Открыть конфигурацию» и дождитесь построения дерева метаданных. Если конфигурация закрыта для редактирования (стоит на поддержке без изменений), схему можно открыть на просмотр, но сохранить правки не получится.

В дереве конфигурации найдите ветку «Отчёты» и нужный отчёт. Откройте его двойным щелчком — появится окно редактирования объекта. На закладке «Основная схема компоновки данных» нажмите кнопку «Открыть схему компоновки данных». Запустится конструктор СКД с закладками «Наборы данных», «Связи наборов данных», «Вычисляемые поля», «Ресурсы», «Параметры», «Настройки» и другими.

Если кнопка открытия неактивна, значит у отчёта не задана основная схема — например, отчёт выводится программно или через макет. В этом случае проверьте свойство «Основная схема компоновки данных» в палитре свойств отчёта и наличие макетов в ветке «Макеты».

Порядок действий в конфигураторе
  1. 1
    Откройте конфигуратор и загрузите конфигурацию
  2. 2
    В дереве метаданных раскройте ветку «Отчёты» и выберите нужный отчёт
  3. 3
    Перейдите на закладку «Основная схема компоновки данных»
  4. 4
    Нажмите «Открыть схему компоновки данных»
  5. 5
    Внесите изменения и сохраните конфигурацию через Ctrl+S

Как открыть схему, хранящуюся в макете

Не всякая схема привязана к отчёту как основная. Часто СКД лежит в макете: у обработок, у отчётов с несколькими схемами или у объектов, где схема подставляется динамически. Признак такого хранения — в ветке объекта есть подветка «Макеты», а в ней элемент с типом «Схема компоновки данных».

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

Узнать, какой именно макет используется в коде, помогает поиск по конфигурации: ищите вызов ПолучитьМакет("ИмяМакета") в модуле объекта. Так вы поймёте, какая схема реально участвует в формировании отчёта, и не будете править «не ту».

Как открыть внешнюю схему из файла

Схему можно выгрузить в файл и передать коллеге или сохранить как резервную копию. В конструкторе СКД есть кнопки «Сохранить схему в файл» и «Загрузить схему из файла» (обычно на панели инструментов конструктора). Файл сохраняется в формате XML.

Чтобы открыть внешнюю схему, запустите конструктор СКД любого отчёта или создайте временный отчёт, затем нажмите «Загрузить схему из файла» и укажите XML-файл. После правок не забудьте сохранить схему обратно в файл, если она должна остаться внешней.

В типовых конфигурациях также встречаются отчёты, где варианты и схемы хранятся в пользовательских настройках или подсистеме дополнительных отчётов. Там схему правят через механизм конкретной конфигурации, а не напрямую в конфигураторе.

Как открыть СКД в режиме «Предприятие»

Разработчику не всегда удобно перезапускать конфигуратор. Для работы в режиме «Предприятие» существуют внешние инструменты — консоли СКД и консоли отчётов. Они позволяют загрузить схему из файла, отредактировать запрос и настройки, выполнить отчёт и сразу увидеть результат.

Типовой сценарий: откройте консоль СКД через «Файл → Открыть» в режиме «Предприятие», загрузите в неё XML-файл схемы или создайте схему с нуля, настройте запрос и варианты, затем сохраните результат. Учтите, что консоль работает с файлом, а не с конфигурацией: чтобы перенести правки в отчёт конфигурации, схему нужно загрузить в конфигураторе.

Ещё один путь — открыть готовый отчёт в режиме «Предприятие», зайти в «Ещё → Изменить вариант» (или аналогичную команду расширенной настройки). Там доступны настройки СКД на уровне пользователя: отборы, группировки, поля. Это не редактирование самой схемы, но часто именно этого достаточно, чтобы получить нужный вид отчёта без вмешательства в конфигурацию.

Способы открытия СКД

Конфигуратор

Полный доступ к схеме отчёта и макетам. Требует прав на изменение конфигурации и обновления базы.

Консоль СКД в режиме «Предприятие»

Быстрая отладка запросов и настроек без перезапуска. Работает с файлами, правки в конфигурацию переносятся вручную.

Изменение варианта отчёта

Доступно пользователю без конфигуратора, но правятся только настройки, а не запрос и структура схемы.

Программное открытие и получение схемы из кода

В коде схему получают методом ПолучитьМакет() у объекта отчёта или обработки. Результат — объект типа «СхемаКомпоновкиДанных», с которым можно работать: менять текст запроса, параметры, передавать в компоновщик.

Типовой фрагмент выглядит так:

Схема = Отчеты.ПродажиПоМесяцам.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");

КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;

КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(Схема));

КомпоновщикНастроек.ЗагрузитьНастройки(Схема.НастройкиПоУмолчанию);

Такой подход нужен, когда схема выбирается динамически или когда отчёт формируется программно из обработки. Для отладки удобно выгрузить полученную схему в XML и открыть её в консоли СКД — так видно, что реально ушло в компоновку.

Типичные ошибки и ограничения

Первая частая проблема — изменения схемы «не применяются». Причина почти всегда в том, что после правки конфигурации не выполнено обновление конфигурации базы данных (F7) или пользователь смотрит кэшированный вариант отчёта. Обновите базу и перезапустите сеанс.

Вторая ошибка — правка не той схемы. Если у отчёта несколько макетов или схема подставляется программно, изменение основной схемы ничего не даст. Проверьте модуль объекта на предмет вызовов ПолучитьМакет и установки свойства «СхемаКомпоновкиДанных».

Третья группа проблем — права и поддержка. Без роли с правом изменения конфигурации схема откроется только на просмотр. Если конфигурация на полной поддержке поставщика, потребуется включить возможность изменения, что влияет на дальнейшие обновления — взвесьте этот шаг.

Типичные ошибки
01
Правка схемы без обновления конфигурации базы данных — изменения не видны пользователям
02
Изменение основной схемы, когда отчёт использует макет из кода — результат не меняется
03
Загрузка чужой схемы без резервной копии — потеря рабочей версии
04
Правка запроса без проверки параметров — отчёт перестаёт формироваться с ошибкой

Как проверить результат после правки схемы

После сохранения схемы выполните контрольную проверку. Откройте отчёт в режиме «Предприятие», сформируйте его с типовыми настройками и убедитесь, что данные выводятся без ошибок компоновки. Затем проверьте новые поля или отборы, ради которых делалась правка.

Дополнительно проверьте поведение при пустых данных и при крайних значениях параметров — ошибки в запросе схемы часто всплывают именно там. Если отчёт используется в регламентных заданиях или рассылках, убедитесь, что программное формирование тоже проходит без ошибок.

Контрольные точки

Как проверить результат

Формирование отчёта
Норма

Отчёт строится без сообщений об ошибках компоновки

Тревожный признак

Ошибка «Поле не найдено» или «Ошибка в схеме компоновки»

Новые поля и отборы
Норма

Поля доступны в настройках и выводят корректные данные

Тревожный признак

Поле отсутствует в списке или показывает пустые значения

Программное формирование
Норма

Регламентные задания и вызовы из кода работают

Тревожный признак

Ошибки в журнале регистрации при программном запуске

Частые вопросы

Почему кнопка «Открыть схему компоновки данных» неактивна?

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

Можно ли открыть СКД без конфигуратора?

Да, через внешнюю консоль СКД в режиме «Предприятие», если схема выгружена в XML-файл. Для правки схемы внутри конфигурации без конфигуратора не обойтись — консоль работает только с файлами.

Как выгрузить схему в файл?

В конструкторе СКД нажмите кнопку «Сохранить схему в файл» на панели инструментов и укажите имя XML-файла. Обратная операция — «Загрузить схему из файла».

Изменил схему, но отчёт выводится по-старому. Что делать?

Выполните обновление конфигурации базы данных (клавиша F7 в конфигураторе) и перезапустите сеанс. Также проверьте, не использует ли отчёт другую схему из макета или кода.

Как открыть схему отчёта в конфигурации на поддержке?

На просмотр схема открывается всегда. Для редактирования нужно включить возможность изменения через «Конфигурация → Поддержка → Настройка поддержки». Учтите, что это усложнит будущие обновления конфигурации.

Чем отличается изменение варианта отчёта от правки схемы?

Вариант меняет только настройки: отборы, группировки, порядок полей. Правка схемы затрагивает сам запрос, поля и параметры и требует доступа к конфигуратору.

Итог

Что важно запомнить

Основной путь — конфигуратор, ветка «Отчёты», закладка основной схемы. Схема также может лежать в макете или внешнем XML-файле. После правок обновляйте конфигурацию базы данных и проверяйте формирование отчёта, а перед экспериментами сохраняйте резервную копию схемы.