Имя: Пароль:
1C
1С v8
Поиск дублей в справочнике Номенклатура
0 егаис
 
19.01.14
18:39
Народ, накидал небольшой код, что не так, делятся все позиции (
Поиск дублей по наименованию и ЕИ
    Запрос = Новый Запрос;
    Запрос.Текст="
    |ВЫБРАТЬ
    |  Справочник.Номенклатура.Ссылка КАК Номенклатура,
    |  Справочник.Номенклатура.ЕдиницаИзмерения.Код КАК Единица
    |ИЗ
    |  Справочник.Номенклатура
    |ГДЕ
    |  Справочник.Номенклатура.Ссылка.ЭтоГруппа=Ложь
    |УПОРЯДОЧИТЬ ПО
    |  Номенклатура
    |";
    Выборка = Запрос.Выполнить().Выбрать();
    
    ТаблицаУникальных = Новый ТаблицаЗначений;
    ТаблицаУникальных.Колонки.Добавить("Материал");
    ТаблицаУникальных.Колонки.Добавить("Единица");
    
    Пока Выборка.Следующий() Цикл
        
        ПараметрыОтбора = Новый Структура;
        ПараметрыОтбора.Вставить("Материал",Выборка.Номенклатура);
        ПараметрыОтбора.Вставить("Единица",Выборка.Единица);
        НайденныеСтроки = ТаблицаУникальных.НайтиСтроки(ПараметрыОтбора);
        
        Если НайденныеСтроки = Неопределено Тогда
            НоваяСтрока = ТаблицаУникальных.Добавить();
            НоваяСтрока.Материал = Выборка.Номенклатура;
            НоваяСтрока.Единица = Выборка.Единица;
        Иначе
            Выборка.Номенклатура.Ссылка.ПолучитьОбъект().ПометкаУдаления = Истина;
            Сообщить(Выборка.Номенклатура);
        КонецЕсли;        
        
    КонецЦикла;
1 mikecool
 
19.01.14
18:41
Выборка.Номенклатура.Ссылка.ПолучитьОбъект().ПометкаУдаления = Истина; - чоэтаваще?
2 егаис
 
19.01.14
18:42
так ошибку одну вижу
параметры отбора по наименованию, а не по ссылке
        ПараметрыОтбора.Вставить("Материал",Выборка.Номенклатура.Наименование);
3 егаис
 
19.01.14
18:47
хрень какая-то )
как еще можно "отловить дубли"?
4 МихаилМ
 
19.01.14
18:48
(3)
можно воспользоваться поиском по форуму, чтобы узнать решения
5 егаис
 
19.01.14
18:49
пилят, не неопределено, там же массив возвращается, вот баран
спасибо
6 егаис
 
19.01.14
18:53
работает ;)
Основная теорема систематики: Новые системы плодят новые проблемы.