Выгрузка файла из 1с 8.2 Ут10.3 на ftp server

1. апостол 32 24.02.14 11:17 Сейчас в теме
Здравствуйте!
Пробую выгрузить файл на ftp server. И при выгрузке вылетает ошибка. Подскажите пожалуйста в чем дело?

Процедура КнопкаСформироватьFTP(Кнопка)
	ФТПХост         = "ftp.efesrussia.ru";
	ФТППорт         = "21";
	ФТППользователь = "8888";
	ФТППароль       = "8888";
	ФАйл            = "0223RL.dbf";
	ФТПКаталог      = "upload/";
	Попытка
		фтп = Новый FTPСоединение(ФТПХост,ФТППорт, ФТППользователь, ФТППароль);
		Сообщить("Соединяемся с сервером FTP....");
	Исключение
		Предупреждение("Не могу соединиться с FTP сервером");
		Возврат;
	КонецПопытки;
	Сообщить("Соединение с "+ФТПХост+" установлено");
	Сообщить("Отправка файла "+Файл+" на сервер...");
	ФТП.УстановитьТекущийКаталог(ФТПКаталог);
	ФТП.Записать("C:\Users\1\Desktop\Контроль еженедельных сверок 1С vs SAP\",СокрЛП(Файл));
	Сообщить("Файл "+Файл+" на сервер отправлен.");
КонецПроцедуры
Показать


Сообщение об ошибке:

{Форма.ВыгрузкаОптМаркет.Форма(148)}: Ошибка при вызове метода контекста (Записать)
ФТП.Записать("C:\Users\1\Desktop\Контроль еженедельных сверок 1С vs SAP\",СокрЛП(Файл));
по причине:
Ошибка доступа к файлу 'C:\Users\1\Desktop\Контроль еженедельных сверок 1С vs SAP'
Прикрепленные файлы:
alexovik; +1 Ответить
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Yul_kat 45 24.02.14 11:21 Сейчас в теме
зайдите на фтп и проверьте можете ли вы создавать и редактировать там файлы
и есть ли доступ на чтение к файлу по выбранному вами пути на диске С
3. апостол 32 24.02.14 11:25 Сейчас в теме
(2)на C:\Users\1\Desktop\Контроль еженедельных сверок 1С vs SAP\открыт общий доступ и стоят все разрешения
на ftp server в ручную могу файлы залить только через нортонкомандер или far если зайти через бразуер на ftp server то туда ничего поместить немогу
4. Yul_kat 45 24.02.14 11:31 Сейчас в теме
попробуй на проверку создать файл любой не на системном диске и залить на фтп обработкой... если выдаст ту же ошибку то похоже что проблема с правами на сервере фтп
5. апостол 32 24.02.14 11:36 Сейчас в теме
6. Lenten 25 24.02.14 11:43 Сейчас в теме
Может у вас этот файл открыт. У меня такие штуки бывают когда 1с открывает Exele, но не может закрыть. Проверьте в процессах ничего у вас не весит?
7. апостол 32 24.02.14 11:44 Сейчас в теме
(6) проверял, я даже ком перегрузил. если проблема с доступом на ftp тогда я не понимаю, почему в ручном режиме файл через far я туда поместить могу.
8. Yul_kat 45 24.02.14 11:45 Сейчас в теме
записать(<Источник>,<ИмяВыходногоФайла>)

Источник = Путь к файл+имя файла
насколько я вижу у тебя только каталог указывается

ИмяВыходногоФайла - файл с таким именем на сервере для записи в него источника
9. Yul_kat 45 24.02.14 11:46 Сейчас в теме
попробуй
ФТП.Записать("C:\Users\1\Desktop\Контроль еженедельных сверок 1С vs SAP\Какойтофайл.ххх",СокрЛП(Файл));
suggestive; +1 Ответить
10. апостол 32 24.02.14 11:54 Сейчас в теме
(9) сработало, но только зашел на ftp, а там файл этого нет. если в ручную туда вставляю то появляется.
11. апостол 32 24.02.14 11:58 Сейчас в теме
а нет, все работает. спасибо большое
12. Yul_kat 45 24.02.14 11:58 Сейчас в теме
хм... под рукой нету фтп сервера попробовать. попробуй второе значение прописать полный путь к файлу на фтп ФТП.Записать("C:\Users\1\Desktop\Контроль еженедельных сверок 1С vs SAP\Какойтофайл.ххх","ftp.efesrussia.ru/upload/"+СокрЛП(Файл));
13. апостол 32 24.02.14 12:03 Сейчас в теме
(12) еще раз спасибо за помощь!
14. insurgut 207 22.05.18 07:23 Сейчас в теме
Написал обработку выгрузки на сайт прайс-листа и столкнулся с аналогичной проблемой. При том, что в обработке все как указано выше:
FTPСоединение.Записать(мПутьКАрхиву, мИмяАрхива);


Однако проблема осталась.

В итоге нашел довольно простое решение проблемы, но оно оказалось не таким уж и очевидным: если открыть проводник и залогинится на FTP с тем же логином и паролем, что используется в обработке, то после этого обработка из 1С выгружает файлы без ошибки.
15. insurgut 207 19.12.18 07:55 Сейчас в теме
UPD!. Проблема решилась включением пассивного режима при работе с FTP-сервером.

Строка FTP соединения ДО:
FTPСоединение = Новый FTPСоединение(Адрес,Порт,Логин,Пароль);


Строка FTP-соединения ПОСЛЕ:
FTPСоединение = Новый FTPСоединение(Адрес,Порт,Логин,Пароль,,Истина);
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот