К статье
Практический материал

Администрирование · 10 мин

Как настроить FTP в 1С: подключение и обмен файлами

Пошаговая настройка FTP в 1С: подключение через FTPСоединение, обмен файлами, настройка каталога обмена, защита данных и решение типичных ошибок.

FTP в 1С используется в двух основных сценариях: программный обмен файлами через объект FTPСоединение встроенного языка и обмен данными между базами через каталог на FTP-сервере (например, при обмене «Управление торговлей» — «Бухгалтерия» или при выгрузке товаров на сайт). Оба сценария требуют заранее подготовленного FTP-сервера с выделенным пользователем и папкой с правами на запись.

Перед настройкой убедитесь, что у вас есть адрес сервера, порт (по умолчанию 21), логин и пароль пользователя FTP, а сам сервер доступен с компьютера или сервера, где работает 1С. Проверить доступность проще всего любым FTP-клиентом вроде FileZilla: если клиент подключается и видит каталоги, сеть и учётные данные в порядке, и проблему стоит искать уже на стороне 1С.

Важно понимать ограничение: протокол FTP передаёт логин, пароль и данные в открытом виде. Если обмен идёт через интернет, а не внутри локальной сети, используйте FTPS (FTP поверх TLS) либо туннель VPN. Объект FTPСоединение поддерживает защищённое соединение через параметр защищённого соединения.

Подготовка FTP-сервера и учётной записи

Сначала поднимите или проверьте сам FTP-сервер. На Windows это может быть служба FTP в IIS, FileZilla Server или аналог; на Linux — vsftpd или proftpd. Конкретный продукт не важен для 1С: ей нужен стандартный FTP-доступ.

Создайте отдельного пользователя специально для обмена из 1С. Не используйте административную учётную запись сервера: при утечке пароля из кода или настроек злоумышленник получит полный доступ. Пользователю для 1С достаточно прав на чтение и запись в одном выделенном каталоге, например /exchange или C:\ftp\1c_exchange.

Проверьте права на каталог на уровне файловой системы, а не только в настройках FTP-сервера. Частая ситуация: в панели FTP-сервера права выданы, но NTFS-права на папку их перекрывают, и 1С получает ошибку при записи файла.

Программное подключение через объект FTPСоединение

Во встроенном языке 1С работа с FTP выполняется через объект FTPСоединение. Минимальный вызов выглядит так: создаётся объект с указанием сервера, порта, логина и пароля, после чего вызываются методы передачи файлов.

Типовой фрагмент кода для отправки файла:

УстановитьПривилегированныйРежим(Истина);

Соединение = Новый FTPСоединение(

"ftp.example.local", // сервер

21, // порт

"1c_exchange", // пользователь

"Пароль", // пароль

, // прокси

, // пассивный режим

30 // таймаут в секундах

);

Соединение.Записать("C:\Temp\export.xml", "/exchange/export.xml");

Для получения файла используется метод Получить, для списка файлов — НайтиФайлы с указанием маски, для удаления — Удалить. Все операции стоит оборачивать в Попытка/Исключение с записью текста ошибки в журнал регистрации, иначе диагностировать сбои обмена будет нечем.

bsl
Попытка
    Соединение = Новый FTPСоединение("ftp.example.local", 21, "user", "pass", , Истина, 30);
    Соединение.Записать("C:\Temp\export.xml", "/exchange/export.xml");
Исключение
    ЗаписьЖурналаРегистрации("ОбменFTP", УровеньЖурналаРегистрации.Ошибка, , , ОписаниеОшибки());
КонецПопытки;

Пассивный и активный режимы

Параметр пассивного режима (шестой в конструкторе) критичен, если между 1С и сервером есть NAT или файрвол. В активном режиме сервер сам инициирует соединение для передачи данных, и файрвол клиента часто его блокирует: авторизация проходит, но передача файлов зависает или обрывается. Включите пассивный режим (значение Истина) — это решает большинство таких проблем.

Защищённое соединение FTPS

Для FTPS в конструктор передаётся объект ЗащищенноеСоединениеOpenSSL в качестве последнего параметра. Учтите, что сервер должен быть настроен на FTPS (обычно порт 990 для implicit или 21 с явным TLS), а самоподписанные сертификаты могут потребовать отключения проверки сертификата, что снижает защиту.

Настройка обмена данными через FTP-каталог

Второй сценарий — типовой обмен между конфигурациями без написания кода. В планах обмена (раздел «Синхронизация данных» в типовых конфигурациях) при создании настройки синхронизации выберите вариант подключения «Синхронизация данных через файл, FTP или электронную почту», а затем «Подключение через локальный или сетевой каталог / FTP-ресурс».

В форме настройки укажите адрес сервера, порт, имя пользователя, пароль и путь к каталогу обмена. Кнопка «Проверить подключение» позволяет сразу убедиться, что параметры верны: 1С попытается авторизоваться и обратиться к каталогу.

После сохранения настройки обмен запускается вручную или по расписанию через регламентное задание синхронизации. Файлы сообщений обмена будут автоматически выгружаться в FTP-каталог и загружаться оттуда второй стороной.

Порядок настройки обмена через FTP
  1. 1
    Создайте на FTP-сервере пользователя и каталог обмена с правами записи
  2. 2
    Проверьте подключение сторонним FTP-клиентом с того же компьютера, где работает 1С
  3. 3
    В 1С откройте настройку синхронизации данных и выберите обмен через FTP-ресурс
  4. 4
    Укажите сервер, порт, логин, пароль и путь к каталогу
  5. 5
    Нажмите «Проверить подключение» и устраните ошибку, если проверка не прошла
  6. 6
    Выполните первую синхронизацию вручную и проверьте появление файла сообщения в каталоге
  7. 7
    Настройте расписание регламентного задания обмена

Выгрузка на сайт и другие прикладные сценарии

В конфигурациях с интеграцией с сайтом (например, обмен с CMS по протоколу CommerceML) файлы выгрузки каталога и заказов иногда передаются по FTP, если сайт не принимает прямое HTTP-подключение. В этом случае настройка сводится к тому же объекту FTPСоединение внутри обработки обмена либо к внешней обработке, которая забирает готовые XML-файлы из локальной папки и отправляет их на сервер.

Ещё один частый сценарий — резервное копирование выгрузок или файловых баз на FTP-хранилище регламентным заданием. Здесь важно контролировать успешность копирования: сверяйте размер переданного файла или выполняйте пробное чтение, иначе можно долго не замечать, что копии не создаются.

Типичные ошибки и их диагностика

Ошибка «Ошибка при вызове конструктора (FTPСоединение)» или таймаут соединения почти всегда означает сетевую проблему: закрыт порт, неверный адрес или файрвол режет трафик. Проверьте доступность командой telnet к серверу по порту 21 с той же машины, где работает 1С.

Ошибка авторизации (коды вида 530) указывает на неверный логин или пароль. Учтите, что некоторые FTP-серверы чувствительны к регистру и не принимают кириллицу или спецсимволы в пароле без корректной кодировки.

Ошибки при передаче файлов после успешной авторизации (коды 425, 426 или зависание) — классический признак проблемы активного/пассивного режима. Переключите пассивный режим и проверьте, что диапазон пассивных портов открыт на файрволе сервера.

Типичные ошибки
01
Хранение пароля открытым текстом в общем модуле — пароль виден всем, кто имеет доступ к конфигуратору
02
Проверка обмена с клиентского компьютера, тогда как регламентное задание работает на сервере с другими сетевыми правилами
03
Использование активного режима FTP за NAT — авторизация проходит, но файлы не передаются
04
Отсутствие обработки исключений — обмен молча падает, и сбой обнаруживается только по отсутствию данных
05
Выдача FTP-пользователю прав на корневой каталог сервера вместо отдельной папки обмена

Проверка результата и контроль работы обмена

После настройки выполните контрольный прогон: отправьте тестовый файл и убедитесь, что он появился на сервере с корректным размером и содержимым. Для обмена данными проверьте, что вторая база успешно загрузила сообщение и в журнале синхронизации нет ошибок.

Для постоянного контроля ведите журнал: записывайте в журнал регистрации факт, время и результат каждой передачи. Минимальный набор для проверки работающего обмена — наличие свежих файлов в FTP-каталоге, отсутствие ошибок в журнале регистрации и актуальность данных в принимающей системе.

Контрольные точки

Как проверить результат

Файл в FTP-каталоге
Норма

Файл появился, размер совпадает с исходным

Тревожный признак

Файла нет, размер нулевой или файл обрезан

Журнал регистрации 1С
Норма

Нет ошибок по событию обмена

Тревожный признак

Ошибки авторизации, таймауты или обрывы передачи

Загрузка на принимающей стороне
Норма

Данные появились во второй базе

Тревожный признак

Файл лежит в каталоге, но не загружается

FAQ

Можно ли настроить FTP в 1С без программирования?

Да, если речь о типовом обмене данными: в планах обмена типовых конфигураций есть готовая настройка синхронизации через FTP-ресурс с указанием сервера, логина и каталога. Программирование требуется только для нестандартных сценариев передачи файлов.

Поддерживает ли 1С SFTP (по SSH)?

Объект FTPСоединение поддерживает FTP и FTPS (FTP поверх TLS), но не SFTP по SSH. Если сервер предоставляет только SFTP, используйте внешнюю утилиту (например, WinSCP в режиме командной строки), вызываемую из 1С через ЗапуститьПриложение, или настройте на сервере FTPS.

Почему подключение проходит, а файл не отправляется?

Чаще всего причина в активном режиме FTP за NAT или файрволом: канал авторизации работает, а канал передачи данных блокируется. Включите пассивный режим и убедитесь, что диапазон пассивных портов открыт на стороне сервера. Также проверьте права пользователя на запись в целевой каталог.

Где безопасно хранить пароль от FTP в 1С?

Не храните пароль в коде общих модулей. Практичные варианты: константа или регистр сведений с ограничением доступа правами, хранение в защищённом хранилище настроек либо во внешнем файле, доступном только учётной записи сервера 1С. Код обмена выполняйте в привилегированном режиме на сервере.

Обмен работает вручную, но не работает по расписанию. В чём причина?

Регламентные задания выполняются на сервере 1С под его служебной учётной записью. Проверьте, что FTP-сервер доступен именно с сервера 1С, что в файловой базе включено выполнение регламентных заданий, и что у задания корректно задано расписание. Ошибки смотрите в журнале регистрации по событию обмена.

Какой порт указывать для подключения?

Для обычного FTP — порт 21, для неявного FTPS — обычно 990, для явного FTPS — 21 с TLS. Если администратор сервера изменил порт, уточните его у него и убедитесь, что порт открыт на всех промежуточных файрволах.

Итог

Что важно запомнить

Настройка FTP в 1С сводится к подготовке сервера с выделенным пользователем и либо к программной работе через FTPСоединение, либо к типовой настройке синхронизации через FTP-каталог. Ключевые моменты: пассивный режим за NAT, защита пароля и трафика, проверка доступности с той машины, где реально выполняется обмен, и контроль результата по журналу регистрации.