|
Работа из 1с с ФТП | ☑ | ||
---|---|---|---|---|
0
SVVS12
12.08.12
✎
02:09
|
Нижеприведенный код (запись файла с диска пользователя на фтп) успешно работал в файловом режиме 1с. При переводе на клиент-серверный режим выдает ошибку ({Документ.ЗаказНаПроизводство2.Форма.ФормаДокумента.Форма(1539)}: Ошибка при вызове метода контекста (Записать)
Соединение.Записать(ИФФ,ИмяФайлаFTP); по причине: Файл не обнаружен 'W:/Путь к файлу /Рисунок.jpg') ГДЕ ОШИБКА?? ЧТО ДЕЛАТЬ?? ///////////////////////////// &НаКлиенте Процедура ЗагрузитьНаFTP(Команда) ТС = Элементы.Документация1.ТекущиеДанные; СохранитьФайл(ТС.ФайлДокумента,ТС.ПутьКДокументу); КонецПроцедуры Процедура СохранитьФайл(ФД,ИФФ) ИмяФайлаFTP= СокрЛП(Константы.ПутьКДокументацииПоЗаказамНаFTP.Получить())+"/Order"+Объект.Номер+"_"+ФД; Соединение = ВыполнитьFTPПодключениеКСерверуВнешнегоХранилища(); Соединение.Записать(ИФФ,ИмяФайлаFTP); КонецПроцедуры Функция ВыполнитьFTPПодключениеКСерверуВнешнегоХранилища() Экспорт ИмяFTPСервера = СокрЛП(Константы.ПутьВнешнегоХранилища.Получить()); Если ПустаяСтрока(ИмяFTPСервера) Тогда Возврат Неопределено; КонецЕсли; ПользовательFTPСоединения = СокрЛП(Константы.ПользовательВнешнегоХранилища.Получить()); ПарольFTPСоединения = СокрЛП(Константы.ПарольВнешнегоХранилища.Получить()); Попытка Соединение = Новый FTPСоединение(ИмяFTPСервера, , ПользовательFTPСоединения, ПарольFTPСоединения, ,Истина); Исключение Сообщить("Ошибка при подключении к FTP : " + ИмяFTPСервера + " ! " + ОписаниеОшибки()); Возврат Неопределено; КонецПопытки; Возврат Соединение; КонецФункции |
|||
1
Web00001
12.08.12
✎
02:19
|
На первый взляд все нормально, дурацкий вопрос но все таки спрошу, в отладчике при остановке по ошибке, переменные ТС.ФайлДокумента,ТС.ПутьКДокументу что содержат?
|
|||
2
SVVS12
12.08.12
✎
02:23
|
Web00001
ТС.ФайлДокумента=Рисунок.jpg ТС.ПутьКДокументу =W:/Путь к файлу /Рисунок.jpg Все как должно быть |
|||
3
Азазелло
12.08.12
✎
03:06
|
(0) )) Классика жанра при переходе с файлового варианта на клиент-серверный. И на клиент-серверное программирование вцелом.
У тебя контекст исполнения СохранитьФайл(ФД,ИФФ) _серверный_. А файлы ты пытаешься передать с клиента. А сервер ни сном ни духом, что там у клиента на его диске W находится. Тебе нужно сначала файл с клиента запульнуть на сервер, а оттуда уже на фтп выкладывать. |
|||
4
SVVS12
12.08.12
✎
03:25
|
(3) Спасибо!
|
|||
5
SVVS12
12.08.12
✎
15:41
|
Еще раз спасибо, Азазелло, стыдно быть двоечником.
Записать на фтп получилось, на сервер файл закинул так: &НаКлиенте Процедура ЗагрузитьНаFTP(Команда) Файл = Новый ДвоичныеДанные(ПутьКДокументу); Адрес=ПоместитьВоВременноеХранилище(Файл); СохранитьФайл(Адрес,ФайлДокумента); КонецПроцедуры &НаСервере Процедура СохранитьФайл(Адрес,ФД) ФайлИзХранилища = ПолучитьИзВременногоХранилища(Адрес); Путь = КаталогВременныхФайлов()+ФД; ФайлИзХранилища.Записать(Путь); КонецПроцедуры |
|||
6
Азазелло
12.08.12
✎
15:46
|
(5) Да не за что, сам тоже в свое время на этом спотыкался )
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |