FTP.ert — обработка для передачи файлов по FTP протоколу с подтверждением результата. Без ВК.

Простая универсальная загрузка и выгрузка файлов по протоколу FTP с подтверждением. Никаких внешних компонент. Фоновая работа. Незаменимая вещь для поддержки удаленных клиентов! На базе этой обработки легко построить систему обновления, например, внешних отчетов, которые находятся у клиента. Тогда ему достаточно нажать кнопку "Обновить отчеты", и насладиться результатами ваших трудов 🙂

P.S. Не сочтите за труд после ознакомления вернуться и оставить комментарий 🙂

Обработка абсолютно бесплатна и распространяется с открытым кодом — используйте на свое усмотрение, желательно сохраняя информацию об авторах.

Функционал сухим языком:

FTP.ert — обработка для передачи файлов по FTP с использованием консольного приложения ftp.exe. Предназначена для фоновой загрузки — выгрузки указанных маской файлов. Используется для обновления файлов на удаленной машине клиента.

  • Вызывается как внешний отчет с передачей списка параметров.
  • Консольное окно работает в фоновом режиме после вызова обработки, управление немедленно передается 1С.
  • Имеет обратную связь в виде сообщения об успешности или неудаче загрузки — выгрузки. Такая обратная связь достигается за счет использования простых командных файлов (*.bat) и немного строчек для wscript (*.vbs).
  • Эти файлы корректно удаляются так, что мусора не остается.

В общем, смотрите код.

Авторы: Проскурин П.А., Газизов З.Н.
Украина, Одесса, 2007 год

24 Comments

  1. proskurin

    Хочу сразу предостеречь от соблазна перезаписывать рабочие файлы по живому — иногда, особенно при плохой связи, файл может загрузиться не полностью — поэтому качайте во временную папку. Потом уже не знаю, может CRC проверять. Надо подумать.

    Reply
  2. Имхо, посоветую использовать ncftp — более функциональный аналог ftp

    Reply
  3. CheBurator

    > Т.Записать(СОКРЛП(КаталогЛокальный)+ВременныйСкриптФайл);

    не всегда каталог с файлами для отсылки (т.е. чтение) м.б. доступен для записи туда файла скрипта 😉 имхо логичнее использовать каталогПользователя() или КаталогВременныхФайлов()

    желательно упомянуть как подключиться к нетиповому порту…

    Reply
  4. proskurin

    >>Имхо, посоветую использовать ncftp — более функциональный аналог ftp

    Если есть желание перписать под ncftp — то милости просим, код в студию 🙂

    Выложу оба варианта

    Reply
  5. proskurin

    >>Сhe Burashka

    Подключиться к нетиповому порту? Надо после IP адреса указать его номер.

    Насчет записи в каталог- я привык, что все находится в одном месте, кому надо — тот переделает. Этот пример будет работать в 90% случаях, думаю, вполне достаточно для универсальности 🙂

    Reply
  6. proskurin

    Обработка заслуживает лучшего рейтинга 🙂

    Reply
  7. avega

    вот еще бы и сам http://ftp.exe выложил бы…

    Reply
  8. Lustin_is

    2avega

    Пуск -> Выполнить -> http://ftp.exe

    Должно работать в Windows XP точно (в поставку входит)

    Reply
  9. sashulyT

    1. Не сработал срипт на подверждение работы

    2. Если КаталогУдаленный например «exe1c» то обработка кидает в «exe» это мне кажется не правильно

    ну а в целом +

    Reply
  10. igor_1c

    Отлично работает, но у меня выдает ошибку компиляции VBScript

    Строка 3

    Символ 44

    Ошибка: Синтаксическая ошибка

    Код: 800A03EA

    Reply
  11. VladMir

    igor_1c — Аналогично

    Reply
  12. ADirks

    Про NcFTP. Во всяческих скриптах всегда именно этими утилитами пользуюсь. Самое главное, что они именно заточены на использование из командной строки. Т.е. не надо никаких файлов с командами (как в случае с http://ftp.exe). Просто пишем:

    ncftpget http://ftp.gigawarez.ru c: emp /warez/gamez/tetriz.zip

    ncftpput http://ftp.trash.ru /pub/trash c: emp etriz.zip

    Куча всяких ключей позволяет сделать всё, что только можно сделать с FTP.

    Описалово:

    ncftpget: http://www.ncftp.com/ncftp/doc/ncftpget.html

    ncftpput: http://www.ncftp.com/ncftp/doc/ncftpput.html

    и до кучи ncftpls: http://www.ncftp.com/ncftp/doc/ncftpls.html

    Reply
  13. niko

    Так же, как у 10 и 11. Ошибка скрипта.

    Reply
  14. makfromkz

    скачал(не смотря на нижеследующие комменты), будем смотреть))))

    Reply
  15. Снусмумрик

    Работает, но выдает таки ошибку скрипта 🙁

    А во-вторых — а как с помощью этого создать каталог на фтп ?

    Reply
  16. papoose

    Самая большая проблема в том что стандартный http://ftp.exe от Microsoft не умеет работать в пассивном режиме(passiv mode).

    Недавно столкнулся с тем что сервер нивкакую нехотел принимать файлы в обычном режиме, только в пассивном.

    Вышел из положения с помощью Curl(http://ru.wikipedia.org/wiki/CURL).

    Вообще очень удобная утелитка для работы с http/ftp и т.п.

    Reply
  17. Снусмумрик

    А как заставить 1С просматривать содержимое ФТП не качая туда-сюда файлы ?

    Просто понимать, что такой файл есть на фтп ?

    Reply
  18. dav405

    9,10 Надо убрать переводы строк в ert, тогда не выбрасывает ошибку.

    Команда=»msgbox («»Загрузка файлов прошла успешно.»»),64,»»Сообщение «» «; Т.ДобавитьСтроку(Команда);

    Для правильного перехода по вложенным каталогам переделал парсерчик:

    счПереходов=СтрЧислоВхождений(_КаталогУдаленный,»/») ; //из цикла за цикл

    Для А=1 По счПереходов Цикл

    Рез=Найти(_КаталогУдаленный,»/»);

    ПодКаталогФТП=ЛЕВ(_КаталогУдаленный,Рез-1);

    Если ПустоеЗначение(ПодКаталогФТП)=0 Тогда

    Т.ДобавитьСтроку(«cd «+ПодКаталогФТП);

    КонецЕсли;

    _КаталогУдаленный=Сред(_КаталогУдаленный,Рез+1); // _КаталогУдаленный вместо КаталогУдаленный

    КонецЦикла;

    Reply
  19. dav405

    Да, забыл сказать «Спасибо большое».

    Reply
  20. Bor_ka

    Спасибо за обработку. Установил. Обмен настроил через обработку ожидания (использовал FormEx) + закоментировал выполнение скрипта.

    До этого хотел использовать решение http://infostart.ru/public/15995/

    Но под Server2003 SP2 не подгружалась библиотека dialmail

    Reply
  21. Zen13

    Спасибо, за сэкономленное время!!

    Reply
  22. sayae

    Пробовал несколько вариантов. Этот оказался более приемлемый. Внешние компоненты требуют постоянной донастройки. Особенно, если прав не хвататет, т.е. ты не сисадмин,приходится выкручиваться. Данный вариант наиболее оптимален.

    Reply
  23. alexbuk

    Спасибо за обработку. Очень нужная вещь оказалась. Кто знает помогите в следующем вопросе — мне нужно удалить загруженные файлы на удаленном сервере. Как это можно сделать?

    Reply
  24. N_aix

    Хорошая обработка!

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *