Обмен данными между базами 1С через FTP-сервер

· 9 мин

Содержание

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
Выполнено: 0 / 5

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

Настройка обмена через FTP в 1С 8.3

Порядок для типовых конфигураций на управляемых формах (БП 3.0, УТ 11, ЗУП 3.1, КА) одинаковый — различается только название раздела, но «Синхронизация данных» есть во всех.

  1. Откройте Администрирование → Синхронизация данных и включите флажок «Синхронизация данных». Пока он не стоит, настройки не появятся.
  2. Задайте префикс информационной базы (2 символа). Он помечает объекты, созданные в этой базе, и защищает от конфликтов нумерации. У баз-участников префиксы должны различаться.
  3. Перейдите по ссылке «Настройки синхронизации данных» и нажмите «Настроить синхронизацию данных». Выберите программу или формат, с которым обмениваетесь.
  4. На шаге выбора способа подключения укажите вариант через файловый ресурс / каталог, затем переключитесь на FTP-ресурс.
  5. Заполните параметры подключения:
    • Сервер FTP — адрес в виде ftp://server.ru или просто имя узла;
    • Порт — 21, если администратор не задал другой;
    • Каталог — путь внутри сервера, куда класть сообщения;
    • Пользователь и Пароль — учётные данные FTP;
    • Пассивный режим соединения — включите (почти всегда нужен, подробнее ниже).
  6. Нажмите проверку соединения. 1С попробует достучаться до каталога и сообщит об ошибке, если что-то не так.
  7. Завершите мастер: настройте правила выгрузки (какие организации, склады, период) и выполните первую синхронизацию.

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

Вторую базу настраивают тем же мастером, но с зеркальными параметрами: тот же 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. Сократите состав данных. В правилах выгрузки отключите организации, склады и типы документов, которые второй базе не нужны. Чем меньше объектов в сообщении, тем быстрее.
  2. Ограничьте период. Для первой выгрузки задайте разумную дату начала, а не «с основания фирмы». Исторические данные можно догрузить отдельно.
  3. Чаще, но мельче. Частые сеансы обмена гонят маленькие сообщения вместо редких гигантских. Настройте расписание на регламентном задании.
  4. Регламентное задание на сервере. На клиент-серверной базе запускайте синхронизацию регламентным заданием — обмен пойдёт на сервере, не занимая рабочее место.
  5. Канал и сервер. Узкое место часто не в 1С, а в скорости FTP-сервера или ширине канала. Большое начальное сообщение через медленный интернет будет идти долго при любых настройках.

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

Частые вопросы

Какой порт нужен для FTP в 1С?
Управляющий канал — порт 21 по умолчанию. Для передачи данных в пассивном режиме нужен ещё диапазон портов, который задаёт администратор FTP-сервера. Откройте на файрволе оба: и 21, и диапазон пассивных портов.
Обязателен ли пассивный режим?
Почти всегда да, если 1С и FTP-сервер разделены файрволом или NAT. В активном режиме сервер сам стучится к клиенту, и такое входящее соединение обычно блокируется. Для интернет-обмена включайте пассивный режим.
На клиент-серверной базе откуда идёт подключение к FTP — с сервера или с рабочего места?
Файлы обмена формирует сервер 1С, поэтому исходящий доступ к FTP нужен именно с сервера приложений. Проверяйте доступность FTP с той машины, где крутится служба сервера, а не с компьютера пользователя.
Можно ли зашифровать передачу по FTP?
Да, если FTP-сервер поддерживает FTPS (FTP over TLS) — включите защищённое соединение в параметрах подключения. Классический SFTP (поверх SSH) стандартным транспортом синхронизации не поддерживается; для него используйте VPN или перейдите на обмен по HTTPS.
Почему логин проходит, а файлы не передаются?
Управляющий канал (порт 21) открыт, а канал данных — нет. Включите пассивный режим и откройте на файрволе диапазон пассивных портов. Иногда канал данных рвёт антивирус или прокси, инспектирующий FTP.