8.х Обработка. Поиск дублей и перемещение в другую папку(корзина)

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем Linly, 12 ноя 2019.

  1. TopicStarter Overlay
    Linly
    Offline

    Linly

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

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

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

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


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

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

    КонецПроцедуры
  2. ТехБухПривет
    Offline

    ТехБухПривет Профессионал в 1С Команда форума

    Регистрация:
    25 июн 2013
    Сообщения:
    819
    Симпатии:
    89
    Баллы:
    54
    Если я правильно понял запрос, то вы просто все помеченные на удаление и не с пустыми именами, из определенной группы перемещаете в папку корзина.. ( И Номенклатура.ПометкаУдаления = Истина";)
    Вопрос, а чем вас не устраивает "групповая обработка справочников и документов"

    PS странное какое-то соединение - запрос вообще отрабатывает?
    PSS описание самого вопроса - не понял - или поподробнее и точнее с формулировками или на примере..
    PSSS 1С:Предприятие 8.3 (8.3.10). - это платформа, а не конфигурация... -Banghead-