Имя: Пароль:
1C
 
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)- все отлично работает!!!!
спасибо!!!!
AdBlock убивает бесплатный контент. 1Сергей