Непосредственное удаление старых документов из информационной базы, в обход механизма контроля ссылочной целостности

17.12.24

База данных - Чистка данных

Обработка предназначена для непосредственного удаления старых документов из информационной базы, в обход механизма контроля ссылочной целостности. Предполагается, что обработку будет использовать квалифицированный 1С программист, который понимает, что делает. Обработка должна работать с любой 1С конфигурацией на управляемых формах.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Обработка Удалялка документов для непосредственного удаления старых документов из информационной базы, в обход механизма контроля ссылочной целостности.:
.epf 6,62Kb
11
11 Скачать (1 SM) Купить за 1 850 руб.

Обработка предназначена для непосредственного удаления старых документов из информационной базы, в обход механизма контроля ссылочной целостности. Предполагается, что обработку будет использовать квалифицированный 1С программист, который понимает, что делает. Обработка должна работать с любой конфигурацией на управляемых формах. Работала с 1С: Бухгалтерия предприятия 3.0 версии 3.0.161.22, на платформе 8.3.24.1691.

Непосредственное удаление большого количества старых документов в обход стандартного механизма, через удаление помеченных объектов – это варварство (отсюда и изображение для анонса публикации), но иногда такие задачи неизбежны. Например, у программиста физически нет времени на удаление помеченных объектов или, с чем я столкнулся при обрезке Бухгалтерии 8.3 – значительно количество документов с ручной корректировкой, которые и пометить на удаление нельзя.

Обычно такие задачи возникают при обрезке файловых информационных баз объема близким к предельному. Это неприятные проекты, с большой трудоемкостью и высокими рисками. Если программист работает с малым и средним бизнесом, то такие проекты регулярно появляются.

Прототип этой обработки я сделал для обрезки Бухгалтерии 3.0. После того, как отработала стандартная процедура свертки и все что смогла, пометила на удаление, я запустил свою обработку. По мне так удалить старые документы – это куда проще переноса нужных данных в базу-пустышку при помощи обработки ВыгрузкаЗагрузкаДанныхXML83.

Сценарий работы пользователя.

Важно: Перед началом работы необходимо сделать резервную копию и запускать обработку на копии базы.

Обработка открывается пользователем с полными правами из меню ФайлОткрыть.

Пользователь заполняет реквизит Дата свертки и использует кнопку Заполнить таблицу документов. Будет заполнена табличная часть Документы на удаление. Табличная часть содержит три колонки: Имя документа – то имя документа, что видит 1С программист в Конфигураторе, заполняется из метаданных конфигурации. флаг Удалить – если снять эту отметку, то   эти документы удалятся не будут. Третья колонка – Дата свертки документа – при заполнении табличной части берется из реквизита Дата свертки. Может потребоваться для каких-то документов изменить дату свертки, пользователь может отредактировать эту дату.  

Дата свертки документа – это дата, начиная с которой в базе будут оставлены документы, т.е. – если установлено 01.01.2020 00:00:00, то последними удаленными документами будут документы с датой 31.12.2019 23:59:59. При обрезке Бухгалтерии остатки на дату свертки формируются документами ОперацияБух, за одну секунду, до даты свертки – поэтому там необходимо отредактировать Дату свертки документа -  31.12.2019 23:59:59 и документы ввода остатков останутся.

Далее пользователь запускает удаление документов, используя кнопку Удаляем документы. По завершению работы пользователю будут выданы сообщения о том какие и сколько документов было удалено из информационной базы.

Не забываем, после удаления документов запустить в конфигураторе Тестирование и исправление информационной базы в режиме Тестирование и исправление с параметрами – Очищать ссылки и удалять объекты.   

 

Описание алгоритма удаления документов.

В цикле проходятся строки табличной части, и если в строке установлен флаг Удалить, то запросом получаем по имени ссылки на все документы, дата которых меньше Даты свертки документа и выгружаем эти ссылки в таблицу значений. Далее запускается цикл по строкам полученной на прошлом шаге таблицы значений со ссылками документов. В этом цикле организуем непосредственное удаление документов в транзакции, пакетами по 300 шт. При удалении документа-объекта указываем режим ОбменДанными.Загрузка = Истина, для того, чтобы отключить обработчик события ПередУдалением. Это существенно увеличивает скорость работы.  

Код обработки открытый.

Проверено на следующих конфигурациях и релизах:

  • Бухгалтерия предприятия, редакция 3.0, релизы 3.0.161.22

Обработка удаление старых документов свертка информационной базы обрезка информационной базы

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    12565    99    42    

100

Чистка данных Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 1С:Управление торговлей 10 1С:Управление торговлей 11 Платные (руб)

Данные обработки помогут Вам легко и, главное быстро, выполнить удаление любых данных в Ваших базах 1С на платформах 8.1-8.3. Обработки помогут легко просмотреть связи ссылок в виде дерева, выбрать что удалять, а что нет, используя любые отборы. Это позволит уменьшить объем лишней и не нужной информации в справочниках и документах, планах видов характеристик и др. объектах и облегчит работу с данными пользователям и Вам. Понятное расположение команд и настроек, в сочетании с описанием и справкой, еще упростят процесс. (Обновление от 29.06.2023, версия 4.2)

9600 руб.

22.02.2013    138983    263    144    

434

Чистка данных Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Розница 3.0 Платные (руб)

Позволяет удалить организации из любых из информационных баз 1С на управляемых формах (БП 3.0, УТ 11, КА 2, ERP 2, ЗУП 3.0, УНФ, Розница 2.0 и пр.). Главное требование - программа должна содержать справочник "Организации". Реализован самый быстрый алгоритм непосредственного удаления объектов. Работает даже на базах большого размера. Для ускорения работы алгоритма не запускается проверка контроля ссылочной целостности. Проверку учета можно запустить отдельно с помощью дополнительной обработки. Необходимо перед удалением самостоятельно проверить базу на наличие перекрестных ссылок разных организаций в одном документе. Эту дополнительную обработку проверки перекрестных ссылок по запросу предоставляем бесплатно нашим покупателям.

3582 руб.

16.03.2015    195313    213    82    

248

Чистка данных Программист Пользователь Платформа 1С v8.3 Управляемые формы 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Платные (руб)

Обработка позволяет удобно и выборочно удалить данные из базы 1С на управляемых формах например БП 3.0, УТ 11, КА 2, ERP, УНФ, ЗУП 3, Розница и др. Это могут быть как неиспользуемые элементы справочников, так и неактуальные организации. При этом есть возможность провести анализ пересечений документов с другими организациями и таким образом уберечься от того, что при удалении обороты по другой организации изменятся.

3350 руб.

28.11.2019    26288    62    16    

77

Чистка данных Системный администратор Программист Бухгалтер Пользователь Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Решение по удалению дублей позволяет определить связанные элементы в двух синхронизированных базах в качестве оригиналов и избежать необходимости ручного сравнения объектов в базах перед синхронизацией.

3960 руб.

27.06.2018    19273    11    3    

16

Оптовая торговля Логистика, склад и ТМЦ Чистка данных Программист Бухгалтер Пользователь Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Россия Управленческий учет Платные (руб)

Если вы начали работать в программном продукте Управление Торговлей, редакция 11 или Комплексная Автоматизация редакция 2 и включили механизм учёта серий, то перейти обратно в учёт без серий будет не так-то просто. Сложность заключается в том, что нужно очистить серии в табличной части документа, например, Реализация Товаров и услуг. Предлагаем алгоритм перехода на учет без серий для программного продукта УТ11. (Очистка серий.)

2400 руб.

09.04.2019    29258    43    14    

45

Чистка данных Инструментарий разработчика Системный администратор Программист Платформа 1С v8.3 Абонемент ($m)

Очередная вариативная очистка кэша 1С с помощью Исполнителя 3.0.2.2.

1 стартмани

25.10.2023    5543    5    SerVer1C    26    

23

Чистка данных Программист Платформа 1С v8.3 Управляемые формы Платформа 1C v8.2 Конфигурации 1cv8 1С:ERP Управление предприятием 2 Бесплатно (free)

ВАЖНО!!! Очистку регистров накопления и регистров сведений рекомендуется делать пользователям со знанием дела и с осознанием последствий! Обработка поможет быстро очистить выбранный регистр. Делаю данную обработку в первую очередь для себя, т.к. были случаи, когда нужно было очищать регистры, а делать красиво и удобно времени не было.

06.02.2023    20822    1408    Neiron_1C    20    

19
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ovasiliev 6 21.12.24 10:47 Сейчас в теме
"Предполагается, что обработку будет использовать квалифицированный 1С программист".. Любой квалифицированный 1С программист, и даже не очень квалифицированный, всегда напишет такое сам, между двумя глотками кофе.
2. Petr54-ru 92 21.12.24 18:35 Сейчас в теме
(1) Согласен, чужой труд, он вообще ничего не стоит.

Для того, чтобы упростить жизнь программистам я тут специально подробно описал алгоритм, почитав который, все сразу становится очевидным и простым. Вы как думаете, - не стоило тут алгоритм описывать?
3. ovasiliev 6 22.12.24 10:28 Сейчас в теме
(2) Не стоило писать , что "предполагается, что обработку будет использовать квалифицированный 1С программист". А всё остальное - стоило. Для этого эта площадка и существует.
4. Petr54-ru 92 22.12.24 18:08 Сейчас в теме
(3) Я это сознательно написал, исходя из третьего фундаментального принципа ИТ, - принципа CYA (cover your ass). Нужно людей заранее предупредить об опасности заплыва за буйки.
Оставьте свое сообщение