Обмен данными между базами 1С через FTP-сервер
Содержание
FTP в синхронизации 1С — это транспорт для файлов обмена, когда у двух баз нет прямого сетевого доступа друг к другу. Настраивается в разделе Администрирование → Синхронизация данных: там, где выбирается способ подключения, вместо прямого соединения указывается файловый ресурс по протоколу FTP — адрес сервера, порт, каталог, логин и пароль. Одна база кладёт сообщение обмена на FTP, вторая его оттуда забирает.
Такой вариант выбирают, когда базы стоят в разных офисах, за своими файрволами, и открывать между ними прямой канал нельзя. FTP-сервер выступает «почтовым ящиком» посередине: обе базы достучатся до него по интернету, а напрямую видеть друг друга им не нужно.
Ниже — за что отвечает каждый параметр, как пройти мастер настройки по шагам, почему обмен чаще всего не идёт за файрволом (виноват пассивный режим), чем FTP безопаснее заменить и как разобрать типовые ошибки подключения.
Когда для обмена 1С выбирают именно FTP
Файловый транспорт через FTP уместен в нескольких сценариях:
- 📡 Распределённая база (РИБ) — центральная база и филиалы обмениваются сообщениями, а постоянного VPN между ними нет. FTP держит узел, доступный всем.
- 🏢 Обмен между организациями — поставщик и клиент синхронизируют заказы и накладные через универсальный формат EnterpriseData, но пускать чужую программу в свою сеть никто не хочет.
- 🔌 Нет прямого подключения — базы работают на разных площадках, веб-сервер для обмена через интернет не развёрнут, а email-транспорт не тянет большие сообщения.
Если обе базы стоят на одном сервере или в одной локальной сети, FTP не нужен — быстрее и надёжнее прямое подключение. FTP выигрывает ровно тогда, когда прямого канала между базами нет, а общий файловый узел в интернете есть.
FTP в 1С передаёт файлы сообщений обмена, а не «подключается к базе». Это асинхронный обмен: одна сторона выгружает изменения в файл, другая загружает его при следующем сеансе. Онлайн-актуальности, как при прямом соединении, тут нет.
Что подготовить до подключения
Половина проблем с FTP решается не в 1С, а до её открытия. Соберите данные и проверьте доступ заранее.
Понадобится от администратора FTP-сервера:
- адрес сервера (имя или IP) и порт — по умолчанию
21; - логин и пароль учётной записи FTP;
- путь к каталогу, куда класть сообщения обмена (например,
/exchange/buh-ut); - разрешение на чтение и запись в этом каталоге для вашей учётки.
Проверьте доступ до запуска мастера в 1С. Удобно сделать это обычным файловым менеджером или командой — если каталог открывается и файл в него копируется, 1С тоже справится.
Отдельно уточните у администратора сети, открыт ли исходящий доступ к FTP-серверу с того компьютера, где работает 1С. На клиент-серверной базе файлы обмена формирует сервер 1С, значит, наружу должен ходить именно он, а не рабочее место пользователя.
Настройка обмена через FTP в 1С 8.3
Порядок для типовых конфигураций на управляемых формах (БП 3.0, УТ 11, ЗУП 3.1, КА) одинаковый — различается только название раздела, но «Синхронизация данных» есть во всех.
- Откройте
Администрирование → Синхронизация данныхи включите флажок «Синхронизация данных». Пока он не стоит, настройки не появятся. - Задайте префикс информационной базы (2 символа). Он помечает объекты, созданные в этой базе, и защищает от конфликтов нумерации. У баз-участников префиксы должны различаться.
- Перейдите по ссылке «Настройки синхронизации данных» и нажмите «Настроить синхронизацию данных». Выберите программу или формат, с которым обмениваетесь.
- На шаге выбора способа подключения укажите вариант через файловый ресурс / каталог, затем переключитесь на FTP-ресурс.
- Заполните параметры подключения:
- Сервер FTP — адрес в виде
ftp://server.ruили просто имя узла; - Порт —
21, если администратор не задал другой; - Каталог — путь внутри сервера, куда класть сообщения;
- Пользователь и Пароль — учётные данные FTP;
- Пассивный режим соединения — включите (почти всегда нужен, подробнее ниже).
- Сервер FTP — адрес в виде
- Нажмите проверку соединения. 1С попробует достучаться до каталога и сообщит об ошибке, если что-то не так.
- Завершите мастер: настройте правила выгрузки (какие организации, склады, период) и выполните первую синхронизацию.
Первый обмен делайте в нерабочее время и только после резервной копии обеих баз. Начальная выгрузка переносит большой объём данных, а ошибка в правилах сопоставления тиражируется сразу в обе стороны.
Вторую базу настраивают тем же мастером, но с зеркальными параметрами: тот же FTP-сервер и каталог, свой префикс, те же логин и пароль (или отдельная учётка с доступом к тому же каталогу).
Пассивный режим и порты: почему обмен встаёт за файрволом
Это главная причина, по которой «всё ввёл правильно, а соединения нет».
FTP использует два канала. Управляющий идёт на порт 21 — по нему 1С логинится и отдаёт команды. Канал данных, по которому реально передаётся файл, открывается отдельно, и тут есть два режима:
- Активный режим — сервер сам подключается к клиенту на случайный порт. За NAT и файрволом такое соединение обычно блокируется: входящий коннект до 1С просто не доходит.
- Пассивный режим — клиент сам открывает соединение к серверу на порт из диапазона, который сервер назовёт. Это дружелюбно к файрволу, поэтому для интернет-обмена включайте пассивный режим почти всегда.
Что проверить, если файл не передаётся, хотя логин проходит:
- включён ли флажок пассивного режима в настройке 1С;
- открыт ли на файрволе исходящий доступ к серверу не только на порт
21, но и на диапазон пассивных портов (его задаёт администратор FTP-сервера, например49152–65534); - не мешает ли антивирус или корпоративный прокси — некоторые инспектируют FTP и рвут канал данных.
Логин прошёл, а список файлов пустой или обмен зависает на передаче — это почти наверняка пассивные порты. Управляющий канал (21) открыт, канал данных закрыт.
Защита данных при передаче по FTP
Обычный FTP передаёт логин, пароль и сами файлы в открытом виде. Для обмена через интернет это слабое место: трафик можно перехватить.
Снижаем риск:
- FTPS (FTP over TLS) — тот же FTP, но поверх шифрованного канала. 1С умеет защищённое соединение: если сервер поддерживает FTPS, включите соответствующую опцию в параметрах подключения. Это основной способ закрыть передачу.
- Отдельная учётная запись — заводите на FTP-сервере логин только под обмен 1С, с доступом строго к каталогу обмена. Не используйте учётку администратора сервера.
- Изоляция каталога — пользователь обмена не должен видеть и читать чужие папки на сервере. Ограничьте его домашним каталогом.
- Регулярная смена пароля — пароль хранится в настройке синхронизации; при смене сотрудника или подрядчика его нужно менять в обеих базах.
Классический SFTP (передача файлов поверх SSH) — это не то же самое, что FTPS, и стандартным транспортом синхронизации 1С он напрямую не поддерживается. Если безопасность критична, а сервер даёт только SFTP, выносите шифрование на уровень канала (VPN) или выбирайте другой транспорт — обмен через веб-сервер по HTTPS.
Не кладите на FTP ничего, кроме файлов обмена. Каталог синхронизации — не файловое хранилище и не место для бэкапов.
Частые ошибки подключения по FTP и что с ними делать
Диагностика по симптому — сначала смотрите, на каком этапе всё встало: логин, листинг каталога или передача файла.
Если после всех проверок соединение не поднимается, временно настройте обмен через локальный каталог на той же машине. Пройдёт — проблема в FTP-сервере или сети, а не в настройках 1С.
Чем заменить FTP: другие способы транспорта
FTP — не единственный и не всегда лучший вариант. Мастер синхронизации предлагает несколько транспортов:
| Способ | Когда выбирают | Плюсы и минусы |
|---|---|---|
| Прямое подключение | Базы в одной сети или на одном сервере | Быстро, онлайн; требует прямого доступа |
| Через интернет (веб-сервер) | Базы в разных сетях, есть опубликованный веб-сервер | Работает по HTTPS, шифрование из коробки; нужен веб-сервер |
| Локальный или сетевой каталог | Есть общая сетевая шара между базами | Просто; требует общего каталога |
| FTP-ресурс | Нет прямого канала, но есть общий FTP | Проходит через интернет; обычный FTP не шифрован |
| Электронная почта | Совсем нет общего узла, объёмы малы | Везде работает; ограничение на размер письма |
Для интернет-обмена обмен через веб-сервер по HTTPS обычно предпочтительнее FTP: трафик шифруется по умолчанию, не нужно возиться с пассивными портами. FTP оправдан, когда развернуть веб-сервер негде, а готовый FTP уже есть.
Как ускорить обмен через FTP
Когда обмен работает, но идёт долго:
- Сократите состав данных. В правилах выгрузки отключите организации, склады и типы документов, которые второй базе не нужны. Чем меньше объектов в сообщении, тем быстрее.
- Ограничьте период. Для первой выгрузки задайте разумную дату начала, а не «с основания фирмы». Исторические данные можно догрузить отдельно.
- Чаще, но мельче. Частые сеансы обмена гонят маленькие сообщения вместо редких гигантских. Настройте расписание на регламентном задании.
- Регламентное задание на сервере. На клиент-серверной базе запускайте синхронизацию регламентным заданием — обмен пойдёт на сервере, не занимая рабочее место.
- Канал и сервер. Узкое место часто не в 1С, а в скорости FTP-сервера или ширине канала. Большое начальное сообщение через медленный интернет будет идти долго при любых настройках.
Если сообщения регулярно большие, а FTP медленный — это аргумент перейти на обмен через веб-сервер: он лучше держит объёмы и переподключение при обрывах.
Частые вопросы
Какой порт нужен для FTP в 1С?
21 по умолчанию. Для передачи данных в пассивном режиме нужен ещё диапазон портов, который задаёт администратор FTP-сервера. Откройте на файрволе оба: и 21, и диапазон пассивных портов.