← На главную
При работе с отчетами на базе схемы компоновки данных (СКД) разработчики часто сталкиваются с ситуацией, когда в печатной форме или макете отображается конкретное поле (например, ТарифнаяСтавка), но прямого упоминания этого поля нет ни в тексте SQL/1С-запроса, ни на вкладке Параметры. Рассмотрим подробнее, где именно в схеме компоновки данных может скрываться источник этих данных и как его быстро обнаружить.
1. Проверка параметров ячеек на вкладке «Макеты»
Наиболее распространенная причина — переименование или связывание параметра непосредственно в самом макете оформления отчета. Имя параметра в ячейке макета может не совпадать с именем поля компоновки данных.
Разберем процесс поиска по шагам:
- Откроем схему компоновки данных и перейдем на вкладку Макеты.
- Найдем область макета (например,
ШапкаРасчетногоЛистка:Заголовок) и выделим ячейку, в которой выводится искомое значение.
- В свойствах ячейки или в нижней таблице параметров макета проанализируем колонку Выражение. Именно здесь указывается, из какого именно поля набора данных или вычисляемого поля берется значение для данного параметра.
Часто в самой ячейке используется заполнение типа Шаблон, где текст задается конструкцией вида [ТарифнаяСтавка]. В этом случае параметр создается автоматически на уровне ячейки макета и привязывается к выражению СКД.
2. Поиск через сохранение схемы компоновки в XML-файл
Если визуальный поиск по многочисленным вкладкам и группировкам не приносит результата, применим универсальный метод — поиск по XML-структуре схемы.
- В окне редактирования схемы компоновки данных нажмем кнопку сохранения схемы в файл (или выгрузим схему через меню).
- Откроем полученный файл в любом текстовом редакторе.
- Воспользуемся контекстным поиском по точному наименованию искомого поля или параметра. Это позволит сразу увидеть тег XML, в котором определена переменная, и понять context ее использования.
3. Вычисляемые и пользовательские поля
Проанализируем другие места системы, где поле может формироваться без явного участия текста запроса:
- Вычисляемые поля: На вкладке Вычисляемые поля значение может формироваться как результат выражения 1С или вызова функции общего модуля.
- Пользовательские поля: В режиме настройки варианта отчета (вкладка Настройки) могут быть заданы пользовательские поля-выражения или поля-выборы, которые отсутствуют в наборах данных конструктора.
4. Дополнительные реквизиты, характеристики и выражения представления
Выясним другие технические особенности СКД, позволяющие получать данные динамически:
- Характеристики: В настройках набора данных в таблице Характеристики могут быть описаны дополнительные реквизиты и сведения. СКД генерирует их на лету во время выполнения отчета, поэтому в тексте запроса они не фигурируют.
- Выражения представления: В колонке Выражение представления любого поля набора данных может быть написано обращение через точку к реквизитам объекта или вызов экспортной функции модуля.
- Внешние наборы данных: Если используется
Набор данных - Объект, данные передаются программно из кода модуля отчета или формы через таблицу или дерево значений.
- Программная модификация в модуле: В процедуре
ПриКомпоновкеРезультата модуля отчета или в модуле формы схема может дорабатываться программно перед выводом результата.