Отладка запросов из отладчика в варианте Клиент-Сервер

12.11.18

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Отладка запросов из отладчика в варианте Клиент-Сервер:
.epf 101,47Kb ver:1.1
30
30 Скачать (1 SM) Купить за 1 850 руб.

Для 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).

См. также

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

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

15500 руб.

02.09.2020    177426    985    403    

941

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

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

8400 руб.

20.08.2024    18906    128    68    

130

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

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

15000 руб.

10.11.2023    12778    51    33    

72

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

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

22200 руб.

06.10.2023    18717    49    19    

82

Инструментарий разработчика Программист Платформа 1С v8.3 Платные (руб)

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

9360 руб.

17.05.2024    28867    100    48    

146

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

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

20000 руб.

07.10.2021    18591    7    32    

43

Инструментарий разработчика Платформа 1С v8.3 1C:Бухгалтерия 1С:ERP Управление предприятием 2 Платные (руб)

Разработка Конструктор автоматизированных рабочих мест "Конструктор АРМ" реализована в виде расширения и является универсальным инструментом для создания АРМ любой сложности в пользовательском режиме.

3600 руб.

27.12.2024    1679    2    0    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. json 3364 12.11.18 12:21 Сейчас в теме
Инструменты разработчика от (tormozit) или Запросник принципиально не используете. Предпочитаете самостоятельно все инструменты разрабатывать?
У консоли запросов с ИТС есть требования к бсп и режиму совместимости.
2. Evg-Lylyk 4939 12.11.18 13:13 Сейчас в теме
8. budidich 419 13.11.18 10:59 Сейчас в теме
(2) Спасибо, не видел. Вообще, не знал про существование альтернативных Запросников.
3. VmvLer 12.11.18 13:14 Сейчас в теме
как-то слишком много телодвижений - мне будет лень столько работать руками, тем более, что есть инструменты которые избавят от лишних действий
4. agentz 40 12.11.18 13:17 Сейчас в теме
Это все конечно хорошо, но попробуйте отладить запрос в типовом ЗУП 3, например.
Там используется 100500 временных таблиц и промежуточных результатов.
5. json 3364 12.11.18 13:38 Сейчас в теме
(4) ИР вроде анализирует запрос, вытаскивает имена временных таблиц, выгружает их в таблицы, потом при отладке подгружает.
С этим вроде порядок. Надо только потратить немного времени, чтобы разобраться, а потом экономить его при отладке сложных запросов.
AGit1C; tormozit; +2 Ответить
6. agentz 40 12.11.18 17:32 Сейчас в теме
(5) там дело не в этом, там вся сложность в том, что запрос состоит из кучи временных таблиц, которые внутри менеджера живут и полный запрос получить не удается т.к он раскидан по куче модулей
7. ice-net 19 13.11.18 09:20 Сейчас в теме
(6) Так это проблема Зуп, Вам не кажется?
9. СергейКа 670 14.11.18 09:20 Сейчас в теме
(6) (7) Кто вам сказал что это проблема ЗУП? Это крутая фишка (!)
Совместно с механизмом Представлений это вообще "бомба" получается, замедленного действия ))))
В том смысле что при желании и умении отлаживается довольно легко. А если из этого чего то не хватает, то может где то и рвануть )))
10. ice-net 19 14.11.18 14:37 Сейчас в теме
(9) Т.е. Вы серьезно считаете, что запросы в зуп крутая фича?)
11. СергейКа 670 14.11.18 15:03 Сейчас в теме
(10) Ах да, забыл теги поставить <sarcasm></sarcasm>
Ну а если серьезно, то конечно серединка-наполовинку. С одной стороны разобраться с непривычки сложно, часть можно было бы сделать проще.
Ну а с другой стороны:
1) когда данные обрабатываются в основном посредством запросов (не только выборка из БД, но и сами расчеты) это всегда плюс к быстродействию и ресурсоемкости.
2) опыт, сын ошибок трудных... После более чем десятка лет работы с зарплатой - запросы в других конфигурациях часто просто элементарны. Если думаете что фича запросов только в ЗУП 3, то ошибаетесь. Посмотрите отчетность в 2.5 например )
12. DrAku1a 1754 17.11.18 15:46 Сейчас в теме
Читаю рассылку за неделю... прям эпидемия))) Три разные публикации на одну и ту-же тему.
13. bob_ 96 24.10.19 14:15 Сейчас в теме
в Модуле объекта правил 2032 строку, добавил попытку:
Попытка
	ЭлементПараметр.Тип = ?(Флаг, ЭлементСписка.Значение, XMLТип(ТипЗнч(КлючЗначение.Значение)).ИмяТипа);
	ЭлементПараметр.Значение = ЗначениеВСтрокуВнутр(КлючЗначение.Значение); 
Исключение
	ЭлементПараметр.Тип = "Массив";
	ЭлементПараметр.Значение = ЗначениеВСтрокуВнутр(КлючЗначение.Значение); 

КонецПопытки;


по ошибке вылетало
Оставьте свое сообщение