Всем привет, задача такая.
Есть регламентное задание которое по расписанию должно формировать табличный документ на WEB сервере и сохранять его в виде файла PDF на FTP сервер.

написал код но он выдает ошибку при сохранении, но внимание на файловом варианте базы все работает!!!

```1c
    ПотокФайла = Новый ПотокВПамяти();
    ТабДок.Записать(ПотокФайла, ТипФайлаТабличногоДокумента.PDF);
    ДвоичныеДанныеФайла = ПотокФайла.ЗакрытьИПолучитьДвоичныеДанные();
    ааа=новый Файл (ДвоичныеДанныеФайла);

    Соединение = Новый
    FTPСоединение("сервер",21,"юзер","пароль",,Истина,100);

    Поток = Новый ФайловыйПоток(Строка(ааа), РежимОткрытияФайла.Открыть, ДоступКФайлу.Чтение);

    Соединение.Записать("/док.pdf", Поток);
```
---
Хех, интересненько , с потоком в памяти в фтп не записывает - вот странно на недоработку платформы похоже, так как в типах он может быть , а просто если перегнать из потока в памяти данные в обычный поток и его отдать фтп поидее должно отработать ну я правда на клиенте пробовал но думаю сработает, пробуй :

```1c
    ВрПотокВпамяти = Новый ПотокВПамяти();
    ТабДок.Записать(ВрПотокВпамяти, ТипФайлаТабличногоДокумента.PDF);
    ДвоичныеДанные = ВрПотокВпамяти.ЗакрытьИПолучитьДвоичныеДанные();
    ВрПоток = ДвоичныеДанные.ОткрытьПотокДляЧтения();
    Соединение = Новый FTPСоединение("Сервер",21,"Логин","Пароль",,Истина,100);
    Соединение.Записать("ИмяФайла.pdf", ВрПоток);
```
---
) А где выполняется этот код? На клиенте/сервере?
Если на сервере, то на самом сервере есть интернет и все необходимые права?
---
Да на сервере, есть интернет, права все есть. Ошибка при записи выходит что файл не найден.
---
База лежит в 1С: ГРМ
---
```1c
    ВрФайл = КаталогВременныхФайлов()+ПолучитьИмяВременногоФайла();
    ТабДок.Записать(ВрФайл , ТипФайлаТабличногоДокумента.PDF);
    Соединение = Новый FTPСоединение("Сервер",21,"Логин","Пароль",,Истина,100);
    Соединение.Записать(ВрФайл , "/ftp_folder/ftp_file.pdf");
```
---
Ошибка

СкринШот
---
А через файловый вариант базы все сохраняет
---
Хех, интересненько , с потоком в памяти в фтп не записывает - вот странно на недоработку платформы похоже, так как в типах он может быть , а просто если перегнать из потока в памяти данные в обычный поток и его отдать фтп поидее должно отработать ну я правда на клиенте пробовал но думаю сработает, пробуй :

```1c
    ВрПотокВпамяти = Новый ПотокВПамяти();
    ТабДок.Записать(ВрПотокВпамяти, ТипФайлаТабличногоДокумента.PDF);
    ДвоичныеДанные = ВрПотокВпамяти.ЗакрытьИПолучитьДвоичныеДанные();
    ВрПоток = ДвоичныеДанные.ОткрытьПотокДляЧтения();
    Соединение = Новый FTPСоединение("Сервер",21,"Логин","Пароль",,Истина,100);
    Соединение.Записать("ИмяФайла.pdf", ВрПоток);
```
---
Спасибо тебе огромное))) Сработало, а я уже всю голову сломал)))
---
А зачем использовать дополнительные объекты? можно еще проще:

```1c
    ВрПотокВпамяти = Новый ПотокВПамяти();
    ТабДок.Записать(ВрПотокВпамяти, ТипФайлаТабличногоДокумента.PDF);

    ВрПотокВпамяти .Перейти(0,ПозицияВПотоке.Начало);
    Соединение = Новый FTPСоединение("Сервер",21,"Логин","Пароль",,Истина,100);
    Соединение.Записать("ИмяФайла.pdf", ВрПоток);
```

Не любят люди разбираться с объектами. Хотя и 1С предоставляет справку так себе