Администрирование · 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.
- 1Откройте настройку обмена: для сайта — раздел обмена с сайтом, для филиалов — настройку узла плана обмена
- 2Укажите адрес FTP-сервера, порт, имя пользователя и пароль
- 3Задайте каталог на сервере, куда будут помещаться файлы обмена
- 4Проверьте соединение кнопкой тестирования, если она есть в форме
- 5Выполните обмен вручную и убедитесь, что файлы появились на сервере
- 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С, а фактическое наличие файла на сервере и корректная обработка его второй стороной. Проверять нужно обе стороны: файл доставлен и файл принят.
Как проверить результат обмена
Файл есть в нужном каталоге, размер больше нуля, дата свежая
Файла нет, размер 0 байт или дата старая
Нет ошибок по регламентному заданию обмена
Ошибки соединения, таймауты, отказ в доступе
Сайт или база-получатель загрузили данные, заказы/товары обновились
Файл лежит на сервере, но данные в системе-получателе не изменились
Наиболее частые причины сбоев: неверный логин или пароль (ошибка 530), недоступность сервера или закрытый порт (таймаут соединения), отсутствие прав на запись в каталог (ошибка 550), активный режим вместо пассивного (зависание после авторизации). Текст ошибки в журнале регистрации почти всегда содержит код ответа FTP-сервера, по которому можно определить причину.
Для изоляции проблемы подключитесь к серверу любым FTP-клиентом (FileZilla, WinSCP) с теми же логином и паролем с того же компьютера, где работает сервер 1С. Если клиент подключается, а 1С нет — проблема в настройках 1С или режиме соединения. Если не подключается и клиент — проблема в сети, брандмауэре или учётных данных.
Альтернативы FTP для обмена данными
FTP — не единственный и не всегда лучший способ обмена. Выбор зависит от задачи, требований к безопасности и возможностей второй стороны.
Сравнение способов обмена
Подходит для обмена файлами с сайтами и контрагентами. Ограничение: классический FTP не шифрует данные, нужен доступный обеим сторонам сервер
Проще всего для обмена внутри одной сети предприятия. Не подходит для обмена через интернет
Подходят для онлайн-интеграций без промежуточных файлов. Требуют разработки и публикации сервиса
Когда контрагент требует защищённый обмен по SSH. Требует вызова внешней программы из 1С
Для юридически значимых документов. Не заменяет произвольный файловый обмен
Как выбрать действие
FAQ: частые вопросы про FTP в 1С
Может ли файловая 1С работать с FTP?
Да. Режим работы базы (файловый или клиент-серверный) не влияет на возможность FTP-обмена. Разница лишь в том, кто устанавливает соединение: в файловом режиме — компьютер пользователя, в клиент-серверном — сервер 1С. Учитывайте это при настройке брандмауэра и проверке доступности сервера.
Почему обмен по расписанию падает, а вручную работает?
Чаще всего регламентное задание выполняется на сервере 1С, у которого нет сетевого доступа к FTP, либо под пользователем без нужных прав. Проверьте подключение к FTP именно с сервера 1С и журнал регистрации за время выполнения задания.
Чем отличается ошибка 530 от ошибки 550?
530 — сервер отклонил логин или пароль, то есть проблема в учётных данных. 550 — пользователь авторизован, но операция запрещена: нет прав на запись в каталог, файл недоступен или путь указан неверно.
Безопасно ли хранить пароль FTP в настройках 1С?
В типовых конфигурациях пароль хранится в базе и доступен пользователям с правами на настройку обмена. Не прописывайте пароль прямо в коде обработок, ограничьте доступ к настройкам обмена и по возможности используйте отдельную FTP-учётную запись с правами только на каталог обмена.
Что делать, если файл выгружается, но обрывается на середине?
Типичные причины: нестабильный канал, слишком маленький таймаут соединения, активный режим FTP или разрыв соединения брандмауэром при длительной передаче. Попробуйте включить пассивный режим, увеличить таймаут и разбить большой файл на части или сжать его в ZIP.
Что важно запомнить
FTP в 1С — это клиентский обмен файлами с удалённым сервером для сайта, филиалов и контрагентов. Настройка сводится к адресу, порту, логину, паролю и пассивному режиму; результат проверяется наличием файла на сервере и приёмом данных второй стороной. Для конфиденциальных данных используйте защищённые варианты протокола, а сбои диагностируйте по коду ошибки и журналу регистрации.