gifts2017

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

Опубликовал Павел Проскурин (proskurin) в раздел Администрирование - Сервисные утилиты

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

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

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

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

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

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

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

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

Скачать файлы

Наименование Файл Версия Размер
FTP.ert 486
.1173631639 27,50Kb
25.09.09
486
.1173631639 27,50Kb Бесплатно
Пример вызова FTP.ert 306
.1173631747 24,00Kb
25.09.09
306
.1173631747 24,00Kb Бесплатно

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Proskurin (proskurin) 11.03.07 19:54
Хочу сразу предостеречь от соблазна перезаписывать рабочие файлы по живому - иногда, особенно при плохой связи, файл может загрузиться не полностью - поэтому качайте во временную папку. Потом уже не знаю, может CRC проверять. Надо подумать.
2. Чебуратор 11.03.07 20:01
Имхо, посоветую использовать ncftp - более функциональный аналог ftp
3. Сhe Burashka (CheBurator) 11.03.07 20:16
> Т.Записать(СОКРЛП(КаталогЛокальный)+ВременныйСкриптФайл);
не всегда каталог с файлами для отсылки (т.е. чтение) м.б. доступен для записи туда файла скрипта ;-) имхо логичнее использовать каталогПользователя() или КаталогВременныхФайлов()
желательно упомянуть как подключиться к нетиповому порту...
4. Proskurin (proskurin) 11.03.07 20:24
>>Имхо, посоветую использовать ncftp - более функциональный аналог ftp
Если есть желание перписать под ncftp - то милости просим, код в студию :-)
Выложу оба варианта
5. Proskurin (proskurin) 13.03.07 00:41
>>Сhe Burashka
Подключиться к нетиповому порту? Надо после IP адреса указать его номер.
Насчет записи в каталог- я привык, что все находится в одном месте, кому надо - тот переделает. Этот пример будет работать в 90% случаях, думаю, вполне достаточно для универсальности :-)
6. Proskurin (proskurin) 13.03.07 00:45
Обработка заслуживает лучшего рейтинга :-)
7. Игорь (avega) 13.03.07 07:13
вот еще бы и сам ftp.exe выложил бы...
8. Lustin (Lustin_is) 13.03.07 14:46
2avega

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

Должно работать в Windows XP точно (в поставку входит)
9. Александр (sashulyT) 18.10.07 12:33
1. Не сработал срипт на подверждение работы
2. Если КаталогУдаленный например "exe\1c\" то обработка кидает в "exe" это мне кажется не правильно

ну а в целом +
10. Igor Александрович (igor_1c) 22.01.08 22:27
Отлично работает, но у меня выдает ошибку компиляции VBScript
Строка 3
Символ 44
Ошибка: Синтаксическая ошибка
Код: 800A03EA
11. Владимир Миров (VladMir) 28.02.08 11:39
12. Алексей (ADirks) 28.02.08 13:32
Про NcFTP. Во всяческих скриптах всегда именно этими утилитами пользуюсь. Самое главное, что они именно заточены на использование из командной строки. Т.е. не надо никаких файлов с командами (как в случае с ftp.exe). Просто пишем:
ncftpget ftp.gigawarez.ru c:\temp /warez/gamez/tetriz.zip
ncftpput ftp.trash.ru /pub/trash c:\temp\tetriz.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
13. Niko (niko) 09.04.08 15:43
Так же, как у 10 и 11. Ошибка скрипта.
14. Мухтар (makfromkz) 07.09.08 16:39
скачал(не смотря на нижеследующие комменты), будем смотреть))))
15. Константин Ершов (Снусмумрик) 19.04.09 22:32
Работает, но выдает таки ошибку скрипта :-(
А во-вторых - а как с помощью этого создать каталог на фтп ?
16. papoose (papoose) 23.04.09 18:02
Самая большая проблема в том что стандартный ftp.exe от Microsoft не умеет работать в пассивном режиме(passiv mode).
Недавно столкнулся с тем что сервер нивкакую нехотел принимать файлы в обычном режиме, только в пассивном.
Вышел из положения с помощью Curl(http://ru.wikipedia.org/wiki/CURL).
Вообще очень удобная утелитка для работы с http/ftp и т.п.
17. Константин Ершов (Снусмумрик) 27.04.09 21:41
А как заставить 1С просматривать содержимое ФТП не качая туда-сюда файлы ?
Просто понимать, что такой файл есть на фтп ?
18. david (dav405) 06.08.09 11:21
9,10 Надо убрать переводы строк в ert, тогда не выбрасывает ошибку.
Команда="msgbox (""Загрузка файлов прошла успешно.""),64,""Сообщение "" "; Т.ДобавитьСтроку(Команда);

Для правильного перехода по вложенным каталогам переделал парсерчик:
счПереходов=СтрЧислоВхождений(_КаталогУдаленный,"/") ; //из цикла за цикл
Для А=1 По счПереходов Цикл
Рез=Найти(_КаталогУдаленный,"/");
ПодКаталогФТП=ЛЕВ(_КаталогУдаленный,Рез-1);

Если ПустоеЗначение(ПодКаталогФТП)=0 Тогда
Т.ДобавитьСтроку("cd "+ПодКаталогФТП);
КонецЕсли;

_КаталогУдаленный=Сред(_КаталогУдаленный,Рез+1); // _КаталогУдаленный вместо КаталогУдаленный
КонецЦикла;
Ukel; Bor_ka; +2 Ответить
19. david (dav405) 06.08.09 11:22
Да, забыл сказать "Спасибо большое".
20. Борис Разорёнов (Bor_ka) 24.08.10 17:26
Спасибо за обработку. Установил. Обмен настроил через обработку ожидания (использовал FormEx) + закоментировал выполнение скрипта.
До этого хотел использовать решение http://infostart.ru/public/15995/
Но под Server2003 SP2 не подгружалась библиотека dialmail

21. Евгений М (Zen13) 16.09.11 14:23
Спасибо, за сэкономленное время!!
22. Александр Саяркин (sayae) 19.12.11 15:47
Пробовал несколько вариантов. Этот оказался более приемлемый. Внешние компоненты требуют постоянной донастройки. Особенно, если прав не хвататет, т.е. ты не сисадмин,приходится выкручиваться. Данный вариант наиболее оптимален.
23. Alex Buklin (alexbuk) 11.09.12 09:40
Спасибо за обработку. Очень нужная вещь оказалась. Кто знает помогите в следующем вопросе - мне нужно удалить загруженные файлы на удаленном сервере. Как это можно сделать?
24. N’aix lifestealer (N_aix) 09.03.13 16:16
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа