обрабатываем лог событий в журнале регистрации (далее ЖР) программно, перебирая
строки файла 1CV7.MLG и проверяя наличие в них поисковых слов.
Решение в лоб стандартным перебором строк с начала файла вследствие его большого
объема не пойдет, да и объект "Текст" работает медленно, нужны альтернативы.
Попробуем решить указанные проблемы, опираясь на быстрый WSH и исходя из предпосылки:
в большинстве случаев известно время, раньше которого изучаемое событие просто не могло
произойти. Это может быть также время запуска известного запланированного процесса
(обмена УРБД, например), прописавшего лог в ЖР.
Вот это и используем, узнав размер ЖР перед событием:
ОбратныйСлэш =Симв(92); // это обратный слэш, для корректности отображения ФС.
АтрибутыФайла(КаталогИБ()+"SYSLOG"+ ОбратныйСлэш +"1CV7.MLG", РазмерЖРПередСобытием);
Событие произошло. Что дальше?
Возможности объекта Scripting.FileSystemObject совершать прыжки и быстро перебирать
строки больших файлов:
objFSO = CreateObject("Scripting.FileSystemObject");
objTextFile = objFSO.OpenTextFile(КаталогИБ()+"SYSLOG"+ ОбратныйСлэш +"1CV7.MLG", 1,0,0);
objTextFile.Skip(РазмерЖРПередСобытием);
// вот здесь прыгаем, ждем...
Пока objTextFile.AtEndOfStream <> -1 Цикл
Сообщить(objTextFile.Readline());
// перебор ЖР до конца // или прервать после получения всей информации по событию.
КонецЦикла;
objTextFile.Close();
Как вариант для незапланированных событий: можно 1 раз в день пополнять список значений "РазмерЖР_НаДату"