Сокращение журнала регистрации (Пакетный запуск и в режиме предприятия)


Обработка сокращения журнала регистрации. Работает в режимах пакетного запуска (конфигуратор) и в режиме предприятия. Есть возможность подключения как регламентного задания.

Добрый день. Это моя первая публикация, так что если будете сильно избивать, то может последняя. 🙂 

Но безусловно буду очень рад конструктивной критике.

История: Работаю на предприятии, базы и сервера которого расположены по всей стране. Обслуживают разные администраторы и программисты. 

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

Решение: Написана обработка, которую я и публикую. Её цель дать возможность администраторам и программистам разной квалификации удобно настроить резервное копирование Журналов регистрации.

Все сокращения выполняются типовыми механизмами платформы. (Писалось на платформе 8.3.10.2561)

Как показала практика, скорость сокращения журнала регистрации примерно 6-8Gb в час при хороших условиях. (SSD или скоростной СХД). На условиях ниже среднего ~1-2Gb в час. Цифр не привожу, это просто мнение.

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

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

В обработке доступно два режима:

1. Выполнение в режиме предприятия:

В режиме предприятия

В этом режиме происходит сокращение с помощью команд

СкопироватьЖурналРегистрации( <Параметр оставлен пустым, что бы обрабатывать журнал регистрации в текущей базе> , <Путь к журналу регистрации, в который следует поместить данные>, <ОтборКопирования>);

В случае, если в Информационной базе есть типовая обработка Журнал регистрации, то будет доступен отбор сохраняемых данных с помощью её функционала. В случае отсутствия отбор устанавливается только по датам.

Причем период, установленный с помощью обработки "Журнал регистрации" будет игнорироваться, Дата начала будет очищена, дата окончания будет вычисляться в зависимости от количества оставляемых дней в исходном ЖР)

ОчиститьЖурналРегистрации(<ОтборУдаления>);

Тут отбором удаления будет являться структура без отборов. Данные просто будут удаляться по вычисленную дату.

 

2. Выполнение в режиме конфигуратора

В режиме конфигуратора

Будет осуществляться пакетный запуск в режиме конфигуратора с настройками, определенными в обработке.

С помощью конструктора можно сформировать строку запуска для любой информационной базы.

———————————

На этом, собственно, всё. Если будут вопросы или пожелания, а так же критика, то с удовольствием отвечу!

6 Comments

  1. RodinMax

    А сам файл ЖР после сокращение все равно нужно с помощью sqlite3.exe и команды vacuum обработать чтобы размер файла уменьшить?

    Reply
  2. Zedd4D

    Если речь идет о новом формате, то да. Только так.

    Reply
  3. birusik

    1С:Предприятие 8.3 (8.3.13.1513) Вот такая ошибка —

    {ВнешняяОбработка.РегламентноеЗаданиеСжатиеЖурналаРегистрации.МодульОбъекта(157)}: Ошибка при вызове метода контекста (ОчиститьЖурналРегистрации): Ошибка очистки журнала регистрации.: Метод не поддерживается данной реализацией журнала регистрации. Подскажите что можно сделать?

    Reply
  4. birusik

    Нет глобальной команды ОчиститьЖурналРегистрации и как быть, что вместо? В 8.3.10 эта команда еще есть.

    Reply
  5. Zedd4D

    (4)День добрый, пока могу порекомендовать использовать режим пакетного запуска. В настройках «Запуск конфигуратора командной строкой».

    Вообще конечно неожиданно = Пока сходу не нашел способов интерактивной очистки ЖР. Хотя даже синтаксис помощник не ругается на отсутствие метода.

    У вас журнал регистрации нового или старого формата?

    Reply
  6. birusik

    У нас расширение lgd, но формат не на SQLite.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *