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

18.05.26

Разработка - Инструментарий разработчика

Каждый разработчик сталкивается с задачей отладкой запросов, динамически формируемых в процессе исполнения кода. Зачастую в современных типовых конфигурациях задача усложняется опциональной генерацией текста, сложным набором параметров, содержащих значения различных типов, и использующих в качестве источников опциональные наборы временных таблиц, сгенерированных ранее исполненными запросами. Если текст запроса ещё можно перенести в Консоль через клипборд, остановив выполнение кода перед методом выполнения запроса, то перенос набора параметров и временных таблиц становится проблемной задачей. Предлагаемое расширение предоставляет набор объектов с возможностью сохранения текстов запросов / временных таблиц / параметров в процессе отладки и доработанную консоль запросов с функционалом исполнения запросов с использованием сохраненных данных

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Отладка сложных запросов. Фиксация временных таблиц, текстов и параметров запросов при отладке с возможностью редактирования и исполнения в специальной консоли:
.cfe 111,66Kb
0 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

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

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

Общие принципы работы

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

Расширение содержит: 

  • 3 константы (к сожалению, объектов типа Хранилища настроек в расширениях сейчас недоступны) для сохранения данных запроса.
  • Общий модуль (серверный) ОтладчикЗапросов, обеспечивающий доступ к четырем экспортным функциям, реализующих запись служебных данных запроса. Функции доступны для вызова в процессе отладки
  • Доработанную типовую Консоль запросов (версия получена с сайта 1С ИТС), предоставляющая возможность получения и использования сохраненных данных констант, для использования в процессе отладки и исполнения запроса
  • Служебную обработку для контроля сохраненных данных
  • Подсистему Отладка запросов, обеспечивающую доступ к консоли и служебной обработке через командный интерфейс

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


Сохранение данных запросов


После подключения расширения в среде отладки появляется доступ к дополнительным функциям сохранения данных.

Эти функции реализованы в общем модуле ОтладчикЗапросов Расширения. Их 4 - для записи текста/параметров/временных таблиц как совместно, так и по раздельности:

  • ЗаписатьТекст(ВходящийПараметр)ВходящийПараметр может быть типа Строка — текст запроса, либо типа Запрос, в этом случае текст будет получен из текста переданного запроса
  • ЗаписатьПараметры(ВходящийПараметр) ВходящийПараметр может быть типа Структура — структура параметров запроса, либо типа Запрос, в этом случае структура параметров будет получена из параметров переданного запроса
  • ЗаписатьВременныеТаблицы(ВходящийПараметр) ВходящийПараметр может быть типа МенеджерВременныхТаблиц, либо типа Запрос, в этом случае МенеджерВременныхТаблиц будет получен из параметров переданного запроса
  • ЗаписатьВсе(Запрос, ЗаписыватьТекст = Истина,ЗаписыватьВременныеТаблицы = Истина, ЗаписыватьПараметры = Истина). Параметры требуют обязательного указания запроса и опционального управления записью Текста / ВременныеТаблицы/Пареметров — по умолчанию записывается все 3 сущности. Именно этот метод является основным универсальным средством для сохранения.

 

Порядок применения


На определенном этапе исполнения кода, как правило перед исполнением метода запроса Выполнить(), следует установить точку останова. После остановки отладчика в данной точке следует выполнить команду Вычислить выражение (клавиши Shift + F9).
В поле ввода выражения ввести одну из перечисленных функций с указанием общего модуля ОтладчикЗапросов. Например,  

ОтладчикЗапросов.ЗаписатьВсе(Запрос)

и нажать Рассчитать.
После выполнения записи в поле результатов отображается результат записи: Значения успешно сохранены или ошибка записи.

 

Использование доработанной Консоли запросов

 

Консоль можно запустить по команде из Подсистемы или через Функции для технического специалиста.
Весь функционал внешней обработки Консоли сохранен в обработке Расширения, включая интерфейс подключения. Поэтому, если удобно использовать консоль в традиционном виде внешней обработки, можно сохранить встроенную в расширение обработку в файл epf.

Все дополнительные функции Консоли объединены в группу Отладчик. Если не использовать доп. функционал (не кликать гиперссылки и не устанавливать флажок), консоль работает в типовом режиме.
Команды:
Заполнить текст — Заполняет поле Текст запроса сохраненным в константе текстом
Заполнить параметры — Заполняет таблицу списком сохраненных параметров
Текст запроса ВТ — дополнительная функция доступа к сохраненным временным таблицам. Заполняет поле Текст запросов текстом пакета запросов, извлекающих данные из всех сохраненных временных таблиц.
Флажок Использовать временные таблицы — включает/отключает использование временных таблиц в запросе.

 

Обработка Управление сохраненными данными

 

Обработка предназначена для просмотра информации о сохраненных данных, а так же для некоторой корректировки сохраненного содержимого. Содержит 3 закладки для отображения текста-параметров-временных таблиц.

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

 

Разрабатывалось на 1С Комплексная автоматизация 2.5. Работоспособно на любой конфигурации на управляемых формах, функционирующих под управлением платформы 1С Предприятие 8.3.16 (режиме совместимости) и выше. Возможность добавлять константы в расширение появилось именно в этом релизе.

Проверено на следующих конфигурациях и релизах:

  • 1С:Комплексная автоматизация 2, релизы 2.5.22.170

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

Консоль запросов Отладка Временные таблицы

См. также

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

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

16500 руб.

02.09.2020    258586    1428    421    

1165

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

24900 руб.

20.08.2024    68014    356    164    

312

Инструментарий разработчика Нейросети Платные (руб)

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданным 1С, справке синтакс-помощника и проверки синтаксиса.

15250 руб.

25.08.2025    54843    111    29    

123

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

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм. Обновление версии от 21.04.26

22570 руб.

06.10.2023    38185    101    46    

122

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

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

17000 руб.

10.11.2023    25242    93    46    

102

Мастера заполнения Поиск данных Инструментарий разработчика Подбор и обработка объектов 1С 8.3 1С 8.5 Платные (руб)

Infostart MagicInput улучшает подбор в полях ввода 1С: ищет по любой части названия и по нескольким ключевым фрагментам, распознаёт ввод в другой раскладке и показывает иконки/статусы объектов прямо в списке. Поддерживает вставку навигационной ссылки/представления документа для автоподбора; для разработчиков доступны поиск по GUID и полному имени предопределённого. Работает в управляемых формах и подключается в большинстве конфигураций 1С 8.3/8.5.

6000 руб.

25.02.2026    3622    13    1    

16

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

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

9500 руб.

17.05.2024    52866    182    63    

216
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. RustIG 1954 18.05.26 10:55 Сейчас в теме
(0) зачем через отладчик? можно ведь в процессе выполнения запроса сохранять все временные запросы, да еще выводить их в консоли в отдельных закладках...
вот это
ОтладчикЗапросов.ЗаписатьВсе(Запрос)
- пропишите перед командой Выполнить()
2. Sergey1CSpb 278 18.05.26 14:33 Сейчас в теме
(1) Предлагаете прописать эту команду прямо в модуле? В целом - не запрещено, конечно.
Но тут вся суть, что конфигурацию мы не трогаем. А то так можно все модули этой командой исписать. Да и с поддержки не нужно снимать.
3. RustIG 1954 18.05.26 15:32 Сейчас в теме
предлагаю прописать эту команду в модуле внешней обработки "Консоль запросов", при этом конфигурацию не трогаем
ПС. На обычных формах внешняя Консоль запросов именно так и использовалась/используется...
4. Sergey1CSpb 278 18.05.26 18:45 Сейчас в теме
(3) Наверное, мне нужно еще раз пояснить для чего я всё это разрабатывал.

В типовой УТ/КА есть, например, модули печати счетов фактур, которые всем ну оочень нужно доработать.

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

Как можно решить такую задачу просто что-то подправив в Консоли, мне не очень понятно
Для отправки сообщения требуется регистрация/авторизация