Предисловие
В некоторых случаях возникает необходимость отправить файлы по ftp. Например, закачать прайс на сайт. Или организовать обмен в УРБД. Или еще что-то экзотическое. Всегда можно сделать это руками, но очень хочется воспользоваться любимой программой, т.е. 1С :). Во всех этих случаях можно воспользоваться разнообразными внешними компонентами, но их сначала надо найти, потом договориться с автором об использовании и после всего этого научиться пользоваться. Но есть простой и работающий способ - воспользоваться системной командой ftp!
Отправка прайса на сайт
В качестве примера рассмотрим отправку прайса на сайт. Предполагается, что несколькими строками выше был сформирован прайс и ссылка на таблицу с ним хранится в переменной Таб. Осталось только отправить его.
Таб.Записать("c:Price.xls","xls"); //создаем скрипт для соединения и отправки Скрипт=СоздатьОбъект("Текст"); Скрипт.ДобавитьСтроку("open ххх.ххх.ххх.ххх"); Скрипт.ДобавитьСтроку("user"); Скрипт.ДобавитьСтроку("имя_пользователя"); Скрипт.ДобавитьСтроку("пароль"); Скрипт.ДобавитьСтроку("binary"); //при необходимости входим в каталог, возможно, таких команд будет несколько Скрипт.ДобавитьСтроку("cd public_html"); Скрипт.ДобавитьСтроку("cd download"); Скрипт.ДобавитьСтроку("put "+"c:Price.xls"); Скрипт.ДобавитьСтроку("bye"); //записываем скрипт на диск Скрипт.Записать("c:1.txt"); //а теперь запускаем его выполнение КомандаСистемы("ftp -n -s:c:1.txt");
Отправка произвольного файла
Чтобы отправить произвольный файл, достаточно в предыдущем примере пропустить создание таблицы и запись ее в файл, а в строке "Скрипт.ДобавитьСтроку("put "+"c:Price.xls");" заменить "c:Price.xls" на полный путь и имя отправляемого файла.