8.х FTPСоединение

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем xxx949, 29 окт 2015.

  1. TopicStarter Overlay
    xxx949
    Offline

    xxx949 Опытный в 1С

    Регистрация:
    29 июл 2010
    Сообщения:
    302
    Симпатии:
    1
    Баллы:
    29
    Здравствуйте уважаемые программисты 1С!
    Прошу помощи, ничего не понимаю. Ситуация следующая, у меня есть обработка мной написанная, которая формирует по заказам файл XML и отправляет его на FTP-сервер. Заказов может быть много, соответственно и файлов может быть много. FTP-сервер на который отправляются файлы настроен так, что каталог в которую загружаются файлы, сразу очищается, т.е. файлы перекидываются в другое место (видимо клиент эти файлы сразу от туда забирает), дальше каждые 11 минут FTP-сервер перегружается, дальше он стабильно и быстрее работает только через пассивный режим.

    Вот код, как происходит отправка:
    Код:
    Попытка
                    ФТПСоединение = Новый FTPСоединение(СокрЛП(Сервер), Порт, СокрЛП(Логин), СокрЛП(Пароль), , ПассивныйРежим);
                    Каталог = "/Outbox";
                    ФТПСоединение.УстановитьТекущийКаталог(Каталог);
                Исключение
                    Сообщить("Не удалось подключиться к FTP с вашим логином и паролем! Проверьте свой логин и пароль. Проверьте доступ к серверу с вашего компьютера. Проверьте настройки подключения. Попробуйте еще раз.", "Плохо");
                КонецПопытки;              
              
                Если ФТПСоединение <> Неопределено Тогда
                    Для Каждого ФайлИзСписка Из СписокФайлов Цикл
                        ИмяФайлаИзСписка = ПолучитьИмяФайлаСРасширением(ФайлИзСписка);
                      
                        ФТПСоединение.Записать(ФайлИзСписка,ИмяФайлаИзСписка);
                        УдалитьФайлы(ФайлИзСписка); // удалить файл
                    КонецЦикла;
                    СписокФайлов.Очистить();
                КонецЕсли;
    Ситуация в том, что сначала проверяется ФТПСоединение, если оно проходит, то все нормально, в цикле файлы загружаются на сервер, но очень часто, именно в момент загрузки, сервер перестает быть доступен, из-за перезагрузки или связь теряется. Тут я не могу понять, ошибки никакой не происходит, файл из каталога не удаляется, т.е. получается он до этой команды не доходит, и файл на сервер FTP тоже не попадает, и получается что тот файл на котором он прервался, после него все файлы на сервер не попадают, и с каталога не удаляются. Так вот в чем вопрос, как вообще отследить в этом случае, что файл передался на сервер нормально, если ни ошибки, ни исключения, нет. Он получается без ошибок на строчке ФТПСоединение.Записать, если у него не получилось ЗАПИСАТЬ, то он как то тихо мирно завершает работу и команды дальше не выполняет. Спасибо.
  2. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    А куда попадает ваш цикл, если нет никакой ошибки и файл не отправлен? Может весь вызов этой процедуры в попытку обернут?

    Ну и как вариант - новое соединение на каждый файл.
  3. TopicStarter Overlay
    xxx949
    Offline

    xxx949 Опытный в 1С

    Регистрация:
    29 июл 2010
    Сообщения:
    302
    Симпатии:
    1
    Баллы:
    29
    Спасибо за ответ, в Попытку он не обернут это абсолютно точно. Сам не пойму, почему нет ошибки, такое чувство, что он ее просто проглатывает. Новое соединение на каждый файл, об этом я уже думал, но он тогда будет очень долго отправлять, если каждый раз соединение создавать будет. Хотя надо попробовать. Он и так долго передает.
  4. Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    403
    Симпатии:
    71
    Баллы:
    54
    Здравствуйте.
    Ускорить отправку файлов можно, используя внешние программы (например, winscp). У нас так сделано. Во-первых, в разы быстрее, а во-вторых, в дос-окне виден ход отправки, есть возможность снять зависший процесс
Похожие темы
  1. has
    Ответов:
    5
    Просмотров:
    1.869
Загрузка...

Поделиться этой страницей