Отправка сообщений из 1С:Предприятие — одна из самых востребованных функций для автоматизации бизнес-процессов. Без неё невозможно оперативно уведомлять клиентов о заказах, сотрудников о задачах или партнёров о платежах. Но стандартные механизмы платформы часто вызывают вопросы: как настроить SMTP для писем, подключить SMS-шлюз или отправить уведомление внутри программы? Эта статья охватывает все способы отправки сообщений — от базовых настроек до программного кода для разработчиков.
Мы разберём не только техническую сторону, но и типичные ошибки (например, почему письма уходят в спам), альтернативные решения (телеграм-боты, мессенджеры) и нюансы работы с разными версиями 1С 8.3. Если вам нужно срочно отправить письмо из документа или настроить массовую рассылку — здесь вы найдёте готовые инструкции с пошаговыми скриншотами и примерами кода.
⚠️ Важно: Функциональность отправки сообщений зависит от конфигурации (Бухгалтерия, УТ, ЗУП и др.) и версии платформы. Некоторые способы (например, SMS через HTTPСервис) требуют прав администратора или доступа к серверу.
1. Отправка писем через SMTP: настройка почты в 1С
Самый универсальный способ отправки сообщений — электронная почта. В 1С 8.3 для этого используется протокол SMTP, который настраивается в параметрах программы. Прежде чем приступить, убедитесь, что у вас есть:
- 📧 Логин и пароль от почтового ящика (например,
yourname@company.ru) - 🔧 Адреса SMTP-сервера и порта (обычно
smtp.company.ru:587илиsmtp.mail.ru:465) - 🔒 Данные о шифровании (SSL/TLS) — их можно уточнить у провайдера почты
Для настройки перейдите в Администрирование → Настройки программы → Почта и SMS. Здесь нужно создать новый почтовый профиль:
- Нажмите «Создать» и выберите тип «Электронная почта».
- Укажите имя профиля (например, «Рабочая почта»).
- В поле «SMTP-сервер» введите адрес сервера (например,
smtp.yandex.ru). - Выберите порт (
465для SSL или587для TLS). - Введите логин (полный email) и пароль. Если используется двухфакторная аутентификация, потребуется пароль приложения.
- В разделе «От кого» укажите имя и email, которые будут отображаться у получателя.
После сохранения профиля проверьте соединение кнопкой «Проверить». Если тест прошёл успешно, можно отправлять письма прямо из документов (например, счёта или акта) или через обработки. В конфигурациях типа «Бухгалтерия 3.0» отправка писем доступна прямо из формы документа — кнопка «Отправить» → «По почте».
2. Программная отправка писем: код для разработчиков
Если стандартных механизмов недостаточно, можно отправлять письма через встроенный язык 1С. Этот способ гибкий: позволяет формировать динамические шаблоны, прикреплять файлы (например, PDF-счета) и отправлять письма по расписанию. Ниже пример кода для отправки письма с вложением:
// Создаём объект почты
Почта = Новый Почта;
Сообщение = Почта.СоздатьСообщение();
// Настраиваем параметры
Сообщение.Текст = "Добрый день! Ваш счёт №123 на сумму 10 000 руб. прикреплён к письму.";
Сообщение.Тема = "Счёт на оплату от " + ТекущаяДата();
Сообщение.Получатели.Добавить("client@example.com");
// Прикрепляем файл (например, счёт в PDF)
Вложение = Новый ВложениеФайлаНаДиске("C:\Счета\счет_123.pdf");
Сообщение.Вложения.Добавить(Вложение);
// Отправляем через настроенный профиль
Почта.Отправить(Сообщение, "Рабочая почта");
Чтобы этот код заработал, предварительно:
- 🔹 Настройте почтовый профиль (см. раздел 1).
- 🔹 Убедитесь, что у пользователя есть права на выполнение внешних соединений (в
Администрирование → Пользователи). - 🔹 Если письма не отправляются, проверьте антивирус или фаервол — они могут блокировать порт SMTP.
Для массовой рассылки используйте цикл по списку адресатов:
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ Email КАК ПочтовыйАдрес ИЗ Справочник.Контрагенты";
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Сообщение.Получатели.Очистить();
Сообщение.Получатели.Добавить(Выборка.ПочтовыйАдрес);
Почта.Отправить(Сообщение, "Рабочая почта");
КонецЦикла;
Если письма попадают в спам, проверьте SPF- и DKIM-записи домена. Для корпоративной почты настройте эти записи в DNS-панеле хостинга.
3. Отправка SMS из 1С: подключение шлюзов
SMS-уведомления полезны для оповещения клиентов о статусе заказа, задолженности или предстоящей доставке. В 1С нет встроенного SMS-шлюза, но можно подключить внешние сервисы:
- 📶 SMS.ru — популярный сервис с API для 1С.
- 📶 SMSC.ру — поддерживает транзакционные и массовые рассылки.
- 📶 МТС, Билайн, Теле2 — операторские шлюзы (подходят для корпоративных клиентов).
Для подключения SMS.ru:
- Зарегистрируйтесь на
sms.ruи получите API-ключ. - В 1С перейдите в
Администрирование → Настройки программы → Почта и SMS. - Создайте новый профиль типа «SMS» и выберите провайдера «SMS.ru».
- Введите API-ключ и сохраните настройки.
Пример кода для отправки SMS через HTTPСервис:
Адрес = "https://sms.ru/sms/send";
Запрос = Новый HTTPЗапрос(Адрес);
// Параметры запроса
Запрос.УстановитьТелоИзСтроки("api_id=ВАШ_API_КЛЮЧ&to=79991234567&text=Ваш+заказ+отправлен!");
Ответ = Новый HTTPСоединение();
Ответ.ОтправитьДляОбработки(Запрос);
// Проверяем результат
Если Ответ.ПолучитьТелоКакСтроку() = "100" Тогда
Сообщить("SMS отправлено успешно!");
Иначе
Сообщить("Ошибка: " + Ответ.ПолучитьТелоКакСтроку());
КонецЕсли;
⚠️ Внимание: Бесплатные тарифы SMS-шлюзов часто ограничивают количество сообщений (например, 10 SMS/день). Для массовых рассылок потребуется оплаченный аккаунт.
☑️ Проверка перед отправкой SMS
4. Внутренние уведомления: как отправлять сообщения пользователям 1С
Если нужно оповестить сотрудников внутри программы (например, о новой задаче или изменении документа), используйте механизм внутренних сообщений. Он работает без подключения к почте или SMS-шлюзам, но требует, чтобы пользователи были авторизованы в базе.
Способы отправки:
- 📩 Через
ПланОбмена— если у вас распределённая информационная база. - 📩 Методом
ПоказатьОповещениеПользователю()— для текущего сеанса. - 📩 Через
Регламентные задания— для отложенных уведомлений.
Пример кода для отправки уведомления конкретному пользователю:
Пользователь = Справочники.Пользователи.НайтиПоНаименованию("Иванов И.И.");
Если Не Пользователь.Пустая() Тогда
ТекстСообщения = "Вам назначена новая задача: проверить счёт №123.";
ПоказатьОповещениеПользователю(Пользователь, ТекстСообщения, "Задача");
КонецЕсли;
Для массовых уведомлений используйте обработку с циклом по списку пользователей. Уведомления отобразятся в правом нижнем углу экрана 1С в виде всплывающего окна. Если пользователь не в сети, сообщение будет доставлено при следующем входе в программу.
Как отключить всплывающие уведомления?
Чтобы отключить уведомления для конкретного пользователя, перейдите в Сервис → Параметры → Персональные настройки и снимите флажок «Показывать оповещения».
5. Альтернативные способы: Telegram, Viber, WhatsApp
Если клиенты или сотрудники предпочитают мессенджеры, можно интегрировать 1С с Telegram, Viber или WhatsApp. Для этого потребуется:
- Создать бота в мессенджере (например, через
@BotFatherв Telegram). - Получить API-токен.
- Написать обработку в 1С, которая будет отправлять сообщения через HTTP-запросы.
Пример отправки сообщения в Telegram:
Адрес = "https://api.telegram.org/botВАШ_ТОКЕН/sendMessage";
Запрос = Новый HTTPЗапрос(Адрес);
Текст = "📄 Ваш заказ №123 готов к выдаче!";
Параметры = Новый Структура();
Параметры.Вставить("chat_id", "123456789"); // ID чата или пользователя
Параметры.Вставить("text", Текст);
Параметры.Вставить("parse_mode", "HTML");
Запрос.УстановитьТелоИзСтроки(ПараметрыСериализоватьJSON(Параметры));
Ответ = Новый HTTPСоединение();
Ответ.ОтправитьДляОбработки(Запрос);
⚠️ Внимание: Для работы с WhatsApp потребуется официальный Business API, который предоставляется только партнёрам Meta. Альтернатива — неофициальные библиотеки, но они нарушают правила сервиса и могут быть заблокированы.
| Мессенджер | Сложность интеграции | Ограничения | Стоимость |
|---|---|---|---|
| Telegram | Низкая | Нет массовых рассылок (лимиты на сообщения) | Бесплатно |
| Viber | Средняя | Требуется верификация аккаунта | Платные тарифы для бизнеса |
| Высокая | Официальный API только для компаний | Платный (от $0.005 за сообщение) |
6. Типичные ошибки и их решение
При отправке сообщений из 1С пользователи сталкиваются с типичными проблемами. Вот самые распространённые и способы их исправления:
- ❌ Письма не отправляются:
- Проверьте настройки
SMTP(порты, SSL/TLS). - Убедитесь, что антивирус не блокирует
1Cv8.exe. - Попробуйте отправить письмо через внешний почтовый клиент (например, Outlook) — если не работает, проблема на стороне провайдера.
- Проверьте настройки
- ❌ SMS не доходят:
- Проверьте баланс на счёте SMS-шлюза.
- Убедитесь, что номер указан в формате
79991234567(без + или 8). - Тестовый запрос к API шлюза можно сделать через
Postman.
- ❌ Уведомления не показываются:
- Проверьте, включены ли оповещения в настройках пользователя.
- Убедитесь, что пользователь авторизован в базе (сессия активна).
Если проблема не решена, изучите журнал регистрации (Администрирование → Журнал регистрации). Ошибки отправки сообщений обычно имеют тип «Ошибка связи» или «Исключение».
90% проблем с отправкой писем связаны с неверными настройками SMTP или блокировкой портов фаерволом.
7. Автоматизация: рассылки по расписанию
Чтобы отправлять сообщения автоматически (например, ежедневные отчёты или напоминания о платежах), используйте регламентные задания. Они позволяют запускать обработки в фоновом режиме без участия пользователя.
Пример настройки регламентного задания для отправки писем:
- Перейдите в
Администрирование → Регламентные задания. - Создайте новое задание с типом «Выполнение кода».
- В поле «Код» вставьте обработку отправки писем (см. раздел 2).
- Укажите расписание (например, ежедневно в 9:00).
- Сохраните и запустите задание вручную для проверки.
Для сложных сценариев (например, отправка разных писем в зависимости от статуса заказа) используйте бизнес-процессы. В конфигурациях типа Управление торговлей они настраиваются в разделе «CRM и маркетинг».
⚠️ Внимание: Регламентные задания выполняются на сервере 1С. Если сервер выключен или база заблокирована, рассылка не произойдёт. Для критичных уведомлений настройте дублирование через внешние сервисы (например, Zapier).
FAQ: Частые вопросы по отправке сообщений в 1С
Можно ли отправлять письма с вложениями из 1С?
Да, вложения поддерживаются. В коде используйте объект ВложениеФайлаНаДиске или ВложениеФайлаВПамяти. Например:
Вложение = Новый ВложениеФайлаНаДиске("C:\Отчёты\отчёт.xlsx");
Сообщение.Вложения.Добавить(Вложение);
Максимальный размер вложения зависит от ограничений SMTP-сервера (обычно до 25 МБ).
Как отправить SMS через МТС или Билайн?
Операторы предоставляют корпоративные SMS-шлюзы. Для подключения:
- Заключите договор с оператором.
- Получите доступ к личному кабинету (например,
business.mts.ru). - Настройте интеграцию через
HTTPСервисили готовые обработки от 1С.
Официальные модули для 1С есть у МТС и Билайна (бесплатно для клиентов).
Почему письма из 1С попадают в спам?
Основные причины:
- Отсутствуют SPF- и DKIM-записи для домена.
- IP-адрес сервера в чёрных списках (проверьте на
mxtoolbox.com). - Текст письма содержит спам-триггеры («бесплатно», «акция», много восклицательных знаков).
Решение: настройте запись SPF для своего домена и используйте проверенные SMTP-серверы (например, Yandex или Mailgun).
Можно ли отправить сообщение в WhatsApp без API?
Официально — нет. Неофициальные методы (например, через эмуляцию браузера) нарушают правила WhatsApp и могут привести к блокировке аккаунта. Альтернатива:
- Используйте WhatsApp Business API (требуется верификация).
- Отправляйте SMS с ссылкой на чат в WhatsApp (формат:
https://wa.me/79991234567).
Как проверить, дошло ли SMS из 1С?
Большинство SMS-шлюзов возвращают статус доставки в ответе на запрос. Пример обработки статуса для SMS.ru:
Если Ответ.ПолучитьТелоКакСтроку() = "100" Тогда
// SMS отправлено
ИначеЕсли Найти(Ответ.ПолучитьТелоКакСтроку(), "201") Тогда
// Недостаточно средств
Иначе
// Другая ошибка
КонецЕсли;
Для точного отслеживания используйте callback (обратный вызов) — шлюз пришлёт уведомление о доставке на ваш сервер.