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

26.10.11

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
ВыполнениеЗапроса_82.erf
.erf 48,26Kb
260
260 Скачать (1 SM) Купить за 1 850 руб.

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

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

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

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

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

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


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. Нажимаем "Выполнить", затем смотрим результат выполнения и при необходимости - временные таблицы.

См. также

SALE! 15%

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

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

10000 руб.

02.09.2020    160314    882    399    

866

SALE! 15%

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

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

8400 7140 руб.

20.08.2024    8112    60    28    

71

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

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

9360 руб.

17.05.2024    23650    69    45    

118

SALE! 15%

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

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

22200 19980 руб.

06.10.2023    15520    36    7    

71

SALE! 15%

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

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

10000 8500 руб.

10.11.2023    10545    37    27    

62

SALE! 35%

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

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

4800 3120 руб.

14.01.2013    188218    1141    0    

912

SALE! 15%

Инструментарий разработчика Программист 8.3.14 1С:Конвертация данных Россия Платные (руб)

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

15000 12750 руб.

07.10.2021    17370    6    32    

42

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

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

1800 руб.

21.02.2023    7767    8    35    

23
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Поручик 4692 24.10.11 15:32 Сейчас в теме
(0) Не вижу достоинств и преимуществ перед другими подобными консолями запросов.
2. DrAku1a 1745 25.10.11 02:25 Сейчас в теме
(1) Простота использования и минимум излишеств.
Делалось для себя - изначально для простой и быстрой отладки запросов, когда разрабатывал отчеты (при внедрении), но оказалось весьма полезным - при анализе запросов от 1С.
В будущем, возможно углубление в сторону парсинга запроса - разбивать сложные запросы (с соединениями) на несколько простых и собирать обратно.
5. Поручик 4692 25.10.11 13:41 Сейчас в теме
(2) (4) Ваше право, но изобретаете новую модель велосипеда с треугольными колёсами со штырём вместо сиденья. Удобных консолей запросов с возможностью отладки, просмотра ВТ, обработки результатов, etc тут чуть больше, чем до ... много.
6. DrAku1a 1745 25.10.11 14:28 Сейчас в теме
(5) Тогда посоветуйте парочку... Может действительно - есть получше.
7. Поручик 4692 25.10.11 14:42 Сейчас в теме
(6) Ссылок не помню, пишу названия публикаций
Запросник от tezin
Дополненная типовая обработка консоль запросов от lavelin
Консоль запросов от lavelin с модификацией от proal (Консоль запросов с просмотром временных таблиц)
Консоль запросов от Чистова
Консоль запросов для отладки запросов на лету + работа с временными таблицами
Консоль запросов (замеры, ВТ, IntelliSense)
8. DrAku1a 1745 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 1745 25.10.11 12:32 Сейчас в теме
    Обновлен интерфейс, более удобное заполнение параметров запроса (выбор типа) + возможность указывать в параметрах массив, список или таблицу значений. Добавлена возможность сохранять/считывать параметры запроса.
    9. Evlannikov 46 30.10.11 20:05 Сейчас в теме
    10. headMade 144 09.11.11 20:32 Сейчас в теме
    1. Может стоит на основную формы повесить кнопку для копирования в буфер текста, который потом нуна будет вставлять в конфигураторе. (пускай эта кнопка будет н большая, но это на много удобней чем лазить в справку)
    2. Если сразу после копирования в буфер текста попытаться вставить его в Shift+F9, то чет подвисает 1С и через некоторое время буфер очищается а если предварительно вставить его в txt или на форму отчета, тогда все ок сработает. У вас такого не было?
    11. DrAku1a 1745 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. Программулькин 301 01.06.12 10:16 Сейчас в теме
    Ошибка при выполнении запроса:

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

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

    ОБЫЧНАЯ КОНСОЛЬ ОТРАБАТЫВАЕТ БЕЗ ОШИБОК
    19. DrAku1a 1745 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. выполняет все ваши задачи..если нет-напишите чего там не хватает по вашему..
    Оставьте свое сообщение