Отправка сообщений из 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. Здесь нужно создать новый почтовый профиль:

  1. Нажмите «Создать» и выберите тип «Электронная почта».
  2. Укажите имя профиля (например, «Рабочая почта»).
  3. В поле «SMTP-сервер» введите адрес сервера (например, smtp.yandex.ru).
  4. Выберите порт (465 для SSL или 587 для TLS).
  5. Введите логин (полный email) и пароль. Если используется двухфакторная аутентификация, потребуется пароль приложения.
  6. В разделе «От кого» укажите имя и email, которые будут отображаться у получателя.

После сохранения профиля проверьте соединение кнопкой «Проверить». Если тест прошёл успешно, можно отправлять письма прямо из документов (например, счёта или акта) или через обработки. В конфигурациях типа «Бухгалтерия 3.0» отправка писем доступна прямо из формы документа — кнопка «Отправить» → «По почте».

📊 Какой почтовый сервис вы используете для 1С?
Yandex Mail
Mail.ru
Gmail
Корпоративная почта
Другой

2. Программная отправка писем: код для разработчиков

Если стандартных механизмов недостаточно, можно отправлять письма через встроенный язык . Этот способ гибкий: позволяет формировать динамические шаблоны, прикреплять файлы (например, PDF-счета) и отправлять письма по расписанию. Ниже пример кода для отправки письма с вложением:


// Создаём объект почты

Почта = Новый Почта;

Сообщение = Почта.СоздатьСообщение();

// Настраиваем параметры

Сообщение.Текст = "Добрый день! Ваш счёт №123 на сумму 10 000 руб. прикреплён к письму.";

Сообщение.Тема = "Счёт на оплату от " + ТекущаяДата();

Сообщение.Получатели.Добавить("client@example.com");

// Прикрепляем файл (например, счёт в PDF)

Вложение = Новый ВложениеФайлаНаДиске("C:\Счета\счет_123.pdf");

Сообщение.Вложения.Добавить(Вложение);

// Отправляем через настроенный профиль

Почта.Отправить(Сообщение, "Рабочая почта");

Чтобы этот код заработал, предварительно:

  • 🔹 Настройте почтовый профиль (см. раздел 1).
  • 🔹 Убедитесь, что у пользователя есть права на выполнение внешних соединений (в Администрирование → Пользователи).
  • 🔹 Если письма не отправляются, проверьте антивирус или фаервол — они могут блокировать порт SMTP.

Для массовой рассылки используйте цикл по списку адресатов:

Запрос = Новый Запрос;

Запрос.Текст = "ВЫБРАТЬ Email КАК ПочтовыйАдрес ИЗ Справочник.Контрагенты";

Результат = Запрос.Выполнить();

Выборка = Результат.Выбрать();

Пока Выборка.Следующий() Цикл

Сообщение.Получатели.Очистить();

Сообщение.Получатели.Добавить(Выборка.ПочтовыйАдрес);

Почта.Отправить(Сообщение, "Рабочая почта");

КонецЦикла;

💡

Если письма попадают в спам, проверьте SPF- и DKIM-записи домена. Для корпоративной почты настройте эти записи в DNS-панеле хостинга.

3. Отправка SMS из 1С: подключение шлюзов

SMS-уведомления полезны для оповещения клиентов о статусе заказа, задолженности или предстоящей доставке. В нет встроенного SMS-шлюза, но можно подключить внешние сервисы:

  • 📶 SMS.ru — популярный сервис с API для 1С.
  • 📶 SMSC.ру — поддерживает транзакционные и массовые рассылки.
  • 📶 МТС, Билайн, Теле2 — операторские шлюзы (подходят для корпоративных клиентов).

Для подключения SMS.ru:

  1. Зарегистрируйтесь на sms.ru и получите API-ключ.
  2. В перейдите в Администрирование → Настройки программы → Почта и SMS.
  3. Создайте новый профиль типа «SMS» и выберите провайдера «SMS.ru».
  4. Введите API-ключ и сохраните настройки.

Пример кода для отправки SMS через HTTPСервис:

Адрес = "https://sms.ru/sms/send";

Запрос = Новый HTTPЗапрос(Адрес);

// Параметры запроса

Запрос.УстановитьТелоИзСтроки("api_id=ВАШ_API_КЛЮЧ&to=79991234567&text=Ваш+заказ+отправлен!");

Ответ = Новый HTTPСоединение();

Ответ.ОтправитьДляОбработки(Запрос);

// Проверяем результат

Если Ответ.ПолучитьТелоКакСтроку() = "100" Тогда

Сообщить("SMS отправлено успешно!");

Иначе

Сообщить("Ошибка: " + Ответ.ПолучитьТелоКакСтроку());

КонецЕсли;

⚠️ Внимание: Бесплатные тарифы SMS-шлюзов часто ограничивают количество сообщений (например, 10 SMS/день). Для массовых рассылок потребуется оплаченный аккаунт.

☑️ Проверка перед отправкой SMS

Выполнено: 0 / 4

4. Внутренние уведомления: как отправлять сообщения пользователям 1С

Если нужно оповестить сотрудников внутри программы (например, о новой задаче или изменении документа), используйте механизм внутренних сообщений. Он работает без подключения к почте или SMS-шлюзам, но требует, чтобы пользователи были авторизованы в базе.

Способы отправки:

  • 📩 Через ПланОбмена — если у вас распределённая информационная база.
  • 📩 Методом ПоказатьОповещениеПользователю() — для текущего сеанса.
  • 📩 Через Регламентные задания — для отложенных уведомлений.

Пример кода для отправки уведомления конкретному пользователю:

Пользователь = Справочники.Пользователи.НайтиПоНаименованию("Иванов И.И.");

Если Не Пользователь.Пустая() Тогда

ТекстСообщения = "Вам назначена новая задача: проверить счёт №123.";

ПоказатьОповещениеПользователю(Пользователь, ТекстСообщения, "Задача");

КонецЕсли;

Для массовых уведомлений используйте обработку с циклом по списку пользователей. Уведомления отобразятся в правом нижнем углу экрана в виде всплывающего окна. Если пользователь не в сети, сообщение будет доставлено при следующем входе в программу.

Как отключить всплывающие уведомления?

Чтобы отключить уведомления для конкретного пользователя, перейдите в Сервис → Параметры → Персональные настройки и снимите флажок «Показывать оповещения».

5. Альтернативные способы: Telegram, Viber, WhatsApp

Если клиенты или сотрудники предпочитают мессенджеры, можно интегрировать с Telegram, Viber или WhatsApp. Для этого потребуется:

  1. Создать бота в мессенджере (например, через @BotFather в Telegram).
  2. Получить API-токен.
  3. Написать обработку в , которая будет отправлять сообщения через 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 Средняя Требуется верификация аккаунта Платные тарифы для бизнеса
WhatsApp Высокая Официальный API только для компаний Платный (от $0.005 за сообщение)

6. Типичные ошибки и их решение

При отправке сообщений из пользователи сталкиваются с типичными проблемами. Вот самые распространённые и способы их исправления:

  • Письма не отправляются:
    • Проверьте настройки SMTP (порты, SSL/TLS).
    • Убедитесь, что антивирус не блокирует 1Cv8.exe.
    • Попробуйте отправить письмо через внешний почтовый клиент (например, Outlook) — если не работает, проблема на стороне провайдера.
  • SMS не доходят:
    • Проверьте баланс на счёте SMS-шлюза.
    • Убедитесь, что номер указан в формате 79991234567 (без + или 8).
    • Тестовый запрос к API шлюза можно сделать через Postman.
  • Уведомления не показываются:
    • Проверьте, включены ли оповещения в настройках пользователя.
    • Убедитесь, что пользователь авторизован в базе (сессия активна).

Если проблема не решена, изучите журнал регистрации (Администрирование → Журнал регистрации). Ошибки отправки сообщений обычно имеют тип «Ошибка связи» или «Исключение».

💡

90% проблем с отправкой писем связаны с неверными настройками SMTP или блокировкой портов фаерволом.

7. Автоматизация: рассылки по расписанию

Чтобы отправлять сообщения автоматически (например, ежедневные отчёты или напоминания о платежах), используйте регламентные задания. Они позволяют запускать обработки в фоновом режиме без участия пользователя.

Пример настройки регламентного задания для отправки писем:

  1. Перейдите в Администрирование → Регламентные задания.
  2. Создайте новое задание с типом «Выполнение кода».
  3. В поле «Код» вставьте обработку отправки писем (см. раздел 2).
  4. Укажите расписание (например, ежедневно в 9:00).
  5. Сохраните и запустите задание вручную для проверки.

Для сложных сценариев (например, отправка разных писем в зависимости от статуса заказа) используйте бизнес-процессы. В конфигурациях типа Управление торговлей они настраиваются в разделе «CRM и маркетинг».

⚠️ Внимание: Регламентные задания выполняются на сервере . Если сервер выключен или база заблокирована, рассылка не произойдёт. Для критичных уведомлений настройте дублирование через внешние сервисы (например, Zapier).

FAQ: Частые вопросы по отправке сообщений в 1С

Можно ли отправлять письма с вложениями из 1С?

Да, вложения поддерживаются. В коде используйте объект ВложениеФайлаНаДиске или ВложениеФайлаВПамяти. Например:

Вложение = Новый ВложениеФайлаНаДиске("C:\Отчёты\отчёт.xlsx");

Сообщение.Вложения.Добавить(Вложение);

Максимальный размер вложения зависит от ограничений SMTP-сервера (обычно до 25 МБ).

Как отправить SMS через МТС или Билайн?

Операторы предоставляют корпоративные SMS-шлюзы. Для подключения:

  1. Заключите договор с оператором.
  2. Получите доступ к личному кабинету (например, business.mts.ru).
  3. Настройте интеграцию через HTTPСервис или готовые обработки от 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 (обратный вызов) — шлюз пришлёт уведомление о доставке на ваш сервер.