• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

  • Автор темы vbs
  • Дата начала
V

vbs

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

В чем засада ?

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

gorlanovmax

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

В чем засада ?

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

А при формировании файлика нет ли случаем кирилических символов, типа А, Р ?
 
Д

Дайнеко

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

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

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

vbs

А при формировании файлика нет ли случаем кирилических символов, типа А, Р ?
Нет, конечно !

Я бы этой фразе не доверял, а проверил бы все на локальном компе. Точно повторив имя папки и файла.

С локального все и началось - долго мучились с именем PAYS_SYN и аналогичными - убрали подчеркивание - все ожило
А при переносе на сервер - все назад

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

Стоит поисследовать, Спасибо за подсказки
 
Д

Дайнеко

С локального все и началось - долго мучились с именем PAYS_SYN и аналогичными - убрали подчеркивание - все ожило
А при переносе на сервер - все назад

Ничего нет плохого в символе "_". Дай русские буквы, кажется, жуются правильно. Только длинна мешает.
 
V

vbs

Ничего нет плохого в символе "_". Дай русские буквы, кажется, жуются правильно. Только длинна мешает

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!