ТипОбъединенияСхемыЗапроса

Темы платформы · QuerySchemaUnionType

Тип объединения схемы запроса.

Полное описание, параметры и ограничения

ТипОбъединенияСхемыЗапроса (QuerySchemaUnionType)

ТипОбъединенияСхемыЗапроса (QuerySchemaUnionType)

Доступен, начиная с версии 8.3.5.

Значения
Объединить (Union)
ОбъединитьВсе (UnionAll)

Описание:

Тип объединения схемы запроса.

Доступность:

Сервер, толстый клиент, внешнее соединение.

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

Доступен, начиная с версии 8.3.5.

Методическая информация

Практические примеры

Сравнить ОбъединитьВсе на двух одинаковых строках

Разбираем собственный текст запроса, меняем объединение именно второго оператора, заново получаем текст и выполняем. Никакие строки рабочей базы не удаляются.

Где и как запускать

Тело серверной процедуры собственной обработки / процедуры толстого клиента; собственный запрос констант без метаданных.

Подготовка

  1. Выполняйте основной код в теле серверной процедуры своей обработки / процедуры толстого клиента. Метаданные конфигурации и таблицы базы не нужны.

  2. Исходный запрос содержит ровно один запрос выбора и два оператора с одинаковым числом 3. Поэтому индекс второго оператора 1 известен из собственной подготовки, не угадан по внешней схеме.

  3. Не подменяйте ТипОбъединения первого оператора: вид объединения задаётся у второго, присоединяемого к предыдущему.

Схема = Новый СхемаЗапроса;
Схема.УстановитьТекстЗапроса("ВЫБРАТЬ 3 КАК Количество ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ 3");
Выбор = Схема.ПакетЗапросов.Получить(0);
ВторойОператор = Выбор.Операторы.Получить(1);
ВторойОператор.ТипОбъединения = ТипОбъединенияСхемыЗапроса.ОбъединитьВсе;
Запрос = Новый Запрос(Схема.ПолучитьТекстЗапроса());
Таблица = Запрос.Выполнить().Выгрузить();
Сообщить("Строк: " + Строка(Таблица.Количество()));
Сообщить("Количество первой строки: " + Строка(Таблица[0].Количество));

Разбор по шагам

  1. Парсим собственные два ВЫБРАТЬ в объектную схему запроса.

  2. Назначаем конкретный ТипОбъединения второму оператору.

  3. Формируем новый текст, выполняем его и сравниваем число реальных строк.

Как проверить результат

  1. ОбъединитьВсе возвращает две строки со значением 3; Объединить устраняет повтор и возвращает одну.

  2. В обоих случаях значение первой строки остаётся 3. Это удаление повторов результата, а не удаление записи информационной базы.

Ожидаемый результат

Различие перечислений показано вычислением собственного результата, не печатью имени константы.

На что обратить внимание

  1. При разных числах Объединить не превращает две разные строки в одну.

  2. ВыбиратьРазличные внутри отдельного оператора и ТипОбъединения между операторами — разные настройки.

  3. Код 1С при сборке HTML не исполнялся; рабочие данные и файлы не изменялись.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.