Отладка запросов из отладчика в варианте Клиент-Сервер
Разработка - Инструментарий разработчика
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Для 1С есть обработка "КонсольЗапросов", с помощью которой можно отлаживать и тестировать запросы. Но есть проблема: она не работает в отладчике и если в коде на сервере мы вычисляем сложный запрос с большим количеством параметров, особенно вида "ТаблицаЗначений", "СписокЗначений", "Массив", то протестировать такой запрос в режиме 1С Предприятие очень сложно, т.к. нужно вручную заполнить в Консоли запросов много параметров.
Чтобы этого не делать, можно сохранить запрос в буфер обмена и вставить его в немного доработанную обработку "ИнструментыРазработчикаКонсольЗапросовСОтладкой.epf". Эту обработку я взял с диска ИТС и добавил в неё кнопку "Восстановить запрос из хранилища". Теперь сложный запрос с трудными параметрами можно тестировать в режиме 1С Предприятие.
Алгоритм переноса запроса из отладчика:
1) Запускаем программу, ставим точку останова в месте выполнения интересующего нас запроса.

2) Когда отладка остановилась на нужном нам запросе, запускаем Вычислить выражение =
ЗначениеВСтрокуВнутр(Новый Структура("Текст, Параметры", Запрос.Текст, Запрос.Параметры))
В результате получим строку, описывающую запрос. Скопируем эту строку в буфер обмена.

3) Завершаем отладку или открываем новое окно 1С: Предприятие. В режиме 1С: Предприятие запускаем обработку ИнструментыРазработчикаКонсольЗапросовСОтладкой.epf
4) В обработке нажимаем кнопку "Восстановить запрос из хранилища". В открывшееся окно вводим строковое описание запроса из буфера обмена.

5) Запрос со всеми параметрами загружен в КонсольЗапросов. С ним можно работать.

Есть также второй способ преобразования запроса в строку для копирования в буфер обмена: при вычислении выражения в точке останова Вместо
ЗначениеВСтрокуВнутр(Новый Структура("Текст, Параметры", Запрос.Текст, Запрос.Параметры))
Нужно вычислить выражение вида
ВнешниеОбработки.Создать("E:\Work\Инфостарт\КонсольЗапросов\ИнструментыРазработчикаКонсольЗапросовСОтладкой.epf").ЗапросВВидеСтроки(Запрос)
где нужно указать путь доступа к обработке "КонсольЗапросов", доступный серверу 1С. Такой способ аналогичен первому способу, но он также позволяет копировать таблицы из Менеджера временных таблиц, которые будут помещены в таблицы консоли запросов с добавлением инициализирующих из запросов.

Тестировалась на Управление торговлей, редакция 11 (11.4.5.111).
Платформа 1С:Предприятие 8.3 (8.3.12.1595).
Вступайте в нашу телеграмм-группу Инфостарт