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

Журнал регистрации — вещь нужная и полезная, но, нередко очень и очень медленная.

В версии 8.3.5.1068 были введены некоторые улучшения, которые призваны решить проблему медленного журнала регистрации. Так, в частности, журнал регистрации теперь храниться в виде одного файла — базе данных SQLite.

В старых версиях файл журнала регистрации имеет расширение «lgp» и найти его можно тут:

Журнал регистрации в старых базах

Начиная с версии 8.3.5.1068 файл журнала регистрации имеет расширение «lgd» и находится все там же:

Журнал регистрации в новых базах

Для серверных баз, файл журнала регистрации можно отыскать тут:

Журнал регистрации в серверных базах

На рисунке выше, красным подчеркнут UID базы, если баз много то узнать UID нужной базы можно заглянув в этот файл:

Список баз на сервере с UID-ами

Кроме этого была добавлена пара новых функций и изменен формат времени (теперь время хранится в UTC).

Посмотрим, какие инструменты имеются в 1С для работы с журналом регистрации.

Функции

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

ЗаписьЖурналаРегистрации — позволяет добавить запись в журнал регистрации.

ПолучитьИспользованиеЖурналаРегистрации — возвращает массив уровней журнала регистрации для которых осуществляется запись событий, настроить уровни журнала регистрации можно в меню «Администрирование»->»Настройка журнала регистрации…» или воспользоваться следующей функцией.

УстановитьИспользованиеЖурналаРегистрации — позволяет программно установить уровни журнала регистрации, функция требует монопольного доступа и административных прав.

ПредставлениеСобытийЖурналаРегистрации — возвращает локализованное название события.

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

ПолучитьЗначенияОтбораЖурналаРегистрации — позволяет получить возможные значения параметров отбора журнала регистрации, что пригодиться для формирования фильтра при использовании функции выше.

УстановитьИспользованиеСобытияЖурналаРегистрации — позволяет управлять регистрацией событий в журнале регистрации, требует административных прав.

ПолучитьИспользованиеСобытияЖурналаРегистрации — получает текущее состояние управления регистрацией указанного события, требует административных прав.

СкопироватьЖурналРегистрации — копирует часть журнала регистрации (в соответствии с фильтром) из одного файла в другой, требует административных прав.

ОчиститьЖурналРегистрации — удаляет часть записей журнала регистрации (в соответствии с фильтром), применима только для журналов нового вида (.lgd) и требует административных прав.

Данные

Как уже говорилось выше, данные из журнала регистрации можно получить при помощи функции «ВыгрузитьЖурналРегистрации».

Кроме этого для журналов регистрации нового вида (.lgd) можно использовать другой способ — внешний источник данных.

Для того, что бы использовать файл журнала регистрации в качестве внешнего источника данных, потребуется установить ODBC драйвер для SQLite, скачать его можно здесь (выбор между 32-х и 64-х битыми версиями зависит не от версии ОС, а от версии 1С).

После установки драйвера добавляем в конфигураторе новый внешний источник данных, а затем добавляем таблицы, строка соединения выглядит пример так: «DRIVER=SQLite3 ODBC Driver;Database=D:1Cv8.lgd;BigInt=1;»

Подключение к источнику данных

Затем можно будет выбрать интересующие Вас таблицы (основная таблица называется «EventLog», но для полноты информации потребуются все таблицы).

Таблицы журнала регистрации

После выполнения всех операций получится следующее:

Внешний источник данных

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

На этом все, надеюсь эта статья Вам помогла.

Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

30 минут. Слишком долго. «Соль» в том, что стандартный журнал использует динамическое обновление формы, которое в условиях движка 1С прописано настолько криво, что волосы дыбом встают. Руководителем проекта было решено использовать программный метод выявления изменений. Что из этого получилось:
-Небольшой код дает преимущество во времени выполнения ( к примеру, формирование журнала по 6-и видам документов «первички» по фильтрам всех пользователей занимает примерно минуту)
-Выгрузка данных в формат XML занимает в пределах минуты(+- 20 секунд на каждую неделю)

-Чтение формата XML занимает примерно 7 минут(общий ‘вес’ XML

-Расшифровка(чтение XML по тегам, внесение в ТЗ и выделение подстрок) занимает

8 минут рабочего времени. И, как видим, слишком не хватает из моего родного С++.
Спасибо за внимание уважаемые Хабратья

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.

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

Как работает: открываем внешнюю обработку (есть управляемая и нормальная форма), пишем путь к файлу журнала (кому повезло — тот может выбрать с помощью диалога), жмем Выполнить и наслаждаемся. Отборов никаких нет, выбирает последние 1000 записей, но зато если открываете журнал регистрации в родной базе — вроде правильно определяются ссылки!

К сожалению, обработка мне кажется абсолютно бесполезной, так как способа открыть файл журнала на работающей базе я не нашел. Если у кого есть дельные советы, замечания, предложения — прошу не стесняться и писать комментарии.

Источник: computermaker.info

Понравилась статья? Поделиться с друзьями:
Ок! Компьютер
Добавить комментарий