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 не будет опубликован. Обязательные поля помечены *