Почему не отправляются СМС в 1С:Управление торговлей 11 при переходе на клиент-серверную версию и как это исправить?

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

Перевод информационной базы 1С из файлового режима работы в клиент-серверный — это стандартный этап масштабирования бизнеса. Однако часто этот процесс сопровождается неожиданными сбоями в работе функционала, который ранее работал безупречно. Одной из классических проблем является внезапное прекращение отправки СМС-сообщений из программы «1С:Управление торговлей 11».

В файловой базе пользователь заполняет форму, нажимает кнопку «Отправить», и сообщение мгновенно уходит получателю. В клиент-серверном же варианте СМС-сообщения могут бесследно исчезать: система рапортует об успешном формировании, но до адресата ничего не доходит. Разберем подробно, почему так происходит, проанализируем внутренние механизмы платформы 1С и найдем пошаговые пути решения этой технической проблемы.

---

Причина 1. Отключение или блокировка регламентных заданий на сервере

В файловом режиме работы многие регламентные и фоновые процессы эмулируются непосредственно в сеансе залогиненного пользователя. В клиент-серверной архитектуре за эти задачи отвечает отдельный планировщик заданий на стороне сервера 1С:Предприятия. Отправка СМС в типовых конфигурациях (на базе БСП) осуществляется асинхронно с помощью регламентного задания.

Рассмотрим две основные проблемы, связанные с этим механизмом:

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

Решение по шагам:

Шаг 1. Снимем блокировку регламентных заданий на уровне СУБД/кластера. Для этого откроем Консоль администрирования кластера серверов 1С:Предприятия, найдем нашу информационную базу, зайдем в ее свойства и убедимся, что флаг «Блокировка регламентных заданий включена» снят.

Шаг 2. Включим регламентное задание в режиме «1С:Предприятие». Перейдем в раздел НСИ и администрирование -> Обслуживание -> Регламентные и фоновые задания. Найдем в списке задание, связанное с отправкой СМС (обычно оно называется Отправка SMS или Отправка сообщений), проверим его состояние. Если оно выключено, включим его с помощью соответствующей кнопки и настроим расписание (например, выполнять каждые 10–30 секунд для оперативной отправки).

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


Задание = РегламентныеЗадания.НайтиПредопределенное(Метаданные.РегламентныеЗадания.ОтправкаSMS);
Если Не Задание.Использование Тогда
    УстановитьПривилегированныйРежим(Истина);
    Задание.Использование = Истина;
    Задание.Записать();
    УстановитьПривилегированныйРежим(Ложь);
    ЗаписатьЛогСобытия("Регламентное задание отправки СМС успешно активировано.");
КонецЕсли;

---

Причина 2. Ограничения прав и сетевого доступа учетной записи службы 1С

В клиент-серверном режиме весь код, отвечающий за отправку запросов к шлюзу СМС-провайдера, выполняется на стороне сервера приложений в контексте операционной системы. Исполнителем выступает рабочий процесс сервера rphost.exe, запущенный от имени конкретного системного пользователя Windows или Linux (по умолчанию это локальный пользователь USR1CV8).

Выясним причину, почему под администратором на сервере интернет работает, а СМС из 1С не уходят:

Решение по шагам:

Шаг 1. Проверим, под каким пользователем запущена служба 1С. Откроем оснастку Службы (services.msc), найдем службу Агент сервера 1С:Предприятие 8.3 и перейдем на вкладку Вход в систему. Если там указан стандартный USR1CV8, необходимо убедиться, что для него открыт сетевой порт для HTTPS-соединений (порт 443) до адреса шлюза СМС-провайдера.

Шаг 2. Если в сети используется прокси-сервер, настроим файл конфигурации inetcfg.xml, чтобы платформа знала, как корректно маршрутизировать свои запросы. Данный файл должен располагаться в каталоге установки платформы на сервере (например, в папке C:\Program Files\1cv8\conf\). Пример корректного заполнения файла конфигурации прокси:


<config xmlns="http://v8.1c.ru/8.1/data/internetandwork">
    <proxy
        host="192.168.1.100"
        port="8080"
        bypassOnLocal="true"
    >
        <user login="Domain\ProxyUser" password="MySecurePassword"/>
    </proxy>
</config>

---

Причина 3. Проблемы с SSL-сертификатами шифрования (HTTPS)

Поскольку отправка запросов на отправку СМС к API провайдеров происходит по защищенному протоколу HTTPS, сервер 1С должен верифицировать SSL-сертификат удаленного шлюза. Если операционная система на сервере давно не обновлялась или работает под управлением Linux без настроенного хранилища сертификатов, соединение будет разорвано с ошибкой безопасности.

Выясним, как обновить сертификаты:

---

Причина 4. Некорректные параметры интеграции и Альфа-имя

Иногда техническая часть отправки на стороне сервера работает штатно, однако провайдер отклоняет запросы по административным причинам:

  1. Имя отправителя (Альфа-имя): Мобильные операторы жестко контролируют спам-рассылки. Если в настройках органайзера 1С указано произвольное имя отправителя (например, название вашей компании), которое не зарегистрировано и не одобрено сотовыми операторами в личном кабинете СМС-провайдера, СМС-шлюз вернет ошибку или примет сообщение, но заблокирует его доставку на уровне оператора.
  2. Формат номера телефона: В файловом режиме валидация номера могла происходить по иным алгоритмам. Убедимся, что номера телефонов передаются СМС-провайдеру исключительно в международном формате (например, +79991112233). Избегайте использования внутренних номеров и некорректных префиксов (например, начинающихся с «8» вместо «+7» или кода страны).

---

Как быстро локализовать и диагностировать проблему?

Для того чтобы не гадать, на каком этапе происходит сбой, выполним последовательную диагностику:

  1. Анализ Журнала регистрации: Перейдем в раздел НСИ и администрирование -> Обслуживание -> Журнал регистрации. Установим отбор по критичности «Ошибка» и проанализируем записи за время последней попытки отправки СМС. При проблемах с сетью, авторизацией на шлюзе или ошибках выполнения кода регламентного задания там всегда будет подробное описание (например, «Превышено время ожидания операции» или «SSL- handshake failed»).
  2. Инструментальная проверка сети с сервера: Зайдем по RDP на сервер приложений 1С под учетной записью службы (или запустив командную строку с аналогичными правами) и выполним тестовый запрос к адресу API вашего СМС-провайдера через утилиту curl:

curl -v https://api.smsprovider.ru/v1/send

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

Совместное выполнение этих диагностических шагов гарантирует быстрое и успешное восстановление функционала отправки СМС в вашей системе «1С:Управление торговлей 11».

← На главную