Почему Конструктор запроса в консоли отличается от Конструктора в конфигураторе и как это исправить?

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

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

Техническая причина: Доступность объекта КонструкторЗапроса

Для начала проанализируем архитектуру платформы 1С. Визуальный интерфейс, к которому мы привыкли в Конфигураторе (с удобным перетаскиванием таблиц и настройкой связей), реализуется системным объектом встроенного языка КонструкторЗапроса.

Важно понимать главное ограничение этого объекта:

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

Различия инструментов: ИР и UIR

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

  1. ИР (Инструменты Разработчика, автор tormozit): Изначально создавались для Обычного приложения (толстый клиент). В этом инструменте при запуске в толстом клиенте открывается именно "настоящий" конструктор запроса, идентичный конфигуратору.
  2. UIR (Универсальные инструменты, tools_ui_1c): Это набор инструментов, написанный специально для Управляемых форм. Он работает в тонком клиенте. Даже если вы запустите его в толстом клиенте, сама обработка может быть написана так, что использует собственный "тонкий" конструктор, а не системный объект.

Если вы видите, что конструктор "не такой" (например, связи настраиваются иначе), скорее всего, вы используете консоль, адаптированную для тонкого клиента.

Как вернуть стандартный Конструктор запроса?

Чтобы работать с привычным конструктором запросов (как в Конфигураторе) прямо в режиме Предприятия, необходимо выполнить два условия:

1. Запустить 1С в режиме Толстого клиента.

Для этого в настройках запуска информационной базы в поле дополнительных параметров запуска нужно указать ключ (если требуется) или выбрать соответствующий режим в Конфигураторе (Сервис -> Параметры -> Запуск 1С:Предприятия -> Толстый клиент).

2. Использовать инструмент, поддерживающий вызов штатного конструктора.

Не все консоли умеют вызывать КонструкторЗапроса, даже находясь в толстом клиенте. Убедитесь, что ваша внешняя обработка или расширение (например, "классический" ИР) предназначена для работы с этим объектом.

Преимущества Толстого клиента при отладке запросов

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

Рассмотрим разницу в работе с Менеджером временных таблиц:

Резюме

Если вам критически важно наличие интерфейса конструктора "как в конфигураторе", переключите режим запуска 1С:Предприятия на Толстый клиент и используйте соответствующую версию инструментов разработчика (например, полную версию ИР). Если вы работаете в Тонком клиенте, вам придется довольствоваться альтернативными конструкторами, реализованными авторами конкретной консоли запросов.

← На главную