7.7 Удаление помеченных на удаление объектов

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем Vlastelin_I, 17 май 2012.

  1. TopicStarter Overlay
    Vlastelin_I
    Offline

    Vlastelin_I Опытный в 1С

    Регистрация:
    12 апр 2012
    Сообщения:
    76
    Симпатии:
    0
    Баллы:
    26
    Конфигурация розница. Накопилось очень много помеченных документов, которых нельзя удалить. Не буду вдаваться в детали, скажу суть. Нужно найти помеченный на удаление документ определенного типа. На него найти ссылающиеся документы. А на эти документы в свою очередь тоже на них ссылающиеся. И вот эти документы считай 3-го порядка перепровести. В итоге выходит, что на обработку 1-го документа уходит больше минуты, а их десятки тысяч.
    Я использую для поиска ссылок функцию НайтиСсылки(Док.ТекущийДокумент(), Тз); В итоге ее приходиться запускать 2 раза - для документа 2 и 3 порядков.
    Вопрос - есть ли способ оптимизировать этот процесс? Например встроенная в 1с операция по удалению объектов ищет ссылки на все документы, помеченные на удаление в системе в десятки, если не в сотни раз быстрее.
  2. rshakiro
    Offline

    rshakiro Профессионал в 1С Команда форума

    Регистрация:
    17 мар 2011
    Сообщения:
    2.236
    Симпатии:
    144
    Баллы:
    104
    Попробуйте использовать обработку, возможно быстрее будет работать...

    Вложения:

  3. TopicStarter Overlay
    Vlastelin_I
    Offline

    Vlastelin_I Опытный в 1С

    Регистрация:
    12 апр 2012
    Сообщения:
    76
    Симпатии:
    0
    Баллы:
    26
    Сейчас гляну что за зверь такой.
  4. TopicStarter Overlay
    Vlastelin_I
    Offline

    Vlastelin_I Опытный в 1С

    Регистрация:
    12 апр 2012
    Сообщения:
    76
    Симпатии:
    0
    Баллы:
    26
    Нет, это не то, там тоже используется НайтиСсылки. Моя задача перепровести одни документы, чтобы потом могли удалиться другие, так как первые мешают удалиться вторым. Меня интересует именно вопрос - есть ли альтернативный способ быстрее выполнить задачу, озвученную выше. Попробую определить ее проще: Список Док1 --> Найти ссылки на каждый документ ДоК1, в итоге получаем список Док2 --> Найти ссылки на Док2, в итоге получаем список Док3 --> Перепроводим список Док3. Узкое горлышко - поиск ссылок на объекты в довольно большой базе, причем 2 раза.
  5. WaRDeR
    Offline

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

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    А если не искать ссылки? Можно использовать ВыбратьПодчиненныеДокументы().
  6. TopicStarter Overlay
    Vlastelin_I
    Offline

    Vlastelin_I Опытный в 1С

    Регистрация:
    12 апр 2012
    Сообщения:
    76
    Симпатии:
    0
    Баллы:
    26
    Хмм, а это идея. Надо проверить их отношения друг с другом. Многие из них связаны через регистр, но думаю какая-то часть уйдет. Эта функция явно будет работать быстрее. Попробую.

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