Имя: Пароль:
1C
1С v8
Открытие FTP при выборе файла
0 Fuas4
 
20.01.14
18:31
Господа, как реализовать сабж? У диалога выбора файла можно указать каталог, который открывается по умолчанию. Хочу указать ФТП. Делаю так:
Процедура ЗагружаемыеДокументыФайлНачалоВыбора(Элемент, СтандартнаяОбработка)
    ДиалогВыбораФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
    ДиалогВыбораФайла.Фильтр = "XML(*.xml)|*.xml";
    ДиалогВыбораФайла.Заголовок="Выберете файл для загрузки";
    ДиалогВыбораФайла.Каталог = "ftp://"+FTPСоединение.Сервер+FTPСоединение.ТекущийКаталог()+"/";;  
    ДиалогВыбораФайла.Выбрать();
    Элемент.Значение = ДиалогВыбораФайла.ПолноеИмяФайла;
    
КонецПроцедуры
  При этом открывает мне старую локальную папку (загрузки) из которой получал документ до этого. Если вместо "ftp://"+FTPСоединение.Сервер+FTPСоединение.ТекущийКаталог()+"/";; указать "C:\Program Files" открывает Program Files. Если копировать то, что получаю в ДиалогВыбораФайла.Каталог в проводник, тоФТП нормально открывается. В чем может быть проблема?
1 Fuas4
 
20.01.14
18:37
кстати, 8.3.4.389 если это важно
2 Fuas4
 
20.01.14
18:42
Кстати, если ручками в диалоге выбора файла выбрать мой фтп и выбрать файл с этого фтп, то в мой ревизит этот файл не попадает. Вот такие дела. Неужели только качать на комп и открывать отсюда?
3 Fuas4
 
20.01.14
19:20
8.2.19.83 тоже не открывает. Ай нид хелп :(
4 fmrlex
 
20.01.14
20:24
(0) Да вы, сударь, хитрож0пы до безобразия.
5 Fuas4
 
20.01.14
20:25
(4) от чего же, сударь?
6 Fuas4
 
20.01.14
20:30
Кстати, господа, отчего мне     FTPСоединение = Новый FTPСоединение(АдресСайта,Порт,Логин,Пароль,,Ложь);
    FTPСоединение.УстановитьТекущийКаталог(ИмяКаталога);

ФайлыФТП = FTPСоединение.Получить(.НайтиФайлы("");

Возвращает только корневую папку без файлов?
7 Fuas4
 
20.01.14
20:40
в (6) "Получить(. лишнее. Возвращается текущий каталог ФТП соединения
    FTPСоединение = Новый FTPСоединение(АдресСайта,Порт,Логин,Пароль,,Ложь);
    FTPСоединение.УстановитьТекущийКаталог(ИмяКаталога);
    адр = FTPСоединение.Сервер+FTPСоединение.ТекущийКаталог();
ФайлыФТП = FTPСоединение.НайтиФайлы("");
8 Fuas4
 
20.01.14
20:41
а файлов в этом каталоге и папку рядом с текущим каталогом не видит
9 Fuas4
 
20.01.14
20:47
Я молодец, я получил файл из текущего каталога все файлы. А теперь бокал вина тому господину, который ответит на вопрос в (0). А то мое "гениальное" решение по копироваю файлов во временный каталог и открытие его вместо ФТП сильно похоже на костыль.
З.Ы. получилось вот так: ФайлыФТП = FTPСоединение.НайтиФайлы("","*.xml",Истина);
Т.е. без маски в 8.3 файлы не ищет, хотя СП пишет, что ищет
10 Fuas4
 
20.01.14
22:41
Будущим поколениям: копируем все нужные файлы с фтп в специально создаваемую папку в каталоге временных файлов и открываем ее вместо фтп. По желанию фтп чистим. Открыть фтп для выбора файла я так и не смог
11 spectre1978
 
20.01.14
22:57
(0) что-то слишком мудрая строка FTP.
По идее, там бы достаточно было написать что-то типа
ftp://ftp.dlink.ru/pub/_Marketing/Catalog/
при условии, конечно, что анонимный доступ разрешен. Он разрешен?
12 Fuas4
 
21.01.14
00:05
(11) разрешен. Мудрую строку фтп сделала миста. я вставлял "ftp://"+FTPСоединение.Сервер+FTPСоединение.ТекущийКаталог()+"/";
13 spectre1978
 
21.01.14
10:33
(12) увы :( причем если задать ту же строку интерактивно, то переходит, а вот в качестве начальной строки не желает понимать.

Как вариант, можно, конечно, сделать свой диалог с блекджеком и шлюхами. Форма, список, пихнуть туда имена считанных с сервера имен файлов и выбирай - не хочу.
AdBlock убивает бесплатный контент. 1Сергей