| 
    
        
     
     | 
    
  | 
v7: Удаление/Пометка подчиненных-владельцев справочников | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        lals    
     27.01.14 
            ✎
    22:33 
 | 
         
        Собственно ситуация (и мопед не мой коментарии про дебильность ситуации не приветствуются)
 
        Есть справочник Номенклатура у него 4 подчиненных справочника; Цены, ветСвидетельства, ДопГруппа и ДопНаименование. допГруппа и Доп наименование юзаются если к примеру контр1 желает чтобы яйцо было обозначено как "Яйцо овальное" а котр2 только "Овальное яйцо" Все остальные берут просто "Яйцо" но бог бы с ним, как то уж не знаю как сложилось что этот справочник какими то манипуляциями с копированием элементов созданием папок в номенклатуре чуть ли не для каждого контрагента своей и так далее. Задача Почистить Справочник Номенклатуры,имеющий всего навсего 20 тыс записей. была попытка пометить автоматом на удаление всех лементов и те которые не юзались в 203-2014 годах просто удалить затем те что не удалились вернуть в исходное состояние. Но... Подчиненные не имеют ссылок на документы а только на элементы своих хозяев а те уже помечены на удаление, соответственно подчиненные удаляются все под линеечку без разбору при отмене пометок на удаление в номенклатуре все подчиненные оказываются пустые Попытка отменить пометку удаления во ВСЕХ подчиненных приводит к отменепометок и в номенклатуре, понимаю целостность ссылок. Вижу только один вариант Верней два ПЕребирать доки за год и месяц и все что есть в них и помеченнгое на удаление отменять пометку его и всех подчиненных или перебирать элементы и искать сыылки на них в доках ну в общем что так что так это многочасовая обработка. Никто не знает другого способа?? и как посмотреть на жкстрим вариант - Скопировать файлы с подчиненными справочниками, заныкать их Почистить номенклатуру, вернуть файлы, прогнать справочники подчиненных на предмет имеющегося владельца, кто без батьки того в расход!!  | 
|||
| 
    1
    
        lals    
     27.01.14 
            ✎
    22:34 
 | 
         
        203 = 2013 недоглядел изв.     
         | 
|||
| 
    2
    
        GreyK    
     27.01.14 
            ✎
    22:42 
 | 
         
        Надо уже нам клиннику организовать для "своих", ну торкнет кого-то создавать вопрос без номеров конфигов и платформ, а там ему палата 27/9.     
         | 
|||
| 
    3
    
        lals    
     27.01.14 
            ✎
    22:46 
 | 
         
        (3)Бухгалтерия, перекурочена до неузнаваемости
 
        Если быть точнее Бухгалтерский Учет редакция 3,1 клюшки на 027  | 
|||
| 
    4
    
        lals    
     27.01.14 
            ✎
    22:48 
 | 
         
        И тут мне кажется вопрос как бы не привязан к конфе. ни в одной типововй я не встречал такого как дополнительное наименование для контрагента - Дядя Ваня     
         | 
|||
| 
    5
    
        Бертыш    
     27.01.14 
            ✎
    22:53 
 | 
         
        Разруха в голове.     
         | 
|||
| 
    6
    
        lals    
     27.01.14 
            ✎
    22:54 
 | 
         
        (5) Согласен. но ситуацию хотелось бы разрулить     
         | 
|||
| 
    7
    
        lals    
     27.01.14 
            ✎
    23:02 
 | 
         
        Вот скрин который поможет наглядно оценить бардак
 
        http://saveimg.ru/show-image.php?id=710c506ec2f0b3b17052ecff733bb9e0  | 
|||
| 
    8
    
        КонецЦикла    
     27.01.14 
            ✎
    23:14 
 | 
         
        Ничего не понял
 
        Так что мешает попробовать произвести удаление помеченных объектов? Все нахрен пометить, запустить и пойти спать?  | 
|||
| 
    9
    
        КонецЦикла    
     27.01.14 
            ✎
    23:15 
 | 
         
        Плясать от номенклатуры если на нее ссылки в других объектах     
         | 
|||
| 
    10
    
        lals    
     27.01.14 
            ✎
    23:22 
 | 
         
        У меня на Украине огрызок базы, а база гдето в Питере. 
 
        щас играюсь с подменой файлов  | 
|||
| 
    11
    
        КонецЦикла    
     27.01.14 
            ✎
    23:25 
 | 
         
        Да больше времени потратишь
 
        Велика потеря ссылочной целостности и понадобится ТиИ 99%  | 
|||
| 
    12
    
        КонецЦикла    
     27.01.14 
            ✎
    23:26 
 | 
         
        Если точно знаешь структуру и где могут быть ссылки - можно запросами (чтобы не перебирать то что не нужно)
 
        Можно это сделать на SQL если база ДБФ  | 
|||
| 
    13
    
        lals    
     27.01.14 
            ✎
    23:37 
 | 
         
        Подмена прошла успешно каэцца 
 
        база ДБФ.  | 
|||
| 
    14
    
        lals    
     27.01.14 
            ✎
    23:43 
 | 
         
        Спр = СоздатьОбъект("Справочник.ДопНаименование");
 
        Спр.ВыбратьЭлементы(0); Пока Спр.ПолучитьЭлемент() = 1 Цикл Если ПустоеЗначение(Спр.Владелец) = 1 Тогда сообщить("бесхозный"); Иначе Сообщить(" Элемент - " + Спр.Наименование + " Владелец - " + Спр.Владелец.Наименование ); КонецЕсли; Пытаюсь вот таким макаром глянуть что к чему как бы не срабатывает пустое значение все идет под иначе хотя вледельцев показывает соответсвтенно есть или нет Вчем заковыка? или правильней Если Спр.Владелец =""  | 
|||
| 
    15
    
        acanta    
     28.01.14 
            ✎
    00:12 
 | 
         
        Правильней ТиИ. Владелец там заполнен всегда, но если ссылка битая - это нужно либо пытаться отловить через ..
 
        Спр.Владелец.ТекущийЭлемент().Выбран() или что-то в этом роде, либо сразу ТиИ с очисткой ссылок на невинно убиенных.  | 
|||
| 
    16
    
        lals    
     28.01.14 
            ✎
    00:15 
 | 
         
        ТиИ   это будет последний вариант , ща буду еще коряитьсчя     
         | 
|||
| 
    17
    
        acanta    
     28.01.14 
            ✎
    00:17 
 | 
         
        На крайний случай Если Строка(Спр.Владелец) =""     
         | 
|||
| 
    18
    
        Torquader    
     28.01.14 
            ✎
    00:21 
 | 
         
        На самом деле, сначала решается вопрос с номенклатурой - выбираете, что удалять, а что - нет.
 
        Потом, той, что не удаляется, можно "восстановить" все дочерние (подчинённые) элементы, если они помечены на удаление. Хотя, я бы, сначала, посмотрел бы и в сторону контрагентов - если их тоже "метят", то и зачем для них номенклатуру хранить ?  | 
|||
| 
    19
    
        lals    
     28.01.14 
            ✎
    00:36 
 | 
         
        (18) В том то и дело что когда помечается владелец то автоматом помечаются все подчиненные.
 
        Снятие с подчиненных пометки на удаление автоматом же снимает пометку удаления с владельца И все беда как раз в том что удаление помеченных удаляет все что можно , а что нельзя не удаляет, соответвенно подчиненный справочник не имеет других ссылок кроме как на объект помеченный на удаление, и значит удаляется беспрепятственно, хотя владельца не удаляет так как на него есть ссылка в документах  | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |