helpf.pro
Регистрация

v7: Каким образом можно удалить дубли из справочника?

volniy
16.12.2015 15:44Прочитано: 4516

Каким образом можно удалить дубли из справочника?

Yandex
Возможно, вас также заинтересует
Реклама на портале
IBReiter
17.12.2015 08:28Ответ № 1

А для семерки нет универсальных обработок?

chidaystory
18.12.2015 11:37Ответ № 2

Попробуйте поискать на форме nado.in , там много полезного можно найти и нужного.

all4cf
21.12.2015 03:10Ответ № 3

Вот нашел в своей коллекции несколько обработок для 7-ки, попробуй их 77.rar 

jollyk
04.08.2016 14:25Ответ № 4
Код 1C v 7.x
 Процедура УдалитьДублиБанков() 
    
    Перем Запрос, ТекстЗапроса;
    //Создание объекта типа Запрос
    Запрос = СоздатьОбъект("Запрос");
    ТекстЗапроса =
    "//{{ЗАПРОС(Сформировать123)
    |Банки = Справочник.Банки.ТекущийЭлемент;
    |Группировка Банки упорядочить по Банки.Код;
    |"//}}ЗАПРОС
    ;
 
    Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда
        Возврат;
    КонецЕсли;
    
    список1 = СоздатьОбъект("СписокЗначений");     
    флСовпадения = 0;
    сч = 0;  
    первыйзаход = 1;
    Пока Запрос.Группировка(1) = 1 Цикл
        
        Если первыйзаход = 1 Тогда   
            
            кодПред = Запрос.Банки.Код;
            первыйзаход = 0;  
            Продолжить;
        КонецЕсли;
        
        кодТек = Запрос.Банки.Код;
        
        Если кодПред = кодТек Тогда  
            
            сч = сч + 1;   
            флСовпадения = 1;
        Иначе
            
            Если флСовпадения = 1 Тогда  
                
                список1.ДобавитьЗначение(кодПред ,сч);  
                кодПред = кодТек;
                флСовпадения = 0;
                сч = 0;
            Иначе
                кодПред = кодТек;                
            КонецЕсли;            
            
        КонецЕсли;
        
    КонецЦикла;
    
    Спр_Кон = СоздатьОбъект("Справочник.Банки");
    
    КоличествоДублей = "";
    Для сч1 = 1 По список1.РазмерСписка() Цикл  
        
        кодСправочника = список1.ПолучитьЗначение(сч1,КоличествоДублей);
        
        Для сч2 = 1 По Число(КоличествоДублей) Цикл
            
            Спр_Кон.НайтиПоКоду(кодСправочника);
            Спр_Кон.Удалить(1);
        КонецЦикла;    
        
    КонецЦикла;    
    
КонецПроцедуры
Подсказка: Для выделения Кода используйте (в редакторе).
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.