Работа с журналом регистрации. Выходим за границы платформы

12.05.20

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

Работа с журналом регистрации нестандартными средствами. А также немного про использование платформы .NET в экосистеме 1С.

Начнем

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

Работать с журналом регистрации можно как встроенными в платформу инструментами, так и с помощью обработок из подсистем БСП. Также можно использовать нестандартные инструменты, например отчет "Просмотр и анализ журнала регистрации (отчет на СКД)".

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

Есть несколько путей решения этих проблем:

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

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

Не первое решение

Еще в далеком 2013 году (уже 7 лет прошло!) Алексей Бочков предложил решение для сообщества в виде приложения "EventLogLoader" на Visual Basic, которое напрямую парсит файлы (для старого формата журнала регистрации) или получает данные из SQLite-базы журнала (для нового формата) После отправляет в одно из возможных хранилищ данных (база SQL Server, MySQL или индекс ElasticSearch).

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

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

Пройдемте в библиотеку

Чем же отличается предлагаемое решение от того, что было сделано столько лет назад? Главными особенностями будут следующие:

  • Это библиотеки с открытым исходным кодом (лицензия MIT), поставляемые в виде Nuget-пакетов. Но никто не мешает взять их в виде исходного кода из репозиториев на GitHub. Подчеркиваю, это библиотеки, а не готовое приложение. Конечно, в репозитории есть примеры консольных приложений, но вряд ли они могут подойти всем и потребуют адаптации, но использовать их никто не запрещает.
  • Реализованы на базе платформе .NET Core с использованием языка C#.
  • Чтение и выгрузка данных реализованы в отдельных библиотеках, что позволяет использовать их отдельно в зависимости от задач.
  • Возможность расширять стандартные возможности библиотеки экспорта, добавляя новые хранилища.
  • Изначально готов функционал выгрузки в базы данных SQL Server и PostgreSQL.

Далее пройдемся по каждой библиотеке. И сейчас будет неожиданное - листинги кода C#!

Помощник чтения данных журнала регистрации

Библиотека "YY.EventLogReaderAssistant" позволяет читать данные файлов журнала регистрации как старого текстового формата (*.lgf, *.lgp), так и нового формата SQLite-базы (*.lgd). На следующем листинге продемонстрирован простой пример ее использования в виде консольного приложения.

private static int _eventNumber = 0;

static void Main(string[] args)
{
    if (args.Length == 0)
        return;

    // Каталог хранения файлов журнала регистрации.
    // Может быть указан конкретный файл журнала (*.lgd / *.lgf)
    string dataDirectoryPath = args[0];
    Console.WriteLine($"{DateTime.Now}: Инициализация чтения логов \"{dataDirectoryPath}\"...");

    // Инициализация объекта чтения логов
    using (EventLogReader reader = EventLogReader.CreateReader(dataDirectoryPath))
    {
        // Устанавливаем обработчики событий
        reader.AfterReadEvent += Reader_AfterReadEvent;
        reader.AfterReadFile += Reader_AfterReadFile;
        reader.BeforeReadEvent += Reader_BeforeReadEvent;
        reader.BeforeReadFile += Reader_BeforeReadFile;
        reader.OnErrorEvent += Reader_OnErrorEvent;

        // Выводим общее количество событий
        Console.WriteLine($"{DateTime.Now}: Всего событий к обработке: ({reader.Count()})...");
        Console.WriteLine();
        Console.WriteLine();
        
        // Последовательно читаем все события журнала
        while (reader.Read())
        {
            // reader.CurrentRow - данные текущего события
            _eventNumber += 1;
        }
    }

    Console.WriteLine($"{DateTime.Now}: Для выхода нажмите любую клавишу...");
    Console.ReadKey();
}

Тут все просто. Создаем экземпляр класса "EventLogReader", передав путь к каталогу с файлами данных журнала регистрации. Далее подписываемся на события:

  • После чтения файла (AfterReadFile)
  • После чтения события (AfterReadEvent)
  • Перед чтением события (BeforeReadEvent)
  • Перед чтением файла (BeforeReadFile)
  • При ошибке (OnErrorEvent)
 
 Примеры обработчиков событий 

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

Непосредственно получить данные события можно из свойства "CurrentRow", которое содержит:

 
 Поля события

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

Что делать со считанными данными - решать Вам. А пока перейдем к библиотекам экспорта данных.

Помощник экспорта журнала регистрации

Библиотека "YY.EventLogExportAssistant", а точнее набор библиотек, созданных для возможности экспорта данных журнала регистрации. Использует библиотеку чтения данных журнала, о которой шла речь выше. Решение содержит следующие части:

  • YY.EventLogExportAssistant.Core - базовый пакет. В нем реализована основная логика по чтению и передаче данных в указанное хранилище.
  • YY.EventLogExportAssistant.SQLServer - пакет для экспорта данных журнала регистрации в базу данных SQL Server. Зависит от базовой библиотеки.
  • YY.EventLogExportAssistant.PostgreSQL - пакет для экспорта данных журнала регистрации в базу данных PostgreSQL. Зависит от базовой библиотеки.

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

 
 Пример файла конфигурации консольного приложения
 
 Пример экспорта данных
 
 Пример обработчиков событий

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

// 3.2. Инициализируем назначение экспорта данных. Для каждого назначения - свой класс, наследуемый от класса
// "EventLogOnTarget" и устанавливаем в нем информационную систему для выгрузки.
// Для SQL Server - "EventLogOnSQLServer"
// Для PostgreSQL - "EventLogOnPostgreSQL"
// Можно создать собственный класс для выгрузки в произвольное хранилище.
EventLogOnSQLServer target = new EventLogOnSQLServer(optionsBuilder.Options, portion);
// 4. Устанавливаем назначение экспорта
exporter.SetTarget(target);

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

public interface IEventLogOnTarget
{
    EventLogPosition GetLastPosition();
    void SaveLogPosition(FileInfo logFileInfo, EventLogPosition position);
    int GetPortionSize();
    void SetInformationSystem(InformationSystemsBase system);
    void Save(RowData rowData);
    void Save(IList<RowData> rowsData);
    void UpdateReferences(ReferencesData data);
}

Для SQL Server - это класс "EventLogOnSQLServer", для PostgreSQL - "EventLogOnPostgreSQL". Никто не мешает Вам создать собственную реализацию интерфейса и выгружать данные журнала регистрации в том виде и в то хранилище, которое нужно именно Вам.

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

Зачем это все

Это лишь библиотеки на .NET Core, которые Вы можете использовать в своих разработках и приложениях. Со временем они будут развиваться и дальше как в части производительности, так и в части функциональности. В репозитории будут появляться более развернутые инструкции и описание работы. И создавалось все это для удобства расширения возможностей работы с платформой 1С и решением проблем производительности журнала регистрации. Ну и для "just for fun" тоже.

На практике удается достичь выгрузку записей журнала на уровне 35 тысяч записей в минуту вне зависимости от хранилища (PostgreSQL или SQL Server). В описании репозитория есть информация о скорости работы библиотеки и используемых ресурсов для ее работы. В принципе ничто не мешает сделать на ее основе приложение для передачи записей журнала регистрации во внешнее хранилище почти в онлайн режиме.

Недооцененная тема

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

  • Внешнего источника данных для работы с базой журнала регистрации. Представьте, Вы сможете делать запросы к журналу регистрации из консоли запросов :)
  • Отчет на СКД для работы с данными журнала регистрации через внешний источник данных.
  • Это будет быстро, красиво и эффективно.

Но это не все, что я бы хотел сказать. Пример работы с журналом регистрации не 1С'ными средствами - это не единственное, что можно реализовать таким путем. Платформа .NET предлагает обширные возможности, которые мы можем использовать для решения повседневных задач. И это не только работа с журналом регистрации:

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

Скорее всего, ничего нового в этом списке я не написал, но тему считаю недооцененной. Уже прошло большое количество времени, в сообществе появляются различные "не1Сные" разработки, но большим спросом и интересом могут похвастаться не многие. В репозитории "YellowYard.NET" составлен некоторый список таких решений, на полноту которого я не претендую. Некоторые из них распространяются в виде Nuget-пакетов. Обратите внимание на разработки Евгения Акпаева. Приведу некоторую часть здесь.

 
 Список разработок на .NET для 1С

На Инфостарт Сергей Смирнов, автор компоненты NetObjectToIDispatch, создал серию интересных публикаций по использованию .NET при разработке на платформе 1С:Предприятие. То же относится и к разработке Elisy .Net Bridge от Сергея Карташева. Вот этот шикарный список.

 
 Статьи по использованию .NET в разработке на 1С

При всем этом только одна разработка на .NET стала пользоваться спросом в среде разработчиков 1С - это OneScript. Секрет, наверное, кроется в том, что эта разработка не требует знаний (почти) чего-то выходящего за рамки платформы и позволяет разрабатывать в привычном виде не привязываясь к платформе 1С.

Хотелось бы узнать мнение сообщества на тему использования платформы .NET в разработке, приходиться ли Вам в работе иметь с ней дело и какие задачи приходиться решать. Если Вам есть что сказать - пишите в комментарии! 

А если есть опыт использования NetObjectToIDispatch или Elisy .Net Bridge, то жду с нетерпением :)

Всем здоровья

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

Если хотите поддержать проект, чтобы он развивался далее, то поддержите плюсом на Инфостарт и/или на GitHub.

А Вы готовы выйти за пределы экосистемы 1С? :)

Другие ссылки

Авторские разработки

 
 Другие разработки

 

журнал регистрации платформа библиотеки нестандартные возможности .NET

См. также

Журнал изменений с восстановлением состояния ссылочных объектов и архивацией по HTTP / COM (расширение + конфигурация, 8.3.14+, ЛЮБАЯ конфигурация)

Архивирование (backup) Журнал регистрации Поиск данных Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 1С:Управление торговлей 11 Платные (руб)

База данных «сама» меняет данные в документах/справочниках? Тогда данный журнал изменений для Вас! Практически не влияет на скорость записи объектов за счет быстрого алгоритма! Скорость работы почти в 2 раза выше типового механизма "История изменений"! Позволяет следить за изменениями и удалением в любых ссылочных объектах конфигурации, с возможностью архивации по HTTP(!) или COM, и сверткой данных. А так же, может восстановить состояние реквизитов (значения) до момента изменения или удаления объекта из базы. Есть ДЕМО-база где можно самостоятельно протестировать часть функционала! Работает на любых платформах выше 8.3.14+ и любых конфигурациях! Версия 3.1 от 24.08.2023!

19200 руб.

15.05.2017    42517    10    24    

38

Версионирование объектов для Альфа-авто, ред 4 и 5.

Оптовая торговля Розничная торговля Журнал регистрации Платформа 1С v8.3 Конфигурации 1cv8 Автомобили, автосервисы Управленческий учет Платные (руб)

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

4800 руб.

03.09.2016    42252    33    24    

37

LogManager - Внешний журнал регистрации в SQL

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

Журнал регистрации платформы 1С в SQL. Общая база хранения всех журналов. Через com-подключение регламентным заданием периодически догружает журналы регистраций из рабочих баз. Предоставляет настраиваемый доступ к журналам по правам подразделений. Формирует отчеты по пользователям и данным.

10000 руб.

23.05.2014    55468    52    16    

47

Мониторинг баз и серверов 1С

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

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

9000 руб.

28.08.2019    30952    14    21    

66

LogiCH - хранение и анализ журнала регистрации в сверхбыстрой СУБД ClickHouse

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

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

5000 руб.

28.11.2018    19543    13    6    

36

Регламентное сокращение журнала регистрации

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

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

1 стартмани

29.12.2023    1243    12    dima_gsv    1    

12

Магия преобразований: ЖР, ТЖ, RAS/RAC, логи - универсальное решение Vector

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

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

1 стартмани

13.11.2023    2966    4    AlexSTAL    0    

42

Мониторинг состояния с отправкой в telegram

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

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

3 стартмани

26.09.2023    1752    11    doom2good    10    

13
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. VKislitsin 960 12.05.20 14:02 Сейчас в теме
Юрий, очередной плюс доставлен, конечно.

Возможно, Вы пропустили, совсем недавно была публикация на эту же тему Журнал регистрации в эластике с использованием службы без использования 1С - служба на .Net, отправляющая данные в Эластик. К сожалению автор не стал приводить ссылку на свой проект в GitHub.

У меня вопрос по Вашему механизму: чтение и отправка данных ЖР осуществляется при вызове приложения (к примеру EventLogExportToSQLServer) или оно работает фоново и отправляет данные в реальном времени?
2. пользователь 12.05.20 14:11
(1) это библиотеки и тут нет готового приложения.

Но его можно создать на их основе, просто добавив Nuget-пакет к себе в решение.
Фоново или нет - это будет зависеть как-раз от приложения. Ничто не мешает запустить сбор и отправку данных в отдельном потоке.

Приложение, если будет интерес, я создам отдельно.

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

Вообщем, публикация для разработчиков. Готового решения тут нет.
3. pashamak 268 13.05.20 07:36 Сейчас в теме
(2)
По поводу другой публикации. Там я так понял готовое приложение и оно не предназначено для использования другими разработчиками.
Больше ничего сказать не могу, не смотрел.


Это продукт для конечного пользователя.
Его суть в легкой установке и применении.
Для разработчиков отдельное api не делал.
YPermitin; +1 Ответить
4. пользователь 13.05.20 08:33
6. пользователь 13.05.20 12:06
(3) добавил ссылку на репозиторий в список ПО на .NET:
https://github.com/YPermitin/YellowYard.NET
5. Yashazz 4709 13.05.20 11:16 Сейчас в теме
Всё бы хорошо, но выход "за пределы экосистемы" - верный путь нарваться на неожиданные грабли. Начиная от внезапного внутреннего изменения какой-нибудь ерундовины в очередном релизе, из-за которой все эти внешние утилиты можно выкинуть на помойку, продолжая, допустим, поломкой некой утилиты из-за переезда на другой сервер или софт, и заканчивая нарушением лицензии, где сказано, что работать с файлами 1С средствами "не 1С" низя-низя. Мне этих граблей хватило с избытком. Кому ещё нет - флаг в руки.

Имхо, идеальное решение - отдельная база для разборов ЖР рабочих баз. Нечто подобное 1С недавно сподобилась сделать, вынеся отчётность в отдельную служебную базу.
kolessov_a; +1 3 Ответить
7. пользователь 13.05.20 12:06
(5) молодец, так держать :)
8. akpaevj 202 13.05.20 14:26 Сейчас в теме
(5) У 1С есть один большой недостаток в части работы с большими данными - она, мягко говоря, очень медленная. Имеются ввиду задачи обработки больших массивов данных, не хранения.
9. zhichkin 1438 13.05.20 17:37 Сейчас в теме
Прошу добавить мой проект в Ваш каталог проектов .NET для 1С
https://github.com/zhichkin/one-c-sharp-sql
YPermitin; +1 Ответить
11. пользователь 13.05.20 18:52
(9) обязательно добавлю!

Все никак не успевал ознакомиться с ним.
Добавлю в раздел инструментов для разработчиков.
12. пользователь 13.05.20 20:16
(9) информацию добавил.

Вы можете изменить описание или предложить другие ссылки отправил pull-request в репозиторий.
zhichkin; +1 Ответить
13. zhichkin 1438 13.05.20 20:25 Сейчас в теме
10. zhichkin 1438 13.05.20 17:58 Сейчас в теме
А Вы готовы выйти за пределы экосистемы 1С ?

Речь скорее о том, чтобы сделать нашу любимую 1С лучше.
Однако, она не хочет, чтобы этим занимались "кул хацкеры".
Хочет всё сделать сама, а чтобы никто не мешал ей в этом благородном стремлении, зафиксировала это желание в известном пункте лицензионного соглашения.
Очень ценим и всемерно благодарны 1С за её заботу о нас любимых !
"Ибо не ведаем, что творим ..."

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

Всё бы хорошо, но выход "за пределы экосистемы" - верный путь нарваться на неожиданные грабли.

Аргумент слабый. Фобия какая-то. Нормальный софт имеет покрытие тестами, доказывающими его работоспособность.

Кроме этого "неожиданных граблей" со стороны 1С тоже хватает выше крыши ... Ничего, живём как-то, держимся там ...

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

Вот читаю так как-будто бы это про 1С написано =) Однако нет =)

Приобретая софт, имеющий техническую поддержку, этого боятся не стоит. Вендор доработает всё как надо. Если используете софт без поддержки, то значит берёте эту самую поддержку на себя. Нужно трезво оценивать свои силы при этом.
TreeDogNight; DrAku1a; VKislitsin; YPermitin; +4 Ответить
14. aspirator23 339 14.05.20 10:54 Сейчас в теме
В 8.3.17, если не путаю, добавилось индексирование журналов. Не спасет ли оно журнал регистрации?
YPermitin; +1 Ответить
15. пользователь 14.05.20 11:44
(14) пока не щупал. Скорость поиска должна будет значительно уменьшиться.
Но решит ли это основные проблемы? Вряд ли. Но можно будет потестировать :)
cleaner_it; +1 Ответить
19. cleaner_it 220 17.05.20 08:18 Сейчас в теме
(15) Скорость должна увеличиться) А вот задержка должна уменьшиться
20. пользователь 17.05.20 13:27
(19) скорость поиска да, а скорость записи в журнал. Ну и проблемы с подвисанием сервера.
В общем, протестирую как-нибудь :)
16. Free1CforAll 14.05.20 12:12 Сейчас в теме
(0) а еще будут статьи про .NET? :)
17. пользователь 14.05.20 12:50
18. overloader 162 16.05.20 11:08 Сейчас в теме
21. пользователь 17.05.20 13:29
(18) разработка хорошая, но она никак не относится к платформе .NET.
Это же чисто 1Сная разработка.

Илия ошибаюсь?
22. overloader 162 18.05.20 09:20 Сейчас в теме
(21) Да решение под 1С, универсальное под любые конфигурации на БСП
23. пользователь 18.05.20 09:42
(22) значит к теме .NET оно не относится.
В список его добавлять не могу :(
24. DonAlPatino 176 24.05.20 17:10 Сейчас в теме
Вот тут: https://infostart.ru/public/1128327/ я рассказывал, как мы переписали EventLogApp Алексея Бочкова на C# и выкачали журнал в конечном счете в ELK. Исходники переписанного на C# EventLogApp на github. Я уже оттуда уволился, на проект без меня забили, так что если есть желающие развивать - welcome
25. dimonb123 24.11.20 11:00 Сейчас в теме
Идея интересная, особенно круто, что можно после выгрузки во внешнюю базу подключить ее в качестве внешнего источника и далее написать отчет на СКД, который позволит быстро и в разных разрезах получать данные из журнала регистрации.

Но я что-то не понимаю, или Ваша компонента глючит. Во всяком случае. если установить в настройках журнала регистрации разделение по периодам, то дата записи записывается неверно (не учитывается смещение +3 часа). И что-то не то со статусами транзакций.

Если разделение журнала не устанавливать, то все норм.
26. dimonb123 24.11.20 14:59 Сейчас в теме
(25)

и еще таблица Events заполняется только в первый раз. Если появляются какие-то виды событий после создания БД, то они в эту таблицу не добавляются.
27. пользователь 24.11.20 15:02
(26) Все что нужно - это написать в открытые репозитории, которые в виде OpenSource доступны всем жалающим.

Библиотека чтения: https://github.com/YPermitin/YY.EventLogReaderAssistant
Библиотека экспорта: https://github.com/YPermitin/YY.EventLogExportAssistant

Приветствуется не только информация техническая, но и примеры файлов, Pull-request'ы с вашей стороны (то есть доработки).
28. METAL 289 17.02.21 11:31 Сейчас в теме
Коллеги, подскажите пожалуйста, стоит задача: найти какие документы (и записи регистров) датой/периодом до 01.01.2021 менялись в промежутке с 07.02.2021 до 14.02.2021 ?
Формат файлов ЖР текстовый, разделяется "по дням", журнал за день 500МБ, иногда до 1ГБ
Как лучше подойти к решению данной задачи?
29. user1140274 19.04.21 21:47 Сейчас в теме
Юрий, здравствуйте! Сообщение не в тему публикации. У вас раньше был блог с описанием архитектуры 1С и многое другое, была замечательная статья как через веб-сервисы интегрировать 1С и .NET, в прикрепленных картинках сама статья. Сами файлы и видео больше не доступны, возможно ли как-то их скачать откуда-нибудь, очень надо)
Прикрепленные файлы:
30. FreeArcher 158 26.03.22 05:21 Сейчас в теме
Юрий здравствуйте. У меня к вам вопрос: почему именно c#? Сам интересуюсь смежными языками. Недавно сделал парсер тех.журнала с выгрузкой в разве СУБД на python. Но вижу, что в среде 1С популярен именно c#. Хотелось бы понять почему?
31. Froloid 66 16.03.23 19:07 Сейчас в теме
Почему Юрий теперь инфобот?
32. ImHunter 312 17.03.23 06:08 Сейчас в теме
(31) Потому что много и вдумчиво копался под капотом 1С. Забанили, с полгода назад. Ну хоть его статьи все-таки оставили.
Оставьте свое сообщение