|
Как удостоверится, что запись внешнего файла завершена? |
☑ |
0
RomaH
naïve
25.11.21
✎
08:32
|
Взаимодействие с внешней программой
Пользователь во внешней программе делает экспорт файла в каталог
В 1С делаю БП ожидания и обработки экспортируемого файла.
Как начать работу с появившимся в каталоге файлом только после того как этот файл полностью записан?
|
|
1
dubolom
25.11.21
✎
08:50
|
Из внешней программы сигнал никак не передать?
|
|
2
RomaH
naïve
25.11.21
✎
08:55
|
(1) нет
|
|
3
ДенисЧ
25.11.21
✎
08:56
|
Как вариант - пытаться открыть файл на запись в цикле с паузой...
|
|
4
ChMikle
25.11.21
✎
08:56
|
+(3) или скопировать
|
|
5
ДедМорроз
25.11.21
✎
08:58
|
Если программа при записи блокирует файл,то можно попробовать его прочитать.
А так Scripting.FileSystemObject и OpenTextFile с параметром 8 - это открытие на дозапись,если кто-то пишет,то будет сгенерировано исключение.
|
|
6
Мимохожий Однако
25.11.21
✎
08:58
|
Положи рядом файл-флажок после записи и ориентируйся на него. После чтения полученного файла стирай оба файла
|
|
7
ДедМорроз
25.11.21
✎
08:59
|
Если программа "отпускает" во время записи файл,то никак,если его "подхватить", то будет ошибка в той программе.
|
|
8
Мимохожий Однако
25.11.21
✎
09:01
|
Однажды делал так для больших файлов. Записываю файл с особенным расширением. А после полной записи переименовываю в нужное расширение.
|
|
9
Смотрящий
25.11.21
✎
09:01
|
Счиитывать параметры файла дважды, трижды и т.п.
Пока они не уравняются, считать файл
|
|
10
ДедМорроз
25.11.21
✎
09:17
|
Вопрос другой - внешняя программа после записи завершается или нет?
И на этой же она машине?
Просто,увидеть завершение процесса гораздо проще,чем мониторить файл.
Если доступа к изменению внешней программы нет,то следить за процессом - один из вариантов.
|
|
11
ДедМорроз
25.11.21
✎
09:20
|
Можно у процесса получить список дескрипторов файлов и поискать наш файл,но,если файл закрывается,а потом открывается снова,то не выйдет.
|
|
12
acanta
25.11.21
✎
09:20
|
Внешняя программа на другом компьютере и пишет по сети? Или как сейчас модно, сервер дата центра и виртуалка, вообще неизвестно, это тот же компьютер или другой.
|
|
13
ДедМорроз
25.11.21
✎
09:21
|
Файл,открытый по сети,на сервере можно увидеть в списке открытых файлов,но опять же,смотрим предыдущее сообщение.
|
|