Как посмотреть результат запроса 1с в отладчике
Уважаемые эксперты 1С,
Вот запрос из учебника Радченко, который я разбираю:
Запрос.УстановитьПараметр(«ВидНоменклатуры», Перечисления.ВидыНоменклатуры.Услуга);
Запрос.УстановитьПараметр(«ДатаНачала», ДатаНачала);
Запрос.УстановитьПараметр(«ДатаОкончания», ДатаОкончания);
Проблема в том, что запрос, кажется, не «ловит» то, что нужно.
Вот, что получилось у меня при просмотре переменных Результат и ВыборкаОбщийИтог:
Результат.Колонки КоллекцияКолонокРезультатаЗапроса КоллекцияКолонокРезультатаЗапроса
Выручка КолонкаРезультатаЗапроса КолонкаРезультатаЗапроса
Имя «Выручка» Строка
ТипЗначения Null, Число ОписаниеТипов
Ширина 32 Число
Представление КолонкаРезультатаЗапроса КолонкаРезультатаЗапроса
Имя «Представление» Строка
ТипЗначения Null, Строка ОписаниеТипов
Ширина 32 Число
Услуга КолонкаРезультатаЗапроса КолонкаРезультатаЗапроса
Имя «Услуга» Строка
ТипЗначения Null, Справочник ссылка: Номенклатура ОписаниеТипов
Ширина 25 Число
Выручка Ошибка чтения значения
Представление Ошибка чтения значения
Услуга Ошибка чтения значения
Как посмотреть в отладчике, что было выбрано в результате запроса?
Заранее благодарю за совет.
результат = запрос.выполнить().выгрузить()
и наслаждайтесь рассмотрением таблицы значений в Результат.
Отладчик
Отладчик является встроенным в конфигуратор инструментом. Он помогает отлаживать программные модули, создаваемые в процессе разработки прикладного решения. Отладчик позволяет отслеживать последовательность выполнения операторов встроенного языка и просматривать значения переменных.
Основные возможности отладки
- отладка приложений, исполняемых на удаленных компьютерах, доступных по протоколу TCP/IP или HTTP,
- отладка кода, исполняемого рабочим процессом кластера серверов 1С:Предприятия 8; при этом поддерживается сквозной стек вызовов для клиента и сервера, и сквозная пошаговая отладка клиента и сервера;
- отладка кода, исполняемого в таких видах соединений как внешнее соединение, фоновое задание и WS-соединение?
- отладка мобильных приложений.
Точки останова
Отладчик позволяет установить на конкретную строку модуля специальный маркер — точку останова, — при достижении которой исполнение программного модуля останавливается и управление передается отладчику. Точки останова могут быть безусловными или с параметрами. При достижении безусловной точки останова исполнение программного модуля останавливается в любом случае:

- Условия останова по имени метода, расположенного выше по стеку при вызове текущей процедуры (имя метода может быть задано регулярным выражением). Это позволит, например, останавливаться в функции или процедуре только когда она вызвана из конкретного метода.
- Условие останова по количеству попаданий в строку, в которой установлена точка останова, прежде чем она сработает. Это поможет, в частности, при отладке циклов, когда останов необходим только при заданном проходе цикла.

Отладчик поддерживает возможность отключения точек останова. При этом строка модуля остается отмечена маркером, однако на ход исполнения модуля он никакого влияния не оказывает:

При большом количестве точек останова удобно использовать отдельное окно для работы с точками останова, позволяющее просматривать и редактировать их в едином списке:

Пошаговое выполнение
После того, как при достижении точки останова управление прикладным решением передано отладчику, существует возможность дальнейшего исполнения модуля в нескольких режимах: пошаговое выполнения, исполнение вызова функции или процедуры, прерывание пошагового исполнения функции или процедуры, выполнения модуля до той строки, на которой стоит курсор или продолжение свободного выполнения модуля:

Просмотр выражений
Во время пошагового выполнения существует возможность просматривать значения переменных, содержащихся в модуле, и рассчитывать произвольные значения. Для этого используется специальное окно, отображающее результат расчета:

Для объектов встроенного языка значения их свойств представляются в виде древовидной структуры. Для значений, являющихся строками, массивами и коллекциями значений также возможен просмотр в отдельном окне:

Текущее значение переменной также можно просмотреть, подведя указатель мыши к этой переменной. Текущее значение будет показано в виде короткой подсказки рядом с переменной.
Табло и локальные переменные
Результаты вычислений, которые требуется просматривать на протяжении выполнения некоторой части модуля, можно вывести в отдельное окно — табло, — в котором есть возможность распределить все просматриваемые выражения по четырем страницам:

Для удобного просмотра и изменения локальных переменных, что представляется наиболее частой задачей, существует команда Локальные переменные. Она открывает табло, которое уже автоматически заполнено всеми локальными переменными.
Изменение значений переменных
Значения примитивных типов можно изменить прямо в ячейке Значение.

В этом окне полностью функционирует контекстная подсказка.

Стек вызовов
Отладчик позволяет использовать стек вызовов, который показывает последовательность вызовов процедур и функций, приведшую к строке модуля, которая отлаживается в данный момент:

Двойным щелчком мыши на имени процедуры в стеке вызова можно перейти в соответствующую строку процедуры.
Остановка по ошибке
В платформе предусмотрена возможность использовать режим Остановка по ошибке. В этом режиме отладка может быть остановлена либо при каждой возникающей ошибке, либо при ошибке, в тексте которой присутствует подстрока, указанная разработчиком. Подстроки интересующих ошибок указываются в настройках отладки.

Во время отладки при такой настройке отладка будет останавливаться только при возникновении ошибок, связанных с делением на ноль.
Работа с отладчиком. Инструкция для «чайников»
Возможные режимы: «тонкий клиент», «веб-клиент», «мобильный клиент», «мобильное приложение», толстый клиент», «толстый клиент (обычное приложение)».
Не буду останавливаться на особенностях названных режимов работы 1С:Предприятия – это тема отдельной статьи. Скажу лишь, что выбор нужного режима запуска отладки осуществляется через меню «Отладка»→»Начало отладки».
Также запуск отладки в нужном режиме можно осуществить с помощью соответствующей кнопки в панели «Конфигурация» панели инструментов конфигуратора, предварительно добавив в нее кнопки для используемых при отладке режимов запуска.
2. Запуск отладки в режиме, когда предмет отладки выполняется от имени пользователя 1С (не разработчика)

Часто требуется «отловить» ошибку, которая возникает только у пользователей, не имеющих полных прав, или проверить, как работает добавленный функционал у пользователей с «неполными» правами. В таких случаях можно запустить отладку под одним из таких пользователей, выбрав его из списка в соответствующих настройках в меню «Сервис»→»Параметры». В открывшемся окне на вкладке «Основные» в группе «Пользователь» нужно установить переключатель в положение «Имя» и выбрать пользователя, для которого нужно выполнить отладку. После чего нужно запустить или перезапустить отладку в выбранном режиме.
3. Установка точек останова 1С
Точка останова 1С без условий: позиционируемся на нужной строке кода и затем либо нажимаем «F9», либо выполняем двойной щелчок мышью на затемненной полосе слева от белой области с кодом. Еще можно в контекстном меню (нажатие правой кнопки мыши) выбирать пункт «Точка останова в 1С». На полосе слева от области с кодом появится значок установленной точки останова 1С в виде кружочка розового цвета.
Точка останова 1С с условием (когда требуется чтобы остановка отладки происходила только при выполнении определенного условия): позиционируемся на нужной строке и затем в контекстном меню (нажатие правой кнопки мыши) выбираем пункт «Точка останова с условием. «. В открывшемся поле ввода условия точки останова 1С вводим необходимое условие для срабатывания данной точки останова 1С.
На полосе слева от области с кодом появится значок установленной точки останова (по условию в виде синего кружочка со знаком вопроса). Если требуется отключить/включить срабатывание точки останова в 1С (как простой, так и с условием): позиционируемся на нужной строке и затем либо нажимаем сочетание «Ctrl+Shift+F9», либо в контекстном меню (нажатие правой кнопки мыши) выбираем пункт «Включить/отключить точку останова». При этом отключенная точка останова в 1С будет обозначена кружочком серого цвета, а включенная в зависимости от типа: розовым кружочком либо синим кружочком со знаком вопроса.
В процессе отладки строка кода, на которой в данный момент остановлен отладчик, обозначается соответствующими курсором (далее «курсор отладки») — горизонтальной стрелкой светлого оттенка, которая может накладываться на кружочки установленных точек останова, если остановка произошла на соответствующей строке.
Замечу, что возможные действия с точками останова в 1С отображаются в соответствующих группах контекстного меню (нажатие правой кнопки мыши) и пункте меню «Отладка» главного меню. Чтобы открыть список всех установленных точек, нужно либо нажать сочетание «Alt+F9», либо выбрать пункт меню «Отладка»→»Список точек останова» главного меню. Откроется окно со списком точек останова 1С, в котором у активных точек останова взведен флаг «Вкл./выкл.». Доступные действия с точками останова отображаются справа над списком. По двойному щелчку по любой из точек в списке либо при нажатии кнопки «Перейти к исходному коду» над списком происходит открытие («переключение на») соответствующего модуля с позиционированием на соответствующей строке с установленной точкой останова.
4. Остановка по ошибке при выполнении отладки

Существует возможность включения автоматической остановки выполнения отладки при возникновении ошибок. Для этого необходимо выбрать пункт меню «Отладка»→»Остановка по ошибке. » главного меню. Откроется окно, в котором нужно установить флаг «Останавливаться при ошибке». При необходимости можно установить флаг «Останавливаться только на ошибках, включающих текст» и в списке под ним добавить фрагмент уникального текста ошибки, при возникновении которой необходимо останавливаться, пропуская другие ошибки (которые не приводят к аварийному завершению выполнения кода до возникновения отлаживаемой ошибки).
5. Пошаговая отладка
Пошаговая отладка выполняется следующим образом. «Шагнуть» (клавиша «F11», или соответствующий пункт в панели «Отладка конфигурации» панели инструментов, или соответствующий пункт в меню «Отладка» главного меню). Происходит выполнение кода текущей строки, и курсор отладки останавливается на следующей строке кода. При этом, если курсор отладки находился на строке с вызовом какой-либо процедуры (функции), происходит переход курсора на первую строку в теле вызванной процедуры (функции). «Шагнуть через» (клавиша «F10» или соответствующий пункт в панели «Отладка конфигурации» панели инструментов, или соответствующий пункт в меню «Отладка» главного меню). Если курсор отладки находился на строке с вызовом какой-либо процедуры (функции), происходит переход курсора на следующую за этой строкой кода строку без остановки в этой процедуре (функции). При этом выполняется весь код вызываемой в предыдущей строке процедуры (функции), включая вызовы из нее других процедур (функций), и так далее без ограничения по уровню вложенности. Следующее действие в Пошаговой отладке: «шагнуть из» (сочетание «Shift+F11» или соответствующий пункт в панели «Отладка конфигурации» панели инструментов, или соответствующий пункт в меню «Отладка» главного меню). Если курсор отладки находился на строке кода в теле текущей процедуры (функции), происходит выполнение оставшегося кода тела текущей процедуры (функции), включая вызовы из нее других процедур (функций), и так далее без ограничения по уровню вложенности. После чего курсор отладки позиционируется на строке после той, из которой произошел вызов данной процедуры (функции). «Идти до курсора» (сочетание «Shift+F10», или соответствующий пункт в панели «Отладка конфигурации» панели инструментов, или соответствующий пункт в меню «Отладка» главного меню). Выполняется весь код от текущего положения курсора отладки до строки, на которой находится курсор редактора кода, включая вызовы из нее других процедур (функций), и так далее без ограничения по уровню вложенности. После чего курсор отладки позиционируется на строке, на которой находится курсор редактора кода.
6. Вычисление выражений при выполнении отладки

При паузе во время отладки можно просматривать значения переменных. Для этого можно просто навести курсор редактора на нужную переменную и в небольшом всплывающем окне отобразится ее текущее значение. А можно выделить курсором название переменной и нажать «Shift+F9». Еще вариант: выбрать соответствующий пункт в контекстном меню (нажатие правой кнопки мыши), на панели инструментов «Отладка конфигурации либо в меню «Отладка» главного меню. Откроется окно, в котором в поле «Выражение» будет название переменной, а в поле «Результат» — текущее значение переменной и ее тип. В поле «Выражение» можно указывать не только названия переменных, но и выражения для вычисления, в том числе производить вызовы любых доступных из данной процедуры функций текущего модуля или общих модулей конфигурации, или функций встроенного языка 1С.
7. Окно «Табло» при выполнении отладки (открывается внизу окна конфигурации в 1С)

При желании в окне «Вычислить выражение» можно, нажав кнопку «Включить в табло», добавить выражение из поля «Выражение» или выделенное свойство в поле «Результат» в служебное окно «Табло» внизу окна конфигурации в 1С, в которое можно добавить и просматривать результаты вычисления интересующих переменных (выражений) в процессе пошаговой отладки. Окно «Табло» также можно открыть либо в панели инструментов «Отладка конфигурации» панели инструментов, либо в меню «Отладка» главного меню.
8. Окно «Локальные переменные» (также открывается внизу окна конфигурации в 1С)
Похожий на окно «Табло» функционал реализован в окне «Локальные переменные», в котором в процессе пошаговой отладки можно просматривать значения локальных переменных текущей процедуры (функции). #Локальные переменные
Для переменных и свойств в окнах «Вычислить выражение», «Табло» и «Локальные переменные» в контекстном меню (нажатие правой кнопки мыши) доступен пункт «Установить новое значение в виде выражения», при выборе которого отрывается окно, в котором можно установить новое значение переменной (свойства).
Отмечу также, что в окнах «Вычислить выражение» и «Табло» доступно непосредственное редактирование значений переменных (свойств), а также рекурсивное разворачивание (нажатием на пиктограмму «плюс» слева от переменной(свойства)) их вложенных свойств.
9. Окно «Стек вызовов» (также открывается внизу окна конфигурации в 1С)

С помощью Окна «Стек вызовов» мы можем, например, исправить следующую ошибку: в какой-то процедуре (функции) возникает ошибка из-за некорректного значения одного из параметров вызова, которое передавалось по цепочке вызывающих друг друга процедур и функций. Мы можем «выследить» ту процедуру или функцию, которая оказалась «источником» некорректной установки значения параметра, переданного далее по цепочке.
10. Восстановление связи с предметом отладки
Возникают ситуации, когда теряется связь с предметом отладки (чаще всего для кода, выполняемого на сервере). То есть отладчик перестает останавливаться на точках останова. В таких случаях обычно помогает в окне «Подключение» меню «Отладка» главного меню отключить и снова подключить требуемый предмет отладки (клиент, сервер и т.д.). В редких случаях приходится завершить и снова начать сеанс работы с конфигуратором. Специалист компании ООО «Кодерлайн» Аскер Жансуев
учусь выводить результаты запроса в таблицу значений подскажите пожалуйста

Не устроил ответ?
Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.
Реклама
Новые вакансии
- Вакансия: Разработчик 1С, Москва, удалёнка/гибрид, 200-300 net от yskinkurogova
Вчера в 13:25 - Вакансия аналитика 1с УТ от 200K, гибрид от Татьяна Астахова
25 января 2024 г. - Вакансия Программист 1С (Москва, гибрид) 250-300т.р. от paulaja03@gmail.com
23 января 2024 г.