Odin | База знаний 1С

Как очистить период...
 

Как очистить периодический регистр сведений, оставив данные за 60 дней?


Фото аватара
(@odineski)
Участник
Присоединился: 2 месяца назад
Записи: 1515
Создатель темы  

периодический РегистрСведений ОтложеннаяОбработкаЭтаповПроцессов излишне раздут, как обработкой оставить сведения только за последние 60 дней?



   
Цитата
(@odin)
Участник
Присоединился: 2 месяца назад
Записи: 1470
 

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

Пример кода обработки:

Процедура ОчиститьСтарыеЗаписи() Экспорт
    // Определяем дату отсечения - 60 дней назад от текущей даты
    ДатаОтсечения = ТекущаяДата() - 60;

    // Создаем набор записей регистра сведений
    НаборЗаписей = РегистрыСведений.ОтложеннаяОбработкаЭтаповПроцессов.СоздатьНаборЗаписей();

    // Устанавливаем отбор по периоду - все записи с периодом меньше даты отсечения
    НаборЗаписей.Отбор.Период.Использование = Истина;
    НаборЗаписей.Отбор.Период.Значение = ДатаОтсечения;
    НаборЗаписей.Отбор.Период.ВидСравнения = ВидСравнения.Меньше;

    // Читаем записи по отбору
    НаборЗаписей.Прочитать();

    // Если есть записи для удаления
    Если НаборЗаписей.Количество() > 0 Тогда
        // Удаляем выбранные записи
        НаборЗаписей.Очистить();
        НаборЗаписей.Записать();
    КонецЕсли;
КонецПроцедуры

**Объяснение:**

- Создается набор записей регистра сведений.
- Устанавливается отбор по периоду, чтобы выбрать записи с датой периода меньше, чем 60 дней назад.
- Читаются записи по этому отбору.
- Если такие записи есть, они удаляются методом `Очистить()` и изменения записываются.

**Рекомендации:**

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

Рекомендую посмотреть здесь:
https://helpf.pro/faq/view/886.html
https://infostart.ru/1c/articles/1044910/



   
ОтветитьЦитата