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

20.06.25

Разработка - Запросы

Очередной вариант получения запроса из СКД в отладке.

Эта тема тут поднималась уже не раз - как посмотреть итоговый запрос отчета на СКД, чтобы понять, что там не так. Понятно, что он лежит в макете компоновки, но тем, кому, как мне, недостаточно почитать текст запроса, а хочется еще, например, покрутить в нём условия, нужно этот текст запроса скопировать в консоль запросов. Всё бы ничего, да только в этот запрос нужно установить какие-то параметры. Если это ваша нетленка, то их обычно не очень много, а вот в типовых бывают десятки.

Нас спасёт тот факт, что во многих консолях запросов есть возможность сохранить запрос из отладки. Например, для универсальных инструментов это такой вызов:
УИ_._От(Запрос)

Для Инфостарт Тулкит такой:
ИТК.Отл(Запрос)

Осталось получить собственно запрос. Текст в макете компоновки есть, параметры тоже, осталось это всё объединить:
 

Функция ЗапросДляОтладки(МакетКомпоновки, ИмяНабораДанных = "НаборДанных1", ИмяНабораОбъединений = Неопределено) Экспорт
  
  Запрос = Новый Запрос;

  Если ИмяНабораОбъединений <> Неопределено Тогда
    Запрос.Текст = МакетКомпоновки.НаборыДанных[ИмяНабораОбъединений].Элементы[ИмяНабораДанных].Запрос;
  Иначе
    Запрос.Текст = МакетКомпоновки.НаборыДанных[ИмяНабораДанных].Запрос;
  КонецЕсли;
  
  Для Каждого Параметр Из МакетКомпоновки.ЗначенияПараметров Цикл
    Если ТипЗнч(Параметр.Значение) = Тип("ВыражениеКомпоновкиДанных") Тогда
      Значение = Вычислить(Параметр.Значение);
    Иначе
      Значение = Параметр.Значение;
    КонецЕсли;
    Запрос.УстановитьПараметр(Параметр.Имя, Значение);
  КонецЦикла;
  
  Возврат Запрос;
КонецФункции

И теперь просто ставим точку останова сразу после получения макета СКД в процедуре ПриКомпоновкеРезультата() и пишем в табло
УИ_._От(ЗапросДляОтладки(МакетКомпоновки))

Несложно доработать функцию, чтобы она могла добавлять в запрос менеджер временных таблиц, если он у вас используется. Функцию удобно положить в общий модуль, или если это недоступно - просто в сам модуль отчета.

После сохранения запроса просто заходим в консоль отчетов в 1С: Предприятии, открываем запрос, все параметры уже установлены - можно отлаживать!

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

Аналогичная функция для динамического списка (используем ранее написанную функцию):

Функция ЗапросДинамическогоСписка(ЭлементФормыСписок) Экспорт
	Схема = ЭлементФормыСписок.ПолучитьИсполняемуюСхемуКомпоновкиДанных();
	Настройки = ЭлементФормыСписок.ПолучитьИсполняемыеНастройкиКомпоновкиДанных();
	
	КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
	МакетКомпоновки = КомпоновщикМакета.Выполнить(Схема, Настройки);
	
	Возврат ЗапросДляОтладки(МакетКомпоновки, "НаборДанныхДинамическогоСписка");
КонецФункции

Вызывать так:

УИ_._От(ЗапросДинамическогоСписка(Элементы.Список))

Напрашивается доработка в виде использования схемы запроса для более аккуратной работы с параметрами и поиск запроса в наборах данных, но пока необходимости не было.

Вступайте в нашу телеграмм-группу Инфостарт

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С:Предприятие 8 Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

16500 руб.

02.09.2020    266535    1484    421    

1177

Инструментарий разработчика Запросы Программист 1С 8.3 1С:Бухгалтерия 3.0 1С:Зарплата и Управление Персоналом 3.x Абонемент ($m)

Структура запроса. Обработка визуально показывает, из какого количества подзапросов состоит запрос.

2 стартмани

06.07.2026    3024    39    XSlava    20    

41

Запросы Программист 1С 8.3 Россия Бесплатно (free)

Визуальный «Конструктор запроса» 1С, встроенный прямо в VS Code, — аналог конструктора из Конфигуратора и EDT, но без запуска платформы. Расширение читает конфигурацию, выгруженную в файлы, позволяет собрать запрос мышью и генерирует корректный текст на языке запросов 1С (SDBL). Открывает уже существующий текст запроса из кода для правки и — что особенно ценно — сохраняет комментарии при цикле «открыть - править - сохранить». Подходит тем, кто пишет код 1С в VS Code, держит под рукой множество проектов и не хочет ради одного запроса запускать тяжёлый Конфигуратор или EDT.

26.06.2026    6537    Alex_YAM    5    

33

WEB-интеграция Запросы Программист 1С 8.3 Абонемент ($m)

Post1C - это внешняя обработка, которая превращает 1С в полноценный инструмент для тестирования REST API. Всё управление сосредоточено в одном окне: настройка запроса, выполнение, просмотр ответа и генерация кода - без переключения между формами. Аналог Postman, но работающий в привычной среде 1С.

1 стартмани

02.04.2026    2888    80    priem_nv    24    

66

Инструментарий разработчика Запросы Программист 1С:Предприятие 8 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Абонемент ($m)

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

1 стартмани

16.05.2025    11943    153    zup_dev    30    

86

Инструментарий разработчика Запросы Программист 1С:Предприятие 8 1С:ERP Управление предприятием 2 Абонемент ($m)

В данной публикации рассказывается о решении, которое позволяет находить сразу все ошибки в тексте запроса за раз, а не только самую первую.

2 стартмани

05.03.2025    6807    23    XilDen    12    

29

Обновление 1С Запросы Программист 1С:Предприятие 8 1С:ERP Управление предприятием 2 Абонемент ($m)

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

3 стартмани

06.02.2025    6077    36    XilDen    26    

42
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. aximo 2699 20.06.25 09:32 Сейчас в теме
Повторение- мать учения… кто хочет рабочий пример https://infostart.ru/1c/tools/2147140/
2. Evg-Lylyk 5467 20.06.25 10:03 Сейчас в теме
Добавлю по IS Toolkit что можно в функцию отладки передавать типы:
Запрос, СхемаКомпоновкиДанных, ПостроительЗапроса, ПостроительОтчета, ДинамическийСписок, МакетКомпоновкиДанных. Т.е. можно сразу отладить отчет.
Также есть инструмент Помощник формирования строки отладки.
Для отправки сообщения требуется регистрация/авторизация