Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Очистка журнала регистрации

Очистка журнала регистрации
Я
   ZhigaCzar
 
27.12.20 - 23:12
Доброго времени суток.
Сделал обработку для очистки журнала регистрации до определенной даты, которая должна отрабатывать по заданному расписанию. Отрабатывала дважды:
1) Первый раз отрабатывало чуть более полутора часа и упала с ошибкой (что-то навроде того, что произошла системная непредвиденная ошибка, точный текст передать не могу, ниже будет написано почему)
2) Второй раз отработало быстрее, около часа, и результат был положительный.

Однако, когда я хотел посмотреть период, который у журнала регистрации остался, через конфигуратор, то я увидел ошибку SQL. В режиме предприятия выходит ошибка уже другая, но ссылаясь на этот же файл.
(Прошу прощения за качество картинки, скрин сделать не удалось, а сейчас воспроизвести данную ошибку не смогу)
https://ibb.co/TPR8jDp

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

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

Инфо:
Код обработки:
Функция СведенияОВнешнейОбработке() Экспорт
  ПараметрыРегистрации = Новый Структура;
  ПараметрыРегистрации.Вставить("Вид", "ДополнительнаяОбработка");
  ПараметрыРегистрации.Вставить("Наименование", "Очистка журнала регистрации"); //Наименование обработки, которым будет заполнено наименование элемента справочника
  ПараметрыРегистрации.Вставить("Версия", "1.0");
  ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
  ПараметрыРегистрации.Вставить("Информация", "Обработка очищает журнал регистрации до даты (текущая дата минус 1 месяц)"); //Краткая информация по обработке, описание обработки
  ПараметрыРегистрации.Вставить("ВерсияБСП", "1.2.1.4");
  ТаблицаКоманд = ПолучитьТаблицуКоманд();
  ДобавитьКоманду(ТаблицаКоманд,
          "Очистка журнала регистрации", //представление команды в пользовательском интерфейсе
          "ОчисткаЖурналаРегистрацииИД", //идентификатор команды; любая строка, уникальная в пределах данной обработки
          "ВызовСерверногоМетода");
  ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
  Возврат ПараметрыРегистрации;
КонецФункции

Функция ПолучитьТаблицуКоманд()
  Команды = Новый ТаблицаЗначений;
  Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
  Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
  Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
  Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
  Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
  Возврат Команды;
КонецФункции  

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
  НоваяКоманда = ТаблицаКоманд.Добавить();
  НоваяКоманда.Представление = Представление;
  НоваяКоманда.Идентификатор = Идентификатор;
  НоваяКоманда.Использование = Использование;
  НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
  НоваяКоманда.Модификатор = Модификатор;
КонецПроцедуры

Процедура ВыполнитьКоманду(ИдентификаторКоманды, ПараметрыВыполненияКоманды) Экспорт
    
    Если ИдентификаторКоманды = "ОчисткаЖурналаРегистрацииИД" Тогда
        Попытка    
            Дата = ДобавитьМесяц(ТекущаяДата(), -1);
            ПараметрыОтбора = Новый Структура();
            ПараметрыОтбора.Вставить("ДатаОкончания", Дата);
            ОчиститьЖурналРегистрации(ПараметрыОтбора);
        Исключение
            ВызватьИсключение ОписаниеОшибки();
        КонецПопытки;
    КонецЕсли;
                    
КонецПроцедуры

Платформа: 1С:Предприятие 8.3 (8.3.12.1685)
Конфигурация: 1С:ERP Управление предприятием (2.4.6.174/3.2.22.5)
   Ёпрст
 
1 - 27.12.20 - 23:29
(0) забить болт на хранение ЖР в базе скульлайт и перейти на старый теплый ламповый формат хранения. Или вообще, отключить ЖР за ненадобностью.
   D_E_S_131
 
2 - 28.12.20 - 07:02
А шо это за команды БСП? ЖР всегда пакетным запуском чистился вроде как...

Список тем форума
Рекламное место пустует  Рекламное место пустует
Программист всегда исправляет последнюю ошибку.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.