Приветствую, дамы и господа!
Помогите новичку)
Подскажите как в запросе получить разность двух "документов", содержащие схожие элементы.
Примерно получается так, есть справочник в котором есть список значении, есть документ который их использует. Документ создается с датой, по дате делаем отбор документов, получает актуальные списки значении в документе за период. Теперь нужно сравнить эти документы со справочником и получить из справочника значения, которые не используются в документе за указанный период.
На данный момент реализовал свою хотелку через разность массивов.
// Возвращает разность массивов. Разностью двух массивов является массив, содержащий
// все элементы первого массива, не существующие во втором массиве.

Конфигурация ЗИК
Сами запросы которые добавляю в массивы:
ВЫБРАТЬ РАЗЛИЧНЫЕ
 Начисления.Наименование КАК Наименование
ИЗ
 ПланВидовРасчета.Начисления КАК Начисления
ГДЕ
 Начисления.ВАрхиве = ЛОЖЬ

**********************************************
ВЫБРАТЬ РАЗЛИЧНЫЕ
 ПлановыеНачисления.Начисление.Наименование КАК НачислениеНаименование
ИЗ
 РегистрСведений.ПлановыеНачисления КАК ПлановыеНачисления
ГДЕ
 ПлановыеНачисления.Период >= &Период

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ РАЗЛИЧНЫЕ
 РазовоеНачисление.Начисление.Наименование
ИЗ
 Документ.РазовоеНачисление КАК РазовоеНачисление
ГДЕ
 РазовоеНачисление.Дата >= &Период
---
если я тебя правильно понял, то переведу на русский:
1. есть справочник.Начисления
2. есть документ.РазовоеНачисление, который использует элементы этого справочника.
3. ты хочешь отобрать те Начисления, которые не использовались, за указанный период.

делается это так:
1. отбираем все Начисления которые используются за период. и помещаем их во веменую таблицу втНачисления.
2. левым соединением соединяем со справочником.Начисления и ставим отбор Is null.

```1c
    "ВЫБРАТЬ РАЗЛИЧНЫЕ
    | РазовоеНачисление.Начисление КАК Начисление
    |ПОМЕСТИТЬ втНачисления
    |ИЗ
    | Документ.РазовоеНачисление КАК РазовоеНачисление
    |Где
    | РазовоеНачисление.Дата между &Дата1 и &Дата2
    |;
    |
    |////////////////////////////////////////////////////////////­////////////////////
    |ВЫБРАТЬ
    | Начисления.Ссылка КАК Ссылка
    |ИЗ
    | Справочник.Начисления КАК Начисления
    | Левое соединение втНачисления КАК втНачисления
    | По Начисления.Ссылка = втНачисления.Начисление
    |Где
    | втНачисления.Начисление is null"
```

PS. не совсем понятно зачем ты в регист полез.
т.е. мы взяли все начисления присоединили к ним те которые используются. а к тем которые не используются - остались пустые клетки (null) и поставили отбор на эти пустые клетки (Есть null)
---
В справочнике не может храниться СписокЗначений. Текст задания и запросы даже рядом не лежали. Или перепишите задание или запросы.
---
Неправильно описал ситуацию в силу плохого знания терминологий. Есть вот такой "справочник" (скрин1), где создаются начисления. Они используются в документе (Скрин2) и ещё в одном. Вот из этих "документов" я собрал "актуальные" начисления за текущий год, в "справочнике" их 399, а по документам за год использовали 209. Я хочу понять можно-ли соединить эти запросы чтоб мне показывались только те начисления в "справочнике" что не используются в "документах". Из 399 - 209 = 190, вот эти 190 и хочу увидеть, без 209)
В запросах что в примере. Пробовал разные варианты соединения и без, через ВременуюТаблицу и указывать сравнения Начисления.Наименование = ВТ.Наименование так и не понял возможно такое сравнение или нет.

последняя интерпретация запроса:

```1c
    ВЫБРАТЬ РАЗЛИЧНЫЕ
    ПлановыеНачисления.Начисление.Наименование КАК НачислениеНаименование
    ПОМЕСТИТЬ ВременнаяТаблица
    ИЗ
    РегистрСведений.ПлановыеНачисления КАК ПлановыеНачисления
    ГДЕ
    ПлановыеНачисления.Период >= &Период

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ РАЗЛИЧНЫЕ
    РазовоеНачисление.Начисление.Наименование
    ИЗ
    Документ.РазовоеНачисление КАК РазовоеНачисление
    ГДЕ
    РазовоеНачисление.Дата >= &Период
    ;

    ////////////////////////////////////////////////////////////­////////////////////
    ВЫБРАТЬ
    Начисления.Наименование КАК Наименование
    ИЗ
    ВременнаяТаблица КАК ВременнаяТаблица
    ЛЕВОЕ СОЕДИНЕНИЕ ПланВидовРасчета.Начисления КАК Начисления
    ПО (Начисления.Наименование = ВременнаяТаблица.НачислениеНаименование)
    ГДЕ
    Начисления.Наименование = ВременнаяТаблица.НачислениеНаименование
    ИЛИ ВременнаяТаблица.НачислениеНаименование = Начисления.Наименование
```
---
Ход мыслей в нужном направлении. В соединении результирующего запроса можно поменять таблицы местами, а в секции ГДЕ добавить проверку на NULL (ГДЕ Начисления.Наименование ЕСТЬ NULL)

P.S. Можно и даже нужно не таскать наименование начисления по запросам, если только это не какая-то специфика вашей задачи.
---
если я тебя правильно понял, то переведу на русский:
1. есть справочник.Начисления
2. есть документ.РазовоеНачисление, который использует элементы этого справочника.
3. ты хочешь отобрать те Начисления, которые не использовались, за указанный период.

делается это так:
1. отбираем все Начисления которые используются за период. и помещаем их во веменую таблицу втНачисления.
2. левым соединением соединяем со справочником.Начисления и ставим отбор Is null.

```1c
    "ВЫБРАТЬ РАЗЛИЧНЫЕ
    | РазовоеНачисление.Начисление КАК Начисление
    |ПОМЕСТИТЬ втНачисления
    |ИЗ
    | Документ.РазовоеНачисление КАК РазовоеНачисление
    |Где
    | РазовоеНачисление.Дата между &Дата1 и &Дата2
    |;
    |
    |////////////////////////////////////////////////////////////­////////////////////
    |ВЫБРАТЬ
    | Начисления.Ссылка КАК Ссылка
    |ИЗ
    | Справочник.Начисления КАК Начисления
    | Левое соединение втНачисления КАК втНачисления
    | По Начисления.Ссылка = втНачисления.Начисление
    |Где
    | втНачисления.Начисление is null"
```

PS. не совсем понятно зачем ты в регист полез.
т.е. мы взяли все начисления присоединили к ним те которые используются. а к тем которые не используются - остались пустые клетки (null) и поставили отбор на эти пустые клетки (Есть null)
---
Все три пункта почти правильные, кроме 1 у меня нет справочник.Начисления у меня есть ПланВидовРасчета.Начисления (скрин1)

т.е. мы взяли все начисления присоединили к ним те которые используются. а к тем которые не используются - остались пустые клетки (null) и поставили отбор на эти пустые клетки (Есть null)
Вот это я как-то ещё не понимаю...

Изменил запрос под себя, и как и хотел 399 - 209 = 190 (скрин2) СПАСИБО!

```1c
    "ВЫБРАТЬ РАЗЛИЧНЫЕ
    | ПлановыеНачисления.Начисление.Наименование КАК НачислениеНаименование
    |ПОМЕСТИТЬ втНачисления
    |ИЗ
    | РегистрСведений.ПлановыеНачисления КАК ПлановыеНачисления
    |ГДЕ
    | ПлановыеНачисления.Период >= &Период
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ РАЗЛИЧНЫЕ
    | РазовоеНачисление.Начисление.Наименование
    |ИЗ
    | Документ.РазовоеНачисление КАК РазовоеНачисление
    |ГДЕ
    | РазовоеНачисление.Дата >= &Период
    |;
    |
    |////////////////////////////////////////////////////////////­////////////////////
    |ВЫБРАТЬ
    | Начисления.Наименование КАК Наименование
    |ИЗ
    | ПланВидовРасчета.Начисления КАК Начисления
    | ЛЕВОЕ СОЕДИНЕНИЕ втНачисления КАК втНачисления
    | ПО (Начисления.Наименование = втНачисления.НачислениеНаименование)
    |ГДЕ
    | втНачисления.НачислениеНаименование ЕСТЬ NULL"
```