Имя: Пароль:
1C
1С v8
Программа теряет объект?
0 Storm03
 
15.10.23
10:41
Нужно удалить все документы по организации из Комплексной.
Написал обработку:
Процедура УдалитьНаСервере()
    Пример = Справочники.Организации.НайтиПоНаименованию("Пример ООО");
    ТекстЗапроса = "";
    Для каждого Вид Из Метаданные.Документы Цикл
        Если Вид.Реквизиты.Найти("Организация") <> Неопределено Тогда
            Если ТекстЗапроса<>"" Тогда
                ТекстЗапроса=ТекстЗапроса+"
            |
            |ОБЪЕДИНИТЬ ВСЕ";
            КонецЕсли;        
            ТекстЗапроса = ТекстЗапроса + "
            |ВЫБРАТЬ
            |    Ссылка КАК Ссылка,
            |   Дата КАК Дата
            |ИЗ Документ." + Вид.Имя + "
            |ГДЕ
            |    Ссылка.Организация = &Организация
            |    И Ссылка.ПометкаУдаления <> Истина";
        КонецЕсли;
    КонецЦикла;
            ТекстЗапроса = ТекстЗапроса + "
            |
            |УПОРЯДОЧИТЬ ПО
            |    Дата УБЫВ";    
    Запрос = Новый Запрос(ТекстЗапроса);
    Запрос.УстановитьПараметр("Организация", Пример);
    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
        ДокументОбъект = Выборка.Ссылка.ПолучитьОбъект();
        ДокументОбъект.ПометкаУдаления = Истина;
        ПУ = 1;
        Попытка
            ДокументОбъект.Записать(РежимЗаписиДокумента.ОтменаПроведения);
        Исключение
                        ПУ = 0;
            Сообщить(" " + Выборка.Ссылка + " " + ИнформацияОбОшибке().Описание);
        КонецПопытки;
        Если ПУ = 1 Тогда
            Попытка
                ДокументОбъект.Удалить();
            Исключение
                Сообщить(" " + Выборка.Ссылка + " " + ИнформацияОбОшибке().Описание);
            КонецПопытки;
        КонецЕсли;
    КонецЦикла;
КонецПроцедуры

Обработка идёт долго, примерно 4 дня.
И после выдаёт кучу ощибок типа:

4-ФСС за 9 месяцев 2020 г. (Вид: П. Организация: Пример ООО) Ошибка при вызове метода контекста (Записать)
4-ФСС за 9 месяцев 2020 г. (Вид: П. Организация: Пример ООО) Ошибка при вызове метода контекста (Удалить)

Подскажите, пожалуйста, где я затупил?
1 Волшебник
 
15.10.23
10:55
Надо понять, что за ошибка. Пока ни о чём
2 Aleksey
 
15.10.23
10:58
(0) У регламентных отчетов есть признак что он сдан, и при записи он контролируется и не дает удалить отчет если он сдан.
Скорее всего это как раз твой случай
3 Михаил Козлов
 
15.10.23
11:08
Использовал обработку с ИС (для бухии). Вроде, получалось.
Могу выслать (только найти нужно), пришлите запрос на мыло (в профиле).
4 Storm03
 
15.10.23
12:53
(2) Спасибо. Попробую.
5 shuhard
 
15.10.23
12:58
(0)[Подскажите, пожалуйста, где я затупил?]
как минимум -
ДокументОбъект.ОбменДанными.Загрузка=Истина;
6 shuhard
 
15.10.23
13:01
(5) + движения нужно очистить до пометки на удаления, отключив итоги
7 Tarlich
 
15.10.23
13:06
а по чему не использовать готовых кучу обработок
8 Storm03
 
15.10.23
20:49
Такое ощущение, что там какая-то системная ошибка вылезает.
Открыл список всех приходных документов - примерно 1 из 10 проведение отменено, но пометки удаления не стоит. ПКМ - "Установить пометку удаления" - задумывается, выдаёт ошибку "Конфликт блокировок". Тут же повторяю - устанавливает пометку...
Работаю на копии базы, я в ней один. Предварительно переиндексирована.
9 Смотрящий
 
15.10.23
21:18
(6) Отключить итоги, очистить движения, выставить пометку
Ве настолько хуево в королевстве ?
10 vicof
 
15.10.23
21:31
(5)(6) +1
11 Storm03
 
17.10.23
20:00
Т.е. по существу - почему программа пытается удалить документ, не смотря на выброшенное исключение при попытке записи - никто ничего сказать не может?
13 Zamestas
 
18.10.23
02:26
(11) Попробуй в запросе выбрать ещё и поле Проведен - если проведен, то как у тебя:
РежимЗаписиДокумента.ОтменаПроведения
а если нет, то
РежимЗаписиДокумента.Запись
14 Мимохожий Однако
 
18.10.23
06:58
Иногда проще воспользоваться РИБ и оставить при создании периферийной базы только нужную организацию. Зависит от объема базы.
15 Kigo_Kigo
 
18.10.23
09:09
Можно сделать варварским методом через удалить() и потом ТиИ с зачисткой ссылок на не существующие объекты, но тутнадо смотреть на размер базы, возможно не прокатит
16 zippygrill
 
18.10.23
11:10
Распараллель еще процесс удаления на потоки, сократишь 4 дня.
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший