![]() |
![]() |
![]() |
|
v7: Отследить средствами 1С изменение файлов в некотором каталоге ПК | ☑ | ||
---|---|---|---|---|
0
ko_elena
11.03.10
✎
11:53
|
Такая задача:
запущена 1с под каким-то пользователем. Её цель : с какой-то периодичностью отслеживать содержимое каталога(какие файлы изменились или добавились). С чего начать? у кого-нить есть наработки, опыт, хоть что-нибудь!!!!! |
|||
1
andrewalexk
11.03.10
✎
11:54
|
:)) эээ....
|
|||
2
Deon
11.03.10
✎
11:55
|
ОбработкаОжидания() в помощь...
|
|||
3
Deon
11.03.10
✎
11:55
|
(1) У тебя есть "хоть что-нибудь"? :)
|
|||
4
andrewalexk
11.03.10
✎
11:55
|
:) и хелп по объекту ФС
|
|||
5
AeDen
11.03.10
✎
11:56
|
ОбработкаОжидания(<?>,)
Синтаксис: ОбработкаОжидания(<ИмяПроцедуры>,<ИнтервалВызова>) Назначение: Инициирует периодический вызов процедуры глобального модуля с заданным интервалом времени. Возвращает имя процедуры глобального модуля, которая назначена для периодического запуска (на момент до исполнения процедуры). Параметры: <ИмяПроцедуры> - необязательный параметр. Строковое выражение - имя процедуры глобального модуля, которая будет вызываться периодически с временным интервалом <ИнтервалВызова>. Тело процедуры <ИмяПроцедуры> должно быть написано разработчиком конфигурации в глобальном программном модуле. Если в качестве параметра передается 'пустая строка', то ранее запущенный процесс прекращается. <ИнтервалВызова> - необязательный параметр. Числовое выражение - интервал времени в секундах, с которым периодически будет вызываться процедура глобального модуля <ИмяПроцедуры>. Если в качестве параметра передается 0 (ноль), то ранее запущенный процесс прекращается. |
|||
6
andrewalexk
11.03.10
✎
11:56
|
(3) :) этого добра у меня навалом..
|
|||
7
Mikeware
11.03.10
✎
11:56
|
ТрадиционныйКитайскийВопрос™
|
|||
8
aka AMIGO
11.03.10
✎
11:59
|
тормозить будет изрядно эта обработка ожидания..
вот только загадка - какова цель-то?.. что в итоге надо отсленить? ну, поменялись dbf, cdx.. и что? отчет гендиру на стол? |
|||
9
Deon
11.03.10
✎
12:01
|
(8) Думаю, там не каталог базы. А, например, каталог входящих факсов.
|
|||
10
AeDen
11.03.10
✎
12:02
|
(8) Появление некоего файлика с директивой остановки работы системы, к примеру... Или сообщения пользователю с просьбой слинять с базы быстренько... Ну или еще куча чего...
|
|||
11
Табуретко
11.03.10
✎
12:02
|
(9)+ или фото товаров/сотров и т.д.
|
|||
12
YF
11.03.10
✎
12:02
|
(0) А аудит средствами Виндовс не катит?
|
|||
13
andrewalexk
11.03.10
✎
12:04
|
(12) :) ну и нафига тогда одинэсники?
|
|||
14
Табуретко
11.03.10
✎
12:18
|
Если ФС.ФайлСуществует(КаталогИБ() + "ExtForms\" + "Auto.txt") = 1 Тогда
Сообщить("Есть! "+ТекущееВремя()); КонецЕсли; |
|||
15
aka AMIGO
11.03.10
✎
12:18
|
не, ну все-таки какая-то польза от 1с-ников есть..
по крайней мере - вреда никакого :) |
|||
16
Табуретко
11.03.10
✎
12:21
|
ОбработкаОжидания("глПроверкаФайла",15); и ниче тормозить небудет...
...если конечно файл запрашивать не по сети через 2 роутера по вайфаю... %)) |
|||
17
Mikeware
11.03.10
✎
12:23
|
(15) А от одноэсниц - даже двойная.
|
|||
18
skunk
11.03.10
✎
12:25
|
ветку в юмор ... одназначно ... аудит рисовать на 1С это не что ...
автору +100 респектов |
|||
19
ko_elena
11.03.10
✎
12:41
|
не знаю кто отредактировал тему сообщения - но отследить надо файлы в отдельном каталоге (с БД это не связано)
в каталог будут бросаться файлы из другой проги, а 1с их должна отслеживать и обрабатывать необходимым способом. Конкретных имен файлов я не знаю - поэтому могу отслеживать только по времени изменения. За конкретные предложения спасибо. Буду пробывать. У кого есть еще мысло по этому поводу пишите!!!! |
|||
20
Табуретко
11.03.10
✎
12:44
|
так все описано уже...
Процедура глПроверкаФайла() Если ФС.ФайлСуществует(КаталогИБ() + "ExtForms\" + "Auto.txt") = 1 Тогда Сообщить("Есть! "+ТекущееВремя()); КонецЕсли; КонецПроцедуры; ОбработкаОжидания("глПроверкаФайла",60); |
|||
21
Злопчинский
11.03.10
✎
12:44
|
гони нафиг всех этих ламеров, которые хрень советуют со всякими обработками ожидания... ;-)
. грузишь внешнюю компоненту. параметрами настраиваешь ее на слежение за определенным каталогом или даже отдельным файлом. При таком событии в 1Ске - автоматом без твоего участия генерится ВнешнееСобытие - где программно отрабатываешь что надо. . ВК можно поискать. их есть. если лень, то 1. ИС, смотри у Душелова 2. Ромикс похоже такую делал |
|||
22
aka AMIGO
11.03.10
✎
12:46
|
(19) - так и надо было писать в топике, без расчета на телепатов :)
|
|||
23
Tatitutu
11.03.10
✎
12:50
|
Стандартными средствами 1С
ФС.НайтиПервыйФайл(<?>),ФС.НайтиСледующийФайл()... получишь имя файла ФС.АтрибутыФайла(<ИмяФайла>,<РазмерФайла>,<АтрибутыФайла>,<ВремяСоздания>,<ВремяПоследнегоДоступа>,<ВремяПоследнейЗаписи>,<РасширенноеИмяФайла>) получишь время создания, изменения и.т.д |
|||
24
ko_elena
11.03.10
✎
15:58
|
Всем БОЛЬШОЕ спасибо!
Решение нарисовалось! дальше доработка. нашла ВК - заменяем обработку ожидания http://1c.proclub.ru/modules/mydownloads/personal.php?cid=126&lid=2641 а дальше стандартная работа с ФС |
|||
25
МихаилМ
11.03.10
✎
22:03
|
(0)
wmi + подписка на события Вам в помощь. + ВК обработки ассинхронных событий. есть от ромикса и другие. а опрашимать сколь угодно чаще чем раз 1 сек - сомнительное упрощение модели, коли есть точное решение. |
|||
26
Злопчинский
12.03.10
✎
00:26
|
(25) я так понимаю, что упомянутые выше ВК обработки событий при "инициализации" отслеживаемых событий как раз и делают "wmi + подписка на события"...???
|
|||
27
PaulBC
12.03.10
✎
03:45
|
||||
28
andrewalexk
12.03.10
✎
08:01
|
(25) :)) с ума сошел?! какие асинхронные события?! девочка не знает методов объекта ФС!
|
|||
29
Если
12.03.10
✎
08:24
|
Если ФС.СуществуетФайл(ИмяФайла) = 1 Тогда
ФС.АтрибутыФайла(ИмяФайла, , , , , датаИзменения,); Сообщить("Найден файл записанный " + датаИзменения); КонецЕсли; |
|||
30
ko_elena
12.03.10
✎
11:54
|
PaulBC
Спасибо за ссылку! сейчас будем эксперементировать! |
|||
31
andrewalexk
12.03.10
✎
11:56
|
:)) видимо "эксперементировать"=экспериментировать + экскремент..
|
|||
32
ko_elena
12.03.10
✎
13:02
|
(31) - ну бывает...:)
(27)- все отлично работает!!!! спасибо!!!! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |