Если вы работаете с 1С:Предприятие и сталкиваетесь с задачами интеграции, автоматизации или переноса данных между системами, рано или поздно вам придётся разобраться с FTP. Этот протокол, хоть и не новый, остаётся одним из самых надёжных способов обмена файлами — будь то выгрузка отчётов, загрузка прайсов или синхронизация баз. Но как именно FTP применяется в 1С? Почему его выбирают вместо современных API или облачных сервисов? И главное — как настроить всё правильно, чтобы избежать ошибок и сбоев?
В этой статье мы разберём FTP в 1С с нуля: от базовых понятий до практических инструкций по настройке в типовой конфигурации. Вы узнаете, какие задачи решает протокол, как он взаимодействует с 1С:Предприятие 8.3, и какие подводные камни могут возникнуть при работе. Особое внимание уделим автоматизации обмена через FTP с использованием встроенных механизмов и внешних обработок — это поможет сэкономить время на рутинных операциях.
Что такое FTP и зачем он нужен в 1С
FTP (File Transfer Protocol) — это стандартный сетевой протокол для передачи файлов между компьютерами в сети. В контексте 1С он используется для:
- 📤 Выгрузки данных — например, отправки отчётов в налоговые органы или партнёрам.
- 📥 Загрузки справочников — прайс-листов, номенклатуры, курсов валют.
- 🔄 Синхронизации баз — обмена данными между филиалами или разными системами (1С + сайт, 1С + CRM).
- 📁 Резервного копирования — автоматического сохранения баз на удалённый сервер.
Почему именно FTP, а не современные облачные сервисы (Yandex Диск, Google Drive) или API? Всё дело в надёжности и контроле:
- 🔒 Безопасность — FTP-сервер можно настроить с ограничением доступа по IP, логину/паролю, а также использовать SFTP (защищённую версию протокола).
- ⚡ Скорость — при больших объёмах данных (например, выгрузка базы в 10 ГБ) FTP работает стабильнее, чем API с ограничениями по трафику.
- 🤖 Автоматизация — в 1С есть встроенные инструменты для работы с FTP, что упрощает настройку обмена без привлечения программистов.
Однако у FTP есть и минусы. Например, для настройки потребуется доступ к серверу (или аренда FTP-хостинга), а также знание базовых принципов работы с протоколом. Кроме того, в некоторых случаях (например, при обмене с госорганами) могут потребоваться специализированные форматы файлов (.xml, .dbf), которые нужно предварительно сконвертировать.
Как работает FTP в 1С: основные механизмы
В 1С:Предприятие 8.3 работа с FTP реализована через:
- Встроенные объекты конфигурации — например,
FTPСоединение(доступен в режиме 1С:Предприятие и Конфигуратор). - Обработки обмена данными — типовой функционал для выгрузки/загрузки файлов (например, в конфигурациях 1С:Бухгалтерия или 1С:УТ).
- Внешние компоненты — если требуется расширенная функциональность (например, работа с SFTP или FTPS).
Процесс обмена через FTP в 1С обычно выглядит так:
- Пользователь или автоматическая задача инициирует выгрузку данных (например, через обработку
"ВыгрузкаДанныхВФайл"). - Система формирует файл в нужном формате (
.xml,.csv,.dbfи др.). - С помощью объекта
FTPСоединениефайл загружается на удалённый сервер. - На стороне получателя (другая 1С, сайт, государственная система) файл скачивается и обрабатывается.
Если вам нужно передавать данные в госорганы (например, в ФНС или ПФР), проверьте требования к формату файлов заранее. Часто требуется .xml с электронной подписью, а не просто архив.
Важно понимать, что 1С не хранит файлы на FTP-сервере бесконечно. Обычно после обработки они удаляются (либо автоматически, либо вручную), чтобы не заполнять дисковое пространство. Также некоторые FTP-серверы имеют ограничения на:
- 🕒 Время сессии — если соединение прерывается, может потребоваться повторная загрузка.
- 📦 Размер файла — например, не более 2 ГБ за один сеанс.
- 🔄 Количество подключений — одновременно может работать только один пользователь.
Пошаговая настройка FTP-соединения в 1С
Чтобы настроить обмен через FTP в 1С:Предприятие 8.3, выполните следующие шаги:
1. Подготовка FTP-сервера
Сначала убедитесь, что у вас есть доступ к FTP-серверу. Это может быть:
- 🖥️ Локальный сервер — например, FileZilla Server или встроенный FTP в Windows Server.
- ☁️ Облачный хостинг — Yandex Object Storage, AWS S3 (с поддержкой FTP), или специализированные сервисы вроде FTP-хостинга от Beget.
- 🏢 Корпоративный сервер — если обмен идёт внутри компании.
Для тестирования можно использовать бесплатные FTP-серверы, например, vsftpd (Linux) или FileZilla Server (Windows). Главное — запомнить:
- 📌 Адрес сервера (например,
ftp.example.comили192.168.1.100). - 👤 Логин и пароль для подключения.
- 📂 Путь к папке, куда будут загружаться файлы (например,
/upload/1c/).
2. Настройка соединения в 1С
В 1С:Предприятие перейдите в режим Конфигуратор и создайте новый объект FTPСоединение. Пример кода для подключения:
FTP = Новый FTPСоединение(
"ftp.example.com", // Адрес сервера
21, // Порт (стандартный для FTP)
"user1c", // Логин
"password123" // Пароль
);
// Устанавливаем пассивный режим (рекомендуется для большинства случаев)
FTP.ПассивныйРежим = Истина;
// Подключаемся к серверу
Попытка
FTP.Соединить();
Сообщить("Подключение успешно!");
Исключение
Сообщить("Ошибка подключения: " + ОписаниеОшибки());
КонецПопытки;
Если соединение прошло успешно, можно приступать к загрузке файлов. Например, чтобы выгрузить файл report.xml в папку /upload/:
ПутьКФайлу = "C:\1C\Reports\report.xml";
FTP.ЗагрузитьФайл("/upload/report.xml", ПутьКФайлу);
FTP.Закрыть();
Убедиться, что файл существует по указанному пути|Проверить права доступа к FTP-серверу|Указать правильный путь к целевой папке|Закрыть соединение после загрузки-->
3. Автоматизация обмена
Чтобы не запускать выгрузку вручную, настройте регламентное задание в 1С:
- Откройте
Администрирование → Регламентные задания. - Создайте новое задание с типом
"Выполнение кода". - Вставьте код для подключения к FTP и выгрузки файла (как в примере выше).
- Установите расписание (например, ежедневно в 23:00).
Для более сложных сценариев (например, обмен с сайтом на Bitrix или 1С-Битрикс) может потребоваться внешняя обработка. В этом случае:
- Скачайте готовую обработку (например,
"ОбменДаннымиЧерезFTP.epf") с портала 1С:ИТС. - Настройте параметры подключения и форматы файлов.
- Протестируйте обмен на копии базы, чтобы избежать ошибок в рабочей системе.
Что делать, если FTP-соединение обрывается?
Если соединение прерывается во время загрузки большого файла, проверьте:
1. Тайм-аут сервера — некоторые FTP ограничивают время бездействия (например, 30 секунд). Увеличьте это значение в настройках сервера.
2. Скорость интернета — при медленном соединении файлы могут "зависнуть". Попробуйте разбить большой файл на части.
3. Антивирус/фаервол — они могут блокировать длительные соединения. Добавьте исключение для 1С и FTP-портов (21, 20, 990 для FTPS).
4. Пассивный режим — если активный режим не работает, включите FTP.ПассивныйРежим = Истина.
Типичные ошибки при работе с FTP в 1С и их решения
Даже при правильной настройке обмен через FTP может давать сбои. Рассмотрим самые распространённые ошибки и способы их устранения.
| Ошибка | Причина | Решение |
|---|---|---|
Ошибка подключения: Не удалось соединиться с сервером |
Неверный адрес сервера, порт или сервер недоступен. | Проверьте адрес и порт (стандартный — 21). Убедитесь, что сервер включён и доступен из вашей сети. |
Ошибка аутентификации: Неверный логин или пароль |
Неправильные учётные данные или блокировка аккаунта. | Проверьте логин/пароль. Если сервер блокирует аккаунт после нескольких попыток, разблокируйте его в панели управления. |
Не удалось загрузить файл: Доступ запрещён |
Недостаточно прав на запись в папку. | Настройте права доступа (chmod 777 для Linux или разрешения в FileZilla). |
Тайм-аут операции |
Сервер не отвечает или медленное соединение. | Увеличьте тайм-аут в коде: FTP.ТаймАут = 60000 (60 секунд). |
Не удалось создать файл на сервере |
Не хватает места на диске или файл с таким именем уже существует. | Проверьте свободное место. Используйте уникальные имена файлов (например, с датой: report_20260515.xml). |
Если ошибка не исчезает, включите лог FTP-соединения на сервере. В FileZilla Server, например, это делается в настройках логов (Edit → Settings → Logging). Логи помогут понять, на каком этапе происходит сбой — при подключении, аутентификации или передаче данных.
Самая частая ошибка — неверные права доступа. Всегда проверяйте, что у пользователя FTP есть права на запись в целевую папку, особенно если сервер работает под Linux.
Ещё одна типичная проблема — кодировка файлов. Если вы загружаете .csv или .txt, а на стороне получателя символы отображаются кракозябрами, укажите кодировку явно:
Текст = Новый ЗаписьТекста("C:\1C\data.csv", КодировкаТекста.UTF8);
Текст.ЗаписатьСтроку("Наименование;Цена");
Текст.Закрыть();
Безопасность при работе с FTP в 1С
FTP сам по себе не шифрует трафик, поэтому логин, пароль и передаваемые данные могут быть перехвачены. Чтобы защитить обмен, используйте:
- 🔐 SFTP (SSH File Transfer Protocol) — шифрует всё соединение. В 1С для работы с SFTP потребуется внешняя компонента (например, SecureBlackbox).
- 🛡️ FTPS (FTP over SSL/TLS) — FTP с шифрованием. Поддерживается в 1С:Предприятие 8.3.14+ через объект
FTPСоединениес параметромИспользоватьSSL = Истина. - 🔑 VPN — если FTP-сервер находится в локальной сети, подключайтесь через VPN для дополнительной защиты.
Также соблюдайте базовые правила безопасности:
- 🚫 Не используйте простые пароли (например,
12345илиqwerty). Генерируйте сложные комбинации с помощью менеджера паролей. - 🔄 Регулярно обновляйте ПО — как на FTP-сервере, так и в 1С (особенно если используете внешние компоненты).
- 📜 Ограничивайте доступ по IP — в настройках FTP-сервера укажите, с каких адресов разрешено подключение.
Если вы передаёте конфиденциальные данные (например, персонифицированные отчёты), обязательно используйте SFTP или FTPS. Обычный FTP подходит только для некритичной информации.
Для аудита активности на FTP-сервере ведите логи подключений. В FileZilla Server, например, можно настроить запись всех действий пользователей:
[2026-05-15 14:30:22] USER user1c
[2026-05-15 14:30:23] PASS
[2026-05-15 14:30:24] STOR report.xml
[2026-05-15 14:30:35] QUIT
Если на сервере хранятся архивы с данными 1С, настройте автоматическую очистку старых файлов. Например, в cron (Linux) или Планировщике задач (Windows) добавьте команду для удаления файлов старше 30 дней:
find /upload/1c/ -type f -mtime +30 -delete
Примеры использования FTP в типовых конфигурациях 1С
Рассмотрим, как FTP применяется в популярных конфигурациях 1С.
1. 1С:Бухгалтерия
В 1С:Бухгалтерия 8.3 FTP часто используется для:
- 📊 Выгрузки отчётности в ФНС, ПФР, ФСС (например, декларации по НДС, 6-НДФЛ).
- 💰 Обмена с банками — загрузка выписок, отправка платёжных поручений.
- 📈 Синхронизации с 1С:Зарплата — если ведётся раздельный учёт.
Пример выгрузки отчётности:
- Сформируйте отчёт (например,
Декларация по НДС). - В меню отчёта выберите
"Выгрузить в файл"и укажите формат (.xmlдля ФНС). - Используйте обработку
"ОтправкаОтчетностиЧерезFTP.epf"для загрузки файла на сервер налоговой.
2. 1С:Управление торговлей (УТ 11)
В 1С:УТ FTP помогает автоматизировать:
- 🛒 Обмен с интернет-магазинами — выгрузка остатков, цен, заказов (например, для 1С-Битрикс или CS-Cart).
- 📦 Синхронизацию с складами — если используются терминалы сбора данных (ТСД).
- 📄 Импорт прайсов поставщиков — если они присылают файлы в
.xlsxили.csv.
Пример обмена с сайтом:
- Настройте обработку
"ВыгрузкаТоваровНаСайт.epf"(доступна на Инфостарт). - Укажите путь к FTP сайта (обычно предоставляется хостинг-провайдером).
- Запустите выгрузку вручную или по расписанию.
3. 1С:Зарплата и Управление Персоналом (ЗУП)
В 1С:ЗУП FTP применяется для:
- 👥 Обмена с банками — загрузка ведомостей на выплату зарплаты.
- 📋 Выгрузки отчётности в ПФР (например, форма
СЗВ-ТД). - 🔄 Синхронизации с кадровыми системами (например, Контур-Персонал).
Важно: при обмене с госорганами часто требуется электронная подпись. В этом случае файл сначала подписывается в 1С (через КриптоПро), а затем загружается на FTP.
Альтернативы FTP в 1С: когда стоит выбрать другой способ обмена
Хотя FTP надёжен, в некоторых случаях лучше использовать другие методы обмена:
| Ситуация | Рекомендуемый способ | Преимущества |
|---|---|---|
| Обмен с облачными сервисами (Google Sheets, Yandex Диск) | REST API или 1С:Диадок | Не нужно настраивать FTP-сервер, интеграция "из коробки". |
| Обмен между филиалами в реальном времени | 1С:Распределённая информационная база (РИБ) | Синхронизация данных без ручной выгрузки/загрузки. |
| Интеграция с сайтом на Bitrix или WordPress | 1С-Битрикс: Комплексная автоматизация или CommerceML | Автоматическое обновление каталога, остатков, заказов. |
| Передача больших баз данных (более 10 ГБ) | Облачное хранилище (AWS S3, Selectel) или физический носитель | FTP может обрывать соединение при больших файлах. |
Если вы всё же выбираете FTP, но сталкиваетесь с ограничениями (например, нужна работа с SFTP или WebDAV), рассмотрите внешние компоненты:
- 🔧 SecureBlackbox — для работы с
SFTP,HTTPS,PGP. - 🔌 1С:Интеграция — для обмена с 1С-Битрикс, МойСклад.
- 📡 Advantshop Connector — для синхронизации с интернет-магазинами.
Если вам нужна передача данных в реальном времени (например, обновление цен на сайте каждые 5 минут), FTP не подходит — используйте API или веб-сервисы.
FAQ: Частые вопросы по FTP в 1С
🔹 Как узнать, поддерживает ли моя версия 1С работу с FTP?
Объект FTPСоединение доступен в 1С:Предприятие 8.2 и новее. Чтобы проверить, откройте Конфигуратор, перейдите в Справка → О программе и убедитесь, что версия платформы не ниже 8.2.14. Для SFTP или FTPS может потребоваться версия 8.3.14+ или внешняя компонента.
🔹 Можно ли настроить обмен через FTP без программиста?
Да, в типовых конфигурациях (1С:Бухгалтерия, 1С:УТ) есть готовые обработки для выгрузки/загрузки данных. Например, в 1С:Бухгалтерия перейдите в Отчёты → Регламентированные отчёты, сформируйте отчёт и выберите "Выгрузить в файл". Затем используйте обработку "ОтправкаОтчетностиЧерезFTP.epf" (скачайте с ИТС или Инфостарт).
🔹 Почему FTP-соединение работает медленно?
Причины могут быть разные:
- 🌐 Медленный интернет — проверьте скорость на speedtest.net.
- 🖥️ Нагрузка на сервер — если FTP-сервер работает на слабом железе, ограничьте количество одновременно загружаемых файлов.
- 📡 Пассивный/активный режим — попробуйте поменять режим в настройках (
FTP.ПассивныйРежим = Ложь). - 🔌 Антивирус/фаервол — временно отключите их для теста.
Если проблема в большом файле, разбивайте его на части (например, по 500 МБ).
🔹 Как автоматизировать удаление старых файлов с FTP?
Есть несколько способов:
- Скрипт на сервере — например, в Linux добавьте в
cronкоманду:0 3 * find /upload/1c/ -type f -mtime +7 -deleteЭто удалит файлы старше 7 дней каждый день в 3:00.
- Обработка в 1С — после загрузки нового файла добавьте код для удаления старых:
FTP.УдалитьФайлы("/upload/1c/*.xml", 7); // Удаляет XML-файлы старше 7 дней - Настройки FTP-сервера — некоторые серверы (например, FileZilla) позволяют настроить автоматическую очистку.
🔹 Можно ли использовать FTP для резервного копирования базы 1С?
Да, но это не самый надёжный способ. Лучше комбинировать FTP с другими методами:
- Создайте резервную копию базы через
Конфигуратор → Администрирование → Выгрузить информационную базу. - Настройте автоматическую загрузку файла
.dtна FTP с помощью скрипта или регламентного задания. - Дополнительно сохраняйте копии на локальный диск или облако (Yandex Диск, Google Drive).
Важно: FTP не заменяет полноценное резервное копирование! Для критичных баз используйте 1С:Технология автоматизированного резервного копирования или специализированные решения вроде Veeam.