|   |   | 
| 
 | Как удостоверится, что запись внешнего файла завершена? | ☑ | ||
|---|---|---|---|---|
| 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 | 
        Файл,открытый по сети,на сервере можно увидеть в списке открытых файлов,но опять же,смотрим предыдущее сообщение.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |