В современных конфигурациях масса сложных запросов – объемных, с большим количеством временных таблиц и т.д. Текст запросов часто собирается программно из кусочков, часто в разных процедурах.
И вот Вы дорабатываете такой запрос – а он возвращает не тот результат, который ожидается.
Как найти причину? Нужно отладить запрос.
И нужно уметь это делать так, чтобы не терять на это кучу времени.
В серии из трех видеоуроков мы рассмотрим базовые приемы отладки, которые часто используются на практике:
- Разберем базовый подход, как в консоли запросов сформировать и отладить результирующий пакетный запрос, при помощи которого получаются данные.
- Научимся прямо в отладчике просматривать содержимое временных таблиц и результата запроса, чтобы проанализировать отдельные этапы выполнения запроса.
- Также рассмотрим удобный прием – отложенную отладку. С помощью одной команды в отладчике получим в консоли итоговый текст выполняющегося запроса, значения параметров, содержимое временных таблиц. Это упрощает отладку, поскольку не нужно вручную в консоли вводить все указанные данные.
При работе с типовыми конфигурациями – незаменимые навыки как для новичков, так и для профи : )
Длительность видео – 52 минуты.
Как в консоли сформировать результирующий пакет запросов для отладки
Ключевые моменты видео:
- 00:00 – Введение
- 01:45 – Демонстрация обработки Отладка запросов с временными таблицами
- 05:14 – Приемы отладки запроса с временными таблицами при помощи консоли запросов
- 08:48 – Плюсы и минусы подхода сборки текста запроса в консоли запросов
- 10:15 – Итоги
Просмотр содержимого временных таблиц в отладчике
Ключевые моменты видео:
- 00:00 – Как просмотреть содержимое временных таблиц в отладчике
- 00:56 – Постановка задачи
- 05:32 – Объект встроенного языка МенеджерВременныхТаблиц и метод ПолучитьДанные()
- 10:40 – Пример отладки реального запроса в конфигурации 1С:ERP при помощи типовой экспортной функции ОбщегоНазначенияУТ.ПоказатьВременнуюТаблицу()
- 16:00 – Реализация своей отладочной функции в расширении
Пример отладки запроса в 1C:ERP. Отложенная отладка
Ключевые моменты видео:
- 00:00 – Недостатки показанных ранее методов отладки запросов
- 01:00 – Знакомство с подсистемой Инструменты разработчика (ИР)
- 02:25 – Обзор обработки Функции режима отладки
- 04:00 – Применение обработки Функции режима отладки в конфигурации 1С:ERP
- 18:38 – Итоги
Это видео по материалам Расширенного курса по разработке и оптимизации запросов в 1С.
На этом курсе Вы изучите все, что требуется знать каждому разработчику:
- Полный синтаксис текста запросов – поля, операторы, функции, выражения, группировка и сортировка, итоги и т.д.
- Работу с несколькими источниками / таблицами – соединения, объединения, вложенные запросы
- Временные таблицы, пакетные запросы
- Виртуальные таблицы – для регистров сведений, накоплений, расчетов и бухгалтерии
- Методы и приемы написания и оптимизации запросов
- А также много практических примеров и кейсов.
Программа, стоимость, условия и регистрация в группу:
«Расширенный курс по разработке и оптимизации запросов в 1С»
- 56 учебных часов
- 42 практических задания
- 4 месяца поддержки и ответов на вопросы
- Пожизненный доступ к материалам курса
Здравствуйте!
Занимался по старому курсу по запросам. Но там закрыты комментарии.
Не могли бы вы ответить на вопрос:
Как, используя запрос, поместить в одну строку все элементы ВТ (или элементов подчиненного справочника)?
Пример. Для справочника “Контрагента” получить строку с о всей контактной информацией (адреса, телефоны и др.).
Только запросом!
Спасибо!
Добрый день!
Рекомендую для такой задачи написать код, а не использовать запрос. Запросом можно сделать, в интернете встречаются такие публикации, но запрос получится сложным, “многоэтажным”, трудным для понимания и доработки.
Можно как вариант использовать СКД, где в языке выражений есть функции Массив(), ТаблицаЗначений(), СоединитьСтроки() и т.д.
Спасибо, полезно и ёмко, без воды
Здравствуйте, Андрей!
Рады, что статья оказалась Вам полезна!
Будет здорово, если Вы поделитесь ей с коллегами, возможно, кто-то из них тоже получит новую для себя информацию :)
Здравствуйте, пользуюсь ОбщегоНазначения.ЗапросВСтрокуXML(Запрос)? в отладке возвращает строку, которую потом можно использовать в ИТС’овской консоли использовав команду “Заполнить из XML”. Результат получается схожий. Но это касается именно запроса, для других объектов, возможно, отложенная отладка не имеет, так сказать, штатных аналогов.
Добрый день!
Спасибо, что поделились своим опытом.
Добрый день, в инструментах разработчика, при запуске обработки и передачи переменной запроса, сеанс толстого клиента зависает, и получается что запустить отладку невозможно, кеш чистили.. конфигурация 1с ERP
Добрый день!
Несколько раз сталкивался с похожим зависанием. Пока в конфигураторе при отладке осуществляется остановка на точке, выполнение программного кода не происходит, толстый клиент с запущенными ИР выглядит зависшим, не реагирует ни на что. Как только отладка закончена, выполнение программного кода на точке не остановлено, а в конфигураторе ничего не делаем, фокус возвращается к ИР, становилось можно ими пользоваться. Думал, что это поведение как-то связано с механизмом отладки на уровне платформы.
Если же у Вас какая-то другая ситуация, рекомендую написать разработчику ИР или поискать на сайте описание похожих ошибок.
Здравствуйте! Спасибо! По вопросу, как пользуюсь отладкой: мучительно использую метод ПолучитьДанные(). Содержимое временных таблиц копирую в Excel, там раскрашиваю разными цветами. Словом, тяжело, сложно и долго. Еще на бумаге рисую схемы, перечисляю названия временных таблиц. Всякие значки рисую, чтобы что-то выделить как особо важное. После многочасового такого творчества бывает, что ошибка не одна. Было и такое, что обсуждая ее в столовой, окончательное решение находил другой человек. Итог: Excel, зарисовки и беседа с умным человеком
Добрый день!
Спасибо, что поделились Вашим опытом.
полезная штуковина, спасибо
Рады, что материал полезен!
Добрый день. Подскажите пожалуйста по одному вопросу: по видео решил смоделировать аналогичную ситуацию по поиску ошибки в своей тестовой базу ЗУП 3.1. И при попытке вызвать в конфигураторе в отладке при нажатии Shift+9 функцию ВнешниеОбработки.Создать(“F:\Инструмент разработчика V6.61.1P\ирПортативный.epf”, Ложь).От(Запрос, , , , ПорогОбрезкиВременнойТаблицы?) система сообщила мне ВнешниеОбработки.Создать(“F:\Инструмент разработчика V6.61.1P\ирПортативный.epf”, Ложь).От(Запрос) {(1)}: Метод объекта не обнаружен (От). В чем может быть проблема? Спасибо
Добрый день!
Однократно столкнулся с такой проблемой. Внезапно отладчик стал выдавать такую ошибку, хотя за 5 минут до этого всё работало корректно в этом же сеансе.
Перезашел в конфигуратор, заново запустил пользовательский режим под отладкой, всё заработало. Может, еще перезапускал службу агента сервера 1С:Предприятия, вот это не помню точно.
Если же ошибка стабильно воспроизводится, можно обратиться к автору разработки: Сообщить о проблеме
Понял, спасибо за ответ :)
Спасибо, как всегда все очень доступно и понятно. Использую консоль запросов ИР при закрытии месяца в УТ. В консоли есть набор контрольных запросов для быстрого поиска и исправления всех проблемных моментов, мешающих расчету себестоимости. Отладкой ИР ни разу не пользовался, благодаря вашему видео начну, заодно спасибо автору ИР, по его ссылке из тг перешел к этой статье, почему-то пропустил ее, хотя стараюсь читать все ваши статьи и смотреть видео к ним.
Пожалуйста! Рад, что эти материалы оказались интересными и полезными!
Отличный материал, спасибо
Добрый день, очень интересный материал, все видео прерываются на середине, можете поправить?
Здравствуйте, Сергей!
Проверили — видео на странице воспроизводятся корректно.
Попробуйте почистить кэш и cookie-файлы. Если это не решит проблему, стоит проверить настройки браузера, установленные в нем расширения и плагины либо воспользоваться другим браузером.
Отличный материал. Спасибо!
Рады быть полезными!
Спасибо, очень полезные видеоматериалы!