Отладка запросов 1С

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

Есть два основных метода отладки больших запросов.

Использование консоли запросов

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

Консоль запросов позволяет писать и отлаживать запросы в режиме 1С:Предприятия, не используя Конфигуратор. По ссылке доступна для скачивания одна из версий консоли запросов, скачиваем файл, разархивируем его и открываем через меню 1С:Предприятия «Файл – Открыть»

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

Выгрузка результатов временных таблиц

Используется функция вида:

Функция ПолучитьДанныеВременнойТаблицы(Запрос, ИмяТаблицы) Экспорт
     ДанныеТаблицы = Новый Запрос;
     ДанныеТаблицы.МенеджерВременныхТаблиц = Запрос.МенеджерВременныхТаблиц;
     ДанныеТаблицы.Текст =
     "Выбрать *
     |    Из "+ИмяТаблицы+"
     |";
     Возврат ДанныеТаблицы.Выполнить().Выгрузить();
КонецФункции
Наша команда предоставляет услуги по консультированию, настройке и внедрению 1С.
Связаться с нами можно по телефону +7 499 350 29 00.
Услуги и цены можно увидеть по ссылке.
Будем рады помочь Вам!

Ее можно расположить в модуле вашей обработки, либо в общем модуле 1С 8. Т.о. к ней можно обращаться из любого отлаживаемого запроса, вставив в нужное место модуля следующий код:

Результат = ДанныеЗапроса(Запрос, "втИмя");

где

  • Запрос — отлаживаемый нами запрос;
  • втИмя — имя виртуальной таблицы отлаживаемого запроса.

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

Поделиться

Оцените статью

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд
Загрузка...

Подпишитесь на наш YouTube канал

YouTube

Подписаться

Комментировать