Добрый день. Это моя первая публикация, так что если будете сильно избивать, то может последняя. 🙂
Но безусловно буду очень рад конструктивной критике.
История: Работаю на предприятии, базы и сервера которого расположены по всей стране. Обслуживают разные администраторы и программисты.
Проблема: Журналы регистрации никем и никак не контролируются во всех существующих информационных базах. Возможности сделать сводную задачу или информационную базу, которая делала бы резервные копии ЖР по расписанию, нет.
Решение: Написана обработка, которую я и публикую. Её цель дать возможность администраторам и программистам разной квалификации удобно настроить резервное копирование Журналов регистрации.
Все сокращения выполняются типовыми механизмами платформы. (Писалось на платформе 8.3.10.2561)
Как показала практика, скорость сокращения журнала регистрации примерно 6-8Gb в час при хороших условиях. (SSD или скоростной СХД). На условиях ниже среднего ~1-2Gb в час. Цифр не привожу, это просто мнение.
Для конфигураций, имеющих подсистему "ПодключаемыеОтчетыИОбработки", доступно подключение обработки в режиме регламентного задания типовым методом.
В случае запуска в режиме регламентного задания, пользователю, от имени которого запущен сервер 1с:Предприятия, должны быть доступны все указанные пути в настройках.
В обработке доступно два режима:
1. Выполнение в режиме предприятия:
В этом режиме происходит сокращение с помощью команд
СкопироватьЖурналРегистрации( <Параметр оставлен пустым, что бы обрабатывать журнал регистрации в текущей базе> , <Путь к журналу регистрации, в который следует поместить данные>, <ОтборКопирования>);
В случае, если в Информационной базе есть типовая обработка Журнал регистрации, то будет доступен отбор сохраняемых данных с помощью её функционала. В случае отсутствия отбор устанавливается только по датам.
Причем период, установленный с помощью обработки "Журнал регистрации" будет игнорироваться, Дата начала будет очищена, дата окончания будет вычисляться в зависимости от количества оставляемых дней в исходном ЖР)
ОчиститьЖурналРегистрации(<ОтборУдаления>);
Тут отбором удаления будет являться структура без отборов. Данные просто будут удаляться по вычисленную дату.
2. Выполнение в режиме конфигуратора
Будет осуществляться пакетный запуск в режиме конфигуратора с настройками, определенными в обработке.
С помощью конструктора можно сформировать строку запуска для любой информационной базы.
———————————
На этом, собственно, всё. Если будут вопросы или пожелания, а так же критика, то с удовольствием отвечу!
А сам файл ЖР после сокращение все равно нужно с помощью sqlite3.exe и команды vacuum обработать чтобы размер файла уменьшить?
Если речь идет о новом формате, то да. Только так.
1С:Предприятие 8.3 (8.3.13.1513) Вот такая ошибка —
{ВнешняяОбработка.РегламентноеЗаданиеСжатиеЖурналаРегистрации.МодульОбъекта(157)}: Ошибка при вызове метода контекста (ОчиститьЖурналРегистрации): Ошибка очистки журнала регистрации.: Метод не поддерживается данной реализацией журнала регистрации. Подскажите что можно сделать?
Нет глобальной команды ОчиститьЖурналРегистрации и как быть, что вместо? В 8.3.10 эта команда еще есть.
(4)День добрый, пока могу порекомендовать использовать режим пакетного запуска. В настройках «Запуск конфигуратора командной строкой».
Вообще конечно неожиданно = Пока сходу не нашел способов интерактивной очистки ЖР. Хотя даже синтаксис помощник не ругается на отсутствие метода.
У вас журнал регистрации нового или старого формата?
У нас расширение lgd, но формат не на SQLite.