Как в отладке посмотреть временные таблицы 1с
Перейти к содержимому

Как в отладке посмотреть временные таблицы 1с

  • автор:

Отладка временных таблиц

Личный блог

После достаточно долгого отсутствия по причине полной занятости все таки решил написать очередной пост.

Отладка

Отладка

Недавно узнал что некоторые не знают что в платформу 1С 8.3 есть встроенный инструмент по отладке временных таблиц. Появился он относительно недавно, в одном из релизов редакции 1С 8.3.8 — «ПолучитьДанные» () применительно к МенеджеруВременныхТаблиц .

Между тем данный инструмент значительно облегчает возможности при исследовании проблем, например при разборе типовых механизмов.

Все достаточно просто.

1. Получаем временные таблицы запроса

Во время использования отладки для начала вычисляем список временных таблиц, Запрос.МенеджерВременныхТаблиц.Таблицы. Таким образом мы можем получить список таблиц, сформированный выполняемым запросом:

2. Получаем временную таблицу для отладки

Затем мы обращаемся к нужной нам для отладки временной таблице, добавляя Получить(<Индекс таблицы>)

3. Получаем непосредственно данные

Использование метода ПолучитьДанные() позволяет получить коллекцию РезультатЗапроса непосредственно для выбранной временной таблицы.

Далее, применяя метод Выгрузить() — получаем таблицу значений, содержащую непосредственно отлаживаемые данные.

В случае отладки непосредственно таблицы с индексом 0 (как известно, индексы и нумерация в 1С начинается с нуля) получение данных выполняется с помощью вычисления следующей строки:

Запрос.МенеджерВременныхТаблиц.Таблицы.Получить(0).ПолучитьДанные().Выгрузить()

Отладка таким образом займет меньше времени, чем используя разные «костыли» ��

Функция просмотра временных таблиц запроса в отладчике

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

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

Как уже было сказано, данная функция парсит текст запроса, вычленяет все временные таблицы, вычисляет их и результат складывает в структуру.

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

funkciya-prosmotra-vremennyx-tablic-zaprosa-v-otladchike_03

funkciya-prosmotra-vremennyx-tablic-zaprosa-v-otladchike_04

Функция предназначена для использования в окне «Вычислить выражение» отладчика — возвращает значение, удобное для просмотра в этом окне. Функция максимально автоматизирована и может работать с входными данными разных типов. Назначение аргументов функции понятно из их имён.

funkciya-prosmotra-vremennyx-tablic-zaprosa-v-otladchike_01

По кнопке «Показать значения в отдельном окне (F2)» можно просмотреть сами таблицы:

Просмотр временных таблиц запроса 1С

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

Добавляем к себе в модуль следующую функцию(серверную, если это управляемое приложение):

Вызовем ее после текста запроса, например:

Теперь в переменной Табл содержится временная таблица Итоговая, ее можно просмотреть в отладке или вывести в табличный документ.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *