#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С? Или необходимо все таки исправлять ВК?
#2
by Галка
Нет, внешняя компонента работает, все хорошо. Проблема только в том, что она делает больше того что необходимо.
#5
by Галка
Файл может появлять очень часто(раз в минуту), а может не появляться сутки. Поэтому нет смысла, все время опрашивать каталог.
#7
by zenik
Если не секрет, что делает 1С когда появляется этот файл? з.ы. Опрос раз в минуту наличия файла - не напрягает.
#9
by Галка
Запускается процедура обработки данного файла (заполнение документов результатами из файла)
#11
by Галка
Раз в минуту обращается к каталогу, проверяет наличие необходимого файла и на все это тратит время. Давайте не будем обсуждать обработку ожидания.
#12
by zenik
Не заморачивайся... Если не хочешь напрягать пользователя - запусти 1С с системным пользователем, у которого будет крутится обработкаОжидания и под этим пользователем и будут создаваться документы. Никто ничего не заметит ;)
#15
by Галка
Нет, не получится. При создании в документе и в каждой заполненной строке прописывается кто создал и кто заполнил, а также еще фиксируется кто изменил. Т.е. должно стоять имя того пользователя, который работает.
#16
by zenik
для примера, вот эта процедура у меня вызывается раз в минуту: Сообщить("Внимание! По инициативе администратора через 5 минут |1С:Предприятие будет закрыто. Сохраните все документы, |в противном случае они будут утеряны. В базе 30 человек сидит, никто не напрягается. зы. можешь замерить отладчиком, сколько милисекунд будет тратиться на такую проверку... Не напрягает совершенно. Через ВК будет тоже самое, только гемора больше.
#18
by Галка
Просто я предлагала обработку ожидания директору и ему не понравилось, что до обработки файла нужно еще ждать. Ему необходимо все и сразу :(
#21
by у лю 427
Просьба к автору ветки - скинуть ВК на почту... С народа не читается - говорит, нет страницы....
#22
by Галка
В 1С все обработки у меня написаны и хорошо работают, проблема только в том, что процедура срабатывает когда файл удаляется и переименовывается. А функцию FILE_NOTIFY_CHANGE_FILE_NAME, которую мне дал админ можно вставить в 1с?
#28
by перцептрон
Если нет исходников ВК, то можно хранить в 1с список файлов и сверять его с файлами каталога
#29
by Галка
В данном каталоге при условии нормальной работы, с большой долей вероятности может только находится один файл с каждого прибора. Потому что после обработки файла я его перезаписываю в другое место.
#31
by у лю 427
упс.... чела на месте нет.... в общем, лично я поправить ВК сейчас не смогу - нет установленной делфи... Править надо именно ВК - сейчас она просто фиксирует факт изменения каталога админ дал правильную наводку, как разобраться детально - какое событие произошло.... надо вставить это в ВК и пересобрать проект
#36
by у лю 427
рожать дистрибутивы дельфи еще не научен.... P.S. кстати, админ эту функцию просто спер на одном из сайтов по дельфи из примера.... щас перекину....
#39
by Галка
Что можно сказать по этому поводу... Урод наш админ... Лишь бы только чем-нибудь отмазаться... :( Я его эту ВК уже месяц прошу доделать, и вот какой результат... :((( Спасибо.
#40
by у лю 427
почитала? Я тоже удивился... А всего то полез искать другие значения FILE_NOTIFY_CHANGE_FILE_NAME Делфей то нет - нет и хелпа.... кинешь правленую ВК на меня ?
#42
by у лю 427
--- адрес см 21 пост.... если чудо тебе не снизойдет - я заказал на завтра дистрибутив (но только вечером будет)... Сделаю...
#48
by Галка
Это конечно смешно, но не доходит может яндекс не пропускает? Файл случайно не .EXE или .dll? Если не сложно, можно еще раз в архиве,и копию на galina@atlant.ru
#49
by pectopatop
В общем, если файл копируется в папку откуда-то извне, или меняется - то событие отработает. Если создается прямо в папке - то нет. (Т.к. перенавесил событие на изменение времени последней модификации.)
#52
by у лю 427
нифига... Не отрабатывает ни одно событие - ни удаление, ни создание, ни копирование, ни пересылка... старая ВК (от ромикса) все ловит
#54
by FreeFin
Стыбрено с коденета: содержимое файла.vbs 'On Error Resume Next Set objEventsCollection = objWMI.ExecNotificationQuery _ 'Здесь можно предусмотреть процедуру выхода из бесконечного цикла Loop Else
#57
by Галка
Нет, исправленная ловит, но только если файл копируется или вносятся изменения в файл и он закрывается через крестик ьез предварительного сохранения.
#58
by у лю 427
меняешь время - ловит.... причем как то непонятно - изредка не ловит.... P.S. у меня время последнего доступа отключено для ускорения работы файловой системы...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Как передавать &ДатаНач и &ДатаКон построителю отчета,если
- Как рисовать в 1С?
- Как в построителе отчета ограничить список полей для отбора.
- Выгрузка 1С и пользователи в терминальном режиме
- v7: Учет топлива в кг и литрах
- Сервер 1С Предприятие 8.1
- OpenSource ПО для расчета строительных смет
- "В данной транзакции уже происходили ошибки"
- Подскажите группировку по дням в запросах
- Хочу получить записиь программно из Регистра сведений, но ничего не получае
- Как называется обработка по смене Родителя в справочниках
- Проектирование: Способы запуска интерактивного приложения на клиенте из сессии Citrix?
- Как получить значения ячейки в Табличном Поле?
- Цикл по дням неделям или месяцам
- 80 бухгалтерия добавила новую роль
- Можно ли отловить "первое проведение" документа?
- Выгрузить таблицу значений в файл
- Как найти дубли в справочнике по коду?
- Проверить существование глобальной переменной
- Создание записи в рег сведений подчин регистратору