X
Xauren
В номенклатуре из 20к+ позиций есть дублирующие записи (по наименованию). Задача: нужно найти такие дублирущиеся по наименованию записи.
Сделал таким вот образом:
[codebox]
Спр=СоздатьОбъект("Справочник.Номенклатура");
Спр.ВыбратьЭлементы();
Пока Спр.ПолучитьЭлемент()=1 Цикл
Если (Спр.ПометкаУдаления()=1) ИЛИ (Спр.ЭтоГруппа()=1) Тогда
Продолжить;
КонецЕсли;
ТекТовар=Спр.ТекущийЭлемент();
Запрос=СоздатьОбъект("Запрос");
ТекстЗапроса="
|ДубТовар=Справочник.Номенклатура.ТекущийЭлемент;
|Условие (ДубТовар.Наименование=ТекТовар.Наименование);
|Условие (ДубТовар.Код<>ТекТовар.Код);
|Группировка ДубТовар Без Упорядочивания;
|";
...
[/codebox]
Вроде работает, но медленно. Подозреваю, что из-за начальной части, перебор долгий. Кто подскажет, как это можно ускорить, используя один запрос. И можно ли вообще ускорить?
Платформа - 7.7, конечно.
Сделал таким вот образом:
[codebox]
Спр=СоздатьОбъект("Справочник.Номенклатура");
Спр.ВыбратьЭлементы();
Пока Спр.ПолучитьЭлемент()=1 Цикл
Если (Спр.ПометкаУдаления()=1) ИЛИ (Спр.ЭтоГруппа()=1) Тогда
Продолжить;
КонецЕсли;
ТекТовар=Спр.ТекущийЭлемент();
Запрос=СоздатьОбъект("Запрос");
ТекстЗапроса="
|ДубТовар=Справочник.Номенклатура.ТекущийЭлемент;
|Условие (ДубТовар.Наименование=ТекТовар.Наименование);
|Условие (ДубТовар.Код<>ТекТовар.Код);
|Группировка ДубТовар Без Упорядочивания;
|";
...
[/codebox]
Вроде работает, но медленно. Подозреваю, что из-за начальной части, перебор долгий. Кто подскажет, как это можно ускорить, используя один запрос. И можно ли вообще ускорить?
Платформа - 7.7, конечно.