|
есть задача на сканирование файла в каталоге, чем? | ☑ | ||
---|---|---|---|---|
0
DES
14.03.23
✎
18:44
|
1с8 ОФ через RDP
Видится такая схема: 1с сохраняет файл на локальном диске Клиента, на нем какая то программа ждет этот файл , запускает его обработку, получается другой файл. И этот фай забирает уже 1с Вопрос, какая есть программка для полинга файла и запуска другой программы и как ждать появления результрующего файла 1с-кой, чтобы не вешать всю систму в цикле. |
|||
1
МихаилМ
14.03.23
✎
18:47
|
(0) если вин то wmi
|
|||
2
тук-тук
14.03.23
✎
18:53
|
||||
3
azernot
14.03.23
✎
19:04
|
>как ждать появления результрующего файла
Чем не устраивает Регламентное задание? Или, к примеру, ПодключитьОбработчикОжидания, если речь идёт о невмешательстве в конфу? А вообще, это что-то типа синхронного вызова при обмене? Отдать данные и тут же получить результат их обработки на приёмнике? Все стараются отойти от синхронных вызовов, старясь работать асинхронно. |
|||
4
magicSan
14.03.23
✎
19:39
|
(0) в 1с запускаешь подключитьОбработчикОжидания, либо фоновые
|
|||
5
Злопчинский
14.03.23
✎
19:49
|
(3) регламентное задание - это как типа все время бегать на почту, чтобы узнать пришло ли письмо. и совсем другое когда к тебе стучатся в дверь и приносят письмо...
|
|||
6
magicSan
14.03.23
✎
20:01
|
(5) это как типа программа стоит только на сервере, например потому что ей нужен токен.
|
|||
7
Волшебник
модератор
14.03.23
✎
20:02
|
(5) А если стучатся в дверь, но ты в душе? Вроде слышишь, но не можешь прямо сейчас открыть дверь
|
|||
8
Злопчинский
14.03.23
✎
20:06
|
(7) Моются те, кому лень чесаться! ;-)
Звонок на двери есть - позвонит. выйду из душа и возьму письмо. вариант "почтальон" означает что получатель всегда может ответить на звонок. Если это не так - то бегаем и проверяем на почту сами. |
|||
9
Злопчинский
14.03.23
✎
20:06
|
опять же - почтальон, которому не ответили через день принесет письмо снова...
|
|||
10
Волшебник
модератор
14.03.23
✎
20:07
|
(8) Ладно, достаточно метафор. Делать-то что?
|
|||
11
mistеr
14.03.23
✎
22:28
|
(0) Почему на клиенте, а не на сервере?
|
|||
12
mistеr
14.03.23
✎
22:29
|
Есть программа FreeFileSync, там есть компонент RealTimeSync. Он именно этим и занимается. Ждет файлы и запускает их обработку.
|
|||
13
DES
14.03.23
✎
23:55
|
(11) такое условие
|
|||
14
DES
15.03.23
✎
00:01
|
(12) СПС
|
|||
15
ДедМорроз
15.03.23
✎
00:27
|
Чтобы кто-то увидел,что файл есть,нужно,чтобы он периодически проверял его наличие.
Конечно,можно добавить фильтр в обработчик файловой системы,но это сложно и накладно. Поэтому,может быть, web-сервис или что-то подобное,которое начинает работать сразу по обращению. |
|||
16
Garykom
гуру
15.03.23
✎
00:34
|
(0)
1. 1С файловая или клиент-серверная? Что ОФ понял 2. На клиенте 1С это надо? Тогда: а)ОбработкаОжидания по таймауту бездействия https://its.1c.ru/db/metod8dev/content/1820/hdoc б)ОбработкаВнешнегоСобытия через ВК https://its.1c.ru/db/metod8dev/content/2691/hdoc 3. На сервере 1С это надо? Тогда: а) фоновое задание в цикле с паузой б) публикация http-сервиса, который дернет внешнее приложение |
|||
17
DES
15.03.23
✎
08:50
|
(16) без разницы файловая\серверная.
все утыкается в комп пользователя, на котором то и все пляски. пользователь через RDP юзает 1с8 |
|||
18
DES
15.03.23
✎
08:53
|
(17) +
нужно на компе удаленно обработать инфу из 1с8 и вернуть в 1с8 как можно быстрее. т.е. опрашивать наличие результат нужно каждую сек. максимум |
|||
19
Fedor-1971
15.03.23
✎
09:12
|
(17) схема примерно такая?
- 1С из RDP сохраняем файл на диск пользователя (Attach к RDP?), например, D:\1111\fl.txt - у пользователя стартует нечто и обрабатывает оный файл, результат появляется, например, D:\2222\flOk.txt - 1С из RDP должна забрать файлик из D:\2222 Как вариант: использовать шару или FTP примерно так: - 1С выкладывает в каталог 1111 нужный файл fl.txt - клиент перемещает его к себе (при удачной попытке, т.е. файл уже дописан корректно) создаёт и держит открытым флаг-файл 1111\fl-isWork.txt - результат обработки клиент сохраняет в 2222 и отпускает fl-isWork.txt (записывает " ") - 1С в цикле пытается удалить fl-isWork.txt (при удачной попытке - т.е. файл ответа готов) забираем flOk.txt нагрузка на процессор минимальна и +/- приемлема |
|||
20
Fedor-1971
15.03.23
✎
09:14
|
19+ проверку наличия файла в 1111 повесь в шедулер
|
|||
21
Галахад
гуру
15.03.23
✎
09:15
|
Одинэснику проще написать на oscript, наверное.
|
|||
22
Fedor-1971
15.03.23
✎
09:18
|
(21) возможно, но в качестве повышения общей образованности, можно поиграться с bat или PowerShell
|
|||
23
DES
15.03.23
✎
09:18
|
(20) опрос шедуллера каждую сек ?
|
|||
24
Fedor-1971
15.03.23
✎
09:24
|
(23) да, в нём просто копирование файла к себе + запуск обработки через start ....bat
т.е. логика работы клиента: забрал файл и стартовал отдельный процесс (start - для win, или просто вызов ещё одного bat - более универсально) его обработки Создание флаг файла возможно и просто после обработки и сохранения основного, это просто признак для 1С, что можно забирать результат |
|||
25
Fedor-1971
15.03.23
✎
09:27
|
24 если файлы большие, то нужно предусмотреть вариант появления файла в процессе копирования
ну и вариант "Старый не забрали, а новый поверху записали" - т.е. обеспечить уникальность имён файлов |
|||
26
mistеr
15.03.23
✎
14:03
|
(25) Поэтому лучше взять готовое, написанное тем, кто учел все эти и другие тонкости.
|
|||
27
magicSan
15.03.23
✎
14:40
|
(23) тебе в самом начале написали, сохраняешь файл в шару или ВХ, далее вызываешь фоновое, оно сохраняет файл из ВХ и пинает нужное тебе ПО. В это время обработчикОжидания опрашивает фоновое и показывает тебе жирно кота.
|
|||
28
CaIIIka
15.03.23
✎
14:46
|
Можно после обработки имя файла немного изменить, а 1С по расписанию искать файлы по измененной маске.
|
|||
29
Fedor-1971
15.03.23
✎
15:44
|
(26) Как я понял, это "Пьеса одного актёра":
- Нажали кнопку - Сформировался файл - Сидим ждём маячок ответа а тем временем: перелили файл на машину пользователя, подписали, маякнули ждуну "Забирай" - Дождались маячок - Забираем из 1С готовый файл и дальше по регламенту отправки (хотя можно и сразу с клиента отправить подписанный файл, а 1С вернуть успешность сего действа) Просто помню, что ТС пытался рулить локальной подписью файлов |
|||
30
ДедМорроз
15.03.23
✎
19:26
|
Есть такая вещь,как именованный канал - для этой задачи очень подходит,а лучше всего virtual channel - там можно узнать,что на той стороне делают.
|
|||
31
DES
15.03.23
✎
22:46
|
шедуллер windows не выполняется чаще чем 5 мин.
А нужно проверять 1-2 сек. |
|||
32
DES
15.03.23
✎
22:46
|
(30) где поуточнять?
|
|||
33
DES
15.03.23
✎
22:47
|
(29) ну, общий план такой, да.
|
|||
34
DES
15.03.23
✎
22:55
|
(29) + только и подпись тоже должна сидеть ждать и выполняться как можно быстрее
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |