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

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

Что такое FTP в 1С и как его использовать

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

FTP (File Transfer Protocol) — это протокол передачи файлов по сети, а в контексте 1С под «FTP» обычно понимают обмен данными между программой 1С и удалённым сервером: выгрузку товаров на сайт, обмен заказами, передачу отчётности, обмен между распределёнными базами, загрузку прайсов поставщиков. Сама платформа 1С не является FTP-сервером — она выступает клиентом, который подключается к серверу и отправляет или забирает файлы.

На практике FTP в 1С встречается в двух сценариях. Первый — типовые механизмы конфигураций: обмен с сайтом (1С-Битрикс), обмен данными через каталог на FTP в планах обмена, выгрузка на ftp-сервер контрагентов. Второй — программная работа из встроенного языка через объект FTPСоединение, когда разработчик сам реализует передачу файлов.

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

Где в 1С используется FTP

Чаще всего FTP встречается в обмене с интернет-магазином: 1С выгружает каталог товаров, цены и остатки на сервер, а забирает с него заказы. В типовых конфигурациях (Управление торговлей, Комплексная автоматизация, ERP) есть готовый узел обмена с сайтом, где адрес может быть как HTTP, так и FTP-ресурсом.

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

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

Как устроено подключение: адрес, логин, порт, режим

Для подключения нужны четыре обязательных параметра: адрес сервера (имя хоста или IP), порт, имя пользователя и пароль. Стандартный порт FTP — 21, для FTPS (FTP поверх TLS) чаще используется 990 или тот же 21 с явным шифрованием. Эти данные выдаёт владелец сервера: хостинг-провайдер, администратор сайта или контрагент.

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

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

Настройка обмена через FTP в типовых конфигурациях

В типовых решениях настройка сводится к указанию параметров в форме обмена, без программирования. Общий порядок похож в УТ, КА и ERP.

Порядок настройки обмена через FTP
  1. 1
    Откройте настройку обмена: для сайта — раздел обмена с сайтом, для филиалов — настройку узла плана обмена
  2. 2
    Укажите адрес FTP-сервера, порт, имя пользователя и пароль
  3. 3
    Задайте каталог на сервере, куда будут помещаться файлы обмена
  4. 4
    Проверьте соединение кнопкой тестирования, если она есть в форме
  5. 5
    Выполните обмен вручную и убедитесь, что файлы появились на сервере
  6. 6
    Настройте регламентное задание для автоматического обмена по расписанию

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

Для регулярной работы обмен выносят в регламентное задание. Убедитесь, что задание выполняется под пользователем с нужными правами и что сервер 1С имеет сетевой доступ к FTP — в клиент-серверном режиме соединение устанавливает сервер 1С, а не компьютер пользователя, и это частая причина «на моём компьютере работает, а по расписанию — нет».

Программная работа с FTP из встроенного языка

Для нестандартных задач платформа предоставляет объект FTPСоединение. Типовой код подключения и передачи файла выглядит так:

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

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

21, // порт

"user", // логин

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

, // прокси

Истина); // пассивный режим

ФТП.Записать("C:\Выгрузка\orders.xml", "/in/orders.xml");

ФТП.Получить("/out/result.xml", "C:\Выгрузка\result.xml");

Перед записью файл должен существовать на диске: обычно сначала формируют файл выгрузки (XML, CSV, ZIP), затем передают. Для надёжности код оборачивают в попытку-исключение и пишут ошибки в журнал регистрации — иначе сбой ночного обмена останется незамеченным.

Полезные методы объекта: НайтиФайлы — список файлов в каталоге, Удалить — удаление, СоздатьКаталог — создание папки, УстановитьТекущийКаталог — смена рабочей папки. Перед удалением или перезаписью файлов на сервере убедитесь, что обрабатываете именно свой каталог обмена.

Проверка результата и диагностика проблем

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

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

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

Файл на FTP-сервере
Норма

Файл есть в нужном каталоге, размер больше нуля, дата свежая

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

Файла нет, размер 0 байт или дата старая

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

Нет ошибок по регламентному заданию обмена

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

Ошибки соединения, таймауты, отказ в доступе

Приём второй стороной
Норма

Сайт или база-получатель загрузили данные, заказы/товары обновились

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

Файл лежит на сервере, но данные в системе-получателе не изменились

Наиболее частые причины сбоев: неверный логин или пароль (ошибка 530), недоступность сервера или закрытый порт (таймаут соединения), отсутствие прав на запись в каталог (ошибка 550), активный режим вместо пассивного (зависание после авторизации). Текст ошибки в журнале регистрации почти всегда содержит код ответа FTP-сервера, по которому можно определить причину.

Для изоляции проблемы подключитесь к серверу любым FTP-клиентом (FileZilla, WinSCP) с теми же логином и паролем с того же компьютера, где работает сервер 1С. Если клиент подключается, а 1С нет — проблема в настройках 1С или режиме соединения. Если не подключается и клиент — проблема в сети, брандмауэре или учётных данных.

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

Альтернативы FTP для обмена данными

FTP — не единственный и не всегда лучший способ обмена. Выбор зависит от задачи, требований к безопасности и возможностей второй стороны.

Сравнение способов обмена

FTP/FTPS

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

Общий сетевой каталог

Проще всего для обмена внутри одной сети предприятия. Не подходит для обмена через интернет

HTTP-сервисы и веб-сервисы

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

SFTP через внешние утилиты

Когда контрагент требует защищённый обмен по SSH. Требует вызова внешней программы из 1С

ЭДО-операторы

Для юридически значимых документов. Не заменяет произвольный файловый обмен

Маршрут решения

Как выбрать действие

Нужен обмен с сайтом на 1С-Битрикс или с филиалом без общей сетиИспользуйте типовой обмен через FTP-каталог
Контрагент выдал доступ только по SFTPНастройте передачу через внешнюю утилиту (WinSCP) с вызовом из 1С
Данные конфиденциальны и передаются через интернетИспользуйте FTPS или SFTP, не классический FTP
Обе базы в одной локальной сетиПроще использовать общий сетевой каталог вместо FTP

FAQ: частые вопросы про FTP в 1С

Может ли файловая 1С работать с FTP?

Да. Режим работы базы (файловый или клиент-серверный) не влияет на возможность FTP-обмена. Разница лишь в том, кто устанавливает соединение: в файловом режиме — компьютер пользователя, в клиент-серверном — сервер 1С. Учитывайте это при настройке брандмауэра и проверке доступности сервера.

Почему обмен по расписанию падает, а вручную работает?

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

Чем отличается ошибка 530 от ошибки 550?

530 — сервер отклонил логин или пароль, то есть проблема в учётных данных. 550 — пользователь авторизован, но операция запрещена: нет прав на запись в каталог, файл недоступен или путь указан неверно.

Безопасно ли хранить пароль FTP в настройках 1С?

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

Что делать, если файл выгружается, но обрывается на середине?

Типичные причины: нестабильный канал, слишком маленький таймаут соединения, активный режим FTP или разрыв соединения брандмауэром при длительной передаче. Попробуйте включить пассивный режим, увеличить таймаут и разбить большой файл на части или сжать его в ZIP.

Итог

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

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