8.х Пометка на удаление неиспользуемых элементов справочников

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем shurikvz, 3 окт 2010.

  1. TopicStarter Overlay
    shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Навеяно вот этой темой: http://www.1c-pro.ru/index.php?showtopic=26703&hl=

    Накидал тут обработку, особо не проверял, ну в общем если кто захочет воспользоваться - то по принципу "AS IS". :angry:
    Должно работать на всех конфигурациях. Платформа 8.2 (обычное приложение).

    Смысл обработки: пробегается по справочникам, находит элементы справочников, на которые нет ссылок. Есть возможность пометить их после этого на удаление (выборочно).
    Ну а удалять уж полностью - обычным способом, через меню "Операции - Удаление помеченных объектов".


    -----------------------------------------------------------------------------------------------
    Посмотреть вложение 6675 -----------------------------------------------------------------------------------------------

    Вложения:

  2. sgirg
    Offline

    sgirg Опытный в 1С

    Регистрация:
    25 дек 2008
    Сообщения:
    126
    Симпатии:
    0
    Баллы:
    26
    {Форма.Форма.Форма(61)}: Ошибка при вызове метода контекста (Выполнить): {(3, 13)}: Поле не найдено "Справочник.Наименование"
    Справочник.<<?>>Наименование КАК Наименование,
    Результат = ЗапросПоСправочнику.Выполнить();
    по причине:
    {(3, 13)}: Поле не найдено "Справочник.Наименование"
    Справочник.<<?>>Наименование КАК Наименование,


    Данная ошибка вылетает при обработке справочника "НомераГТД"
  3. TopicStarter Overlay
    shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Ага. Поправил.
  4. sgirg
    Offline

    sgirg Опытный в 1С

    Регистрация:
    25 дек 2008
    Сообщения:
    126
    Симпатии:
    0
    Баллы:
    26
    shurikvz
    У меня такой вопросик:
    А возможно ли в табличном поле (в которое выводятся результаты поиска) сделать редактирование объекта справочника при двойном щелчке по нему?

    PS: обработка летает на сверх скоростях :D :angry:
  5. TopicStarter Overlay
    shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Угу.

    Вложения:

  6. sgirg
    Offline

    sgirg Опытный в 1С

    Регистрация:
    25 дек 2008
    Сообщения:
    126
    Симпатии:
    0
    Баллы:
    26
    Мега спасибо) обработка приобрела божеский вид)
    Я так понял за изменение отвечает данная процедура:
    Код:
    Процедура ДеревоВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка)
    
    СтандартнаяОбработка = Ложь;
    
    Если ВыбраннаяСтрока.Уровень() > 0 Тогда
    Если НЕ ВыбраннаяСтрока[1].Пустая() Тогда
    ВыбраннаяСтрока[1].ПолучитьФорму().Открыть();
    КонецЕсли;
    КонецЕсли;
    
    КонецПроцедуры
    
    Но к сожалению не смог разобраться в коде этой процедуры(( Если не сложно, то опишите плиз за что отвечает каждая строка из данной процедуры, т.е.:
    ВыбраннаяСтрока.Уровень()
    СтандартнаяОбработка
  7. sgirg
    Offline

    sgirg Опытный в 1С

    Регистрация:
    25 дек 2008
    Сообщения:
    126
    Симпатии:
    0
    Баллы:
    26
    Все, разобрался в коде. Еще раз спасибо.
  8. TopicStarter Overlay
    shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Оооо... Я смотрю я популярным становлюсь.. :D :angry: Сегодня пришла рассылка с инфорстарта, вот эта тема: http://infostart.ru/public/82424/ (в комментариях. Да и собственно сам текст обработки весьма напоминает мой, блин ну скопипастили, хоть бы последнюю версию обработки взяли, а то куцую какую-то засунули туда).
  9. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Всё проще, запускаешь групповую обработку, метишь на удаление весь справочник. Запускаешь удаление помеченных, возвращаешься в групповую обработку и снимаешь пометку.
  10. TopicStarter Overlay
    shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Ну в принципе - так то оно так. Насколько я понял SGIRG туда что-то свое дописал (также на инфорстарте есть).
  11. sgirg
    Offline

    sgirg Опытный в 1С

    Регистрация:
    25 дек 2008
    Сообщения:
    126
    Симпатии:
    0
    Баллы:
    26
    Ага, я мелочами подкорректировал обработку для "своих нужд" и на вторую вкладку "замостил" функционал обработки "Удаление помеченных объектов" с ИТС диска. Подумал, что будет удобнее все объединить в одну обработку... ибо не люблю много лишних движений делать))
  12. WildFire
    Offline

    WildFire

    Регистрация:
    20 сен 2011
    Сообщения:
    1
    Симпатии:
    0
    Баллы:
    1
    У меня вопрос уважаемому автору.
    Главная для меня цель - подчистить номенклатуру. Но как я понял, этот справочник подпадает под список тех, у которого есть владельцы, т.к. в списке он не высвечивается.
    Что бы сделать для того, чтобы почистить именно номенклатуру?
    Конфа - КА 1.1.
    Выше был совет пометить на удаление каталог сразу в форме списка справочника, удалить то, на что нет ссылок, и убрать пометку на удаление. Но при таком действии, как я читал, не убираются пометки на удаление с подчиненных элементов, что для меня абсолютно неприемлемо.
  13. masvild
    Offline

    masvild

    Регистрация:
    14 май 2013
    Сообщения:
    22
    Симпатии:
    0
    Баллы:
    1
    Извиняюсь за некропостинг. Есть ли такая обработка для справочника номенклатуры?
  14. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.548
    Симпатии:
    716
    Баллы:
    204
    пометить на удаление можно с помощью типовой обработки "Групповая обработка справочников и документов".
  15. masvild
    Offline

    masvild

    Регистрация:
    14 май 2013
    Сообщения:
    22
    Симпатии:
    0
    Баллы:
    1
    Мне нужно сначало выбрать те элементы номенклатуры, по которым нет движений в базе...
  16. TopicStarter Overlay
    shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Ничего себе вы некропостите. Я даже не помню что оно делало.

    #9 пост смотрите. Помечаете на удаление все (ну кроме групп), потом удаляете стандартным способом, потом снимаете пометку на удаление с того что не смогло удалиться.
  17. masvild
    Offline

    masvild

    Регистрация:
    14 май 2013
    Сообщения:
    22
    Симпатии:
    0
    Баллы:
    1
    Попробую, конечно, это вариант..... просто у меня в справочнике номенклатуры более 150000 позиций:)
  18. TopicStarter Overlay
    shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Чтобы уменьшить количество помечаемых на удаление позиций, можете взять консоль запросов, которая поддерживает выполнение произвольного кода (я например использую infostart.ru/public/14183) и исключить позиции, которые явно не удаляться, т.е. например те, по которым были движения по РН Продажи, СвободныеОстатки.

Поделиться этой страницей