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

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

Технические сложности и механизм работы с временными таблицами

Прежде чем переходить к обзору конкретных консолей, разберем, почему просмотр временных таблиц в управляемых формах (УФ) технически сложнее. Основная причина кроется в разделении контекста. Объект МенеджерВременныхТаблиц живет на сервере, и его содержимое недоступно напрямую на стороне тонкого клиента без специальной обработки.

Большинство продвинутых консолей используют следующий алгоритм для отображения данных:

  1. Перехват объекта МенеджерВременныхТаблиц после выполнения пакета запросов.
  2. Выгрузка каждой временной таблицы в ТаблицаЗначений на стороне сервера.
  3. Сериализация полученных данных и передача их на клиент.
  4. Отображение данных в динамических списках или таблицах формы.

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

Использование типовой консоли запросов из состава БСП

Многие разработчики не догадываются, что стандартное решение от 1С уже обладает необходимым функционалом. Если в вашей конфигурации внедрена Библиотека стандартных подсистем (БСП) версии 3.0 и выше, вам доступна встроенная консоль запросов.

Посмотрим на алгоритм действий при работе с ней:

  1. Откройте консоль запросов (обычно доступна через функции для технического специалиста или в разделе администрирования).
  2. Напишите пакетный запрос, использующий оператор ПОМЕСТИТЬ.
  3. После выполнения запроса обратите внимание на закладку «Временные таблицы».

Эта консоль позволяет увидеть не только структуру колонок, но и количество строк в каждой таблице, что критически важно для оценки производительности. Выясним причину популярности этого решения: оно не требует установки стороннего ПО и всегда под рукой в современных типовых конфигурациях (ERP, ЗУП 3, БП 3).

Инструментарий разработчика (консоль от TormozIt)

Для тех, кто привык к максимальному контролю, существует «Инструментарий разработчика» (ИР) за авторством Сергея Старых (TormozIt). Это мощнейший комплекс, который многие «тру-маньяки» (как выражаются на форумах) используют даже в управляемых приложениях.

Разберем по шагам, как это работает:

Пример кода, который подобные инструменты помогают отлаживать:


МенеджерВТ = Новый МенеджерВременныхТаблиц;
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВТ;
Запрос.Текст = "ВЫБРАТЬ 1 КАК Поле ПОМЕСТИТЬ ВТ_Данные";
Запрос.Выполнить();

// Консоль позволяет "заглянуть" внутрь МенеджерВТ здесь

Специализированные внешние консоли (9000 и Consquery)

Существуют также независимые проекты, такие как «Консоль 9000» и инструменты с сайта consquery.ru. Последний проект развивается более 12 лет и успешно адаптирован под управляемые формы. Их ключевое преимущество — легкость и фокус именно на визуализации данных.

Рассмотрим подробнее возможности современных консолей-расширений:

Особенности работы в веб-клиенте

Проанализируем ситуацию при работе через браузер. Веб-клиент накладывает жесткие ограничения на передачу объектов. Если вы работаете в веб-интерфейсе, рекомендуется использовать облегченные версии консолей. Они принудительно выгружают содержимое временных таблиц во ВременноеХранилище и передают на клиент только навигационную ссылку, что предотвращает «зависание» сессии при больших объемах данных.

Консоль внутри среды EDT

Для разработчиков, перешедших на Enterprise Development Tools (EDT), существует встроенная консоль. Она тесно интегрирована с метаданными проекта. Разберем её преимущество: она имитирует серверный контекст выполнения прямо в среде разработки, позволяя проверять запросы с временными таблицами без необходимости постоянного переключения в режим предприятия.

В заключение отметим, что выбор инструмента зависит от ваших задач. Для быстрой проверки в типовой базе достаточно штатной консоли БСП. Для глубокой оптимизации высоконагруженных систем лучше использовать ИР или специализированные расширения с поддержкой анализа планов SQL-запросов. Помните, что умение работать с временными таблицами в консоли — это залог написания чистого и быстрого кода на платформе 1С.

← На главную