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

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

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

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

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

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

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

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

Функция ПолучитьДанныеВременнойТаблицы(Запрос, ИмяТаблицы) Экспорт
     ДанныеТаблицы = Новый Запрос;
     ДанныеТаблицы.МенеджерВременныхТаблиц = Запрос.МенеджерВременныхТаблиц;
     ДанныеТаблицы.Текст =
     "Выбрать *
     |    Из "+ИмяТаблицы+"
     |";
     Возврат ДанныеТаблицы.Выполнить().Выгрузить();
КонецФункции

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

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

где

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

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

0 5067 1
ДобавленоVital822 дня назад
Последняя активность122 дня назад


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

Аноним написал:122 дня назад0

Простите за ламерство, но, что такое 1)разбить запрос на пакеты в запроснике можно сделать несколько запросов и они будут взаимосвязаны друг с другом? Это и есть разбиение запроса на пакеты

Ответить

Добавить статью!

Наш канал на Youtube

Изучаете 1С? Скачайте 200 видео по 1С бесплатно:

Похожее

Создание обработки заполнения табличной части 1С 8

1. Постановка задачи В этой статье рассмотрим процесс написания простейшей внеш...

Создание внешнего отчета в 1с 8

Рассмотрим создание внешнего отчета в 1с 8 без использования системы компоновки ...

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

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

Запрос к таблице значений 1С 8.3

Чтобы в 1C 8 поместить таблицу значений в запрос и использовать ее в качестве ис...

Создание печатной формы для управляемого приложения в 1с 8.3

1. Задача Рассмотрим написание простейшей печатной формы в 1с 8.2 - 8.3 для упр...

Новое

Swiss replica calidad superior mikrogirder relojes en línea .

[b][url=http://es.tagheuerwatches.me/]TAG Heuer relojes lista de precios[/url][/...

Blancpain Replilca relojes suizos

[b][url=http://www.fakewatchesuk.cc/es/]réplicas de relojes suizos aaa +[/url][/...

Vestidos baratos de la boda, vestidos de partido en línea, los mejores vestidos de boda, vestidos de diseñador Online

[b][url=http://es.weddingsales.cn/]Comprar Vestidos de novia[/url][/b] [b]Compra...

Crear cuenta : Profesional réplicas de relojes tienda, buywatch.top

omega relojes a la venta relojes Omega réplica [b][url=http://www.buywatch.top/e...