Выполнение и отладка запроса

26.10.11

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

Инструмент для программиста. Упрощенный вариант консоли запросов, умеющий записывать/считывать параметры, просматривать временные таблицы и еще...

Скачать файлы

Наименование Файл Версия Размер
ВыполнениеЗапроса_82.erf
.erf 48,26Kb
260
.erf 48,26Kb 260 Скачать

Простой отладчик запросов, умеющий записывать/считывать параметры, просматривать временные таблицы и еще...

Можно использовать пакеты запросов с выгрузкой во временные таблицы в запросе.

  Обработка оформлена в виде пошагового мастера: 

Первый шаг (вкладка "Запрос") - указание самого текста запроса. На этой странице имеется кнопка "Конструктор", вызывает стандартный конструктор запросов. Также можно сохранить/загрузить/отредактировать текст запроса. Можно скопировать текст из конфигуратора, не надо при этом удалять символы | - обработка сама их удалит. Также есть кнопка "Код запроса" - которая оформит текст запроса в виде кода, который можно вставить в конфигуратор.

Второй шаг (вкладка "Параметры") - настройка параметров отчета. Здесь также имеется кнопка "Загрузить..." с помощью которой можно загрузить параметры из файла, но для этого параметры надо предварительно выгрузить. Как это делается - чуть позже...

Третий шаг (вкладка "Результат") - просмотр результата запроса. Результат выводится в табличное поле как таблица или дерево значений. Можно вывести в печатную форму. Также есть кнопка - просмотр временных таблиц (в случае если выполнялся пакет запросов со выгрузкой в промежуточные таблицы).


25.10.2011 - обновлен интерфейс, более удобное заполнение параметров запроса (выбор типа) + возможность указывать в параметрах массив, список или таблицу значений. Добавлена возможность сохранять/считывать параметры запроса.

Воспользовавшись поиском по ИС (по подсказке пользователя Поручик) нашел целый ряд публикаций по теме:
Приведу неполный список :

  1.  Запросник (автор: tezin) 
  2.  Консоль запросов с просмотром временных таблиц для 8.1 (автор: proal) 
  3.  Универсальная консоль отчетов (автор: Evg-Lylyk) 
  4.  Шаблон для отчета СКД (автор: coder1cv8)
  5.  Консоль запросов (еще 1)  (автор: skiller3000)    
  6.  Очередная консоль запросов (замеры, ВТ, IntelliSense)  (автор: vhd)    
  7.  Консоль запросов (ИР) (автор: acsent)   
  8.  Удобная консоль запросов  (автор: pipi) 
  9.  Еще одна консоль запросов + возможность подключения внешних модулей из файла  (автор: Legavaz)  
  10.  СКД против запроса с итогами  (автор: Ish_2) 
  11.  СКД против "ручного" кодинга (автор: Ish_2)   
  12.  [8.2] Управляемая консоль отчетов (только управляемые формы)  (автор: Evg-Lylyk) 
  13.  Обработка Помощник для написания запроса в тонком клиенте   (автор: boln) 
  14.  Нестандартный синтаксис оператора "ВЫБОР" в запросе   (автор: ll13) 
  15.  Недокументированный синтаксис оператора "В"   (автор: German)

Повторюсь: список неполный. То есть есть еще... и много... И после моей публикации еще будут - я уверен.

Да, здесь есть действительно "мощные" разработки! Особенно впечатлили 1, 6, 5. Есть на что посмотреть - и однозначно я буду черпать оттуда идеи для дальнейшего развития. 

Постараюсь объяснить почему я пользуюсь своей обработкой (и почему я ее здесь положил):

Вот несколько моих жизненных ситуаций: 

  1. нужно как можно быстрее разработать отчет на запросе, не требующий детальной настройки - как универсальный отчет, при этом желательно "на лету" протестировать какой результат будет давать запрос.
    • Открыл обработку - в конструкторе собрал запрос
    • Жму "Выполнить" - заполняю параметры
    • Еще раз "Выполнить" - смотрю что вышло в результате 
    • Жму "Код запроса" - копирую текст запроса.
    • Создаю внешний отчет - пихаю туда текст запроса и небольшой код по созданию построителя отчета и оформлению результата.

    На все про все пол-часа, максимум час. 

  2. Отчет построенный на запросе дает неверные данные.
  3. Документ заполняется неправильно, при отладке дошли до процедуры, в которой находится пакетный мегазапрос на три с лишним страницы кода. Кто переносил ЗУП с ЗиК - наверняка сталкивались.
  4. Выделяю в модуле текст запроса и копирую
    • Открываю свой отладчик запросов, вставляю текст.
    • Нажимаю "Выполнить".
    • Заполняю значения параметров. Если их немного - вручную. Если много и они сложны - то выгружаю из отладчика.
    • Жму еще раз "Выполнить" - и получаю результат.
    • Все это делается очень быстро, без лишних телодвижений...

Далее - в зависимости от ситуации:

  1. "играю" с параметрами - меняю и смотрю что на что влияет...
  2. модифицирую (обычно, упрощаю) текст запроса, смотрю в конструкторе из каких источников собираются данные
  3. изменяю текст запроса так, чтобы вывел список документов-регистраторов для записей - и ищу "виновника"...

процесс обычно занимает до нескольких часов (когда примерно знаю где искать - то быстрее).


В общем, обработка сделана так - чтобы не тратить время на просмотр списка ранее сохраненных запросов, а сосредоточиться на отладке одного конкретного. При этом все, что нужно собрано в одном окне в четырех вкладках. Потому и называется "Выполнение и отладка запросов" (а точнее назвать будет "Выполнение и отладка запроса").

 

Как загрузить параметры из файла (и зачем это надо):

Используется при отладке запросов, особенно в типовых конфигурациях - например ЗУП, когда нужно разобраться откуда в пакете запросов получился тот или иной результат. Технология довольно сложная, но решения проще я пока не нашел (часто это гораздо быстрее, чем указывать параметры "вручную"):

  1. Открыть  обработку, нажать на 2-й странице "Загрузить...", при этом обработка в области уведомлений выдаст строку, наподобие:
    ВнешниеОтчеты.ПолучитьФорму("I:\ОтладчикЗапросов\ВыполнениеЗапроса_82.erf", "ВыгрузкаПараметровЗапроса").ВыгрузитьПараметры(Запрос)
    и вопрос "Прочитать параметры из файла?" - поскольку файла пока еще нет, нажимаем "Нет".
  2. Запускается отладка и ставится точка останова на строке "Запрос.Выполнить(.........", затем выполняются в программе действия, пока не дойдет до точки останова. Тогда надо вызвать в отладчике "Вычислить выражение" (Shift + F9) и ввести код для вычисления, который выдала нам обработка на шаге 1. В результате выполнения должно выдать имя файла, куда выгрузились параметры. Это имя нам не особо нужно, т.к. обработка сама найдет откуда надо считывать...
  3. Продолжить выполнение (или завершить отладку - решать вам).
  4. Перейти в обработку "ВыполнениеЗапроса", скопировать-вставить текст запроса из изучаемой процедуры, перейти на вкладку "Параметры", там нажать кнопку "Загрузить..." и на вопрос  "Прочитать параметры из файла?" - теперь нажимаем "Да".Обработка загрузит все параметры, даже массивы и таблицы/списки значений (такие параметры нельзя указать из табличной части).
  5. Нажимаем "Выполнить", затем смотрим результат выполнения и при необходимости - временные таблицы.

См. также

INFOSTART TECH EVENT 2023, 11-13 октября, Санкт-Петербург

Инструментарий разработчика Мобильная разработка DevOps и автоматизация разработки Администрирование СУБД Мероприятия Россия Платные (руб)

XIII конференция по управлению и технологиям автоматизации учета на платформе 1С:Предприятие, которая пройдет в Санкт-Петербурге и соберет 1500 участников из разных регионов России и мира.

4000 руб.

09.12.2022    30068    12    0    

437

Онлайн-интенсив "DevOps для 1С". с 4 сентября по 17 октября 2023 г.

Инструментарий разработчика DevOps и автоматизация разработки DevOps для 1С Платные (руб)

Данный онлайн-курс (интенсив) предусматривает изучение процессов, инструментов и методик DevOps, их применение при разработке на платформе 1С. 

18000 руб.

20.06.2023    9887    0    2    

122

SALE! %

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

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

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

12000 10000 руб.

02.09.2020    93711    477    380    

532

SALE! 15%

PowerTools

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

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

3600 3060 руб.

14.01.2013    170271    1051    0    

793

Автоматизация труда программиста. Библиотека прикладных функций

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

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

4200 руб.

16.04.2021    12553    3    9    

9

Многопоточность. Универсальный «Менеджер потоков» 2.1

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

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    96521    234    97    

286

Менеджер конфигураций 1С

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

Менеджер конфигураций 1С — альтернативный стартер информационных баз 1С:Предприятие.

1439 руб.

21.02.2023    5273    2    33    

14

Программное формирование существующих печатных форм

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Получение списка печатных форм, формирование выбранной печатной формы и сохранение ее в файл.

1 стартмани

17.12.2021    14118    39    RocKeR_13    5    

46
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Поручик 4652 24.10.11 15:32 Сейчас в теме
(0) Не вижу достоинств и преимуществ перед другими подобными консолями запросов.
2. DrAku1a 1605 25.10.11 02:25 Сейчас в теме
(1) Простота использования и минимум излишеств.
Делалось для себя - изначально для простой и быстрой отладки запросов, когда разрабатывал отчеты (при внедрении), но оказалось весьма полезным - при анализе запросов от 1С.
В будущем, возможно углубление в сторону парсинга запроса - разбивать сложные запросы (с соединениями) на несколько простых и собирать обратно.
5. Поручик 4652 25.10.11 13:41 Сейчас в теме
(2) (4) Ваше право, но изобретаете новую модель велосипеда с треугольными колёсами со штырём вместо сиденья. Удобных консолей запросов с возможностью отладки, просмотра ВТ, обработки результатов, etc тут чуть больше, чем до ... много.
6. DrAku1a 1605 25.10.11 14:28 Сейчас в теме
(5) Тогда посоветуйте парочку... Может действительно - есть получше.
7. Поручик 4652 25.10.11 14:42 Сейчас в теме
(6) Ссылок не помню, пишу названия публикаций
Запросник от tezin
Дополненная типовая обработка консоль запросов от lavelin
Консоль запросов от lavelin с модификацией от proal (Консоль запросов с просмотром временных таблиц)
Консоль запросов от Чистова
Консоль запросов для отладки запросов на лету + работа с временными таблицами
Консоль запросов (замеры, ВТ, IntelliSense)
8. DrAku1a 1605 25.10.11 16:31 Сейчас в теме
(7) Воспользовавшись поиском по ИС (по Вашему списку) нашел целый ряд публикаций.
Приведу список :
  • 1. Запросник http://infostart.ru/public/72969/
  • 2. Консоль запросов с просмотром временных таблиц для 8.1 http://infostart.ru/public/92327/
  • 3. Универсальная консоль отчетов http://infostart.ru/public/16782/
  • 4. Шаблон для отчета СКД http://infostart.ru/public/20333/
  • 5. Консоль запросов (еще 1) http://infostart.ru/public/73694/
  • 6. Очередная консоль запросов (замеры, ВТ, IntelliSense) http://infostart.ru/public/73006/
  • 7. Консоль запросов (ИР) http://infostart.ru/public/57854/
  • 8. Удобная консоль запросов http://infostart.ru/public/21993/
  • 9. Еще одна консоль запросов + возможность подключения внешних модулей из файла http://infostart.ru/public/15421/
  • 10. СКД против запроса с итогами http://infostart.ru/public/79992/
  • 11. СКД против "ручного" кодинга http://infostart.ru/public/75878/
  • 12. [8.2] Управляемая консоль отчетов (только управляемые формы) http://infostart.ru/public/77865/
  • 13. Обработка Помощник для написания запроса в тонком клиенте http://infostart.ru/public/83529/
  • 14. Нестандартный синтаксис оператора "ВЫБОР" в запросе http://infostart.ru/public/67585/
  • 15. Недокументированный синтаксис оператора "В" http://infostart.ru/public/67413/

    Да, здесь есть действительно "мощные" разработки! Особенно впечатлили 1, 6, 5. Есть на что посмотреть - и однозначно я буду черпать оттуда идеи для дальнейшего развития.

    Постараюсь объяснить почему я пользуюсь своей обработкой (и почему я ее здесь положил).
    Вот несколько моих жизненных ситуаций:
    1. нужно как можно быстрее разработать отчет на запросе, не требующий детальной настройки - как универсальный отчет, при этом желательно "на лету" протестировать какой результат будет давать запрос.
    • Открыл обработку - в конструкторе собрал запрос
    • Жму "Выполнить" - заполняю параметры
    • Еще раз "Выполнить" - смотрю что вышло в результате
    • Жму "Код запроса" - копирую текст запроса.
    • Создаю внешний отчет - пихаю туда текст запроса и небольшой код по созданию построителя отчета и оформлению результата.
    На все про все пол-часа, максимум час.

    2. Отчет построенный на запросе дает неверные данные.
    3. Документ заполняется неправильно, при отладке дошли до процедуры, в которой находится пакетный мегазапрос на три с лишним страницы кода. Кто переносил ЗУП с ЗиК - наверняка сталкивались.

    • Открываю свой отладчик запросов, выделяю в модуле текст запроса, вставляю в обработку.
    • Нажимаю "Выполнить" - обработка определит что текст запроса поменялся (при этом сама удалит символы из текста запроса "|"), заполнит список параметров и переместит на страницу "Параметры"...
    • Заполняю значения параметров. Если их немного - вручную. Если много и они сложны - то выгружаю из отладчика.
    • Жму еще раз "Выполнить" - и получаю результат.
    Все это делается очень быстро, без лишних телодвижений... Далее - в зависимости от ситуации:
    • "играю" с параметрами - меняю и смотрю что на что влияет...
    • модифицирую (обычно, упрощаю) текст запроса, смотрю в конструкторе из каких источников собираются данные
    • изменяю текст запроса так, чтобы вывел список документов-регистраторов для записей - и ищу "виновника"...

    процесс обычно занимает до нескольких часов (когда примерно знаю где искать - то быстрее).

    В общем, обработка сделана так - чтобы не тратить время на просмотр списка ранее сохраненных запросов, а сосредоточиться на отладке одного конкретного. При этом все, что нужно собрано в одном окне в четырех вкладках. Потому и назывется "Выполнение и отладка запросов" (а точнее назвать будет "Выполнение и отладка запроса").
  • 3. Angeros 25.10.11 12:23 Сейчас в теме
    По моему усложненная консоль не так уж сложна. Работает как часы.
    4. DrAku1a 1605 25.10.11 12:32 Сейчас в теме
    Обновлен интерфейс, более удобное заполнение параметров запроса (выбор типа) + возможность указывать в параметрах массив, список или таблицу значений. Добавлена возможность сохранять/считывать параметры запроса.
    9. Evlannikov 46 30.10.11 20:05 Сейчас в теме
    Может пригодится: http://chistov.spb.ru/publ/2-1-0-9
    10. headMade 144 09.11.11 20:32 Сейчас в теме
    1. Может стоит на основную формы повесить кнопку для копирования в буфер текста, который потом нуна будет вставлять в конфигураторе. (пускай эта кнопка будет н большая, но это на много удобней чем лазить в справку)
    2. Если сразу после копирования в буфер текста попытаться вставить его в Shift+F9, то чет подвисает 1С и через некоторое время буфер очищается а если предварительно вставить его в txt или на форму отчета, тогда все ок сработает. У вас такого не было?
    11. DrAku1a 1605 09.11.11 20:56 Сейчас в теме
    (10) 1. Можно... сделаю это на странице, куда выводится код запроса.
    2. Такая проблема не возникала. Если используете терминальный сеанс, например Citrix - то проблема может быть в самом терминальном клиенте (отключить настройку синхронизации буферов обмена - должно помочь).
    12. headMade 144 10.11.11 00:35 Сейчас в теме
    DrAku1a пишет:
    Такая проблема не возникала.

    вобщем ХЗ тогда. Попробую может на другом компьютере, но я пробвал на локальной базе.........
    13. mailwood 21 13.01.12 17:00 Сейчас в теме
    Ошибка при выполнении запроса:

    {Форма.ФормаОтчета.Форма(12)}: Поле объекта не обнаружено (ТипЗначения)
    18. Программулькин 299 01.06.12 10:16 Сейчас в теме
    Ошибка при выполнении запроса:

    {Форма.ФормаОтчета.Форма(12)}: Поле объекта не обнаружено (ТипЗначения)
    /************************************************************************************************************
    ВЫБРАТЬ
    ОсновныеНачисленияРаботниковОрганизаций.Сотрудник,
    ОсновныеНачисленияРаботниковОрганизаций.ВидРасчета,
    ОсновныеНачисленияРаботниковОрганизаций.Результат
    ИЗ
    РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК ОсновныеНачисленияРаботниковОрганизаций
    ГДЕ
    ОсновныеНачисленияРаботниковОрганизаций.Сотрудник В
    (ВЫБРАТЬ
    РаботникиОрганизацийСрезПоследних.Сотрудник КАК Сотрудник
    ИЗ
    РегистрСведений.РаботникиОрганизаций.СрезПоследних(&КонДата, ) КАК РаботникиОрганизацийСрезПоследних
    ГДЕ
    РаботникиОрганизацийСрезПоследних.ПричинаИзмененияСостояния = ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение))
    /************************************************************************************************************
    Параметр:
    Имя Тип Значение

    КонДата Дата 31.05.2012 0:00:00
    /*************************************************************************************************************

    ОБЫЧНАЯ КОНСОЛЬ ОТРАБАТЫВАЕТ БЕЗ ОШИБОК
    19. DrAku1a 1605 05.06.12 03:09 Сейчас в теме
    (18) скоро будет обновление - там все уже исправлено.
    + "визуальная структура запроса"
    + наработки по отладке запроса
    + панель "обработка результата" (программный код), например, для перепроведения документов...
    + генератор модуля универсального отчета
    + если хватит времени - руководство.

    кое-что уже сделано, кое-что в разработке... ориентировочно обновление будет через неделю, но может быть и раньше.
    14. 1C_tradeomsk 105 30.01.12 18:11 Сейчас в теме
    Давно искал консоль с работающей возможностью задавать тип параметров запроса .... Аллилуйа!!!
    15. 1C_tradeomsk 105 30.01.12 18:11 Сейчас в теме
    Давно искал консоль с работающей возможностью задавать тип параметров запроса .... Аллилуйа!!!
    16. Rino 26.03.12 12:02 Сейчас в теме
    Спасибо
    17. rasswet 82 28.05.12 18:12 Сейчас в теме
    по-моему запросник пункт 1. выполняет все ваши задачи..если нет-напишите чего там не хватает по вашему..
    Оставьте свое сообщение