Анализ и редактирование файлов журнала регистрации 1С 8.1/8.2 - ELF/LOG/LGF/LGP (v1.4 от 03.02.2014)

03.02.14

База данных - Журнал регистрации

Обработка позволяет анализировать и редактировать типовые файлы журнала регистрации 1С. Поддерживаются форматы 8.1 - ELF/LOG и 8.2 LGF/LGP

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
АнализФайловЖурналаРегистрации_1_4.epf
.epf 37,89Kb ver:1.4
1311
1311 Скачать (1 SM) Купить за 1 850 руб.
АнализФайловЖурналаРегистрации_1_0.epf
.epf 27,13Kb ver:1.0
25
25 Скачать (1 SM) Купить за 1 850 руб.
АнализФайловЖурналаРегистрации_1_1.epf
.epf 31,60Kb ver:1.1
51
51 Скачать (1 SM) Купить за 1 850 руб.
АнализФайловЖурналаРегистрации_1_2.epf
.epf 32,52Kb ver:1.2
295
295 Скачать (1 SM) Купить за 1 850 руб.
АнализФайловЖурналаРегистрации_1_3.epf
.epf 37,09Kb ver:1.3
38
38 Скачать (1 SM) Купить за 1 850 руб.

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

По умолчанию Журнал Регистрации 1С 8.1 / 8.2 состоит из одного файла описаний и нескольких файлов данных.

Также существуют архивы журнала регистрации где в одном файле последовательно идут файлы описаний и данных.

Указываем файлы описаний (или архив журнала регистрации) и данных на форме и жмем соответствующие кнопки - Прочитать файл описаний / данных

Общий вид обработки

Это простые текстовые файлы. Обработка позволяет просматривать эти файлы в более удобоваримом виде, чем обычный текстовый редактор, подставляя представления и позволяя открывать ссылки.

Поддерживается загрузка файлов форматов 8.1 и 8.2, а так же редактирование записей и их выгрузка обратно в файл данных в формате 8.2. Выгрузка файла описаний доступна с версии 1.3. Выгрузка в первую очередь реализовывалась для проверки правильности загрузки путем сравнения исходного файла и полученного после загрузки/выгрузки. Обработка написана в первую очередь для понимания формата файлов фурнала регистрации 1С.

Поддерживается переразбивка файлов регистрации по периодам (Час, День, Неделя, Месяц, Год), включая разбивку по периодам архива журнала регистрации.

В версии 1.4 реализовано перекодирование одного журнала регистратции на словарь другого. Это позволит объединять разные журналы регистрации в один. Версия 8.1 в этом режиме поддерживается лишь частично и требует дальнейшей доработки.

После понимания формата была написана статья - Формат файлов журнала регистрации 1С 8.1/8.2 - ELF/LOG/LGF/LGP.

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

 

Обновления:

05.04.2013 - Версия 1.0 - Первая публичная версия

08.04.2013 - Версия 1.1
1) Исправлены ошибки возникающие при выводе добавленной строки
2) Определена 7я колонка - это номер соединения
3) Реализован выбор значений из списка
4) Реализован просмотр дополнительных метаданных (ранее колонка ДопДанные)

15.04.2013 - Версия 1.2
1) Реализована возможность загружать файлы данных по маске содержащей "*"
2) Реализована возможность разделять при сохранении файл данных по периодам - Час, День, Неделя, Месяц, Год
3) Реализовано чтение архивов журнала регистрации в которых в одном файле последовательно идут сначала описания, затем данные

31.01.2014 - Версия 1.3
1) Добавлена возможность записи Файла описаний
2) Доработано чтение архива журнала регистрации в неком новом формате, где нет заголовка перед началом данных и есть новая таблица DatesMap
3) Добавлена возможность переразбивки файлов данных без загрузки самих данных в табличную часть обработки (Кнопка Переразбить)
4) При разбивке данных на периоды теперь не разрывается транзакция
5) Добавлена возможность фильтрации по метаданным при загрузке Файлов данных
6) Исправлены статусы транзакций

03.02.2014 - Версия 1.4
1) Исправлена ошибка из-за которой неоправданно долго читались большие Файлы описаний
2) Добавлена возможность перекодирования журнала регистрации на словарь другого журнала регистрации для 8.2

См. также

Журнал регистрации Мониторинг Системный администратор Программист Бизнес-аналитик Руководитель проекта Платформа 1С v8.3 Платные (руб)

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

9000 руб.

28.08.2019    34126    22    21    

75

Журнал регистрации Системный администратор Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Конфигурация LogiCH эффективно решает проблему хранения и анализа записей журналов регистрации. Разработка использует столбцовую СУБД ClickHouse, одну из самых быстрых Big Data OLAP СУБД. Любой анализ журнала можно выполнить в одном отчете, в котором доступны все возможности СКД с учетом ограничений RLS. Количество подключаемых баз не ограничено и не влияет на скорость построения анализа.

6000 руб.

28.11.2018    20883    17    7    

42

Журнал регистрации Программист Россия Бесплатно (free)

В материале рассматривается сравнение двух инструментов для работы с журналом регистрации 1С: утилиты ibcmd и платформы Vector. Описаны их функциональные возможности, тестирование производительности и практическое применение для преобразования логов в формат JSON.

20.11.2024    1145    user1913000    11    

19

Журнал регистрации Тестирование QA Программист Бесплатно (free)

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

21.10.2024    3079    leemuar    8    

23

Инструменты администратора БД Журнал регистрации Системный администратор Платформа 1С v8.3 1С:Управление торговлей 11 Абонемент ($m)

Внешняя обработка для регламентного сокращения журнала регистрации для конфигураций на базе БСП и платформы 8.3.20+

1 стартмани

29.12.2023    2214    31    dima_gsv    3    

13

Журнал регистрации Мониторинг Системный администратор Программист Абонемент ($m)

Как легко и быстро с помощью специализированных решений собирать, парсить и передавать логи и метрики.

1 стартмани

19.11.2023    1496    5    AlexSTAL    0    

8

Мониторинг Журнал регистрации Технологический журнал Системный администратор Программист Абонемент ($m)

Как легко и быстро с помощью специализированных решений собирать, парсить и передавать логи и метрики.

1 стартмани

13.11.2023    4866    9    AlexSTAL    0    

47

Журнал регистрации Инструменты администратора БД Мониторинг Мессенджеры и боты Системный администратор Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х Абонемент ($m)

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

3 стартмани

26.09.2023    2900    19    doom2good    16    

14
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. AlexO 135 05.04.13 11:15 Сейчас в теме
(0)
Если будет интерес со стороны сообщества постараюсь написать полноценную статью с описанием форматов файлов журнала регистрации.

вот с этого бы и начинал :)
2. Антон Ширяев 530 05.04.13 11:21 Сейчас в теме
Для начала надо было самому понять формат файлов журналов регистрации, формат понимался одновременно с написанием обработки, поэтому обработка и родилась раньше статьи про формат :)

К тому же еще не совсем понятно что означает седьмое и последнее поле в файле данных, а так же 11, 12 и 13 справочники из файла описаний.

Буду рад соображениям на этот счет...
3. Ditrich 05.04.13 11:25 Сейчас в теме
(2) Доброго дня. За идею - я поставил бы и 100 плюсов. Месяц назад у поднимался вопрос про операции именно с файлами Журнала регистрации. Была плоная переписка с разработчиком (1С), которая закончилась ничем. Ваша обработка откроет для меня информацию для изучения. Поле "непаханное"... Буду следить с развитием поднятой вами темы. Спасибо!
4. Антон Ширяев 530 05.04.13 11:45 Сейчас в теме
(3) Ditrich,
Если не секрет опишите пожалуйста что именно вы хотели получить из файлов журнала регистрации. Возможно это даст толчок к расширению функционала.

Обработка в первую очередь писалась не для того для чего ее будут использовать большинство качающих - "заметания следов" в журнале регистрации. Идея разработки возникла из-за внутренней нужды объединить и отфильтровать старые журналы регистрации рабочей базы, а описание формата нигде найдено не было...
5. Ditrich 05.04.13 12:11 Сейчас в теме
(4) моя задача и не сводилась к заметанию следов, а к лёгкой доступности к файлам Журнала регистрации на сервере и манипуляциями с ними, т.е. получение данных из файлов ЖР, перемещённых в архивную папку на сервере. Если подробнее, изначально ЖР для двух ИБ - ЗУП и БУ, которые были ещё и ко всему связаны РИБ (9 узлов), были НЕ настроены на период (т.е. писались непрерывно в течение 1,5 лет) и выросли в объёме до 20 ГБ на каждую базу, что помимо места на сервере значительно тормозило работу 1С для пользоватлей... Я пытался у разработчика (1С) получить информацию о возможности "обрезать" файлы ЖР для ЗУП и БУ до нужной даты средствами 1С... После долгой переписки, ответа они так и не дали, кроме как посоветовали настроить ЖР по периоду. А такая настройка (например, я настроил ЖР по периоду месяц с 01.02.2013 г.) обрезает ЖР до даты, указанной в новой настройке. А мне требовалось, скажем отрезать все записи ЖР в файле на сервере до начала 4-го квартала 2012 г. Теперь в общем у меня фалы ЖР каждый месяц перемещаются в архивную папку на сервере каждый месяц по написанному скрипту SQL. НО неудобство заключается в следующем - если требуется посмотреть записи ЖР прошлого или более раннего месяца, нужно вырубать всех из 1С, подгружать файлик ЖР из архивной папки в папку работующей базы... Что сами понимаете, занимает кучу времени и неудобство в работе пользователей. А ваша идея - значительно упростит решение моей проблемы.
7. AlexO 135 05.04.13 12:16 Сейчас в теме
(5) Ditrich,
НО неудобство заключается в следующем - если требуется посмотреть записи ЖР прошлого или более раннего месяца

А вы принципиально копии баз не делаете? :))
8. AlexO 135 05.04.13 12:16 Сейчас в теме
(5) Ditrich,
м-да... файлики ЖР прекрасно смотрятся в любой копии базы :)
11. Ditrich 05.04.13 12:33 Сейчас в теме
(8) AlexO, очень удобно, с вашей точки зрения, открывать копии 9 баз? подтягивать в каждую нужный файл ЖР за период? и искать там когда и что с тем или иным объектом делали? Я уже молчу про затраченное время на разворачивание необходимой копии базы на сервере и не одной ещё ко всему (да фиг с ним, пусть даже если и на лок.машине). На сой взгляд, вы до конца не изучили проблему, либо поверхностно взглянули на неё не разобравшись, упоминая при этом версионирование и т.п., про которое в теме и не писалось даже!
12. AlexO 135 05.04.13 12:36 Сейчас в теме
(11) Ditrich,
открывать копии 9 баз?

а вы чем вообще на работе занимаетесь? Менеджер? :)
13. Ditrich 05.04.13 12:52 Сейчас в теме
(12) AlexO, стихи сочиняю... если по существу что-то готовы сказать, пишите про поднимаемый вопрос.
14. AlexO 135 05.04.13 17:52 Сейчас в теме
(13) Ditrich,
да? похоже 6)
Так как по существу, у любого из нас по 9 и более копий баз постоянно. Кроме, конечно, тех, кто пишет стихи :)
15. Ditrich 06.04.13 10:44 Сейчас в теме
(14) AlexO, Имей больше, чем показываешь. Говори меньше, чем знаешь.
10. Антон Ширяев 530 05.04.13 12:24 Сейчас в теме
(5) Ditrich,
Разбивать файлы на несколько / объединять несколько в один думаю доработать в будущих версиях, собственно для этого и было начато исследование. Причем моя задача объединить старый журнал регистрации формата 8.1 с текущим и старыми журналами 8.2 с фильтрованием совсем ненужных событий и урезанием текстовых комментариев / представлений данных.

Вообще не понятно зачем вы подсовываете архивный журнал регистрации рабочей базе, если он без проблем открывается через Файл - Открыть. Просто копируйте вместе с файлом данных файл описаний и открывайте его.
9. AlexO 135 05.04.13 12:17 Сейчас в теме
(4)
для чего ее будут использовать большинство качающих

вот и нашли "главного" заметальщика! :D
21. AlexO 135 08.04.13 12:10 Сейчас в теме
(4)
Обработка в первую очередь писалась не для того для чего ее будут использовать большинство качающих - "заметания следов" в журнале регистрации.

(19)
Разрабатываемая обработка как раз предназначена для работы напрямую с файлами типового журнала регистрации 1С.

Ай-яй-яй!
23. Антон Ширяев 530 08.04.13 12:44 Сейчас в теме
(21) AlexO,
Ну так в первую очередь и писалась для понимания формата и чтения напрямую файлов журнала регистрации. И запись в первую очередь была реализована для проверки чтения.

Неожиданно получился "мощный" инструмент для "заметания следов", но основное то предназначение другое. Чтобы почистить записи в журнале регистрации никакой специальной обработки то и не нужно - открываем файл любым текстовым редактором и явно видим там записи - начало записи дата со временем - что мешает вычистить ненужные записи вручную?
24. AlexO 135 08.04.13 13:03 Сейчас в теме
(23)
что мешает вычистить ненужные записи вручную?

Смешной :)
А как там вычислить нужные объекты? Дубль-поиском сначала по имени, потом - по объектам??
25. Антон Ширяев 530 08.04.13 13:57 Сейчас в теме
(24) AlexO,
Если уж уходить от сути и рассматривать только "заметание следов", то по датам вычищение вполне достаточно чтобы замести следы - ведь дата вместе со временем вплоть до секунды, так что резко снижается граница поиска.

Обработка конечно позволяет вычистить записи более прецизионно и быстро и даже подменить одни записи на другие, но кто очень хотел мог все это сделать и без нее, немного покопавшись в файлах.
6. AlexO 135 05.04.13 12:14 Сейчас в теме
(3) Ditrich,
Если не секрет опишите пожалуйста что именно вы хотели получить из файлов журнала регистрации.

На самом деле, чем не устраивает типовой просмотр? Что вы хотели такого-эдакого увидеть еще?!
Или списывались с 1С - подозревали, что не все попадает в журнал? :)
Ну, а если думали "заставить" 1С писать в журнал еще и версионность объектов (изменение реквизитов. модификацию и т.д.) - то это и ни туда, и ни сюда: есть отдельные попытки версионировать все и вся, но они крайне затратны.
16. kapustinag 06.04.13 19:30 Сейчас в теме
Скажем так, если будет в результате в обработку добавлена возможность выкидывать из файлов журнала к черту все записи о регистрах накопления, изменяемых при проведении обычных документов - будет уже хорошо.
Я имею в виду, что платформа 8.2, конфигурация УПП 1.3.х при проведении, например, документа "Реализация товаров и услуг" пишет движения в каждый из 43 регистров (накопления, сведений и бухгалтерии), для которых этот документ может делать движения. Если реальные движения есть, скажем, по 5 регистрам, то в остальные 38 пишутся пустые наборы записей. И все это отражается в журнале регистрации, серьезно увеличивая его объем.
18. Антон Ширяев 530 08.04.13 10:14 Сейчас в теме
(16) kapustinag,
Я имею в виду, что платформа 8.2, конфигурация УПП 1.3.х при проведении, например, документа "Реализация товаров и услуг" пишет движения в каждый из 43 регистров (накопления, сведений и бухгалтерии), для которых этот документ может делать движения. Если реальные движения есть, скажем, по 5 регистрам, то в остальные 38 пишутся пустые наборы записей. И все это отражается в журнале регистрации, серьезно увеличивая его объем.


Так что вы предлагаете - очищать все записи в журнале регистрации по регистрам или проверять в какие регистры есть записи у документа и оставлять только их? Если очищать выборочно, то как быть со случаем когда документ при проведении записал какие-то данные в регистр, а при повторном проведении вычистил их?
31. kapustinag 09.04.13 21:36 Сейчас в теме
(18) Я предлагаю удалять эти записи безусловно. Ни разу на моей памяти не потребовалось смотреть по журналу регистрации, в какой регистр какой документ что-то записал.
34. vis_tmp 32 11.04.13 12:04 Сейчас в теме
(31) kapustinag, Совершенно согласен!
Строки вида "Данные. Изменение", Регистр * можно вообще все удалять.
Размер журнала уменьшится раз в 5 в 10.
35. Антон Ширяев 530 11.04.13 12:28 Сейчас в теме
(31) kapustinag, (34) vis_tmp,
В будущих версиях планируется фильтр, который будет позволять отсеивать ненужные записи при чтении, либо при записи файла данных журнала регистрации.

Если удалять все записи по регистрам, то это будет не проблемой - снимем галки со всех регистров и все. Но пока этот механизм еще начал делать.

Сейчас в ближайшей версии планирую загрузку файлов данных не по одному, а по маске и выгрузка данных с разбивкой по периодам.
17. kapustinag 06.04.13 19:32 Сейчас в теме
Кстати, на Инфостарте есть обработки, позволяющие загрузить журнал в отдельную SQL-базу, и просматривать его там. Если часто нужно возвращаться к журналам в прошлых периодах - может быть, они помогут?
19. Антон Ширяев 530 08.04.13 10:20 Сейчас в теме
(17) kapustinag,
Кстати, на Инфостарте есть обработки, позволяющие загрузить журнал в отдельную SQL-базу, и просматривать его там


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

Разрабатываемая обработка как раз предназначена для работы напрямую с файлами типового журнала регистрации 1С.
Так как она разрабатывалась одновременно с пониманием самого формата журнала регистрации (который тоже кстати по имеющейся у меня информации на данный момент нигде не описан), то все допфункции решено было отложить "на потом", сначала реализация чтения / записи файлов.
20. Антон Ширяев 530 08.04.13 11:58 Сейчас в теме
Обработка обновлена до версии 1.1
1) Исправлены ошибки возникающие при выводе добавленной строки
2) Определена 7я колонка - это номер соединения
3) Реализован выбор значений из списка для всех справочников из файла описаний
4) Реализован просмотр дополнительных метаданных (ранее колонка ДопДанные)

Следующим этапом планирую чтение файлов данных не по одному а по маске содержащей "*"
26. AlexO 135 08.04.13 15:51 Сейчас в теме
(20)
Следующим этапом планирую чтение файлов данных не по одному а по маске содержащей "*"

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

лучше вообще не трогать :)
27. Антон Ширяев 530 08.04.13 16:27 Сейчас в теме
(26) AlexO,
А соответствие описаний и журнала кто будет тогда выставлять?


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

В принципе механизм уже кое-как работает. Пока не хватает времени чтоб оттестировать и выложить.
28. AlexO 135 08.04.13 16:37 Сейчас в теме
(27)
а кто определит совпадение и тех и других?
Могут запросто попасть файлы от других баз в общую кучу.
29. Антон Ширяев 530 08.04.13 17:33 Сейчас в теме
(28) AlexO,
Во второй строчке как файла данных, так и файла описаний содержится некий GUID - в принципе можно ориентироваться на него и сопоставлять данные и их описание по нему. Пока эти GUIDы в обработке не проверяются, но как показывает практика эти GUIDы совпадают и ориентироваться на них можно.

Тут еще один вид файлов всплывает - так называемые архивы журнала регистрации - в них в одном файле последовательно сначала файл описаний, а затем файл данных.
22. AlexO 135 08.04.13 12:26 Сейчас в теме
Предлагаю тогда убрать из названия слово "Редактирование".
Чтоб не светилось.
30. Антон Ширяев 530 09.04.13 16:17 Сейчас в теме
Как и обещал, написал полноценную статью о форматах файлов журнала регистрации 1С 8.1/8.2 - http://infostart.ru/public/182061/

Если вы располагаете более полной информацией о журнале регистрации и желаете поделиться этой информацией, пишите в комментариях к статье о форматах - http://forum.infostart.ru/forum24/topic83883/, я обязательно дополню статью новой информацией.
32. Vladimir-R 168 11.04.13 11:25 Сейчас в теме
у меня одного скачивается пустой файл?
33. Антон Ширяев 530 11.04.13 11:57 Сейчас в теме
(32) Балабас,
Очень странно. Только что попробовал скачать версию 1.1 по ссылке http://infostart.ru/public/download.php?file=181807. Файл IE10 скачался корректно - с русским именем "АнализФайловЖурналаРегистрации_1_1" и расширением "epf". Приложенный вами файл имеет латинское имя "analizfaylovzhurnalaregistratsii.1.1" и расширение "erf" и что еще более странно "_" заменено на ".".
Думаю нужно сообщить об этом администрации сайта. Уточните чем качался файл?
36. Vladimir-R 168 11.04.13 12:46 Сейчас в теме
(33) файл качался Оперой 12.14
37. Антон Ширяев 530 15.04.13 15:28 Сейчас в теме
Обработка обновлена 15.04.2013 - Версия 1.2
1) Реализована возможность загружать файлы данных по маске содержащей "*"
2) Реализована возможность разделять при сохранении файл данных по периодам - Час, День, Неделя, Месяц, Год
3) Реализовано чтение архивов журнала регистрации в которых в одном файле последовательно идут сначала описания, затем данные
38. amon_ra 61 19.05.13 16:09 Сейчас в теме
(37) что-то не смог увидеть как работает ваша обработка постоянно пишет мне
Не удалось прочитать файл: C:\base\1Cv8Log\20110322000000.lgp
Не удалось прочитать файл: C:\base\1Cv8Log\1Cv8.lgf

Подскажите как она должна работать, версия платформы 1с82 13.219
39. Антон Ширяев 530 21.05.13 21:54 Сейчас в теме
(38) amon_ra,
Скорее всего вы пытаетесь открыть файлы, которые в данный момент используются 1С.
Скопируйте журнал регистрации в отдельную папку и читайте его оттуда.
Так же возможно у вас не хватает прав на открытие этих файлов - попробуйте открываются ли файлы блокнотом.
42. Abadonna 3969 05.08.13 07:36 Сейчас в теме
(39)
Скорее всего вы пытаетесь открыть файлы, которые в данный момент используются 1С.

Отсюда сразу следует, что средствами 1С читать лог-файл -- лажа.
Читать надо внешней программой с режимом открытия файла: fmOpenRead or fmShareDenyNone
99. RustIG 1750 01.12.21 19:18 Сейчас в теме
(39) при чтении данных - не хватает памяти!
40. b-dm 174 18.07.13 09:07 Сейчас в теме
А можно выложить побольше скриншотов, а то - тот что есть - очень неинформативен.
Какой именно анализ делает Ваша обработка , что и как предоставляет из описания не оч.понятно.
41. Антон Ширяев 530 18.07.13 10:36 Сейчас в теме
(40) b-dm,
Обработка писалась в первую очередь для разбора формата файлов журнала регистрации. В результате появилась статья - Формат файлов журнала регистрации 1С 8.1/8.2 - ELF/LOG/LGF/LGP

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

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

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

Суть обработки в том, что она работает напрямую с текстовыми файлами журнала регистрации, чего ранее практиковалось.
RustIG; vis_tmp; odin777; MikeGorshkov; +4 Ответить
100. RustIG 1750 01.12.21 19:20 Сейчас в теме
(41)
а так же разделить один большой файл данных журнала регистрации на несколько

предварительно надо прочитать данные? а то при чтении память переполняется и "ложится"
43. slava_vermishelkin 15.08.13 22:19 Сейчас в теме
Интересует вопрос: можно ли из журнала регистрации 1с 8.2 вытащить ссылки на объекты? Если точнее, то есть задачка: необходимо отредактировать реквизит объектов, список которых в журнале регистрации (для отбора хватает стандартных фильтров при построении журнала). Конечно можно было бы выгрузить наименование объектов и обработать, но оно не уникально.
Кто-нибудь сталкивался с такой проблемой? Может есть решения?
44. Антон Ширяев 530 16.08.13 11:43 Сейчас в теме
(43) slava_vermishelkin,
Интересует вопрос: можно ли из журнала регистрации 1с 8.2 вытащить ссылки на объекты?


Да. В обработке реализовано получение ссылки из записи журнала регистрации.

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

для отбора хватает стандартных фильтров при построении журнала

Отборы в обработке планировались, но они пока не реализованы. Как найду время вернуться к продолжению разработки, доделаю.
45. MikeGorshkov 7 02.10.13 21:43 Сейчас в теме
Если я правильно понял, Ваша обработка позволяет изменить время, дату и т. д.из журнала регистраций, но не меняя самого документа?
Primer2508; +1 Ответить
46. colonel2002 10.10.13 01:33 Сейчас в теме
Очень интересная программка для сбора доказательств по мошенничеству пользователей с бухгалтерскими проводками и операциями в базе. Мне как эксперту по кибер-преступности очень поможет. Спасибо.
47. BoBaH 18 13.11.13 14:10 Сейчас в теме
Пытался анализировать файл размером 2,5Г... Не хватило памяти и вывалилось все
83. vis_tmp 32 05.02.15 12:24 Сейчас в теме
(47)(59)(61)(62)(66)(72)(76)(79) По поводу нехватки памяти при чтении файла журнала...
Обработка автора сейчас читает сразу весь файл и затем построчно обрабатывает его.
Поэтому и вываливается с ошибкой на строке чтения большого файла.

Я попробовал переделать версию 1.4 на открытие файла и его построчное чтение.
В таком режиме у меня открылся журнал размером примерно 10 Гб.

Побочный эффект - неизвестное заранее число строк в файле и, соответственно, бессмысленность прогрессора.
Добавил опциональную возможность предварительного подсчета числа всех строк в файле (по флажку "Сч.строки"), тогда прогрессор работает, но тратится доп. время на этот подсчёт.

Смотрите, пробуйте.
Прикрепленные файлы:
АнализФайловЖурналаРегистрации_1_4_2 - READING BIG FILES.epf
zsergey_; Danil.Potapov; nicknick23; Jivchic; ArTz; +5 Ответить
84. sanches 257 30.03.15 09:36 Сейчас в теме
(83) vis_tmp, Попробовал проанализировать файл размером 6 гигабайт, 1с закылась с ошибкой на чтении строк 4789000
Памяти достаточно свободной (4 гиг), заняла памяти 1,5 гиг и вывалилась. Может потому что у меня 32 битная win 2003 server...
Спасибо автору за обработку, но с большими файлами не "дружит"
91. ArTz 12.05.17 14:30 Сейчас в теме
(83) Спасибо за доработку. Файл хоть и был 1,6 гб с 70 миллионами строк, но обработка не смогла раскрыть.
101. RustIG 1750 01.12.21 19:29 Сейчас в теме
(0)
(83) Файл 135 Гб не имеет смысл наверное открывать? - изначальной обработкой описания прочитал, а данные не хочет... второй доработанной обработкой - процесс чтения данных пошел - но сколько времени займет не понятно - вырубил процесс...
48. bogdan_sukonnov 57 04.12.13 18:11 Сейчас в теме
Спасибо большое за обработку, очень помогла. Путем доработки напильником удалось склеить 2 журнала регистрации (точнее перевести один в словарь другого). Если Вы добавите это в функционал - цены не будет обработке!
49. dyak84 19.01.14 17:50 Сейчас в теме
Автор как к человеку знающиму подскажи как правельней зделать в такой ситуации. Реквизит со значением неограничено преобразовываю при помощи функции ЗначениеВСтрокуВнутр() при обратном преобразовании при помощи функции ЗначениеИзСтрокиВнутр() приисходит ошибка формата потока. Подскажите как быть как можно решить етот вопрос. Зарание спасибо за ответ
54. Антон Ширяев 530 28.01.14 17:11 Сейчас в теме
(49) dyak84,

Нужно посмотреть что там в этой строке, что вызывает ошибку. Вообще если в строке какие-либо спецсимволы, то можно попробовать заменить проблемные символы на другие / комбинацию других.
50. serg1974 28.01.14 12:45 Сейчас в теме
Не помогла :(
Суть проблемы: Не можем прочитать архив журнала!
Мы обрезали разросшийся журнал с сохранением в файл. Файл получился 5,8Гб 1с8 вылетает при попытке его открыть. Пробовал разрезать его "тотал коммандером" и приделать к нужным кускам заголовок из первого файла - 1с8 пишет "ошибка формата потока" - ваша обработка после 8 часов обработки 100мб куска выдала пустое окно с записями (обьекты только в прочипх вкладках есть)

Примеры файлов могу отправить на почту.
63. hanio 57 29.05.14 08:53 Сейчас в теме
(50) serg1974,

Ошибка формата потока попытайтесь почистить временные файлы, обработки по очистке тут на ИС есть ищите
68. teranp 10.08.14 23:03 Сейчас в теме
(50) serg1974, какой конкретно фаил вы не можете открыть путь к файлу можете указать
51. serg1974 28.01.14 13:07 Сейчас в теме
>Баг-репорты приветствуются, особенно с приложением файлов
В общем файлы приготовил и описание ошибок - надо адрес куда выслать :)
52. stash_84 28.01.14 13:34 Сейчас в теме
(51)serg1974
тоже столкнулся с тем, что файлы наших журналов не открываются, проблема в том, что журнал вырастает до 30 Гб за месяц.
53. Антон Ширяев 530 28.01.14 17:03 Сейчас в теме
(51) serg1974, Выкладывайте на любой обменник rghost.ru например. Если не хотите светить данные всем, то запарольте архив и ссылку с паролем в личку.

Файлы резать нужно по записям (Число "{" должно быть равно числу "}").
Если это архив журнала регистрации, то сначала идет файл описаний, который нужно отделить и использовать для всех кусков.
"ошибка формата потока" скорее всего из-за наличия кривой записи, возможно в поле "Комментарий" используются непарные {}
55. Антон Ширяев 530 31.01.14 15:03 Сейчас в теме
Новая Версия 1.3
1) Добавлена возможность записи Файла описаний
2) Доработано чтение архива журнала регистрации в неком новом формате, где нет заголовка перед началом данных и есть новая таблица DatesMap
3) Добавлена возможность переразбивки файлов данных без загрузки самих данных в табличную часть обработки (Кнопка Переразбить)
4) При разбивке данных на периоды теперь не разрывается транзакция
5) Добавлена возможность фильтрации по метаданным при загрузке Файлов данных
6) Исправлены статусы транзакций
56. Антон Ширяев 530 03.02.14 16:17 Сейчас в теме
Новая Версия 1.4
1) Исправлена ошибка из-за которой неоправданно долго читались большие Файлы описаний
2) Добавлена возможность перекодирования журнала регистрации на словарь другого журнала регистрации для 8.2

Теперь появилась возможность склеивать журналы регистрации - например у вас начался новый журнал при переезде на новый сервер 1С или при смене платформы 8.1 -> 8.2, а вы очень хотите видеть все в одном месте.
Для 8.1 перекодирование реализовано не полностью.

Так же каждый легко может немного доработать обработку для фильтрации только нужных записей. На текущий момент реализована фильтрации по метаданным, по аналогии можно добавить по другим признакам или разработать сложное условие.
85. zzz_natali 61 06.04.15 12:46 Сейчас в теме
(56)
А что у нас с поддержкой нового формата из под движка 8.3.5, ожидается?
Спасибо.
57. StaticUnsafe 03.02.14 17:40 Сейчас в теме
58. PVG_73 17 13.02.14 10:43 Сейчас в теме
Спасибо, полезная весчь в хозяйстве.... :)
59. Nicholas 902 03.03.14 13:57 Сейчас в теме
Как быть, если при попытке прочитать файл появляется "Недостаточно памяти"?
Архив журнала регистрации за один месяц, размером всего каких-то 5 Гб.
60. Антон Ширяев 530 20.03.14 13:19 Сейчас в теме
(59) Nicholas,
Можно переразбить журнал регистрации на меньшие периоды, например неделя вместо месяца.
80. vis_tmp 32 04.02.15 18:02 Сейчас в теме
(60)Антон, для склейки двух журналов последовательность действий именно такая? (78)
61. Angel_19 6 22.04.14 16:15 Сейчас в теме
Файл журнала за месяц - 412 Мб, обработка так и не смогла его загрузить - 1с вылетает с ошибкой - видимо заканичвается память которую 32 битный процесс может захватить. По диспетчеру задач 1с занимала больше 3,5 Гигов в оперативке.
62. gerbert 15.05.14 14:24 Сейчас в теме
Не работает на больших файлах, 1с падает с "недостаточно памяти" при чтении файла. Поэтому и переразбить не получается.
64. hanio 57 29.05.14 08:54 Сейчас в теме
Обработка супер, то что давно искал, огромное человеческое спасибо, у меня были старые журналы которые не мог прочитать вываливалась ошибка и наконец-то я их смог прочитать!
65. hanio 57 29.05.14 08:58 Сейчас в теме
Но памяти конечно кушает очень много )) на 32 битном сервере 1С на платформе 8.2.16.368 у меня не прочиталось пришлось поднять 64 битный 8.3.4.482 и только там нормально прочиталось.
67. СистемСервис 1 09.08.14 13:34 Сейчас в теме
(65) hanio, у меня не запускается под 8.3, не подскажете как у вас получилось?
66. СистемСервис 1 07.08.14 12:39 Сейчас в теме
полтора гига файл лога - не открывает ;( "Недостаточно памяти", резать тоже не хочет, та же ошибка, что ещё можно сделать?
69. teranp 10.08.14 23:06 Сейчас в теме
(66) СистемСервис, можно в планировщик раз в сутки поставить рестарт сервера и все будет гуд и файлы не настолько будут большими и будет тебе счастье
76. AlexO 135 11.12.14 10:27 Сейчас в теме
(66) (72) не пробовали лог разделять по периодам?
Это не обработка виновата - сама 1С не приспособлена к таким объемам обработки. Вот и вылетает по памяти.
79. СистемСервис 1 15.12.14 15:45 Сейчас в теме
(76) AlexO, 1С не может мне порезать журнал по периодам - вылетает с ошибкой памяти. Сейчас у нас журнал по периодам настроен, но очень нужно просмотреть старый, а он очень большой - нигде не открыть ;(
70. Just 3 19.08.14 04:24 Сейчас в теме
Хорошая обработка, давно искал что-то подобное и статья понятная
71. MasterIt 17.09.14 09:59 Сейчас в теме
Как раз то, что искал на БП 2.0, спасибо.
72. ranger 125 14.10.14 08:42 Сейчас в теме
Ошибку нехватки памяти пишет.Файл лога около 800 МБ.Скачал последний файл
73. v.a.ryag 37 10.12.14 11:52 Сейчас в теме
Здравствуйте! У нас есть база, Мы перенесли её на новый сервер, а файлы журнала сразу не перенесли, соответственно файлы описаний теперь разные и подсунуть старые журналы в каталог к новым не получается.. Не могли бы пояснить что делает ваша обработка по кнопке "Перекодировать файл данных"? Могу ли я с её помощью поправить новый файл описаний и перекодировать новые журналы. А старые докинуть в папку к новым? Заранее благодарю
74. v.a.ryag 37 10.12.14 12:31 Сейчас в теме
И если можно опишите как склеивать журналы? очередность действий.
к примеру, так можно? 1) загружаем "файл описания1" 2) загружаем "файл данных1" 3) загружаем "файл описания2".4) жмем перекодировать "файл данных1".
Ато инструмент хороший, а как пользоваться непонятно - лезть в код чтобы разобраться ? Помогите пожалуйста
75. v.a.ryag 37 11.12.14 10:02 Сейчас в теме
В общем так и не нашел как склеить журналы.. Полез в код..( пока разбираюсь
77. AlexO 135 11.12.14 10:30 Сейчас в теме
(75)
В общем так и не нашел как склеить журналы..

Никак. Уже "хорошо", что 1С позволила разрезать журнал (кое-как) и наискосок.
Обработка и призвана просматривать и осуществлять поиск по разным кускам лога, в противном случае, типовой механизм может подключить лишь какой-то один файл-кусок.
78. v.a.ryag 37 12.12.14 04:43 Сейчас в теме
(77) AlexO,
Никак. Уже "хорошо", что 1С позволила разрезать журнал (кое-как) и наискосок.
Обработка и призвана просматривать и осуществлять поиск по разным кускам лога, в противном случае, типовой механизм может подключить лишь какой-то один файл-кусок.

Выже не автор обработки - зачем вводите в заблуждение? Привожу цитату автора:
Теперь появилась возможность склеивать журналы регистрации - например у вас начался новый журнал при переезде на новый сервер 1С или при смене платформы 8.1 -> 8.2, а вы очень хотите видеть все в одном месте.


Поэтому я и копал в этом направлении..
После длительного анализа и тыков получилось склеить два журнала! Подобных обработок не встречал. Если ей сделать понятный механизм конвертации журнала с одного описания под другое описание то цены ей не будет. Я сначала пытался допилить - в итоге потом обошелся типовой. Делал так:
1) Выбираю ФайлыЖурнала1 по маске *.lgp и старый ФайлОписания1, загружаю их (прочитать). Потом жму переразбить и сохраняю все в один файл без разделения по периодам
2) Выбираю получившийся ФайлЖурнала1 и жму "прочитать файл данных"
3) !!! перехожу на вкладкуПользователи, выбираю ФайлОписания2 и жму "прочитать файл описания". Если чтение файла описания происходит не на вкладке Записи ЖР, то данные в таблице ЗаписиЖР не меняются - это нам и нужно.
4) !!! Выбираю ФайлОписания1 НЕ нажимая прочитать файл описания
5) Жму "перекодировать" и сохраняю в нужное место ФайлДанных, сконвертированный под ФайлОписания2. В том же каталоге создается файл описания 1CV8.lgf. Эти два файла переносим в каталог ЖурналаРегистраци2, заменив 1CV8.lgf. (Перед этим можно забэкапить их). Работать с базой в этот момент не должны.

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

Еще я думаю, что: Правильнее конвертировать новые журналы под старые, т.к. они меньше как правило и в новых файлах описания может не быть описания многих событий и объектов из старого журнала.
82. AlexO 135 04.02.15 22:28 Сейчас в теме
(78) v.a.ryag,
Привожу цитату автора:
Приводите. А еще - посмотрите, как в обработке "склеиваются" фрагменты.
(79) СистемСервис,
1С не может мне порезать журнал по периодам - вылетает с ошибкой памяти.
У вас слишком большой журнал.
Попробуйте сначала отрезать старый кусок, а потом подразбить оставшееся.
(81) vis_tmp, я думаю, если поле одно - то этот перенос значения не имеет: сменится только отображение поля, было в две стоки, станет в одну.
81. vis_tmp 32 04.02.15 19:25 Сейчас в теме
(0) Заметил искажение текста события.
было так:
{20150127183916,N,
{0,0},1,1,1,1,6,I,"Объект изменен: Справочник.Склады
Регистрация конфигурации изменена",0,
{"U"},"",0,0,0,2,0,

стало так:
{20150127183916,N,
{0,0},1,1,1,1,6,I,"Объект изменен: Справочник.СкладыРегистрация конфигурации изменена",0,

{"U"},"",0,0,0,2,0,

Т.е. из строки "Объект изменен: Справочник.Склады
Регистрация конфигурации изменена" оказался вырезан перенос строки.
89. sai_NT 06.04.16 13:25 Сейчас в теме
(81) vis_tmp, если еще актуально, то сделай такую замену:
было
Запись = Запись + Стр + ?(СтрЧислоВхождений(Запись, """") % 2 = 0, "", Символы.ПС);

стало
Запись = Запись + Стр;
Если Не СтрЧислоВхождений(Запись, """") % 2 = 0 Тогда 
	Запись = Запись + Символы.ПС;
КонецЕсли;
86. AlgoritmS 27.05.15 13:52 Сейчас в теме
У меня файл 1Cv8.lgd. Его можно проанализировать вашей обработкой?
87. olegpoz 18.11.15 16:30 Сейчас в теме
Добрый!
Кто пробовал - действительно БОЛЬШОЙ (более 7 гигов) журнал смогу открыть данной обработкой?