1С:Предприятие 8.3 (8.3.10).
В 1с совсем недавно, помогите пожалуйста.
Есть справочник Номенклатура, в этом справочнике есть большое количество разных групп, среди которых Новая номенклатура и Корзина. Следует сделать поиск по группе Новая номенклатура(по полям Артикул и Наименование) и если в ней есть дубли из остальных групп, переместить эти дубли в Корзину.

Помогите исправить и дополнить код.

```1c
    Процедура ПеремещениеНажатие(Элемент)
    ГруппаОтбора = Справочники.Номенклатура.НайтиПоНаименованию(");
    ГруппаДляПеремещения = Справочники.Номенклатура.Корзина.НайтиПоНаименованию("Корзина");

    Запрос = Новый Запрос
    "ВЫБРАТЬ
    | Номенклатура.Ссылка,
    | Номенклатура.НоваяНоменклатура.Артикул,
    | Номенклатура.НоваяНоменклатура.Наименование
    |ИЗ
    | Справочник.Номенклатура КАК Номенклатура,
    | Справочник.Номенклатура.НоваяНоменклатура КАК Номенклатура,
    | Владелец = Номенклатура.Ссылка
    |ГДЕ
    | Номенклатура.НоваяНоменклатура.Наименование <> &"???" //пропускать объекты с наименованием ???
    | И Номенклатура.НоваяНоменклатура.Наименование <> &""" // и пропускать объекты с пустым наименованием
    | И Номенклатура.ПометкаУдаления = Истина";
    | Номенклатура.Ссылка В ИЕРАРХИИ(&ГруппаОтбора)
    | И Номенклатура.ЭтоГруппа = ЛОЖЬ
    | И Номенклатура.Весовой = ЛОЖЬ

    Запрос.УстановитьПараметр("Корзина",ГруппаОтбора);
    Выборка = Запрос.Выполнить().Выбрать();

    Пока Выборка.Следующий() Цикл
    ТекущийОбъект = Выборка.Ссылка.ПолучитьОбъект();
    ТекущийОбъект.Родитель = ГруппаДляПеремещения();
    ТекущийОбъект.Записать();
    КонецЦикла;
    Объект = Выборка.Ссылка.ПолучитьОбъект();
    Объект.УстановитьПометкуУдаления(Истина);

    КонецПроцедуры
```
---
Вот код поиска всех дублей номенклатуры:

```1c
    ВЫБРАТЬ
    Спр1.Артикул КАК Артикул,
    Спр1.Ссылка КАК ТМЦ,
    Спр1.Родитель
    ИЗ
    Справочник.Номенклатура КАК Спр1,
    Справочник.Номенклатура КАК Спр2
    ГДЕ
    Спр1.Артикул = Спр2.Артикул
    И Спр1.Наименование= Спр2.Наименование
    И Спр1.Ссылка <> Спр2.Ссылка
    И НЕ Спр1.Ссылка.ЭтоГруппа
    И НЕ Спр1.ПометкаУдаления
    И НЕ Спр2.ПометкаУдаления
    {ГДЕ
    Спр1.Ссылка.* КАК Элемент}

    СГРУППИРОВАТЬ ПО
    Спр1.Ссылка,
    Спр1.Артикул,
    Спр1.Родитель
```
---
Вот код поиска всех дублей номенклатуры:

```1c
    ВЫБРАТЬ
    Спр1.Артикул КАК Артикул,
    Спр1.Ссылка КАК ТМЦ,
    Спр1.Родитель
    ИЗ
    Справочник.Номенклатура КАК Спр1,
    Справочник.Номенклатура КАК Спр2
    ГДЕ
    Спр1.Артикул = Спр2.Артикул
    И Спр1.Наименование= Спр2.Наименование
    И Спр1.Ссылка <> Спр2.Ссылка
    И НЕ Спр1.Ссылка.ЭтоГруппа
    И НЕ Спр1.ПометкаУдаления
    И НЕ Спр2.ПометкаУдаления
    {ГДЕ
    Спр1.Ссылка.* КАК Элемент}

    СГРУППИРОВАТЬ ПО
    Спр1.Ссылка,
    Спр1.Артикул,
    Спр1.Родитель
```
---
Теперь осталось в запрос вставить отбор НЕ спр1.Ссылка В Иерархии &Новаяноменклатура. Где "Новая группа" - это параметр запроса: Запрос.УстановитьПараметр("Новаяноменклатура",Новаяноменклатура);
Таким образом найдете все дубли номенклатуры (по артикулу и наименованию), которые находятся НЕ в группе "Новая номенклатура"
---
Там где написано &""???"" и &""""" амперсант явно следует убрать
---
вы имейте ввиду что после ваших этих перемещений, все отчеты по дублированной номенклатуре могут накрыться (если вы используете иерархию в отчетах).
вообще для борьбы с дублями лучше использовать обработку Поиск и удаление дублей. Только сперва копию сделайте