- В этой теме 1 ответ, 2 участника, последнее обновление 3 месяца, 2 недели назад сделано .
Просмотр 1 ветки ответов
Просмотр 1 ветки ответов
- Для ответа в этой теме необходимо авторизоваться.
Программирование и администрирование в 1С
База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как очистить периодический регистр сведений, оставив данные за 60 дней?
периодический РегистрСведений ОтложеннаяОбработкаЭтаповПроцессов излишне раздут, как обработкой оставить сведения только за последние 60 дней?
Для очистки периодического регистра сведений «ОтложеннаяОбработкаЭтаповПроцессов» и сохранения только данных за последние 60 дней можно написать обработку на языке 1С, которая выполнит удаление записей с периодом старше 60 дней.
Пример кода обработки:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
Процедура ОчиститьСтарыеЗаписи() Экспорт // Определяем дату отсечения - 60 дней назад от текущей даты ДатаОтсечения = ТекущаяДата() - 60; // Создаем набор записей регистра сведений НаборЗаписей = РегистрыСведений.ОтложеннаяОбработкаЭтаповПроцессов.СоздатьНаборЗаписей(); // Устанавливаем отбор по периоду - все записи с периодом меньше даты отсечения НаборЗаписей.Отбор.Период.Использование = Истина; НаборЗаписей.Отбор.Период.Значение = ДатаОтсечения; НаборЗаписей.Отбор.Период.ВидСравнения = ВидСравнения.Меньше; // Читаем записи по отбору НаборЗаписей.Прочитать(); // Если есть записи для удаления Если НаборЗаписей.Количество() > 0 Тогда // Удаляем выбранные записи НаборЗаписей.Очистить(); НаборЗаписей.Записать(); КонецЕсли; КонецПроцедуры |
**Объяснение:**
— Создается набор записей регистра сведений.
— Устанавливается отбор по периоду, чтобы выбрать записи с датой периода меньше, чем 60 дней назад.
— Читаются записи по этому отбору.
— Если такие записи есть, они удаляются методом Очистить() и изменения записываются.
**Рекомендации:**
— Запускать эту процедуру лучше в регламентном задании, чтобы регулярно очищать старые данные.
— Перед удалением рекомендуется сделать резервную копию базы.
— Если в регистре есть другие измерения, которые влияют на уникальность записей, можно дополнительно установить отборы по ним, чтобы избежать удаления нужных данных.
Рекомендую посмотреть здесь:
https://helpf.pro/faq/view/886.html
https://infostart.ru/1c/articles/1044910/