Очистка истории изменения объектов УПП

Публикация № 1661840 19.05.22

Администрирование БД - Чистка данных

УПП версии объектов чистка базы Управление производственным предприятием код обработка хранилище значений история изменений свёртка

Описание варианта реализации очистки версий объектов старше определённого периода.

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

Появилась идея не полностью чистить регистр, а просто очищать самую объемную часть - Хранилище значений.

Таким образом, записи остаются с историей изменений, и база сильно не разрастается. Также можно включить историю по всем объектам, не экономя.

Наверняка и так знаете, но просуфлирую на всякий: эту процедуру можете вставить в модуль регламентных заданий и создать само регламентное задание, указав её в качестве обработчика по расписанию.

Процедура ЧисткаВерсийОбъектов() Экспорт

	Запрос = Новый Запрос;
	Запрос.Текст = "ВЫБРАТЬ
	               |	ВерсииОбъектов.Объект,
	               |	ВерсииОбъектов.НомерВерсии,
	               |	ВерсииОбъектов.ДатаВерсии
	               |ИЗ
	               |	РегистрСведений.ВерсииОбъектов КАК ВерсииОбъектов
	               |ГДЕ
	               |	ВерсииОбъектов.ДатаВерсии < &ДатаВерсии
	               |	И НЕ ВерсииОбъектов.ВерсияПроигнорирована
	               |
	               |СГРУППИРОВАТЬ ПО
	               |	ВерсииОбъектов.Объект,
	               |	ВерсииОбъектов.НомерВерсии,
	               |	ВерсииОбъектов.ДатаВерсии
	               |
	               |УПОРЯДОЧИТЬ ПО
	               |	ВерсииОбъектов.ДатаВерсии";
	Запрос.УстановитьПараметр("ДатаВерсии", ДобавитьМесяц(ТекущаяДата(),-7)); //старше пол года. Можете этот параметр получать из константы или настройки любой для возможности менять.
	Выборка = Запрос.Выполнить().Выбрать();
	НаборЗаписей = РегистрыСведений.ВерсииОбъектов.СоздатьНаборЗаписей();
	Пока Выборка.Следующий() Цикл
		//Запишем запись в РС
		НаборЗаписей.Отбор.Объект.Установить(Выборка.Объект);
		НаборЗаписей.Отбор.НомерВерсии.Установить(Выборка.НомерВерсии);
		НаборЗаписей.Прочитать();
		НаборЗаписей[0].ВерсияОбъекта = Новый ХранилищеЗначения(Неопределено);
		НаборЗаписей[0].ВерсияПроигнорирована = Истина;
		НаборЗаписей.Записать(Истина);
	КонецЦикла;

КонецПроцедуры

Авось пригодится кому скопипастить...

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. dsdred 2140 19.05.22 09:56 Сейчас в теме
Не вводите в заблуждение людей.
История изменений и версионирование это совершенно разные вещи.
2. Goggy 1 19.05.22 14:59 Сейчас в теме
(1) Я даже и не пытался. То, что потом таким же названием начали называть отдельный механизм платформы это не значит что я кого-то ввожу в заблуждение. Скорее вы наводите на меня необоснованную инсинуацию, месье.
А в УПП именно так и называется для пользователя в меню данный типовой механизм конфигурации. Можете убедиться в этом нажав "Сервис" -> "История изменений объектов".
3. dsdred 2140 19.05.22 15:21 Сейчас в теме
(2) УПП вещь старая доступа к ней у меня сейчас нет. В любом случае я уверен что речь идёт о БСП: Версионирование объектов.

Читая заголовок, я сразу думаю про платформенный механизм. Глядя в статью я виже БСП: Версионирование объектов.

РегистрСведений.ВерсииОбъектов
4. AneJIbcuH 35 24.05.22 08:04 Сейчас в теме
"ВерсияПроигнорирована" что значит ? Где ещё используется?
Очищая просто хранилище, нормально уменьшается объем?
5. Goggy 1 24.05.22 20:16 Сейчас в теме
(4) Да нигде по сути, устаревший реквизит. Поэтому в своём случае решил использовать его для отметки уже очищенных позиций.
Оставьте свое сообщение

См. также

Хранилище версий объектов в условиях массовых изменений

Чистка данных v8 1cv8.cf Бесплатно (free)

Проблема хранения версий объектов при огромном количестве изменений.

08.11.2020    2110    Punisher_1C    4    

Быстрый способ удаления записей из журнала регистрации 1С

Журнал регистрации Чистка данных v8 Бесплатно (free)

Возникают ситуации, когда необходимо выборочно удалить из журнала регистрации определенные записи. Например, размер файлов журнала неконтролируемо вырос из-за неправильно сконфигурированного регламентного задания. С помощью Perl журнал можно очистить от лишних записей всего одной строкой.

06.08.2020    6387    DataReducer    7    

Подсистема учета характеристик. Стремление к совершенству

Чистка данных v8 v8::ОУ v8::ПВХ УТ10 УУ Бесплатно (free)

Цель - почистить задвоенность характеристик и предотвратить дальнейшее ее появление.

16.12.2019    4841    RustIG    0    

Удаление записей регистров и пересчет итогов в условиях нехватки места на диске

Чистка данных v8 1cv8.cf Россия Бесплатно (free)

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

17.04.2019    5385    semensemenbi4    9    

Как быстро "удалить все документы и движения" в базе (Альтернатива)

Чистка данных v8 Бесплатно (free)

Очень часто задают вопрос - как удалить все документы из базы, оставить только номенклатуру и настройки. Есть много различных вариантов (групповая обработка документов и справочников - да, работает, но медленно, у клиента в базе 460 000 документов проведенных - неделю будет удалять). Перенос данных - через ВыгрузкаЗагрузкаДанныхXML82.epf - можно, но тоже долго и требует определенных навыков.

06.03.2018    32068    Tatitutu    25    

Реально быстрая очистка документов через SQL

Чистка данных v8 УТ10 Россия Бесплатно (free)

Как делать нельзя, но если очень нужно, то можно!

21.02.2018    9185    Roman_SE    24    

Если при рассылке закончилось место

Чистка данных v8 Россия Бесплатно (free)

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

23.03.2017    9028    hydro2588_2015    19    

Удаление лишних данных

Чистка данных v8 Бесплатно (free)

Настало то время, когда на SSD винчестерах размером 120 Гб начало заканчиваться место.  В связи с этим, было принято решение проанализиривать возможность уменьшения занимаемого места БД. Без веского обоснования у нас никакие работы не производятся, просто так оптимизацией никто заниматься не даст. 1. Выявление таблиц БД, занимающих много места. 2. Очистка записей регистров накопления. 3. Тестирование.

25.11.2016    15456    HAMMER_59    10    

Версионирование объектов в 1С УПП 1.3. Фикс дублей

Чистка данных HighLoad оптимизация v8 УПП1 Россия Бесплатно (free)

В 1С УПП 1.3 есть такой замечательный механизм "версионирование объектов", который позволяет узнать: кто, когда и что изменил в документах и справочниках. Но есть недочеты в этой системе, программа не проверяет, является ли текущая записываемая версия объекта дублем (аналогична предыдущей версии), что в итоге захламляет базу и существенно увеличивает её объем.

1 стартмани

16.11.2015    14116    tehas    4    

БГУ 1.0. Чистим отчётность

Чистка данных v8 БГУ Государственные, бюджетные структуры Россия БУ Бесплатно (free)

Временами встречается проблема с заполнением бюджетной (бухгалтерской) отчётности в БГУ 1.0. По разным причинам отчётность может заполняться неправильно или не заполняться совсем. В данной статье приведена методика быстрой «чистки» отчётности.

29.09.2015    17706    Sergey123321    10    

Задвоение элементов плана счетов в базе на SQL.

Чистка данных v8 Бесплатно (free)

Иногда приходится разбираться с "грехами отцов", когда приходишь к клиенту, а до тебя наделали делов. Вот, собственно, проблема: Настраивали когда-то план обмена, все работало штатно. Потом обмен пошел не как надо и в справочниках появились задвоенные предопределенные элементы. В общем, на Инфостарте нашел кучу обработок, которые помогут. Но тут оказалось, что если работать с элементом "ПланСчетов", эти обработки бесполезны.

27.08.2015    9131    vasyalisk88    17    

Фоновое Задание "Удаление помеченных объектов" (не монопольно)

Чистка данных v8 1cv8.cf Россия Бесплатно (free)

Подробное описание немонопольного удаления помеченных объектов, реализованное как Фоновое Задание.

02.08.2013    22773    shvo65    10    

Как свертывать большую базу 1C 8 в максимально короткие сроки (1С 8.1, 8.2)

HighLoad оптимизация Чистка данных Свертка базы v8 УТ10 Бесплатно (free)

Как свертывать большую базу 1C 8 в максимально короткие сроки (1С 8.1, 8.2). Любая база данных со временем разрастается до огромных размеров, что делает его более медлительным и работать в нем порой бывает очень тяжело. По этому периодически базу свертывают, т.е. до определенной даты все документы и движения удаляются и вводятся начальные остатки. Соответственно всегда есть архивная база за прошлые периоды. Пример свертки базы 1С на SQL приведен здесь.

14.06.2013    66909    setrak    21    

Шринк лога транзакций MS SQL 2008/2012 в экстренном случае или боремся с ошибкой HRESULT=80040E14

Чистка данных v8 Бесплатно (free)

Пошаговая инструкция по уменьшению лога транзакций (*.ldf) MS SQL 2008/2012.

15.01.2013    349547    Kserken    53