Имею 2 условные таблицы значений с одинаковыми полями. Всего 2 поля - Наименование и Сумма. Заполнение следующее (в коде полное):
ТаблицаЗначений1 строки в поле "Наименование": А, Б, В.
ТаблицаЗначений2 строки в поле "Наименование": А, Б, В, Г, Д.
Задача: необходимо сравнить строки 2-х таблиц и выбрать отсутствующие строки, т.е. чтобы в результате выполнения запроса были только 2 строки "Г" и "Д".
При равном условии (привел код ниже) - все работает, а вот в обратную сторону, чтобы исключить равные, а оставить только те строки, которые присутствуют только в одной из таблиц не получается. Че то затупил я. Поможите, пож.

```1c
    ОписаниеТипаНаименования = Новый ОписаниеТипов("Строка", Новый КвалификаторыСтроки(2));
    ОписаниеТипаСуммы = Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(3, 0));

    //ТЗ1
    ТабЗнач1 = Новый ТаблицаЗначений;
    ТабЗнач1.Колонки.Добавить("Наименование", ОписаниеТипаНаименования, "Наименование");
    ТабЗнач1.Колонки.Добавить("Сумма", ОписаниеТипаСуммы, "Сумма");

    СтрокаТабЗнач = ТабЗнач1.Добавить();
    СтрокаТабЗнач.Наименование = "А";
    СтрокаТабЗнач.Сумма = "10";

    СтрокаТабЗнач = ТабЗнач1.Добавить();
    СтрокаТабЗнач.Наименование = "Б";
    СтрокаТабЗнач.Сумма = "10";

    СтрокаТабЗнач = ТабЗнач1.Добавить();
    СтрокаТабЗнач.Наименование = "В";
    СтрокаТабЗнач.Сумма = "10";

    //ТЗ2
    ТабЗнач2 = Новый ТаблицаЗначений;
    ТабЗнач2.Колонки.Добавить("Наименование", ОписаниеТипаНаименования, "Наименование");
    ТабЗнач2.Колонки.Добавить("Сумма", ОписаниеТипаСуммы, "Сумма");

    СтрокаТабЗнач = ТабЗнач2.Добавить();
    СтрокаТабЗнач.Наименование = "А";
    СтрокаТабЗнач.Сумма = "10";

    СтрокаТабЗнач = ТабЗнач2.Добавить();
    СтрокаТабЗнач.Наименование = "Б";
    СтрокаТабЗнач.Сумма = "10";

    СтрокаТабЗнач = ТабЗнач2.Добавить();
    СтрокаТабЗнач.Наименование = "В";
    СтрокаТабЗнач.Сумма = "10";

    СтрокаТабЗнач = ТабЗнач2.Добавить();
    СтрокаТабЗнач.Наименование = "Г";
    СтрокаТабЗнач.Сумма = "10";

    СтрокаТабЗнач = ТабЗнач2.Добавить();
    СтрокаТабЗнач.Наименование = "Д";
    СтрокаТабЗнач.Сумма = "10";

    МенеджерВТ = Новый МенеджерВременныхТаблиц;

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

    Запрос1.УстановитьПараметр("ТабЗнач1", ТабЗнач1);
    Запрос1.Выполнить();

    Запрос2 = Новый Запрос;
    Запрос2.МенеджерВременныхТаблиц = МенеджерВТ;
    Запрос2.Текст =
    "ВЫБРАТЬ
    | *
    |ПОМЕСТИТЬ ТЗ2
    |ИЗ
    | &ТабЗнач2 КАК ТабЗнач2";

    Запрос2.УстановитьПараметр("ТабЗнач2", ТабЗнач2);
    Запрос2.Выполнить();

    ЗапросВыборка = Новый Запрос;
    ЗапросВыборка.МенеджерВременныхТаблиц = МенеджерВТ;
    ЗапросВыборка.Текст =
    "ВЫБРАТЬ РАЗЛИЧНЫЕ
    | ТЗ2.Наименование КАК Наименование,
    | ТЗ2.Сумма КАК Сумма
    |ИЗ
    | ТЗ2 КАК ТЗ2
    | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТЗ1 КАК ТЗ1
    | ПО ТЗ2.Наименование = ТЗ1.Наименование
    |
    |УПОРЯДОЧИТЬ ПО
    | Наименование";
    ТЗ = ЗапросВыборка.Выполнить().Выгрузить();
```
---
Решение здесь --> Infostart
Спасибо всем, в том числе "гуру" за поисковое слово. Тема закрыта.
Либо так:

```1c
    ЗапросВыборка.Текст =
    "ВЫБРАТЬ РАЗЛИЧНЫЕ
    | ТЗ2.Наименование КАК Наименование,
    | ТЗ2.Сумма КАК Сумма,
    | ТЗ1.Наименование КАК НаименованиеТаб
    |ИЗ
    | ТЗ2 КАК ТЗ2
    | ПОЛНОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ ТЗ1 КАК ТЗ1
    | ПО ТЗ2.Наименование = ТЗ1.Наименование
    |ГДЕ
    | ТЗ1.Наименование is NULL
    |
    |УПОРЯДОЧИТЬ ПО
    | Наименование";
```

либо так:

```1c
    ЗапросВыборка.Текст =
    "ВЫБРАТЬ РАЗЛИЧНЫЕ
    | ТЗ2.Наименование КАК Наименование,
    | ТЗ2.Сумма КАК Сумма,
    | ТЗ1.Наименование КАК НаименованиеТаб
    |ИЗ
    | ТЗ2 КАК ТЗ2
    | ЛЕВОЕ СОЕДИНЕНИЕ ТЗ1 КАК ТЗ1
    | ПО ТЗ2.Наименование = ТЗ1.Наименование
    |ГДЕ
    | ТЗ1.Наименование is NULL
    |
    |УПОРЯДОЧИТЬ ПО
    | Наименование";
```
---
для таких задач воспользуйся шпаргалкой по соединениям. В няглядной форме покажет что ты получишь и какой должен быть запрос.
---
стр.93-95 Хрусталева Язык запросов. Пример как раз по прямому сравнению на попадание записей. Это понятно и работает на "ура". В том числе, и в моем коде. Все запросы с выборкой одинаковых записей понятны. Обратное с "<>" не работает. По существу есть ответ?
---
шпаргалку значит не открывал.
Там все варианты расписаны достаточно только понимать как это работает.
---
Сообщение было скрыто модератором.
---
Сумма НЕ В (Выбрать Сумма Из Таблица2)
---
А если соединить как обычно, левым или даже полным, поместить результат в ВТ и выбрать все где есть null.
---
Как раз сделал через полное в этот момент. Это получается. Но выглядит как-то топорно, хотелось бы изящнее проверку на NULL соответствие в самом запросе.

```1c
    ЗапросВыборка = Новый Запрос;
    ЗапросВыборка.МенеджерВременныхТаблиц = МенеджерВТ;
    ЗапросВыборка.Текст =
    "ВЫБРАТЬ РАЗЛИЧНЫЕ
    | ТЗ2.Наименование КАК Наименование,
    | ТЗ2.Сумма КАК Сумма,
    | ТЗ1.Наименование КАК НаименованиеТаб
    |ИЗ
    | ТЗ2 КАК ТЗ2
    | ПОЛНОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ ТЗ1 КАК ТЗ1
    | ПО ТЗ2.Наименование = ТЗ1.Наименование
    |
    |УПОРЯДОЧИТЬ ПО
    | Наименование";

    РезультатЗапроса = ЗапросВыборка.Выполнить();
    ТЗ = РезультатЗапроса.Выгрузить();

    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    Если ВыборкаДетальныеЗаписи.НаименованиеТаб = Null
    Тогда
    Сообщение = Новый СообщениеПользователю;
    Сообщение.Текст = ВыборкаДетальныеЗаписи.Наименование;
    Сообщение.Сообщить();
    КонецЕсли;
    КонецЦикла;
```
---
Решение здесь --> Infostart
Спасибо всем, в том числе "гуру" за поисковое слово. Тема закрыта.
Либо так:

```1c
    ЗапросВыборка.Текст =
    "ВЫБРАТЬ РАЗЛИЧНЫЕ
    | ТЗ2.Наименование КАК Наименование,
    | ТЗ2.Сумма КАК Сумма,
    | ТЗ1.Наименование КАК НаименованиеТаб
    |ИЗ
    | ТЗ2 КАК ТЗ2
    | ПОЛНОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ ТЗ1 КАК ТЗ1
    | ПО ТЗ2.Наименование = ТЗ1.Наименование
    |ГДЕ
    | ТЗ1.Наименование is NULL
    |
    |УПОРЯДОЧИТЬ ПО
    | Наименование";
```

либо так:

```1c
    ЗапросВыборка.Текст =
    "ВЫБРАТЬ РАЗЛИЧНЫЕ
    | ТЗ2.Наименование КАК Наименование,
    | ТЗ2.Сумма КАК Сумма,
    | ТЗ1.Наименование КАК НаименованиеТаб
    |ИЗ
    | ТЗ2 КАК ТЗ2
    | ЛЕВОЕ СОЕДИНЕНИЕ ТЗ1 КАК ТЗ1
    | ПО ТЗ2.Наименование = ТЗ1.Наименование
    |ГДЕ
    | ТЗ1.Наименование is NULL
    |
    |УПОРЯДОЧИТЬ ПО
    | Наименование";
```