Простые подсистемы. Управление контактными сообщениями: регистрация и последующая отправка сообщений из 1С (E-Mail, SMS)

Программирование - Инструментарий

Вариант реализации интерфейса рассылки сообщений из 1С, удобная "обёртка" для методов БСП. Подсистема, умеющая отправлять по регламентному заданию зарегистрированные ранее к отправке сообщения SMS или E-Mail.

Подсистема может решать следующие задачи:
1. Единый интерфейс отправки сообщений в системе
2. Контроль рассылки не из продуктивных баз
3. Фиксация в системе всех следов сообщений.

Требования:
БСП 2.4 (под другие редакции просто не тестировалось, уверен, что при небольших доработках всё быстро взлетаемо). Платформа 8.3.10.2252 и выше.

Алгоритм следующий:
1. Программист формирует контейнер с параметрами сообщения (тема, текст сообщения, получатели и т.п.), передаёт его как параметр при вызове метода КонтактныеСообщенияСервер.Сообщение(ТипСообщения, КонтейнерДанных)
2. Метод регистрирует сообщение в системе
3. По прошествии какого-то времени отрабатывает регламентное задание и выполняет рассылку зарегистрированных ранее сообщений.

Внедрение
Файл конфигурации во вложении содержит ряд объектов БСП, которые необходимы для работы текущей подсистемы.
Для внедрения подсистемы Управление сообщениями в целевую конфигурацию:
1. Сравнение/объединение с приложенным cf
2. Снять выделение всех объектов
3. Меню Действия -> Отметить по подсистемам файла: выбрать "УправлениеКонтактнымиСообщениями"
4. Нажать "Выполнить"
5. После обновления конфигурации ИБ настроить регламентное задание "Отправка контактных сообщений"

Пример вызова
 

	ТипСообщения = Перечисления.пп_ТипыКонтактныхСообщений.EMail;
	
	Получатели = Новый ТаблицаЗначений;
	Получатели.Колонки.Добавить("Адрес");
	Получатели.Колонки.Добавить("Адресат");
	
	КонтейнерДанных = Новый Структура;
	КонтейнерДанных.Вставить("Тема", ТемаСообщения);
	КонтейнерДанных.Вставить("Тело", ТекстСообщения);
	КонтейнерДанных.Вставить("ОбъектОснование", СсылкаНаОбъектОснование);
	КонтейнерДанных.Вставить("Получатели", Получатели);
	
	Результат = пп_КонтактныеСообщенияСервер.Сообщение(ТипСообщения, КонтейнерДанных);
	
	Если Результат <> Истина Тогда
		ОписаниеСообщения = "Не удалось зарегистрировать контактное сообщение: " + Строка(ТипСообщения);
		ЗаписьЖурналаРегистрации("ОшибкаФормированияУведомлений", УровеньЖурналаРегистрации.Ошибка, , СсылкаНаОбъектОснование, ОписаниеСообщения);
	КонецЕсли;

Плюсы:
1. Отказоустойчивость. В случае сбоя с интернетом система таки "дошлёт" сообщения, но позже. Регистрирует ошибки отправки.
2. Всегда быстро и доступно видно, кому, когда и какие сообщения были зарегистрированы и когда были высланы.
3. Быстрая и незатратная по времени регистрация сообщения (быстрее, чем непосредственная отправка)
4. Легко можно доработать подсистему на новые протоколы (telegram, whatsapp и т.п.)
 

Минусы:
1. В системе может накапливаться очень большое количество уже не нужных (возможно) высланных за прошлые периоды сообщений. Это придётся "чистить", если потребуется.
2. Сама система в состоянии "зародыша" - пока руки не дошли даже до фиксации вложений в письма. Но это быстро реализуемо.

Скачать файлы

Наименование Файл Версия Размер
Подсистема регистрации и последующей отправки сообщений из 1С (E-Mail, SMS):
.cf 8,09Mb
15.09.17
4
.cf 0.0.0.1 8,09Mb 4 Скачать

См. также

В этой теме еще нет сообщений.
Оставьте свое сообщение