Имя: Пароль:
1C
1С v8
Еще одна тема по FTP-соединению
0 Bobby McFerrin
 
15.05.15
12:00
Привет всем. Понимаю, что много раз обсуждалось. Второй день перерываю инфу и здесь, и на других форумах. Но проблема остается.

Есть задача загрузки из xml номенклатуры в УТ 11. В числе прочих значений есть ссылка на рисунок номенклатуры на ФТП. И вот здесь самая засада. Раньше не работал с ФТП. Во всех темах вижу один и тот же код, понимаю, что делаю правильно все, но файл получить так и не могу. К ФТП подключаюсь благополучно, могу просмотреть в массиве список всех файлов в каталоге, вижу нужный мне, но как только выполняю FTPСоединение.Получить (Файл.ПолноеИмя, ВременныйФайл), сразу же получаю ошибку "Ошибка работы с Интернет: ftp://xxx.xxx.xxx.xxx:xx Remote file not found". Не представляю, что еще здесь нужно. Перебрал различные варианты параметров для Получить, со слешем, без, вручную указывал путь и файл для получения, все бесполезно.
Гуру 1С, к вам обращаюсь. Без вас никак.
1 Bobby McFerrin
 
15.05.15
12:02
А вот и код

FTPСоединение = Новый FTPСоединение("ftp://xxx.xxx.xxx.xxx",xx,xxxxxxx,xxxxxx,,Истина);
    FTPСоединение .УстановитьТекущийКаталог(ИмяКаталога);
    
    Если FTPСоединение.НайтиФайлы(ИмяФайла).Количество() = 0 тогда
        Возврат;
    КонецЕсли;
    
    
    СписокФайлов = FTPСоединение.НайтиФайлы(ИмяКаталога,ИмяФайла);
    Если СписокФайлов.Количество() > 0 Тогда
    Для Каждого Файл Из СписокФайлов Цикл
        Попытка
            ВременныйФайл = ПолучитьИмяВременногоФайла(Прав(Файл.Расширение,СтрДлина(Файл.Расширение)-1));
            FTPСоединение.Получить(Файл.ПолноеИмя,ВременныйФайл);
            
            Сообщить("Получил");
        Исключение
            Сообщить(ОписаниеОшибки());
        КонецПопытки;
        
    КонецЦикла;
    КонецЕсли;
2 Bobby McFerrin
 
15.05.15
14:09
Разобрался. Код рабочий, а дело было в имени файла. Вместо "%23" нужно "#" ))
Независимо от того, куда вы едете — это в гору и против ветра!