анализ 1cv7.mlg #131326


#0 by sdaf
может есть какие универсальные обработки анализа лога, в частности на предмет обмена данными?
#1 by sdaf
нашел по сабжу вот что, но ничего не скачиваеца (( только у меня?http://1c.proclub.ru/modules/mydownloads/personal.php?cid=5&lid=3868http://1c.proclub.ru/modules/mydownloads/personal.php?cid=5&lid=3298http://1c.proclub.ru/modules/mydownloads/personal.php?cid=5&lid=2934
#2 by Морозов Александр
Типа только для членов...
#4 by корум
или типа разработка на рассмотрении. пока не принята в клуб, качать нек получится.
#5 by smaharbA
есть постой код(алгоритм) поиска в этом млг и чиения с какого надобно места, все в коде 1С с применением всш (чтоб лучче с файлом работать)
#6 by sdaf
подскажи гуру, я в VSH полный ноль
#7 by sdaf
^
#8 by smaharbA
КонецЦикла...Вобщем гдето так, тут находу написал, можно оптимальнее...
#9 by sdaf
Поле агрегатного объекта не обнаружено (AtEndOfStream)...что-то ненравица 1сине фсо ))
#10 by smaharbA
Блин, яж только "направление" дал, замени на 2*2=4, честно.Только надо проверять на то что читается таже строка второй раз, если так то выходить из цикла
#11 by sdaf
спасибо направление я понял, перебором строк то можно и через 1с сделать...через ФСО быстрее будет? и подскажи пжса все же синтаксис f.AtEndOfStream или ткни в фак..
#12 by smaharbA
Да недадо там его, ну если с ним то так...ошибся я... может еще гдето скобки пропустил в методахДа, и, это не просто перебор, это по типу индексного поиска, но тут так можно только по дате+времени записи журнала искать, иначе лучче создавать свой индекс/словарь (можно сделать отслеживание изменений и при изменении размера файла, дописывать индекс/словарь, все это в фоне и тоже всш(ну можно еще и вми задействовать))
#13 by MMF
самое быстрое - через маппинг файла журнала по кускам с конца
#14 by ТОН
<><>…ШјЭИЭ—¬И©Љ·ЉМїЧФЋјЉИ‰”ЇЛЁ‰мЮОї‡ѓЏї?ИЋ—шИя‰Ѕ‰џјСФЋї‰џЋ”­ЛЁЉк‰Нї‡ФЋј?ИЉ”щИЇ‰ѕ‰ОиТР†оЊљЉЕщћыЭйЮ?йУРЌлЭљЋЕы›ьЩјЪќнЧРЊлЭљЊЕьџьЩлЪ?мЦС‹пЫ›‹ЕъџьЩлЫЗмЦРШоЏ›ЫДЄ›ьЩѕЪКнСФШо?›‹Еыљ©ЩйЪ›мУРЭлЭљЋДсљЄЬйЪНмЫРЉкЬћ‹Ая›«ЩлЫОйЂРЭпЃ›ЉБ­ћ©ЬЅЯЗйЪжѕЩё­ѕтЙ­љпЏмюЪвж
#15 by sdaf
во блин......может асю дашь если есть времени немного....
#16 by smaharbA
Верно, но я не смог через "простой" всш так, но делал просто переходил на 90%(ну скока это от размера файла зависит и погоды на улице ;)) байт читал, короче блоками. Но думаю через адо к файлу там можно будет и с конца читать, нужен тока провайдер, никогда незырил мож и есть в системе 114928151, тока если после 17 (по Москве) лучче
#17 by MMF
"кока это от размера файла зависит и погоды на улице" - неа... от результата _SYSTEM_INFO.dwAllocationGranularity
#18 by smaharbA
Нет я о другом немного, я такое вна ВСШ делал, а там тока чтение вперед ногами и нету "отвешаннойединицы", вот и сделал в зависимости от размера файла ну и моего настроения... ;)
#19 by ТОН
<><>лйЄжќа­Јґ МЦЄћнн©дЙа­Ўґ©М‡©”нпЄІЙа­чґ©МТЄћнйэзћґ­¦гЎМХ©ЙнпЄІћж­¦·Ј›ѓ©ћн»©±ќв®ргЎљТю”?ЊПЧыРИ“С‘©іМ¬е
#20 by sdaf
сходи в попрошайку - там помогут
#21 by smaharbA
Онаж вроде свободная, да и размер 17 кило, ну скачал, надо - давай почту.
#22 by ТОН
<><>њщьћх ДоЪ¬нпО­®П Ґ‘䋬йєПЁ®ИЎт•о?©нпЛЇ«џЎ§ЗЅЪ¤є»џь«ЛцсЗѕЪ¤єищџ™ы“—ўЬїњЯЯд
#23 by smaharbA
славливай
#24 by ТОН
Подскажите а что делает тот бАльшой кусок модуля что указан выше?
#25 by smaharbA
Это способ побыстрее найти первую запись в журнале с заданной датой
#26 by ТОН
Мда....у меня задача искать конкретные переферийные базы(по коду) обмен с которыми не прошел и выводить их в отчет... не подскажешь что можно замутить для этого?
#27 by ТОН
smaharbA - чета не дошло до меня что ты слал
#28 by Муму после всплытия
во.................. еще по теме........................ только ищет все равно долго...................................
#29 by smaharbA
Примерно тоже, ну либо чтение с конца файла, вернее начиная с блока предположим с адресом начала 99/100 размера файла, затем с 98/100 по 99/100 и так далее.Но лучче запустить чтойто типаPathMLG="\1cserverconfdbsyslog1cv7.mlg"PathMLGIdx="\1cserverconfdbsyslog1cv7.mlg.idx"    'Тут код для разбора строки журнала получаем переменную(строку) KeyW    'Тут код поиска KeyW в "индексном" файле если есть такая запись то возвращаем Find=False и определяем на сколько скипнуть(адрес) чтоб прописать номер вновь появившейся строки    If Find Then         'тут пишем в индексный файл в найденную строчку номер строки/байта журнала    else         'тут добавляем строчку в индексный файл и записываем в нееже номер строки/байта журнала    End IfLoopэто должно крутиться постоянно, и еще надо написать реиндекс процедуруи все ;)
#30 by smaharbA
МуМу... требую сатисфакции(ну или как там верно), короче дуэль на мясорубках ;) яж почти такой код приводил давненько, только скажу праямо и откровенно невзирая на лица и факты - у меня алгоритм лучше ;))
#31 by ТОН
<><>їнІђФ†‘л¬кЁHµЗ№ѕІЖФ†‘лЇ»ЁEµЖонж’ѓ‚‘№Ї№ЁEв“єїІ‘Ф‡ЕёЇЅЁLбЗ№м±’ФЧ‘єЇ№«NµЗонж’ѓѓЕ№шиюµОЬЬФЈ±Іч?КШН}‡че
#32 by Муму после всплытия
знаете....................... мне легче свое что то написать, чем разбирать чужое...................... так что дуэли не будет)ЗЫ................... я "Муму после всплытия" ок??
#33 by smaharbA
Блин еще попробовал, вот что сказал почтовик о твоем адресе...Ну или о моем в отношении твоего...Tue 2005-10-18 15:23:33: Выполняется разрешение MX-записи для [ngs.ru] (DNS-сервер: 192.168.1.253)... Tue 2005-10-18 15:23:38: Сервер имен сообщает, что у него технические проблемы. Tue 2005-10-18 15:23:38: Попытка SMTP соединиться с [ngs.ru : 25] Tue 2005-10-18 15:23:38: Разрешение A-записи [ngs.ru] в процессее (DNS-сервер: 192.168.1.253)... Tue 2005-10-18 15:23:38: D=ngs.ru TTL= A=[212.164.71.11] Tue 2005-10-18 15:23:38: Попытка SMTP соединиться с [212.164.71.11 : 25] Tue 2005-10-18 15:23:38: Ожидание соединения сокета... Tue 2005-10-18 15:23:38: Установлено соединение сокета (81.91.47.100 : 3624 -> 212.164.71.11 : 25) Tue 2005-10-18 15:23:38: Ожидание начала протокола... Tue 2005-10-18 15:23:40: <-- 220 smtp.ngs.ru ESMTP Tue 2005-10-18 15:23:40: --> EHLO karat-e.ru Tue 2005-10-18 15:23:44: <-- 250-smtp.ngs.ru Tue 2005-10-18 15:23:44: <-- 250-PIPELINING Tue 2005-10-18 15:23:44: <-- 250-SIZE 10240000 Tue 2005-10-18 15:23:44: <-- 250-VRFY Tue 2005-10-18 15:23:44: <-- 250-ETRN Tue 2005-10-18 15:23:44: <-- 250-STARTTLS Tue 2005-10-18 15:23:44: <-- 250-AUTH PLAIN LOGIN Tue 2005-10-18 15:23:44: <-- 250-AUTH=PLAIN LOGIN Tue 2005-10-18 15:23:44: <-- 250 8BITMIME Tue 2005-10-18 15:23:44: --> MAIL From:<Ginzburg@karat-e.ru> SIZE=25375 Tue 2005-10-18 15:23:44: <-- 250 Ok Tue 2005-10-18 15:23:44: --> RCPT To:<rt28@ngs.ru> Tue 2005-10-18 15:23:45: <-- 554 <Ginzburg@karat-e.ru>: Sender address rejected: Access denied
#34 by smaharbA
Я вкурсе что ...после всплытия, вот и поставил в многоточие, извини что ник сократил до схожего
#35 by ТОН
<><>Л„±шЙРжэќТж®КЪещЙЃж«К‡±шЙРжэЙУеъК‡жъК‡жэќТж©КЪж¬ЙСжЄќ‡±­К„ж­К„ешК‡жщЙСжсќТж®КЂжрКХ±шК‡еъКРжэЙРжрЙРе«ќТж¬КТ±шК†жэКСж­ЇвѓИа
#36 by ТОН
<><>їр ¤ѕЩќёгвщЂ–фБї?ћѕыЎт»?ќјжеэ‚–чА№™’»®Ґ »ЭПоµж®ЂВў’оЛ–пыт©»ЭПє¶б®„Бч’ЅЛџпъсу»ЭМє¶°®ТБўЕ»ЛБмЄтЁмЪ?нвжщѓ–ў‘пИ•м­Ґ пЯП°µе®Ц–ў’кЛџмщтҐпЭПјµ»­ЧБуЕ»ЛБмЄтЁмХП°µґщЧ–ЈЕєњ–‰И—ђ‰нЄ?РѓЛж¤’ч‹®§з
#37 by smaharbA
Поня в чем дело, наш почтовик непрописан в обратной зоне днс, а ваш таких отфудболиваетВот держи тут http://www.karat-e.ru/files/dload/chtogdekogda.rar
#38 by ТОН
<><>Ґ‹ЉЉЏЮЋВэУ¤‹Љ‰ШЯЪВЄЪуЉЉЮЏЩЋ•э‰Бєпмкоиу?лг
#39 by sdaf
Муму после всплытия, спасибо большое, твой вариант гораздо ясней ))кстати я так понял что РазмерФайла = ФайлМЛГ.size а не 0
#40 by MMF
if hFileHandle = INVALID_HANDLE_VALUE then Exit;    if FMapHandle = 0 then Exit;    { читаем кусок не более 64КБ и не менее 10К}    if FFileSize>MemGranul then      begin        FileOffset := (FFileSize div MemGranul - 1) * MemGranul;        if (FFileSize mod MemGranul) < 10000 then    if FData = nil then
#42 by MMF
(41+) Форум не пропускает строку. странно, что ему в ней не понравилось
#43 by smaharbA
Раз пошла такая пьянка...(с)const ForReading=1dim endsearch, fsize, i, a, abak,file,truesearcha=""i=1if WScript.Arguments.count>0 thenFile=WScript.Arguments.Itemelsereadf f,fhomif truesearch=-1 thenWScript.echo "String = "& aelses=0do while not ffs.AtEndOfStream and trim(abak)<>trim(a)abaktmp=aa=ffs.readlines=s+1if instr(a,"20050805")>0 thentruesearch=-1s=0end ifif s>0 and truesearch=-1 thena=abaktmpend ifloopabak=abaktmpi=i+1if i>1000 thentruesearch=0
#44 by smaharbA
"nil есть и в других языках ;)
#45 by smaharbA
Вот и предполагаемую "дырочку" в форуме нашли ;)
#46 by Муму после всплытия
прошу прощения.................. там в начале
#47 by sdaf
тьфу ты абракадабра ))) пиши по русски )))Муму после всплытия...с датой разобрался работает, а если мне надо строку искать??? что-то у меня не выходит ничего..
#48 by smaharbA
Извинись и поправься, см часть 2... ;)
#49 by Муму после всплытия
видимо не разобрались....................... этот метод работает только для упорядоченных строк.....................
#50 by sdaf
извиняйте....смахарбА какая-то )))
#51 by sdaf
а можно еще вопросик.....что делает skip?
#52 by sdaf
^
#53 by ТОН
Я типа попробовал щас написать что-то подобное... вроде чета получаецца... чтобы получать данные на то что загрузились ПБ в ЦБ или нет
#54 by sdaf
я сварганил в итоге то что хотел....4 минуты делаеца отчет по 11 филиалам был обмен или нет за последние 3 дня
#55 by sdaf
кстати 99% времени занимает копирование и обработка сислога, сам поиск работает 5 секотдельное спасибо Муму после всплытия
#56 by Муму после всплытия
простите, какого "копирования"??
#57 by sdaf
я сделал немного не так как у вас, я сначала копирую файл, потом оставляю в нем информацию только за 3 последних дня...кстати никто не знает как *.mlg открыть через текстовый объект? ))
#58 by Муму после всплытия
а каким образом вы эти три дня вычленяете??
#59 by sdaf
проверяю с конца файла на рабдата-2дня если подходит записываю в новый текст, если нет все, значит выше уже другие даты
#60 by Муму после всплытия
хм................... а копировать то зачем?? ну да ладно................... кстати, если файл не очень большой, можно в Эксель его загрузить, потом сортировать по колонкам................
#61 by sdaf
100 мегов...))
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С