Итак, мне все-таки удалось решить проблему загрузки файлов DBF с длинными именами, причем без использования Excel.Application!
[codebox]
Перем Выб,long, НовИмяФайла, ДлинноеИмяФайла;
Процедура ВыборФайла()
ФайлЗагрузки = "";
КаталогЗагрузки="";
long=0;
Если ФС.ВыбратьФайл(0, ФайлЗагрузки, КаталогЗагрузки, "Выберите файл",
"Файлы баз данных (*.dbf)|*.dbf", , ) = 1 Тогда
Если СтрДлина(ФайлЗагрузки) > 12 тогда
long=1;
ДлиноеИмяФайла=ФайлЗагрузки;
ЗначИмени = Лев(Строка(ФайлЗагрузки),8); // получаем первые 8 символов из имени
Расш = Прав(Строка(ФайлЗагрузки),3);
НовИмяФайла = ЗначИмени + "." + Расш;
Фс.ПереименоватьФайл(ФайлЗагрузки,НовИмяФайла,1);
Выб = НовИмяФайла;
Иначе
Выб = ФайлЗагрузки;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Процедура Сформировать()
ИмФайл=СокрЛП(Выб);
Док1 = СоздатьОбъект("Документ.РеестрСчетовВходящийЛПУ");
ДБФ = СоздатьОбъект("XBase");
ДБФ.ОткрытьФайл(КаталогЗагрузки + "\" + Выб);
Док1.Новый();
ДБФ.Первая();
Пока ДБФ.ВКонце() = 0 Цикл
Док1.НоваяСтрока();
и т.д. (обрабатываем документ)
......
ДБФ.ЗакрытьФайл();
Если long=1 Тогда
Фс.ПереименоватьФайл(НовИмяФайла,ФайлЗагрузки,1);
КонецЕсли;
КонецПроцедуры
[/codebox]
Так что моя гипотеза была не такой уж безумной
P.S. С помощью Excel.Application также удается делать загрузку, вот только я не понял как узнать количество строк в файле (чтобы правильно организовать цикл)? Хотелось бы сделать вариант и с использованием Экселя
