Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Ошибка при открытии файла DBF

Ошибка при открытии файла DBF
Я
   Azgerd
 
13.03.19 - 13:43
Здравствуйте!
В конфигурации на платформе 8.2 Во внешней обработке (обычная форма) есть код:
<code>
БДШ = Новый XBase;
БДШ.ОтображатьУдаленные = Ложь;
БДШ.Кодировка = КодировкаXBase.ANSI ;
FSO = Новый COMObject("Scripting.FileSystemObject");
КаталогБД = ЭлементМассива.Путь;
ПутьБДШ = ЭлементМассива.ПолноеИмя;
БДШ.ОткрытьФайл(fso.GetFile(ПутьБДШ).ShortPath,,0);
</code>
Название файла DBF в (ПутьБДШ) имеет больше 8 символов типа 000001000005000.dbf. Вопрос: у одних клиентов этот файл открывается нормально, у других тот же самый файл не открывается, выдаёт ошибку:
ВнешняяОбработка.sh81_prih.Форма.Форма.Форма(770)}: Ошибка при вызове метода контекста (ОткрытьФайл)
        БДШ.ОткрытьФайл(fso.GetFile(ПутьБДШ).ShortPath,,0);
по причине:
Длина имени файла превысила 8 символов.
Почему у одних клиентов с одной и той же конфигурацией система съедает длиный файл а у других нет?
 
 
   RomanYS
 
1 - 13.03.19 - 13:55
(0) судя по СП требование на имя файла - есть. Если где-то работает, значит ошибка.

А зачем вот это FSO = Новый COMObject("Scripting.FileSystemObject"), чем встроенный объект Файл не угодил?
   Azgerd
 
2 - 13.03.19 - 14:00
(1) Обработку не я писал, но вот это все "FSO = Новый COMObject("Scripting.FileSystemObject")", насколько я понял и позволяет открывать длинные файлы.
Вся эта байда у 8 - ми клиентов работает, а у двух нет... Так что это вряд ли ошибка, скорее всего дело в каких-то настройках.
   RomanYS
 
3 - 13.03.19 - 14:16
(2) Аа, понял!
Ну так смотри, что ShortPath возвращает на проблемных компах.
   Garykom
 
4 - 13.03.19 - 14:21
Переименовать файл (скопировать в новый с коротким именем) не судьба перед тем как читать его?
   Azgerd
 
5 - 13.03.19 - 14:24
(4) Да уже собираюсь сделать так, но все же интересно что за фигня! Почему у одних работает у других нет, причина должна же быть.
   RomanYS
 
6 - 13.03.19 - 14:25
(5) Ну судя по ошибке ShortPath не вернула то, что должна
   Гость из Мариуполя
 
7 - 13.03.19 - 14:27
(5) фигня вопрос. В реестре отключены короткие имена. В яндексе инфы навалом
вот, навксидку
https://support.microsoft.com/ru-ru/help/121007/how-to-disable-8-3-file-name-creation-on-ntfs-partitions
   Гость из Мариуполя
 
8 - 13.03.19 - 14:30
(5) + а, к примеру,  вот как пересоздать короткие имена
http://moonlightsoft.blogspot.com/2015/12/windows.html
   Azgerd
 
9 - 13.03.19 - 15:58
   Azgerd
 
10 - 13.03.19 - 16:00
Пришлось копировать исходный файл в короткий файл.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.