Как пометить на удаление все документы в 1С 8.3
Очень часто нужно очистить базу от всех существующих документов. Чаще всего такое бывает, когда предприятие меняет юридическое лицо. Справочники при этом нужно оставить, а документы удалить. Рассмотрим как с помощью простой обработки можно пометить на удаление все документы в 1С 8.3.
Внимание! Перед запуском обработки обязательно сделайте резервную копию базы данных 1С. Данные изменения необратимы.
Удаление всех документов 1С для пользователей
После того как копия сделана, необходимо скачать специальную обработку — Удаление всех документов в 1С 8.3. Она универсальна и подойдет для любых конфигураций 1С на базе 8.2 и 8.3.
Для открытия обработки выберите пункт главного меню «Файл — Открыть»:
Где нужно выбрать путь к скачанной обработке на Вашем жестком диске.
После открытия обработка выглядит очень просто:
Чтобы запустить процесс, необходимо нажать на единственную кнопку. Для больших баз время удаления может составить более 10 часов. Для примера — демонстрационная база 1С Бухгалтерия обрабатывается около 5 минут на компьютере средней мощности. После окончания работы документы, которые обработка не смогла пометить на удаление, отобразятся в поле сообщений с указанием причины.
Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания - попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>
Получите понятные самоучители по 1С бесплатно:
Когда выполнение завершено, можно убедиться, что документы помечены на удаление, зайдя в любой журнал документов:
После этого можно запускать Удаление помеченных объектов.
Для программистов
Обработка работает очень просто: она перебирает все виды документов, а затем обходит все документы конкретного типа.
Исходный код:
Для Каждого ТекМД из Метаданные.Документы Цикл Выборка = Документы[ТекМД.Имя].Выбрать(); Пока Выборка.Следующий() Цикл ТекОб = Выборка.ПолучитьОбъект(); Если ТекОб.ПометкаУдаления Тогда Продолжить; КонецЕсли; Попытка ТекОб.УстановитьПометкуУдаления(Истина); Исключение Сообщить("Документ " + ТекОб + " не удалось пометить на удаление, по причине " + ОписаниеОшибки()); КонецПопытки; КонецЦикла; КонецЦикла;
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
СПРОСИТЕ в комментариях!
Александр:
А слабО было поставить дату, до которой следует удалять документы? А ещё лучше приод.
BR@T@N:
А в чем проблема? Первые два параметра (дата начала периода и дата окончания периода в методе Выбрать() 🙂
Носок судьбы:
А слабО пометить на удаление: Заказы поставщикам, Чеки ККМ, Док-ты имеющие прикреплённые файлы?
[email protected]:
Спасибо! не раз приходилось использовать материал с вашего сайта, а также готовые решения! Удачи Вам в творчестве и бизнесе))
Рина:
Делала для клиента моделирование их бизнес-процессов в базе. Пользовалась Вашей обработкой чтобы вычистить базу от тестовых документов, перед передачей базы с готовыми настройками. Спасибо, она мне очень помогла!
Дмитрий:
Спасибо. Очень помогло. )
Александр:
Спасибо!
Елена:
Не запускается вообще. (( Права полные.
Аноним:
Спасибо! Очень помогло. Только похоже это на долго.
ulterior:
Спасибо! Полезная обработка. А выполнять обработку будет быстрее на sql или файловом режиме?
DrLightman:
Есть у этого подхода (для программистов) очень большой недостаток — это самый медленный способ, т.к. он удаляя документы с начала, вызывает самый большой объем пересчета регистров, не в пример обратному порядку обхода.
Аноним:
спасибо за наводку 😉
Павел:
Спасибо
MEGA1024:
Спасибо за исходный код!
Аноним:
Интересует как очистить базу 1с 8.3 от всех данных кроме справочников