Имя: Пароль:
1C
1С v8
"Ошибка совместного доступа к файлу": как прочитать текстовый файл?
0 dave2000
 
16.04.15
12:59
Ситуация такая:
Есть консольная утилита для сканирования QR-кодов, запускается так:

zbarcam.exe > 1.txt

Т.е. при каждом сканировании она добавляет в файл 1.txt строку с QR-кодом. Этот файл я могу просмотреть вручную любыми средствами (Блокнот, Тотал Коммандер), но при открытии его из 1С

Т = Новый ТекстовыйДокумент;
Т.ТолькоПросмотр = Истина;
Т.Прочитать("d:\Program Files\ZBar\bin\1.txt");
СвойстваФайла = Т.ПолучитьТекст();

вылетает ошибка:
{Форма.Форма.Форма(564)}: Ошибка при вызове метода контекста (Прочитать)
    Т.Прочитать("d:\Program Files\ZBar\bin\1.txt");
по причине:
Ошибка совместного доступа к файлу 'd:\Program Files\ZBar\bin\1.txt'

Как еще из 1С можно прочитать содержимое файла?
1 Лефмихалыч
 
16.04.15
13:08
zbarcam.exe > 1.txt - это она не добавляет, а заменяет все содержимое
добавлять вот так zbarcam.exe >> 1.txt

ну, а чтобы блокировки не мешали, копируй куда-нибудь 1.txt и открывай уже копию. Существующее решение ты этим не испортишь. Его ни чем не испортишь
2 dave2000
 
16.04.15
13:38
(1) Спасибо, получилось!
3 dave2000
 
16.04.15
13:42
Но теперь вторая проблема: как запустить команду "zbarcam.exe > 1.txt", не дожидаясь ее завершения?

Эта команда запускается нормально, но ожидает завершения приложения (1С недоступна):
КомандаСистемы("zbarcam.exe > 1.txt","с:\Program Files\ZBar\bin\");


А эта команда говорит, что не удается найти "zbarcam.exe > 1.txt":
ЗапуститьПриложение("zbarcam.exe > 1.txt","с:\Program Files\ZBar\bin\",Ложь);
4 Сергиус
 
16.04.15
14:06
(3)Как вариант, создай bat-файл в этом же каталоге и в нем строчку этой команды пропиши. В ЗапуститьПриложение уже его указывай.
5 dave2000
 
16.04.15
14:17
(4) да, через бат получилось, спасибо
Закон Брукера: Даже маленькая практика стоит большой теории.