Отслеживание файлов #306965


#0 by Галка
Уважаемые профессионалы! Помогите!   Мне необходимо отслеживать появление файла в каталоге Windows (без использования обработки ожидания). Нашла ВК "Отслеживание изменений в файловой системе и программирование потоков (threads)" , но данная ВК, отслеживает любые изменения в папке, а мне необходимо только появление файла. Передала данную ВК нашему админу, он мне вернул следующее инфо: FILE_NOTIFY_CHANGE_FILE_NAME соответствует событиям переименования, создания или удаления файла Чтобы определить тип произошедшего действия, нужно получить дополнительную информацию из структуры Type PFileNotifyInformation=^TFileNotifyInformation; Пример кода на паскале:   case PFileNotifyInformation(Ptr).Action of    FILE_ACTION_ADDED    : Item.SubItems.Add('Файл был создан');    FILE_ACTION_REMOVED  : Item.SubItems.Add('Файл был удален');    FILE_ACTION_MODIFIED : Item.SubItems.Add('Файл был изменен');    FILE_ACTION_RENAMED_OLD_NAME :   Item.SubItems.Add('Файл был переименован и в имени файла - предыдущее имя');    FILE_ACTION_RENAMED_NEW_NAME :  Item.SubItems.Add('новое имя после переименования');    else Item.SubItems.Add('Произошло что-то странное');   Подскажите плз, насколько возможно использовать данную функцию непосредственно в 1С? Или необходимо все таки исправлять ВК?
#1 by ТелепатБот
#2 by Галка
Нет, внешняя компонента работает, все хорошо. Проблема только в том, что она делает больше того что необходимо.
#3 by Галка
Неужели никто ничего не может сказать по данному вопросу?
#4 by YF
А чем обработка ожидания не катит?
#5 by Галка
Файл может появлять очень часто(раз в минуту), а может не появляться сутки. Поэтому нет смысла, все время опрашивать каталог.
#6 by YF
А ты думаешь ВК что делает? Она ведь тоже опрашивает каталог, ИМХО.
#7 by zenik
Если не секрет, что делает 1С когда появляется этот файл? з.ы. Опрос раз в минуту наличия файла - не напрягает.
#8 by Галка
Мне кажется с использованием VK, это не затрагивает базу 1С.
#9 by Галка
Запускается процедура обработки данного файла (заполнение документов результатами из файла)
#10 by YF
А как ОбработкаОжидания затрагивает?
#11 by Галка
Раз в минуту обращается к каталогу, проверяет наличие необходимого файла и на все это тратит время. Давайте не будем обсуждать обработку ожидания.
#12 by zenik
Не заморачивайся... Если не хочешь напрягать пользователя - запусти 1С с системным пользователем, у которого будет крутится обработкаОжидания и под этим пользователем и будут создаваться документы. Никто ничего не заметит ;)
#13 by перцептрон
она полюбому будет делать больше чем надо. Винда так сделана
#14 by dk
Пойдем с другой стороны, а как 1с узнает, что наступило событие в ВК? :)
#15 by Галка
Нет, не получится. При создании в документе и в каждой заполненной строке прописывается кто создал и кто заполнил, а также еще фиксируется кто изменил. Т.е. должно стоять имя того пользователя, который работает.
#16 by zenik
для примера, вот эта процедура у меня вызывается раз в минуту:        Сообщить("Внимание! По инициативе администратора через 5 минут                 |1С:Предприятие будет закрыто. Сохраните все документы,                 |в противном случае они будут утеряны. В базе 30 человек сидит, никто не напрягается. зы. можешь замерить отладчиком, сколько милисекунд будет тратиться на такую проверку... Не напрягает совершенно. Через ВК будет тоже самое, только гемора больше.
#17 by zenik
Эти данные можно добавить в сам файл, который опрашиваешь
#18 by Галка
Просто я предлагала обработку ожидания директору и ему не понравилось, что до обработки файла нужно еще ждать. Ему необходимо все и сразу :(
#19 by перцептрон
ОбработкаВнешнегоСобытия
#20 by перцептрон
никогда не обсуждай с начальством как ты будешь что то ревлизовывать.
#21 by у лю 427
Просьба к автору ветки - скинуть ВК на почту... С народа не читается - говорит, нет страницы....
#22 by Галка
В 1С все обработки у меня написаны и хорошо работают, проблема только в том, что процедура срабатывает когда файл удаляется и переименовывается. А функцию FILE_NOTIFY_CHANGE_FILE_NAME, которую мне дал админ можно вставить в 1с?
#23 by у лю 427
спасибо. Пришло.... Щас тут кадра озадачу переделкой....
#24 by у лю 427
Пусть учится.... ученик хренов...
#25 by перцептрон
ВК не передает в 1с параметр указывающий на конкретное событие?
#26 by Галка
Да, она только передает, что какое-то событие произошло, а какое конкретно не указано.
#27 by Галка
ОГРОМНОЕ СПАСИБО!
#28 by перцептрон
Если нет исходников ВК, то можно хранить в 1с список файлов и сверять его с файлами каталога
#29 by Галка
В данном каталоге при условии нормальной работы, с большой долей вероятности может только находится один файл с каждого прибора. Потому что после обработки файла я его перезаписываю в другое место.
#30 by Кураж
В топку ВК и ОбработкуОжидания туда же! События WMI - рулят.
#31 by у лю 427
упс.... чела на месте нет.... в общем, лично я поправить ВК сейчас не смогу - нет установленной делфи... Править надо именно ВК - сейчас она просто фиксирует факт изменения каталога админ дал правильную наводку, как разобраться детально - какое событие произошло.... надо вставить это в ВК и пересобрать проект
#32 by перцептрон
"упс.... чела на месте нет...." хехе. А сам чо слабенький? :)
#33 by pectopatop
киньте ВК или сюда (ссылку) или на почту pectopatop(at)mail.ru
#34 by pectopatop
ROMIX , - "Сайт временно закрыт". уже вроде с недельку.. забанили что ли? =)
#35 by Галка
отправила. Заранее спасибо
#36 by у лю 427
рожать дистрибутивы дельфи еще не научен.... P.S. кстати, админ эту функцию просто спер на одном из сайтов по дельфи из примера.... щас перекину....
#37 by у лю 427
кинул кстати, вот пример такого сайта
#38 by у лю 427
вот еще
#39 by Галка
Что можно сказать по этому поводу... Урод наш админ... Лишь бы только чем-нибудь отмазаться... :( Я его эту ВК уже месяц прошу доделать, и вот какой результат... :((( Спасибо.
#40 by у лю 427
почитала? Я тоже удивился... А всего то полез искать другие значения FILE_NOTIFY_CHANGE_FILE_NAME Делфей то нет - нет и хелпа.... кинешь правленую ВК на меня ?
#41 by Галка
если чудо свершится, обязательно. Оставь майл.
#42 by у лю 427
--- адрес см 21 пост.... если чудо тебе не снизойдет - я заказал на завтра дистрибутив (но только вечером будет)... Сделаю...
#43 by Галка
Спасибо. Если у меня появится раньше, скину.
#44 by pectopatop
, - проверьте ящики
#45 by Галка
Прошу прощения, но мне не дошло :(
#46 by Галка
Мой Mail: sppt@yandex.ru
#47 by pectopatop
намбер ту..
#48 by Галка
Это конечно смешно, но не доходит может яндекс не пропускает? Файл случайно не .EXE или .dll? Если не сложно, можно еще раз в архиве,и копию на galina@atlant.ru
#49 by pectopatop
В общем, если файл копируется в папку откуда-то извне, или меняется - то событие отработает. Если создается прямо в папке - то нет. (Т.к. перенавесил событие на изменение времени последней модификации.)
#50 by pectopatop
не хотите ли подождать товарища "у лю 427" ? =)
#51 by Галка
ОГРОМНЕЙШЕЕ СПАСИБО!!!
#52 by у лю 427
нифига... Не отрабатывает ни одно событие - ни удаление, ни создание, ни копирование, ни пересылка... старая ВК (от ромикса) все ловит
#53 by у лю 427
кстати, по времени - сколько ждать?
#54 by FreeFin
Стыбрено с коденета: содержимое файла.vbs 'On Error Resume Next    Set objEventsCollection = objWMI.ExecNotificationQuery _        'Здесь можно предусмотреть процедуру выхода из бесконечного цикла    Loop Else
#55 by pectopatop
а попробуй (для интереса) поменять времени последней модификации файла..
#56 by pectopatop
+ у меня работает. нормально. хз в чем там дело. я умываю руки )))
#57 by Галка
Нет, исправленная ловит, но только если файл копируется или вносятся изменения в файл и он закрывается через крестик ьез предварительного сохранения.
#58 by у лю 427
меняешь время - ловит.... причем как то непонятно - изредка не ловит.... P.S. у меня время последнего доступа отключено для ускорения работы файловой системы...
#59 by у лю 427
копируемый файл - не ловит (копируется фаром)
#60 by у лю 427
ладно, не заморачивайся - завтра бум разбираться...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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