Добрый вечер, коллеги!
Задача: У выбранных документов "УстановкаЦенНоменклатуры" пробежаться по ТЧ Товары и удалить строки с номенклатурой, по которой нет движений.

В строке

```1c
    НайденныеСсылки = НайтиПоСсылкам(МассивСсылок,Новый Массив,Новый Массив,Исключаемые);
```
 не отрабатывается условие

```1c
    Исключаемые.Добавить(Метаданные.Документы.УстановкаЦенНоменклатуры);
```

В НайденыеСсылки попадают значения из "УстановкиЦенНоменклатуры" Подскажите пожалуйста в чем ошибка?

```1c
    Процедура КнопкаВыполнитьНажатие(Кнопка)
    КоличествоУдаленныхЭлементов = 0;
    Для Каждого Документ из ПолеВвода1 Цикл
    ОбъектДок = Документ.Значение.ПолучитьОбъект();
    Док = ОбъектДок.Товары;
    ном=0;
    итЗаписей = Док.количество();
    МассивСсылок = Новый Массив;
    Исключаемые = Новый Массив;
    Для Каждого Стр из Док Цикл
    ном = ном + 1;
    Номенклатура = Стр.Номенклатура;
    Состояние("Номенклатура: "+Строка(ном)+" из "+итЗаписей);
    СсылкаНаУдаляемыйЭлемент = Номенклатура;

    Исключаемые.Добавить(Метаданные.Справочники.ЕдиницыИзмерения);
    Исключаемые.Добавить(Метаданные.Документы.УстановкаЦенНоменклатуры);
    МассивСсылок.Добавить(СсылкаНаУдаляемыйЭлемент);
    НайденныеСсылки = НайтиПоСсылкам(МассивСсылок,Новый Массив,Новый Массив,Исключаемые);

    Если НайденныеСсылки.Количество() > 0 Тогда
    Если ПоказНеудаляемых Тогда
    Сообщить("Нельзя удалять элемент:"+Строка(СсылкаНаУдаляемыйЭлемент)+", на него имеются ссылки",СтатусСообщения.Внимание);
    КонецЕсли;
    Иначе
    Сообщить("Удаляем элемент:"+Строка(СсылкаНаУдаляемыйЭлемент),СтатусСообщения.Информация + " из документа: " + Документ);
    УдаляемаяСтрока = ОбъектДок.Товары.Найти(Номенклатура);
    //УдаляемаяСтрока.Удалить();

    КоличествоУдаленныхЭлементов = КоличествоУдаленныхЭлементов + 1;
    КонецЕсли;
    ОбработкаПрерыванияПользователя();
    КонецЦикла;
    КонецЦикла;
    Сообщить("Было удалено: " + КоличествоУдаленныхЭлементов + " элементов");
    ОбъектДок.Записать();
    КонецПроцедуры
```
---
Это же метаданные :) Перекрестные ссылки. Взаимосвязи.
Документ УстановкаЦенНоменклатуры делает движения в регистре ЦеныНоменклатуры.
Для того, чтобы исключить УстановкаЦенНоменклатуры нужно исключить РегистрСведений.ЦеныНоменклатуры

```1c
    Исключаемые = Новый Массив;
    Исключаемые.Добавить(Метаданные.Справочники.ЕдиницыИзмерения);
    Исключаемые.Добавить(Метаданные.РегистрыСведений.ЦеныНоменклатуры);
    Исключаемые.Добавить(Метаданные.Документы.УстановкаЦенНоменклатуры);
```

В первом цикле. Во второй не нужно включать.

И пробелчики в параметрах для красоты:

```1c
    НайденныеСсылки = НайтиПоСсылкам(МассивСсылок, Новый Массив, Новый Массив, Исключаемые);
```
---
Это же метаданные :) Перекрестные ссылки. Взаимосвязи.
Документ УстановкаЦенНоменклатуры делает движения в регистре ЦеныНоменклатуры.
Для того, чтобы исключить УстановкаЦенНоменклатуры нужно исключить РегистрСведений.ЦеныНоменклатуры

```1c
    Исключаемые = Новый Массив;
    Исключаемые.Добавить(Метаданные.Справочники.ЕдиницыИзмерения);
    Исключаемые.Добавить(Метаданные.РегистрыСведений.ЦеныНоменклатуры);
    Исключаемые.Добавить(Метаданные.Документы.УстановкаЦенНоменклатуры);
```

В первом цикле. Во второй не нужно включать.

И пробелчики в параметрах для красоты:

```1c
    НайденныеСсылки = НайтиПоСсылкам(МассивСсылок, Новый Массив, Новый Массив, Исключаемые);
```
---
Конфигурация УТ 10.3
---
На платформе 8.2 не работают исключения НайтиПоСсылкам();
Но оно вам тут и не нужно.
---
Это же делается элементарнейшим приемом:
1) Получаем из метаданных все регистры в которых делает движение документ УстановкаЦен
2) Собираем примитивнейший текст запроса программно, для каждого регистра через запрос объединение: Полное соединение регистра и ТЧ документа по регистратор = ссылка, Номенклатура регистра = Номенклатура ТЧ и передаем в соединение массив ссылок на проверяемые документы.
3) Передаем в следующий пакет номер строки ТЧ, номенклатуру из регистра (Важно) ссылку на документ. Группируем по ссылке и номеру строки. Максимум(номенклатура) Имеющие Максимум(номенклатура) Есть Null
4) Профит Есть ссылка на документ и номер строки по которой нет движений.
Ибо производительность этого метода НайтиПоСсылкам ужасна.
---
Всем спасибо за ответы!