Открытие Файла В 1с7.7 В Пакетном Режиме

vbs

Well-Known Member
18.02.2007
1 708
3
#1
Код:
NameDir ="C:\Dvm\";
FileName = NameDir+FName+".DBF";
DBF.OpenFile(FileName); 
DoMessageBox(DBF.ErrorCode());
Вот такой кусочек кода не работает, например, с именем FName = "PAYSSYN"
Выдает ошибку -70 (ошибка чтения файла)
Лечится так : Файл переименовываем в "PS" - открывает без проблем.
Файл снова переименовываем в "PAYSSYN" - открывает без проблем.

В чем засада ?

PS. Права на файл есть, система Windows server 2008 R2
 

gorlanovmax

Well-Known Member
19.06.2008
286
0
#2
Код:
NameDir ="C:\Dvm\";
FileName = NameDir+FName+".DBF";
DBF.OpenFile(FileName); 
DoMessageBox(DBF.ErrorCode());
Вот такой кусочек кода не работает, например, с именем FName = "PAYSSYN"
Выдает ошибку -70 (ошибка чтения файла)
Лечится так : Файл переименовываем в "PS" - открывает без проблем.
Файл снова переименовываем в "PAYSSYN" - открывает без проблем.

В чем засада ?

PS. Права на файл есть, система Windows server 2008 R2
А при формировании файлика нет ли случаем кирилических символов, типа А, Р ?
 

Дайнеко

Well-Known Member
19.11.2009
951
0
#3
PS. Права на файл есть, система Windows server 2008 R2
Я бы этой фразе не доверял, а проверил бы все на локальном компе. Точно повторив имя папки и файла.
Приведу проблемы из своего опыта, может что натолкнет на мысль:
- имя файла <=8 символов (ну, это аксиома)
- имя со спецсимволами.
- с длинной имени каталога не видел проблем.
- в файле DBF заголовок содержит признак его разновидности (dBase или FoxPro разных версий). Очень даже может быть причиной. Сталкивался с тем, что просмотрщики открывают, а 1С нет.
- наличие в файле полей типа MEMO нежелательно.
- концовка файла "кривая". Физический размер не равен Кол-во записей х Длинну записи.
- файл уже открыт в сеансе 1С, а его еще раз пытается открыть. Проверить сразу после запуска 1С.

А еще хотел уточнить что такое "пакетный режим"?
 

vbs

Well-Known Member
18.02.2007
1 708
3
#4
А при формировании файлика нет ли случаем кирилических символов, типа А, Р ?
Нет, конечно !

Я бы этой фразе не доверял, а проверил бы все на локальном компе. Точно повторив имя папки и файла.
С локального все и началось - долго мучились с именем PAYS_SYN и аналогичными - убрали подчеркивание - все ожило
А при переносе на сервер - все назад

имя файла <=8 символов (ну, это аксиома)
- имя со спецсимволами.
- с длинной имени каталога не видел проблем.
наличие в файле полей типа MEMO нежелательно.
Этого нет
- в файле DBF заголовок содержит признак его разновидности (dBase или FoxPro разных версий). Очень даже может быть причиной. Сталкивался с тем, что просмотрщики открывают, а 1С нет.
Стоит поисследовать, Спасибо за подсказки
 

Дайнеко

Well-Known Member
19.11.2009
951
0
#5
С локального все и началось - долго мучились с именем PAYS_SYN и аналогичными - убрали подчеркивание - все ожило
А при переносе на сервер - все назад
Ничего нет плохого в символе "_". Дай русские буквы, кажется, жуются правильно. Только длинна мешает.
 

vbs

Well-Known Member
18.02.2007
1 708
3
#6
Ничего нет плохого в символе "_". Дай русские буквы, кажется, жуются правильно. Только длинна мешает

Плохого-то ничего, может, и не в подчеркивании была причина. Переименование вылечило - и успокоились.
Более того, эффект порой возникал при открытии через файловую систему (не всегда !), но теперь это неактуально, все равно необходимо запускать пакет без участия пользователя.
Приблуда заключается в обмене данными между 1с7.7 и внешней программой, написанной на Клиппере, каковая и генерит несколько файлов для обмена,
после чего в 1с заносятся данные из этих файлов, а из 1с обратно - коды связи.
Спец по клипперной программе сомневается, что дело в несовпадении заголовков