Как настроить обмен данными между нетиповой конфигурацией и 1С:Бухгалтерией через E-mail?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Возникает задача организовать автоматический обмен файлами между двумя базами 1С: одна из них — нетиповая конфигурация, а вторая — типовая "1С:Бухгалтерия предприятия" (БП). В качестве канала передачи данных выбрана электронная почта. Основной вопрос: возможно ли это сделать, если речь не идет о РИБ (распределенной информационной базе), и как это реализовать, особенно для облачных сервисов вроде "1С:Fresh"?

Проанализируем эту задачу и разберем несколько способов ее решения: от прямой реализации обмена по почте до использования более надежных альтернативных каналов.

Реализация обмена данными через E-mail

Первое, что стоит отметить: обмен данными через электронную почту возможен и вне механизма РИБ. Это распространенное заблуждение. В типовых конфигурациях, таких как "1С:Управление торговлей" или "1С:Зарплата и Управление Персоналом", существуют стандартные обмены с "1С:Бухгалтерией", где в качестве одного из каналов передачи (транспорта) можно выбрать E-mail.

Следовательно, лучший способ понять, как это работает — изучить реализацию в типовой конфигурации БП. Это даст полное представление о логике и используемых объектах платформы.

Рассмотрим по шагам, как устроен такой механизм.

  1. Настройка учетной записи. В обеих базах (отправляющей и принимающей) необходимо настроить системную учетную запись электронной почты, которая будет использоваться для обмена. Важно: для этих целей рекомендуется завести отдельный, технический почтовый ящик, а не использовать личные или рабочие ящики сотрудников.
  2. Процесс на стороне отправителя. Создается регламентное задание, которое выполняется по расписанию (например, каждые 30 минут). Его алгоритм:
    • Формирование файла обмена (например, в формате XML).
    • Создание нового почтового сообщения с помощью встроенных объектов 1С: ИнтернетПочта и ИнтернетПочтовоеСообщение.
    • Прикрепление сформированного файла к письму в качестве вложения.
    • Отправка письма на адрес технического ящика.
  3. Процесс на стороне получателя. На стороне "1С:Бухгалтерии" также настраивается регламентное задание. Его алгоритм:
    • Подключение к почтовому ящику по протоколам POP3 или IMAP.
    • Проверка наличия новых, еще не обработанных писем.
    • Если найдено письмо с файлом обмена, система скачивает вложение во временный каталог.
    • Запускается стандартная процедура загрузки данных из полученного файла.
    • После успешной загрузки письмо помечается как обработанное или удаляется, чтобы не загрузить его повторно.

Для работы с почтой в 1С используются ключевые объекты:

Несмотря на кажущуюся простоту, у обмена по почте есть серьезные недостатки, которые необходимо учитывать.

Проблемы и ограничения E-mail обмена

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

1. Ограничения на размер вложений. Большинство бесплатных почтовых сервисов (Яндекс, Mail.ru, Google) ограничивают максимальный размер вложения на уровне 25-50 МБ. Если в результате обмена формируется файл большего размера (например, при первоначальной выгрузке большого объема данных), он просто не будет отправлен или получен. Использование корпоративного почтового сервера может снять это ограничение, но не всегда такая возможность есть.

2. Нестабильность доставки и спам-фильтры. Электронная почта не гарантирует моментальную доставку. Письма могут задерживаться на несколько часов. Более того, автоматические, однотипные письма с файлами-вложениями — идеальные кандидаты на попадание в папку "Спам". Это может полностью остановить обмен, и диагностировать проблему будет непросто.

3. Безопасность. Передача данных по e-mail по умолчанию не является безопасной. Для защиты конфиденциальной информации необходимо использовать шифрование для самих файлов обмена и обязательно подключаться к почтовому серверу по защищенным протоколам (SSL/TLS).

Альтернативные и более надежные способы обмена

Учитывая недостатки почты, рассмотрим более надежные и современные альтернативы, которые часто оказываются проще в поддержке.

Обмен через FTP

Протокол передачи файлов (FTP) — это классический и очень надежный способ для файлового обмена.

Реализация в 1С аналогична почте: регламентное задание формирует файл и выгружает его на FTP-сервер. Принимающая сторона по расписанию проверяет наличие новых файлов в своем каталоге на сервере и загружает их.

Важный момент: при настройке соединения с FTP-сервером, особенно если он находится за сетевым экраном (NAT), может потребоваться включение пассивного режима передачи данных.

Обмен через облачные хранилища

Современный аналог FTP — использование облачных хранилищ, таких как Яндекс.Диск или Google Drive. Этот способ требует дополнительной разработки, так как 1С должна взаимодействовать с сервисом через его API.

Прямая интеграция через веб-сервисы (API)

Это наиболее надежный, быстрый и безопасный способ, особенно актуальный для облачных конфигураций "1С:Fresh", где прямой доступ к файловой системе и работа с FTP ограничены.

Суть метода в том, что одна из баз данных публикует веб-сервис (SOAP или HTTP-сервис), который имеет методы для приема и передачи данных. Вторая база напрямую обращается к этим методам, передавая данные в виде XML или JSON. Этот подход исключает промежуточные файлы, что значительно повышает стабильность и скорость обмена.

Обмен через каталог с помощью внешней утилиты

Это простой, но эффективный гибридный метод, если нет возможности настроить FTP или веб-сервисы.

  1. Настройка в 1С: обе базы настраиваются на самый простой вид обмена — через локальный каталог. Одна база выгружает файл в каталог `OUT`, другая забирает его из каталога `IN`.
  2. Внешняя автоматизация: пишется простой скрипт (например, на PowerShell) или используется готовая утилита, которая запускается по расписанию системным планировщиком (например, Планировщиком заданий Windows).
  3. Задача скрипта: забирать файл из каталога `OUT`, отправлять его по почте, а на принимающей стороне — проверять почту, скачивать вложение в каталог `IN`.

Этот способ позволяет отделить логику формирования файла в 1С от логики его транспортировки, что упрощает отладку.

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

← На главную