Обработка предназначена для удобного ориентирования в схеме запроса и формирования команд модификации запроса. Отображает объекты и коллекции, используемые в объектной модели. Полезна и для реальной работы и просто для понимания объектной модели схемы запроса.
Отдельная моя статья о преимуществах модификации запроса через схему запроса "Объектная модель запроса "Схема запроса" - теория и примеры использования"
Также на инфостарте есть Справочная схема "Объектная модель запроса"
Порядок работы с обработкой:
1. Берем исходный текст запроса (копируем из конфигурации или пользуемся конструктором запроса)
2. Генерируем дерево запроса.
3. Находим в дереве нужные нам элементы и определяем пути к ним.
4. Двойным кликом по элементам дерева переносим нужные свойства в окно комманд.
5. Редактируем команды модификации запроса.
6. Выполняем команды, проверям, что получилось в результате.
7. Проверенный набор команд переносим в конфигурацию.
Пример работы:
Исходный запрос:
ВЫБРАТЬ РАЗРЕШЕННЫЕ
Контрагенты.Наименование КАК Наименование,
Контрагенты.НаименованиеПолное КАК НаименованиеПолное,
Контрагенты.ЮрФизЛицо КАК ЮрФизЛицо,
Контрагенты.Партнер.Наименование КАК ПартнерНаименование
ИЗ
Справочник.Контрагенты КАК Контрагенты
ГДЕ
Контрагенты.ПометкаУдаления
И Контрагенты.ЮридическоеФизическоеЛицо = &ЮридическоеФизическоеЛицо
Набор команд модификации:
// Изменяем псевдонимы полей
СхемаЗапроса.ПакетЗапросов[0].Колонки[0].Псевдоним = "НаименованиеНашейОрганизации";
СхемаЗапроса.ПакетЗапросов[0].Колонки[1].Псевдоним = "НаименованиеПартнера";
//Добавляем поле в запрос
СхемаЗапроса.ПакетЗапросов[0].Операторы[0].ВыбираемыеПоля.Добавить("Контрагенты.Партнер.ОсновнойМенеджер");
//Добавляем условие отбора
СхемаЗапроса.ПакетЗапросов[0].Операторы[0].Отбор.Добавить("Контрагенты.Наименование = &НаименованиеКонтрагента")
Итоговый текст запроса:
ВЫБРАТЬ РАЗРЕШЕННЫЕ
Контрагенты.Наименование КАК НаименованиеНашейОрганизации,
Контрагенты.НаименованиеПолное КАК НаименованиеПартнера,
Контрагенты.ЮрФизЛицо КАК ЮрФизЛицо,
Контрагенты.Партнер.Наименование КАК ПартнерНаименование,
Контрагенты.Партнер.ОсновнойМенеджер
ИЗ
Справочник.Контрагенты КАК Контрагенты
ГДЕ
Контрагенты.ПометкаУдаления
И Контрагенты.ЮридическоеФизическоеЛицо = &ЮридическоеФизическоеЛицо
И Контрагенты.Наименование = &НаименованиеКонтрагента
UPD. Замечания по итогам обсуждений в комментариях:
1. Объектная модель запроса доступна с 8.3.5. Соответственно, на более ранних версиях работать не будет.
2. При модификации чужого запроса необходимо учитывать, что исходный запрос может измениться. В этом случае могут измениться пути к элементам и команды изменения работать перестанут. Эти моменты необходимо отслеживать при обновлении. Возможно, добавить проверки, что это именно нужный элемент и выдать сообщение, если по указанному пути элемент изменился.
В приложении сама обработка и граф типов схемы запроса.
В архиве схема в jpg, черно-белый вариант в .pdf для печати на А4, а также описание в dot-формате. Можно рассмотреть подробнее и изменить отображение на более удобное, например, через Graphviz.