| 
    
 | 
        v7: Как найти пустые папки спр-ка и удалить их??         | 
☑ | 
    
        | 
    0
    
        alexz55    
       
    
    23.05.13 
            ✎
    22:43 
 | 
         
        Как найти пустые папки спр-ка и удалить их??     
         | 
 | 
    
    
        | 
    1
    
        noxxx    
       
    
    23.05.13 
            ✎
    22:46 
 | 
         
        1. Ищешь
  2. Удаляешь     
         | 
 | 
    
    
        | 
    2
    
        Lionee    
       
    
    23.05.13 
            ✎
    22:50 
 | 
         
        Сеня прям пятницо на ветки такие     
         | 
 | 
    
    
        | 
    3
    
        Lionee    
       
    
    23.05.13 
            ✎
    22:51 
 | 
         
        (1) + 100     
         | 
 | 
    
    
        | 
    4
    
        Волчара2010    
       
    
    23.05.13 
            ✎
    23:05 
 | 
         
        выбрать все элемены, не являющиеся группой и поместить их родителя в список значений. Дальше выбрать группы и если группа отсутствует в списке, значит она пустая.     
         | 
 | 
    
    
        | 
    5
    
        Lionee    
       
    
    23.05.13 
            ✎
    23:12 
 | 
         
        (4) думаешь тс понял что ты написал?     
         | 
 | 
    
    
        | 
    6
    
        Волчара2010    
       
    
    23.05.13 
            ✎
    23:14 
 | 
         
        не, фигню написал     
         | 
 | 
    
    
        | 
    7
    
        Волчара2010    
       
    
    23.05.13 
            ✎
    23:20 
 | 
         
        имхо, на клюшках проще руками их находить и удалять. Рекурсию писать надо.     
         | 
 | 
    
    
        | 
    8
    
        Волчара2010    
       
    
    23.05.13 
            ✎
    23:21 
 | 
         
        если в группе может быть иерархия других групп     
         | 
 | 
    
    
        | 
    9
    
        Aleksey    
       
    
    24.05.13 
            ✎
    00:11 
 | 
         
        Спр=СоздатьОбъект("Справочник.ТвойСправочник");
  СпрДляПроверки = СоздатьОбъект("Справочник.ТвойСправочник");
  СписокПустыхГрупп=СоздатьОбъект("СписокЗначений");
  
  Спр.ВыбратьЭлементы(0);
  Пока Спр.ПолучитьЭлемент()=1 тогда
    Если Спр.ЭтоГруппа()=1 тогда
      СпрДляПроверки.ИспользоватьРодителя(Спр.ТекущийЭлемент())%
      Если СпрДляПроверки.ВыратьЭлементы(0) = 0 тогда
        СписокПустыхГрупп.ДобавитьЗначение(Спр.ТекущийЭлемент());
  //или пометка на удаления, главное не удаляй, иначе выборка собъется
      КонецЕсли;
    КонецЕсли;
  КонецЦикла;
  
  
  Как то так     
         | 
 | 
    
    
        | 
    10
    
        Torquader    
       
    
    24.05.13 
            ✎
    00:12 
 | 
         
        Просто перебираем справочник.
  Если встречаем группу - заносим её в таблицу (проверив, нет ли её там) и указываем, что у неё ноль подчинённых элементов.
  Также смотрим родителя - если пустой, то мимо, если есть в списке, увеличиваем количество подчинённых на единицу, если в таблице нету, то добавляем, установив количество подчинённых, равным единице.
  Если элемент, то смотрим только родителя.
  
  В итоге получам таблицу, где у пустых групп будет ноль.     
         | 
 |