Периодическая загрузка событий из журналов регистрации в базу MS SQL Server (с исходниками)

Публикация № 182820

Администрирование - Администрирование данных 1С - Журнал регистрации

93
Еще один вариант парсера файлов журнала регистрации для 8.2.
Преимущества:
1) Читает файлы напрямую, что дает высокую скорость.
2) Знает, где остановилось чтение в прошлый раз, и начинает с этого места при следующем запуске.
3) Может работать и как windows-служба, и как обычное приложение.

Приложение написано на .NET 2.0.

Порядок работы:

1) На сервере MS SQL создать пустую базу данных.

2) На сервере приложений 1С, из БД которого нужно грузить события, под административными правами запустить EventLogLoaderManager.exe

3) Указать строку соединения с базой.

Можно использовать шаблоны:
для windows-авторизации Data Source=MSSQL1;Server=имя сервера;Database=имя базы;Integrated Security=true;
для обычной авторизации  Data Source=MSSQL1;Server=имя сервера;Database=имя базы;Password=Пароль;User ID=Имя пользователя;

4) Указать интервал между циклами чтения событий из ЖР. Допустимо ставить несколько секунд - на производительности сервера не скажется.

5) Отметить те БД, события из которых необходимо периодически загружать в базу.

6) Нажать «Сохранить параметры», при этом в каталоге программы создается файл настроек setting.ini

7) Если нужна периодическая загрузка – нажимаем «Установить службу», ищем в списке служб «EventLog loader service» и исправляем аккаунт, от имени которого будет работать служба. Если строка соединения содержит логин и пароль, то можно ничего не менять, если нет, то службу нужно запускать от имени правильной учетной записи windows, которая имеет полные права на SQL-базу с событиями.

8) Если нужна разовая загрузка – запускаем из каталога программы EventLogLoader.exe. Следует учесть, что это приложение, как и служба, работает в бесконечном цикле (проверяет новые события, пишет их в базу, делает паузу, затем повторяет заново), поэтому прерывается она при нажатии любой кнопки мыши.

 

 

Некоторые особенности

1)      Для каждой ИБ журнал регистрации грузится в отдельном потоке. Если начнете грузить по сотне баз, то велика вероятность на начальном этапе повесить сервер. В дальнейшем, если проверять новые события достаточно часто (например, каждые 10 секунд), то служба быстро их записывает в базу без особой загрузки сервера.

2)      Если загрузку прервать, то при повторном запуске она продолжится с места остановки (позиция сохраняется в БД).

3)      Таблицы в БД создаются автоматически. Если вы удалили какая-нибудь таблицу - надо перезапустить службу.

4)      Все события по всем ИБ хранятся в одной таблице. Разделитель – колонка «Код информационной базы».

5)      Логи с ошибками хранятся в каталоге программы в папке «log».

6)      Работает только с платформой 8.2 (файлами lgf и lgp).

7)      В таблицах созданы только основные кластерные индексы по полю "Код информационной базы". Для ускорения запросов, которые вам требуются регулярно, нужно добавлять свои индексы.

8)      Несколько полей осталось нераспознанными (Field2, Field7, Field8). Если вам известно их назначение - сообщите, пожалуйста.

 

Описание таблиц

 

1) Infobases - список обрабатываемых ИБ. Код генерируется автоматически при добавлении новой базы в этот список. Эти же коды определяют принадлежность записей в определенной ИБ во всех других таблицах.

2) Params - хранит последние прочитанные файлы и позиции в них.

3) Назначение остальных таблиц понятно из их названия. Итоговая таблица  с событиями с присоединенными справочниками

SELECT     TOP (1000) Infobases.Name, Events.DateTime, Events.TransactionStatus, Events.TransactionStartTime, Events.TransactionMark,
                     
Users.Name AS [User], Computers.Name AS Computer, Applications.Name AS App, Events.Field2, EventsType.Name AS EventType,
                     
Events.EventType, Events.Comment, Metadata.Name AS Metadata, Events.DataStructure, Events.DataString,
                     
Servers.Name AS [Server], MainPorts.Name AS MainPort, SecondPorts.Name AS SecondPort, Events.Seance
FROM         Events INNER JOIN
                     
Applications ON Events.InfobaseCode = Applications.InfobaseCode AND Events.AppName = Applications.Code INNER JOIN
                     
Computers ON Events.InfobaseCode = Computers.InfobaseCode AND Events.ComputerName = Computers.Code INNER JOIN
                     
EventsType ON Events.InfobaseCode = EventsType.InfobaseCode AND Events.EventID = EventsType.Code INNER JOIN
                     
Infobases ON Events.InfobaseCode = Infobases.Code INNER JOIN
                     
Users ON Events.InfobaseCode = Users.InfobaseCode AND Events.UserName = Users.Code INNER JOIN
                     
SecondPorts ON Events.InfobaseCode = SecondPorts.InfobaseCode AND Events.SecondPortID = SecondPorts.Code INNER JOIN
                     
Servers ON Events.ServerID = Servers.Code AND Events.InfobaseCode = Servers.InfobaseCode INNER JOIN
                     
MainPorts ON Events.InfobaseCode = MainPorts.InfobaseCode AND Events.MainPortID = MainPorts.Code INNER JOIN
                     
Metadata ON Events.InfobaseCode = Metadata.InfobaseCode AND Events.MetadataID = Metadata.Code

 

Объемы получаемой информации

Хранение структурированных данных более затратное с точки зрения требуемого места на дисках.
Иными словами - объем базы данных будет существенно больше суммы объемов всех ЖР, которые были обработаны и загружены.

Реальный пример:

2 информационные базы с объемом ЖР 2132 Мб (1192+971).  Время первичного разбора в 2 потока (т.к. базы 2) - около 1,5 часов.

Общее количество событий - 19'507'484 млн.

Объем базы на MS SQL Server - 12879 Мб, т.е. примерно в 6 раз больше!

НО - если применить сжатие таблиц, как, например, описано здесь, то получим 1610 Мб, т.е. даже меньше исходных данных.
К сожалению, не все версии MS SQL Server поддерживают сжатие.

 

93

Скачать файлы

Наименование Файл Версия Размер
Приложение
.zip 314,56Kb
13.04.13
125
.zip 314,56Kb 125 Скачать
Исходники
.zip 1,88Mb
06.06.14
57
.zip 1,88Mb 57 Скачать

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. aspirator23 407 17.04.13 07:22 Сейчас в теме
Спасибо, как всегда интересная нестандартная публикация.
Работа с журналами в больших базах - это всегда хлопотное дело.
2. Антон Ширяев 472 17.04.13 08:52 Сейчас в теме
Безусловно программа полезна, но считаю совсем некорректным не ссылаться на мои публикацию - http://infostart.ru/public/182061/ - Формат файлов журнала регистрации 1С 8.1/8.2 - ELF/LOG/LGF/LGP и http://infostart.ru/public/181455/ - Анализ и редактирование файлов журнала регистрации 1С 8.1/8.2 - ELF/LOG/LGF/LGP

Возможно конечно вы их вовсе не использовали в своей работе, но как минимум в них заходили и даже скачивали файл АнализФайловЖурналаРегистрации_1_0.epf, поэтому не знать о них не могли.
3. Aleksey.Bochkov 3249 17.04.13 10:06 Сейчас в теме
(2) - программа была разработана ранее ваших публикаций, но только сейчас дошли руки оформить ее в нормальном виде. Плюс - она же бесплатная.
Вот если бы я использовал ваши разработки для коммерческой версии, тогда претензия была бы обоснована.
Прикрепленные файлы:
Vyacheslide; ram3; michmich; RegrZ; hazyaka; +5 Ответить
4. cool.vlad4 45 17.04.13 10:31 Сейчас в теме
(3) с вашими знаниями вы вполне могли использовать File.SetCreationTime ;)
Прикрепленные файлы:
5. Aleksey.Bochkov 3249 17.04.13 10:51 Сейчас в теме
(4) вот предыстория. Так убедительнее? :)
Прикрепленные файлы:
kirillkr; +1 Ответить
6. Антон Ширяев 472 17.04.13 12:51 Сейчас в теме
(3)
тогда претензия была бы обоснована

Претензии не было, было указано лишь на то, что некорректно не ссылаться на публикации которые перекликаются с вашей, т.к. до этого на Инфостарте не было публикаций где применялось прямое чтение файлов журнала регистрации.
Ну и конечно же это ваше дело, но раз уже был разобран формат файлов журнала регистрации, то могли бы и оставить свои комментарии к моим публикациям, например что в 8.2 значат справочники 11, 12 и 13, встречаются ли другие справочники, всегда ли последней колонке {0}, как корректно разбирать {"P",...
7. Valet 56 02.05.13 23:20 Сейчас в теме
(0)Приложите обработку для просмотра ЖР на SQL из 1С, тогда это будет законченное решение.
Да, многим не составит труда её саму написать, но лень/некогда/немогу(нужное подчеркнуть) и другие причины уменьшают количество потенциальных пользователей.
hazyaka; METAL; the_master; +3 Ответить
8. kiruha 380 06.06.14 09:53 Сейчас в теме
Насколько сказывается работа этой программы на производительности основной базы ?
Возможен ли вариант блокировок и т.п. ?
9. Aleksey.Bochkov 3249 06.06.14 11:39 Сейчас в теме
(8) kiruha,
Насколько сказывается работа этой программы на производительности основной базы ?

Приложение никак не взаимодействует с основной базой. Данные читаются из файлов на сервере приложений 1С.
Но вычислительная нагрузка, конечно присутствует. Если баз несколько, то ее будет незаметно. Если же запустить загрузка ЖР сразу из сотни - какую-то существенную долю процессора и дисков приложение съест.
Возможен ли вариант блокировок и т.п. ?

Нет.
10. adapter 514 06.06.14 15:23 Сейчас в теме
А что потом делать с этими данными в SQL ? как отобрать все записи об изменении приходной накладной №000345 ? или выбрать все что ввела за сегодня Маша Иванова? Сравнить с Таней Петровой? Информация имеет смысл если ее можно легко обработать.
11. Aleksey.Bochkov 3249 06.06.14 15:48 Сейчас в теме
(10) adapter,
Алгоритм тут будет очень похож на тот, который вы бы сделали для решения аналогичной задачи с журналом регистрации внутри 1С.
Идентификаторы пользователей и объектов метаданных есть. ГУИДы объектов также. Пишите правильный запрос и получите правильные данные :).
Вот тут есть хороший вариант применения - http://infostart.ru/public/182833/. Решается, казалось бы, легкая задача, но на самом деле совсем нетривиальная (т.к. в 1С до сих пор нет нормальных штатных инструментов для получения реальной длительности записи и проведения документов, точнее, длительности транзакций).

Но я бы сказал так - инструмент предназначен скорее всего для тех, кто понимает - что потом с этими данными в SQL делать :).
14. vis_tmp 30 05.02.15 11:56 Сейчас в теме
(11) Алексей, будет ли программа корректно отрабатывать в случае удаления файла журнала регистрации.
Ситуация следующая: имеем файл журнала регистрации большого объёма, начали пользоваться вашей программой.
Потом решили этот большой файл удалить, чтобы он начался заново.
Программа будет переносить записи уже из нового файла и добавлять их к уже имеющимся в SQL ?
15. Aleksey.Bochkov 3249 07.02.15 01:45 Сейчас в теме
(14) vis_tmp,
Позиция, с которой необходимо продолжать чтение в журнале регистрации, хранится в разрезе имен файлов.
Т.е. если файл будет удален то 1С создаст новый с новым именем, а чтение начнется с начала и записи будут добавляться к уже имеющимся.

Кстати, у меня уже новая версия есть.
- добавил загрузку из нового формата журнала регистрации 8.3 (SQLite)
- добавил возможность загрузки событий в MySQL базу данных.
- менеджер настроек теперь отображает файловые базы пользователя, также можно добавить путь вручную.
- исправил пару ошибок в загрузке событий.

Бинарники во вложении, публикацию обновлю позже.
Но я не тестировал на 32-разрядной системе..
Прикрепленные файлы:
1.1.2.1.zip
25. farukshin 93 01.09.16 12:00 Сейчас в теме
(10) adapter,
А что потом делать с этими данными в SQL ?


Как вариант - анализ и визуализация данных в ElasticSearch http://infostart.ru/public/545895/
12. chmv 27.06.14 15:12 Сейчас в теме
13. newgluk 83 24.09.14 09:54 Сейчас в теме
в MS SQL 2012: (ERROR): Ошибка получения ID ИБ из БД (mybase). System.Data.SqlClient.SqlException: Invalid object name 'dbo.Infobases'.
Или это я с правами не разобрался?
16. dimon_upi 06.04.15 08:36 Сейчас в теме
Спасибо большое. Очень полезно, давно сам хотел сделать, но уж больно много вкусностей вы положили в свою работу.
17. xinex 28.09.15 15:29 Сейчас в теме
Алексей, периодически останавливается загрузка данных ЖР в базу.
ПО EventLogLoader грузит ядро процессора на 100%, но данные в SQL не пишет.

Спасибо за данное ПО, сильно помогает в работе.

upd:

Нашел причину. EventLogLoader не может корректно обработать события, где очень большой коментарий:
{20140917161102,N,
{0,0},129,1377,4,5280,32,E,"{ОбщийМодуль.Название.Модуль(1467)}: {""#"",e199ca70-93cf-46ce-a54b-6edc88c3a296,
{#base64: здесь 323КБ символов в 9800 строках
}
}",0,
{"S","Расчет завершен."},"",1,14,2,10485,0,
{0}
}
18. milanse 33 19.11.15 16:23 Сейчас в теме
Привет.

У меня сейчас реализован сбор данных через ком, на основании местной же разработки, хотел переписывать через вебсервис, но это, походу не нужно ;)
Работает весьма и весьма шустро. не нужно парсить гигабайтные xml выгрузки журналов.
Сейчас тестирую параллельную загрузку журнала 1 базы из 3-х источников - работающая база, 2 файла журнала, которые в один прекрасный момент пришли в негодность. Пока все работает

Использую бинарник 1.1.2.1.zip т.к. журналы в формате sqlight - не заполняется колонка [MetadataID] видимо metadataCodes в базе там ид метаданных через запятую, а для связи используется таблица EventLogMetadata, не смотрел еще, но скорее всего когда в metadataCodes несколько кодов (типа события регистрации ошибок доступа) то в ней на каждую запись события несколько записей кодов метаданных.
сырцов нет, поправить особо возможности тоже, если есть возможность сделать в [MetadataID] первый по счету ИД - было бы здорово.

Со своей стороны выложу обработку для открытия событий по объекту с обращением к базе журнала. т.к. буду использовать сие в своих конфах.
19. Aleksey.Bochkov 3249 19.11.15 20:45 Сейчас в теме
20. nwomib 02.12.15 13:56 Сейчас в теме
Очень большая просьба, там же выкладывать скомпилированные варианты т.к. уже немного запарился компилировать, вечные ошибки.

Будет ли фича очистки за собой логов с настройкой глубины чистки?
21. nwomib 02.12.15 13:57 Сейчас в теме
Имеется в виду, прочёл лог 1ски , прошло 5 дней и почистил лог 1ски.
23. Aleksey.Bochkov 3249 10.06.16 08:26 Сейчас в теме
Попробовал собрать актуальную версию... не уверен, что все правильно сделал, т.к. давно не занимался.
Скачать можно здесь: https://github.com/alekseybochkov/EventLogLoader/releases/tag/1.0.0.2
Если будут проблемы - попробую поправить.
29. zzz_natali 59 26.07.17 16:18 Сейчас в теме
(23) Ваш запрос T-SQL не выводит данные. Формируются заголовки столбцов и всё. Данные в базе есть(ибо если ручками делать select top 1000, то выводит потроха). В чём может быть прикол? Спасибо.
30. JohnyDeath 295 26.07.17 23:07 Сейчас в теме
(29) какой формат лога? Текст?
31. zzz_natali 59 27.07.17 05:29 Сейчас в теме
(30) Формат lgf/lgp. Текст чего, запроса? - взят с публикации.
37. Noxie41 16.11.18 16:53 Сейчас в теме
(29) Проблема во внутреннем соединении в запросе по таблице дополнительного ip порта.
Исправленный запрос ниже:
SELECT TOP (1000) Infobases.Name,
       Events.DateTime,
       Events.TransactionStatus,
       Events.TransactionStartTime,
       Events.TransactionMark,
       Users.Name AS [User],
       Computers.Name AS Computer,
       Applications.Name AS App,
       Events.Field2,
       EventsType.Name AS EventType,
       Events.EventType,
       Events.Comment,
       Metadata.Name AS Metadata,
       Events.DataStructure,
       Events.DataString,
       Servers.Name AS [Server],
       MainPorts.Name AS MainPort,
       SecondPorts.Name AS SecondPort,
       Events.Seance
FROM EVENTS
INNER JOIN Applications ON Events.InfobaseCode = Applications.InfobaseCode
AND Events.AppName = Applications.Code
INNER JOIN Computers ON Events.InfobaseCode = Computers.InfobaseCode
AND Events.ComputerName = Computers.Code
INNER JOIN EventsType ON Events.InfobaseCode = EventsType.InfobaseCode
AND Events.EventID = EventsType.Code
INNER JOIN Infobases ON Events.InfobaseCode = Infobases.Code
INNER JOIN Users ON Events.InfobaseCode = Users.InfobaseCode
AND Events.UserName = Users.Code
LEFT JOIN SecondPorts ON Events.InfobaseCode = SecondPorts.InfobaseCode
AND Events.SecondPortID = SecondPorts.Code
INNER JOIN Servers ON Events.ServerID = Servers.Code
AND Events.InfobaseCode = Servers.InfobaseCode
INNER JOIN MainPorts ON Events.InfobaseCode = MainPorts.InfobaseCode
AND Events.MainPortID = MainPorts.Code
INNER JOIN Metadata ON Events.InfobaseCode = Metadata.InfobaseCode
AND Events.MetadataID = Metadata.Code
Показать
Aleksey.Bochkov; +1 Ответить
24. Oleg1978 19.07.16 12:36 Сейчас в теме
Алексей, добрый день!

Я правильно понимаю, что журнал регистрации 1С отображать на Microsoft SQL Server штатными настройками невозможно (по аналогии со всеми другими таблицами информационной базы)? А Ваша обработка как раз и формирует на SQL необходимые таблицы и загружает в нее данные из файла ? Подскажите, пожалуйста, Ваша обработка может работать с версией Предприятия 1С 8.3.7 и файлом .lgf ? Спасибо!
26. zarucheisky 07.09.16 13:53 Сейчас в теме
(24) Oleg1978, с версией Предприятия 1С 8.3.7 ЖР хранится в формате SQLite - можно поставить ODBC драйвер.
27. alyaev.a.v 08.11.16 13:00 Сейчас в теме
Хорошо бы кто поправил ошибку при загрузке, например такая запись останавливает загрузку и сервис тупо висит:
{20160418154655,N,
{0,0},63,1,4,113934,75,E,"",98,
{"S","{ОбщийМодуль.ОбщегоНазначения.Модуль(6907)}: Не удалось записать ""Документ 0001834 от 07.11.2015 13:45:11""!(ТУТ ПЕРЕВОД НА СЛЕД СТРОКУ)
Для документа договор обязательно должен быть заполнен!!!(ТУТ ПЕРЕВОД НА СЛЕД СТРОКУ)
ВызватьИсключение СокрЛП(КраткоеПредставлениеОшибки(Информация) + Символы.ПС + СокрЛП(ТекстИсключения));"},"",1,8,0,21665,0,
{2,1,1,2,1}
}

если в тексте убрать перевод строки и сделать так(удалить переводы строк в описании сообщения)то все работает :
{20160418154655,N,
{0,0},63,1,4,113934,75,E,"",98,
{"S","{ОбщийМодуль.ОбщегоНазначения.Модуль(6907)}: Не удалось записать ""Документ 0001834 от 07.11.2015 13:45:11""!Для документа договор обязательно должен быть заполнен!!! ВызватьИсключение СокрЛП(КраткоеПредставлениеОшибки(Информация) + Символы.ПС + СокрЛП(ТекстИсключения));"},"",1,8,0,21665,0,
{2,1,1,2,1}
}
Aleksey.Bochkov; +1 Ответить
28. baton_pk 396 11.01.17 13:42 Сейчас в теме
32. SashkaIvanov 06.03.18 13:54 Сейчас в теме
Произошел какой-то сбой, в таблице Events выдаются записи которые не от этой базы, не к тому пользователю. Если сравнивать файловый, и то что в БД, имеется запись с датой и id но пользователь не тот, и событие не то. как будто что-то перепуталось (сервис работает сразу с 3 базами) и чать данных от одной базы, а часть от другой. Если ли возможность как-то исправить данную ошибку. И есть ли возможность например вызвать что-то чтобы удалить записи по последнему лог файлу, и запустить повторный экспорт.(Пойдет ли вариант удаления в params и зачистка всех таблиц от данного кода Infobases?)
33. SashkaIvanov 06.03.18 14:45 Сейчас в теме
Новая версия к старой базе БД не создает колонку в params LastEventID из-за этого запись не создается
34. SashkaIvanov 19.03.18 08:55 Сейчас в теме
Сейчас пытаюсь все таки понять что произошло, произошло что-то с бд. Таблица User заполнена криво, то есть коды пользователей в таблице EVENTS соответствуют кодам USER, но в таблице USER какие-то левые пользователи под этими кодами. Пробовал по ГУИДУ искать пользователей в базе,(Гуид который указан в колонке GUIS , ничего не находит.) откуда тогда они взялись. Сразу скажу в базе Гуиды не поменялись, ну даже если и поменялись, ведь загрузка должна была создать новую строку, чего не произошло. В общем на текущий момент пока что ошибка в том что таблица USER кривая, и не понятно как ее перезаполнить, ведь удалив из таблицы все, и затем запустив загрузчик, User приедут с новыми кодами, и все предыдущие логи будут утерены!
36. alyaev.a.v 21.06.18 13:37 Сейчас в теме
Предыдущий коммент не правильно описал исправить нет возможности, вот так правильно:

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



{20180515000000,C,
{2430080b7a000,2cf},101,161,3,235565,1,I,"",0,
{"U"},"",2,10,0,4885,0,
{2,1,1,2,1}
},КОГДА СЛУЧАЕТСЯ ОСТАНОВКА И ЧТЕНИЕ ПРЕКРАЩАЕТСЯ НОМЕР ПОЗИЦИИ УКАЗЫВАЕТ СЮДА
ОБЫЧНО НОМЕР ПОЗИЦИИ УКАЗЫВАЕТ СЮДА И ВСЕ РАБОТАЕТ ХОРОШО{20180515000000,C,
{2430080b7a000,2cf},101,161,3,235565,2,I,"",0,
{"U"},"",2,10,0,4885,0,
{2,1,1,2,1}
},

Если руками в файле поправить позицию, установить на начало строки то чтение возобновляется и файл дочитывается нормально.
38. dimkakopylow001 5 14.06.19 16:32 Сейчас в теме
Откуда подтягивается список баз данных ?
39. Aleksey.Bochkov 3249 15.06.19 08:05 Сейчас в теме
(38) Список баз читается из конфигурационных файлов кластера 1С (1CV8Reg.lst для 8.2, 1CV8Clst.lst для 8.3) - будут отображены все текущие рабочие базы.
40. _KUL 05.07.19 10:42 Сейчас в теме
Алексей, здравствуйте!
Подскажите пожалуйста, как вы получаете данные о именах пользователей, компьютерах и т.д., для ассоциации с id номерами в логах? Или укажите ссылочку на блоки кода на гитхабе. В таком масштабном проекте для такой маленькой задачи и на таком не особо популярном ЯП написано, тяжко вникать ... :)
41. Aleksey.Bochkov 3249 12.07.19 10:20 Сейчас в теме
(40) если ЖР в файловом формате, то справочники хранятся в отдельном файле. Парсер тут - https://github.com/alekseybochkov/EventLogLoader/blob/master/EventLogLoader­Service/EventLogProcessor.vb#L1168
В SQLite формате для каждого справочника создана отдельная таблица. Запросы тут - https://github.com/alekseybochkov/EventLogLoader/blob/master/EventLogLoader­Service/EventLogProcessor.vb#L1095
А вообще вопрос не очень понятен...
serge_focus; acanta; +2 Ответить
42. _KUL 24.07.19 04:15 Сейчас в теме
(41)
Большое Вам спасибо за ответ! Как то упустил из виду файлик 1Cv8.lgf ... Делаю распределённую систему с хранением в SQL, пока для 8.2, ваши исходники как "библия" :), но логику всё равно немного по другому сделал ...
Оставьте свое сообщение

См. также

Управление историей изменения данных 1

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf Россия Абонемент ($m) Журнал регистрации

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

10 стартмани

09.11.2019    726    D_E_S131    3       

Анализ загруженности сотрудников по Журналу регистрации 4

Отчеты и формы no Внешний отчет (ert,erf) v8 1cv8.cf БП3.0 Беларусь Россия Абонемент ($m) Журнал регистрации Учет рабочего времени

Отчет позволяет оценить активность сотрудников (пользователей 1С) согласно данным, полученным из Журнала регистрации.

1 стартмани

29.10.2019    925    7    adeptis    0       

Версионирование объеков УТ 10 с возможностью перехода к сохраненной версии 2

Инструменты и обработки no Конфигурация (md, cf) v8 УТ10 Абонемент ($m) Журнал регистрации Универсальные функции

Версионирование объектов УТ 10.3 с возможностью перехода к сохраненной версии. Взята стандартная система версионирования УПП, добавлена возможность восстановления ранее сохраненной версии.

1 стартмани

28.10.2019    1196    1    art.prm    0       

История изменений за период УТ 11 6

Отчеты и формы no Внешний отчет (ert,erf) v8 УТ11 Россия Абонемент ($m) Журнал регистрации Администрирование данных 1С

Отчёт позволяет за выбранный период посмотреть, кто и в каких документах изменял важные реквизиты ! Отчёт не показывает всё подряд, а только важные вам (выбранные) реквизиты.

1 стартмани

25.10.2019    1077    14    SergeyRomanov    7       

История версий объектов для УФ 49

Отчеты и формы Программист Пользователь Архив с данными v8 v8::УФ 1cv8.cf Россия Windows Абонемент ($m) Журнал регистрации Обработка документов Обработка справочников

Универсальная независимая система хранения и анализа истории изменений справочников и документов. Предназначена для любых конфигураций 1С V83 ((8.3.9.1818) и выше) в режиме управляемого приложения.

1 стартмани

17.10.2019    3358    21    dmitrydemenew    19       

Быстрый поиск в журналe регистрации 1С *.lgd 11

Инструменты и обработки Системный администратор Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Журнал регистрации

Обработка для быстрого поиска данных в журнале регистрации 1С SQLite (.lgd). 8.3.15.

1 стартмани

10.10.2019    2823    8    andboss    3       

Сложнейшая загрузка журнала регистрации в ElasticSearch (или делаем настоящий ETL) 36

Инструменты и обработки Системный администратор Архив с данными v8 Россия Windows Абонемент ($m) Журнал регистрации

Году в 2017ом возникло (наверное странное на тот момент) желание перегрузить журнал регистраций 1С в ELK. Чтобы журналы место на диске не съедали, 1С программисты забыв поставить фильтр сервер не подвешивали, все журналы лежали в одном месте да и можно было безопасно туда ответственных пользователей пускать, чтобы сами смотрели кто какой документ поправил.На предложение написать выгрузку сразу из 1С программисты благополучно забили ("ой на это минимум месяц", "у нас срочные бизнес-фичи" и т.д. и т.п.). Зато попалась статья от Aleksey.Bochkov (https://infostart.ru/public/182820/). Ну и решили мы все это запилить без 1С программистов. Во что влезаем я тогда еще не понимал. А вылилось почти в год допилок (хорошо хоть в фоновом режиме) в цельный ETL с использованием C#, T-SQL и прочими делами.

1 стартмани

27.09.2019    3930    3    DonAlPatino    32       

Удаление журнала регистрации с отбором 4

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf Россия Абонемент ($m) Журнал регистрации

Обработка очистки журнала регистрации с отбором по пользователю и периоду для обычного приложения.

2 стартмани

05.09.2019    1077    4    doctorov_s    4       

Журнали2Ст: сверхбыстрый журнал регистрации 1С 87

Инструменты и обработки Системный администратор Программист Приложение (exe) v8 Windows Абонемент ($m) Журнал регистрации

Строит внешний индекс по журналам регистрации любого формата и делает поиск в них фантастически быстрым. Дополнительно ничего не нужно настраивать! Журналы Регистрации остаются на своём месте и не занимают дополнительного, а сервис Журнали2Ста обеспечивает их постоянную индексацию.

1 стартмани

22.08.2019    5472    47    MrWonder    49       

Отчет по изменению документа 7

Отчеты и формы Пользователь Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Журнал регистрации

Данная обработка покажет, кто изменил определенный документ.

1 стартмани

30.07.2019    1359    6    ranis888    6       

Отправление событий журнала регистрации в приватный / публичный канал Telegram в виде сообщений и файлов 6

Инструменты и обработки Программист Конфигурация (md, cf) v8 v8::УФ Абонемент ($m) WEB Журнал регистрации

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

1 стартмани

29.07.2019    1505    3    serg-lom89    0       

Простейшее использование Elasticsearch для работы с журналом регистрации 17

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf Абонемент ($m) Журнал регистрации

Простейшая настройка выгрузки журнала регистрации в Elasticsearch для ускорения поиска.

1 стартмани

20.06.2019    2734    2    milut    7       

Как отправить ошибки из журнала регистрации на почту? Продолжение. Отдельная база 4

Инструменты и обработки no Конфигурация (md, cf) v8 Windows Абонемент ($m) Журнал регистрации

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

1 стартмани

27.05.2019    1884    2    wowik    0       

Запуск встроенного в платформу механизма История данных для ленивых 17

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Журнал регистрации

В последних версиях платформы 1С появился замечательный механизм Истории данных. Если кратко, механизм позволяет сохранять историю, просматривать, сверять и самое приятное, это восстанавливать любую версию объекта. А самое главное, чтобы это заработало, не нужно продумывать, писать и поддерживать тонны кода, все уже сделано за нас... Возникает вопрос: Как запустить встроенный в платформу механизм Истории данных ничего не кодируя?

1 стартмани

24.05.2019    3379    3    _root    12       

Отчет для просмотра отчетов, которые запускали пользователи 12

Отчеты и формы Системный администратор Пользователь Внешний отчет (ert,erf) v8 1cv8.cf Абонемент ($m) Журнал регистрации

Отчет отвечает на вопрос: кто, и как часто формирует отчеты. Было протестировано на Управлении торговлей, конфигурация 11.4.1.273.

1 стартмани

18.05.2019    2166    8    Mari_Kuznetzova    3       

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

Инструменты и обработки Системный администратор Программист Конфигурация (md, cf) v8 1cv8.cf Абонемент ($m) Журнал регистрации Поиск данных

Elasticsearch - это opensource решение для очень быстрого поиска данных в больших массивах информации. Использование этого решения позволит решить проблемы с поиском и анализом больших объемов информации журнала регистрации. Протестировано на платформах начиная с 8.3.10.2580.

5 стартмани

15.05.2019    3803    14    Nikolo17    12       

Журнал Регистрации ➜ Телеграмм 109

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8::УФ 1cv8.cf Россия Абонемент ($m) Журнал регистрации

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

1 стартмани

14.05.2019    6114    17    🅵🅾️🆇    9       

История данных [Расширение] УТ11 7

Инструменты и обработки Программист Расширение (cfe) v8 УТ11 Абонемент ($m) Журнал регистрации

Расширение позволяет хранить (восстанавливать) историю данных прикладных объектов (справочников, документов, движений регистров по документам).

3 стартмани

06.05.2019    2184    2    noprogrammer    6       

История выполнения фоновых заданий в виде диаграмм (версия 6.4.17) 20

Отчеты и формы Системный администратор Программист Внешний отчет (ert,erf) v8 1cv8.cf Абонемент ($m) Журнал регистрации

Отчет предназначен для получения из журнала регистрации данных об истории выполнения фоновых заданий и отображения их в виде диаграмм.

1 стартмани

26.04.2019    2949    19    sertak    21       

Журнал регистрации по навигационной ссылке 7

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Журнал регистрации

Обработка получает записи журнала регистрации только по указанной навигационной ссылке (либо просто по ссылке).

1 стартмани

13.03.2019    2513    2    Смешной 1С    0       

Сообщение об ошибках журнала регистрации по электронной почте 2

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf ЗКГУ3.0 БП3.0 ЗУП3.x Россия Абонемент ($m) Журнал регистрации Email

Универсальная внешняя обработка по выгрузки ошибок журнала регистрации по электронной почте. Может работать как отдельно по команде, так и быть загруженной в справочник Дополнительные отчеты и обработки и запускаться по настраиваемому расписанию.

2 стартмани

04.03.2019    1770    3    ig-efrem    2       

Запрос к Журналу регистрации 2

Отчеты и формы Системный администратор Программист Внешний отчет (ert,erf) v8 ЗКГУ3.0 Россия Windows Абонемент ($m) Журнал регистрации

Краткая форма получения сведений из Журнала регистрации - с детализацией событий до минут

1 стартмани

03.03.2019    2150    9    mnb-next    2       

История версий объектов 2

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf Россия Абонемент ($m) Журнал регистрации

Подсистема для записи и хранения изменений любых объектов ссылочного типа. Формирует хронологию работы пользователей с базой данных. Позволяет произвести быстрый поиск версии объекта БД по указанным параметрам и восстановить данные выбранной версии. Протестирована в конфигурации ЗУП, редакция 2.5 на платформе 1С:Предприятие 8.2 (8.2.19.130). Обычные формы. В поставке выгрузка тестовой демонстрационной базы и файл CF c объектами подсистемы.

1 стартмани

22.02.2019    2830    7    dmitrydemenew    3       

Рассылка событий журнала регистрации 4

Инструменты и обработки Программист Конфигурация (md, cf) v8 1cv8.cf Абонемент ($m) Журнал регистрации

Отправка событий журнала регистрации на почту с возможностью группировки и фильтрации.

1 стартмани

07.02.2019    2397    2    Just4Fun    0       

Как отправить ошибки из журнала регистрации на почту? 34

Статья Программист Нет файла v8 УПП1 Абонемент ($m) Журнал регистрации

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

1 стартмани

06.02.2019    4591    wowik    0       

Монитор активных пользователей по журналу регистрации 1

Инструменты и обработки Системный администратор Внешняя обработка (ert,epf) v8 1cv8.cf Россия Windows Абонемент ($m) Журнал регистрации

Монитор активности пользовательских сеансов с возможностью завершить сеансы и соединения. Платформа 1С: 8.3.12.1685. БСП не используется

1 стартмани

01.02.2019    2409    3    mefalcon    2       

Ошибки, предупреждения и прочее из журнала регистрации на почту и в Telegram автоматически (БП 3, ЗУП 3.1, УТ 11.4, ERP 2.4, Розница 2.2) 22

Инструменты и обработки Системный администратор Программист Пользователь Внешняя обработка (ert,epf) v8 Розница УНФ ERP2 ЗКГУ3.0 БП3.0 УТ11 ЗУП3.x Абонемент ($m) Журнал регистрации Поиск данных Тестирование и исправление Email

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

2 стартмани

28.01.2019    4421    23    Redinternational    3       

Удаление одинаковых версий в журнале регистрации, очистка записей по неверсионированным объектам 1

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf Украина Абонемент ($m) Чистка базы Журнал регистрации

Обработка также позволяет очищать лишние записи версий объектов, которые все-таки остаются для регистрации в журнале регистрации. Также возможна очистка по неверсионированным в журнале регистрации объектам.

2 стартмани

09.01.2019    2266    t_yuri    0       

Архивирование и удаление файлов журнала регистрации на Linux-сервере 3

Инструменты и обработки Системный администратор Архив с данными v8 Linux Абонемент ($m) Журнал регистрации

Bash-скрипт для архивации и удаления файлов Журнала регистрации в старом формате на Linux-сервере 1С Предприятия.

1 стартмани

29.11.2018    2777    Sloth    4       

Загрузка журнала регистрации 1С v8 в базу SQLServer 6

Инструменты и обработки Системный администратор Программист Архив с данными v8 Россия Windows Абонемент ($m) Журнал регистрации

Загрузка журнала регистрации 1С v8 в базу SQLServer, для хранения архивной информации по журналам, быстрого поиска и/или переноса данных из журнала и его усечения.

10 стартмани

26.10.2018    3973    7    user1054014    12       

Мониторинг активности пользователя 26

Инструменты и обработки Системный администратор Расширение (cfe) v8 БП3.0 Россия Абонемент ($m) Журнал регистрации

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

1 стартмани

26.10.2018    4228    47    xan333    2       

Python-скрипт для массового переключения формата журнала регистрации 3

Инструменты и обработки Системный администратор Архив с данными v8 1cv8.cf Абонемент ($m) Журнал регистрации

Python-скрипт для массового переключения формата журнала регистрации. В первую очередь из SQL в файл. python.exe 1c_format_log_chenger.py Analyze, clearing and change journal format for 1C journal system Use -a or --analyze for analyzing Use -c or --clear for delete all log files Use --sql2file for change logfiles format 2 File Use --file2sql for change logfiles format 2 SQL

1 стартмани

12.10.2018    3490    DonAlPatino    8       

История изменений с ОТКАТОМ (на основе типового решения) 4

Отчеты и формы Системный администратор Бухгалтер Внешняя обработка (ert,epf) v8 УТ11 Россия Абонемент ($m) Журнал регистрации

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

1 стартмани

11.10.2018    3375    6    strelec13    2       

Отчет "История изменения объектов" на СКД для БП 3.0, УТ 11, КА 2, ERP 2 (версии объектов) с использованием версионирования объектов 9

Отчеты и формы Системный администратор Бухгалтер Внешний отчет (ert,erf) v8 v8::УФ v8::СКД ERP2 БП3.0 УТ11 КА2 Россия Windows Абонемент ($m) Журнал регистрации

Отчет "История изменения объектов" предназначен для отслеживания изменений справочников и документов в базах 1С. Позволяет выводить сводную таблицу изменений одновременно по всем отобранным объектам. Работает в конфигурациях БП 3.0, УТ 11, КА 2.0, ERP 2.

5 стартмани

03.10.2018    5722    49    mrm1212    35       

Обработка журнала регистрации в формате SQLLite 7

Инструменты и обработки Системный администратор Внешняя обработка (ert,epf) v8 1cv8.cf Россия Windows Абонемент ($m) Журнал регистрации

Обработка предназначена для работы с файлом "1Cv8.lgd" журнала регистрации 1С в формате "SQLLite". Выборка и удаление записей.

1 стартмани

14.09.2018    4705    35    VslavKup    6       

Активные сеансы пользователей на СКД по журналу регистрации для анализа пиков активности и количества одновременно запущенных сеансов 1

Отчеты и формы Системный администратор Внешний отчет (ert,erf) v8 v8::СКД 1cv8.cf Абонемент ($m) Журнал регистрации

Отчет на СКД по журналу регистрации исключительно по событиям сеансов - начало и завершение. Отчет можно использовать для анализа количества работающих пользователей по часам рабочего дня и поиска пиков активности.

1 стартмани

24.08.2018    3841    17    cmax    0       

Мой велосипед для журнала регистрации. Внешний отчёт 4

Отчеты и формы Системный администратор Внешний отчет (ert,erf) v8 УПП1 Абонемент ($m) Журнал регистрации

Отчет по журналу регистрации с отбором по виду метаданных и типу операции.

1 стартмани

31.07.2018    4743    16    alexlx    6       

Мониторинг журнала регистрации при помощи Powershell 28

Статья Системный администратор Программист Архив с данными v8 Windows Абонемент ($m) Сервисные утилиты Журнал регистрации

Работа с журналом регистрации в формате SQLite внешними средствами на примере мониторинга изменений в конфигурации базы данных.

1 стартмани

12.07.2018    8193    4    user768334    7       

Журнал регистрации 1С (sql lite) в web app 13

Статья Программист Архив с данными v8 1cv8.cf Абонемент ($m) Журнал регистрации

Данная публикация рассматривает построение компонентного решения работы журнала регистрации в стороннем приложении(web app). Встала задача миграции sql lite жр во внешнюю базу. Данное решение было создано: 1. для хранения жр за весь период 2. для ускорения работы с жр 3. для ускорения сервера предприятия, так как именно он (а точнее рагент) пытается записать данные в жр sql lite(фактически файл на диске), после увеличения размера файла более 10 гб, поступали жалобы по вопросу быстродействия 1с (и не только ради этого) Данная публикация может быть полезной администраторам, программистам, оптимизаторам.

1 стартмани

09.07.2018    6493    5    dmarenin    4       

R2-D2: журнал регистрации, монитор обменов, аварийные уведомления 14

Инструменты и обработки Системный администратор Программист Архив с данными v8 Россия Абонемент ($m) Сервисные утилиты Журнал регистрации Распределенная БД (УРИБ, УРБД) Администрирование данных 1С

Обслуживание Журналов регистрации нескольких баз 1С. Сбор и обработка сведений о статусах обменов баз 1С, рассылка аварийных уведомлений.

2 стартмани

14.06.2018    8685    16    pbabincev    7       

Отчет "История изменения объектов" на СКД для УПП и КА (версии объектов) с использованием версионирования объектов 14

Отчеты и формы Системный администратор Внешний отчет (ert,erf) v8 v8::СКД КА1 УПП1 Абонемент ($m) Журнал регистрации

Отчет "История изменения объектов" предназначен для отображения изменений объектов (справочники и документы) за указанный период и с учетом отбора по заданным параметрам объектов. Работает в конфигурациях УПП 1.3 и КА 1.1

5 стартмани

22.05.2018    6893    39    mrm1212    11       

Анализ активности пользователей 5

Отчеты и формы Системный администратор Внешний отчет (ert,erf) v8 1cv8.cf Россия Windows Абонемент ($m) Журнал регистрации

Анализ журнала регистрации произвольной конфигурации формата LGD. Платформа 1С:Предприятие 8.3 (8.3.11.2954).

1 стартмани

11.05.2018    5890    18    forusing    0       

Журнал регистрации из формы документа или справочника 7

Инструменты и обработки no Внешняя обработка (ert,epf) v8 Розница УНФ БП3.0 УТ11 КА2 Абонемент ($m) Журнал регистрации

Данная обработка позволяет просматривать журнал регистрации (кто из пользователей последний вносил изменения) по справочнику или документу прямо из формы. Не требуется изменение конфигурации.

2 стартмани

23.04.2018    8199    34    Kutuzov    7       

Протокол действий с документом. Внешняя печатная форма 6

Отчеты и формы Системный администратор Программист Бухгалтер Внешняя обработка (ert,epf) v8 1cv8.cf Россия Абонемент ($m) Журнал регистрации Печатные формы документов

В больших коллективах пользователям (бухгалтерам) нужно быстро узнать, кто, когда и какие действия производил с документом. Представляю универсальную внешнюю печатную форму к любой конфигурации на 1С 8.3 (уф). Обработка сама регистрируется ко всем документам конфигурации. Обработка делает отбор по журналу регистраций и выводит краткую печатную форму. Выводит реальную дату и время создания документа из GUID.

1 стартмани

21.03.2018    5502    14    DEG156    1       

Версии объекта (просмотр версий текущего объекта) 10

Инструменты и обработки Системный администратор Архив с данными v8 КА1 УПП1 Абонемент ($m) Журнал регистрации

Печатная форма, вызывающая отчет подобный встроенному История изменений объектов.

2 стартмани

12.03.2018    7626    3    SITR-utyos    2       

Повышение качества разработок и онлайн контроль ошибок 163

Статья no Расширение (cfe) v8 Абонемент ($m) Журнал регистрации

Анализ ошибок и сбор ошибок журнала регистраций из десятков и сотен баз в одном месте.

09.03.2018    19918    136    DitriX    47       

История изменений объектов 2

Инструменты и обработки Системный администратор Внешняя обработка (ert,epf) v8 1cv8.cf Украина Абонемент ($m) Журнал регистрации

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

1 стартмани

07.03.2018    7307    4    sakila    0       

История изменений объектов 3

Отчеты и формы Системный администратор Программист Внешний отчет (ert,erf) v8 УПП1 Россия Абонемент ($m) Журнал регистрации

Отчет позволяет получить все изменения по выбранному типу объектов. Может оказаться полезным для администраторов в случае, когда необходимо посмотреть историю изменения различных объектов конкретным пользователем. Протестировано на платформе 8.2.19.130, конфигурации 1С:УПП 1.3.88.2

3 стартмани

02.02.2018    8752    19    s000632    7       

Как нам защитить журнал 5

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Информационная безопасность Журнал регистрации

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

1 стартмани

23.01.2018    8966    5    mkalimulin    51