Возникает задача организовать автоматический обмен файлами между двумя базами 1С: одна из них — нетиповая конфигурация, а вторая — типовая "1С:Бухгалтерия предприятия" (БП). В качестве канала передачи данных выбрана электронная почта. Основной вопрос: возможно ли это сделать, если речь не идет о РИБ (распределенной информационной базе), и как это реализовать, особенно для облачных сервисов вроде "1С:Fresh"?
Проанализируем эту задачу и разберем несколько способов ее решения: от прямой реализации обмена по почте до использования более надежных альтернативных каналов.
Первое, что стоит отметить: обмен данными через электронную почту возможен и вне механизма РИБ. Это распространенное заблуждение. В типовых конфигурациях, таких как "1С:Управление торговлей" или "1С:Зарплата и Управление Персоналом", существуют стандартные обмены с "1С:Бухгалтерией", где в качестве одного из каналов передачи (транспорта) можно выбрать E-mail.
Следовательно, лучший способ понять, как это работает — изучить реализацию в типовой конфигурации БП. Это даст полное представление о логике и используемых объектах платформы.
Рассмотрим по шагам, как устроен такой механизм.
ИнтернетПочта и ИнтернетПочтовоеСообщение.Для работы с почтой в 1С используются ключевые объекты:
ИнтернетПочта — основной объект для подключения к серверу и отправки/получения почты.ИнтернетПочтовоеСообщение — объект для формирования самого письма: адресатов, темы, текста и вложений.ПрофильИнтернетПочты — объект для хранения настроек подключения (сервер, порт, логин, пароль, использование SSL/TLS).Несмотря на кажущуюся простоту, у обмена по почте есть серьезные недостатки, которые необходимо учитывать.
Прежде чем внедрять обмен через почту, проанализируем его слабые стороны, которые могут привести к нестабильной работе и потере данных.
1. Ограничения на размер вложений. Большинство бесплатных почтовых сервисов (Яндекс, Mail.ru, Google) ограничивают максимальный размер вложения на уровне 25-50 МБ. Если в результате обмена формируется файл большего размера (например, при первоначальной выгрузке большого объема данных), он просто не будет отправлен или получен. Использование корпоративного почтового сервера может снять это ограничение, но не всегда такая возможность есть.
2. Нестабильность доставки и спам-фильтры. Электронная почта не гарантирует моментальную доставку. Письма могут задерживаться на несколько часов. Более того, автоматические, однотипные письма с файлами-вложениями — идеальные кандидаты на попадание в папку "Спам". Это может полностью остановить обмен, и диагностировать проблему будет непросто.
3. Безопасность. Передача данных по e-mail по умолчанию не является безопасной. Для защиты конфиденциальной информации необходимо использовать шифрование для самих файлов обмена и обязательно подключаться к почтовому серверу по защищенным протоколам (SSL/TLS).
Учитывая недостатки почты, рассмотрим более надежные и современные альтернативы, которые часто оказываются проще в поддержке.
Протокол передачи файлов (FTP) — это классический и очень надежный способ для файлового обмена.
Реализация в 1С аналогична почте: регламентное задание формирует файл и выгружает его на FTP-сервер. Принимающая сторона по расписанию проверяет наличие новых файлов в своем каталоге на сервере и загружает их.
Важный момент: при настройке соединения с FTP-сервером, особенно если он находится за сетевым экраном (NAT), может потребоваться включение пассивного режима передачи данных.
Современный аналог FTP — использование облачных хранилищ, таких как Яндекс.Диск или Google Drive. Этот способ требует дополнительной разработки, так как 1С должна взаимодействовать с сервисом через его API.
Это наиболее надежный, быстрый и безопасный способ, особенно актуальный для облачных конфигураций "1С:Fresh", где прямой доступ к файловой системе и работа с FTP ограничены.
Суть метода в том, что одна из баз данных публикует веб-сервис (SOAP или HTTP-сервис), который имеет методы для приема и передачи данных. Вторая база напрямую обращается к этим методам, передавая данные в виде XML или JSON. Этот подход исключает промежуточные файлы, что значительно повышает стабильность и скорость обмена.
Это простой, но эффективный гибридный метод, если нет возможности настроить FTP или веб-сервисы.
Этот способ позволяет отделить логику формирования файла в 1С от логики его транспортировки, что упрощает отладку.
В заключение: хотя обмен через e-mail и возможен, его стоит использовать с осторожностью из-за проблем с надежностью и ограничениями. Для серьезных задач, особенно в облачной инфраструктуре, предпочтение следует отдавать FTP, облачным хранилищам или, что является лучшей практикой, прямой интеграции через веб-сервисы.