Рассылка из 1с. Рассылка писем по базе адресатов

Обработка "АЛАНН: Массовая рассылка электронных писем из 1С" предназначена для массовой рассылки электронных писем и печатных форм документов с печатью и подписью непосредственно из системы 1С: Предприятие и работает с конфигурациями на управляемых формах:

  • Бухгалтерия предприятия 3.0
  • Управление торговлей 11
  • Управление небольшой фирмой
  • Для Бухгалтерия предприяти 2.0, Управление торговлей 10.3, Комплексная автоматизация и Управление производственным предприятием есть, схожая по функционалу, обработка

По умолчанию с обработкой поставляются следующие печатные формы:

  • Счёт на оплату покупателю
  • ТОРГ-12
  • Акт об указанных услугах
  • Акт выполненных работ
  • Счет фактура
  • Акт сверки взаиморасчетов
  • Доверенность

Обработка обладает следующими возможностями:

  • Загрузка списка получателей из адресной книги 1С либо из внешнего текстового файла . При загрузке списка получателей из файла, возможно добавление в текст сообщения любых параметров (сумма задолженности контрагента, ФИО и т.п.) .

  • Подбор документов для рассылки непосредственно из списка документов

  • Печать на принтере, отправляемых документов . Притом, можно выбрать те документы, которые необходимо распечатать, принтер и количество копий.
  • Указание произвольного кода, который будет исполняться в ходе работы обработки . При необходимости выполнять какой-либо код 1С в процессе работы обработки, достаточно указать расположение внешних обработок, в которых данный код содержится, .
  • Добавление в текст и тему сообщения произвольных параметров (ФИО, сумма задолженности и т.п.) . Данная возможность позволит организовывать адресную рассылку конкретным лицам с конкретными данными для них.

  • Добавление к письму дополнительных вложений . Притом, возможно указать, как , так и .
  • Автозапуск обработки по расписанию . Обработка запустится в указанное время и выполнит рассылку почты по указанному списку получателей. .
  • Указание интервала между отправкой писем . Данный функционал снизит вероятность попадания рассылаемых писем в спам-фильтр почтовых ящиков клиентов.
  • Произвольное форматирование текста сообщение . Выделение текста жирным, курсивом, цветом, добавление в текст гиперссылок и картинок.
  • Автоматическое архивирование вложений . По желанию пользователя, все вложения в письмо могут быть упакованы в архив ZIP и отправлены одним файлом.

Для оценки возможностей обработки, вы можете её и протестировать в демо-режиме.

Как и все обработки серии АЛАНН, обработка "АЛАНН: Массовая рассылка электронных писем из 1С" легко устанавливается и не требует привлечения программистов 1С.

Ранее в своем блоге мы рассматривали рассылку SMS из на основе веб-сервиса. Но судя по отзывам, такого решения не всегда проста для разработчика. Ниже мы рассмотрим более доступный способ для отправки коротких сообщения — . Рассмотрим пример разработки такой обработки и предложим скачать образец.

Настройка отправки СМС из 1С

Для начала небольшая вводная, что такое HTTP и его методы. Естественно, ответ лучше, чем интернет-энциклопедия Wikipedia нам никто не сможет дать:

HTTP (от англ. HyperText Transfer Protocol - «протокол передачи гипертекста») - сетевой протокол прикладного уровня для передачи файлов. GET -Используется для запроса содержимого указанного ресурса. С помощью метода GET можно также начать какой-либо процесс. В этом случае в тело ответного сообщения следует включить информацию о ходе выполнения процесса.

В нашем случае мы как раз будем запускать процесс отправки СМС с определенными параметрами. Параметры просты — пароль, логин, номер адресата СМС и текст сообщения.

В нашем примере мы будем использовать интернет-шлюз — AvisoSMS . У него есть набор различных API: среди них GET, JSON, XML, Email2SMS (документация). Мы рассмотрим самый простой и доступный — GET.

Для работы со шлюзом необходимо зарегистрироваться , для теста у Вас будет доступно некоторое количество бесплатных СМС (около 5-10), этого достаточно для начального теста рассылки. Сохраните логин и пароль, он пригодится в будущем.

Получите 267 видеоуроков по 1С бесплатно:

Пишем код для отправки

Я создал новую внешнюю обработку, в которой завел 4 реквизита формы и 1 команду:

Команду «Отправить СМС» я вывел на форму и прописал следующий программный код в серверной процедуре:

ИмяФайлаОтвета = ПолучитьимяВременногоФайла(«txt»);

Соединение = Новый HTTPСоединение(«api.avisosms.ru»);

СтрокаПодключения = «sms/get/?username=» + СокрЛП(Логин) + «&password=» + СокрЛП(Пассворд) + «&destination_address=» + СокрЛП(НомерАдресата) + «&source_address=SENDER&message=» + СокрЛП(Текст);
Соединение.Получить(СтрокаПодключения, ИмяФайлаОтвета);

ФайлОтвета = Новый Файл(ИмяФайлаОтвета);

Если ФайлОтвета.Существует() Тогда

ТекстОтвета = Новый ТекстовыйДокумент();

Если ТекстОтвета.КоличествоСтрок()>0 Тогда

ОтветСервера = ТекстОтвета.ПолучитьТекст();
Если Найти(ОтветСервера, «OK_Operation_Completed») > 0 Тогда
Сообщить(«Сообщение успешно отправлено на номер » + СокрЛП(НомерАдресата));
Иначе
Сообщить(«Проблемы с отправкой СМС на номер » + СокрЛП(НомерАдресата) + «. Ответ сервера: » + ОтветСервера);
КонецЕсли;

Иначе

КонецЕсли;

УдалитьФайлы(ИмяФайлаОтвета);

КонецЕсли;

Вот и весь программный код. Этого достаточно для полноценной отправки сообщений.

Запускаем в режиме 1С: Предприятие и тестируем. Вводим пароль и логин, введенные при регистрации, текст сообщения и номер адреса. Нажимаем команду «отправить»:

1. USB 3G-модем

При наличии USB 3G-модема для отправки SMS можно использовать внешнее приложение с поддержкой командной строки.

Тестировал отправку SMS сообщений со следующими приложениями:
- Microsoft SMS Sender (http://www.microsoft.com/ru-ru/download/details.aspx?id=5552)
- cmd2SMS (http://vd-soft.biz/products/CMD2SMS.htm)

В этом случае отправка SMS сообщения сводится к программному созданию и запуску пакетного или командного файла (.bat, .cmd) или скрипта (.vbs), в котором производится запуск внешнего приложения с нужными ключами, с указанием номера телефона получателя и текста сообщения.

Пример bat-файла для отправки сообщения через приложение SMS Sender:

Cd "C:\Program Files (x86)\Microsoft SMS Sender\" smssender.exe /p:81234567890 /m:"тестовое сообщение" /u /l

Пример программного создания и запуска bat-файла:

ИмяФайла = ПолучитьИмяВременногоФайла(".bat"); Bat_Файл = Новый ЗаписьТекста (ИмяФайла, КодировкаТекста.OEM); Bat_Файл.ЗаписатьСтроку("cd ""C:\Program Files (x86)\Microsoft SMS Sender\"""); Bat_Файл.ЗаписатьСтроку("smssender.exe /p:" +Телефон+ " /m:""" +ТекстСообщения+ """ /u /l"); Bat_Файл.Закрыть(); ЗапуститьПриложение(ИмяФайла);

2. Андроид смартфон

Нужный дистрибутив android-sdk можно взять (http://developer.android.com/sdk/index.html).

В данном случае, отправка SMS сообщения сводится к выполнению команды оболочки андроид-устройства.
При этом SMS сообщения будут формироваться непосредственно в самом телефоне.

//---- создаем BAT-файл для Android Debug Bridge ИмяФайла = ПолучитьИмяВременногоФайла(".bat"); Bat_Файл = Новый ЗаписьТекста (ИмяФайла, КодировкаТекста.Системная); Bat_Файл.ЗаписатьСтроку("cd C:\ADB\platform-tools\"); Bat_Файл.ЗаписатьСтроку("adb.exe shell am start -a android.intent.action.SENDTO -d sms:" +Телефон+ " --es sms_body " +ТекстСообщения+ " --ez exit_on_sent true"); Bat_Файл.ЗаписатьСтроку("adb.exe shell sleep 1"); Bat_Файл.ЗаписатьСтроку("adb.exe shell input keyevent 22"); Bat_Файл.ЗаписатьСтроку("adb.exe shell sleep 1"); Bat_Файл.ЗаписатьСтроку("adb.exe shell input keyevent 66"); Bat_Файл.Закрыть(); //---- запускаем BAT-файл ЗапуститьПриложение(ИмяФайла);

3. Отправка SMS через SMTP

Организации, имеющие корпоративную сотовую связь, могут воспользоваться SMS сервисом своего провайдера связи.

Тестировал функцию отправки сообщений через SMTP протокол SMS-сервиса Билайна:
- подробнее о сервисе - (http://beeline.amega-inform.ru - демо доступ)
- о протоколе отправки через SMTP (http://beeline.amega-inform.ru/support/protocol_smtp.php)

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

Пример отправки SMS:

// профиль почты Профиль = Новый ИнтернетПочтовыйПрофиль; Профиль.АдресСервераSMTP = "beeline.amega-inform.ru"; Профиль.ПортSMTP = 256; Профиль.АутентификацияSMTP = СпособSMTPАутентификации.Login; Профиль.ПользовательSMTP = "логин"; Профиль.ПарольSMTP = "пароль"; // создать сообщение Сообщение = Новый ИнтернетПочтовоеСообщение; Сообщение.ИмяОтправителя = "Псевдоним"; Сообщение.Получатели.Добавить(Телефон + "@sms.beeline.amega-inform.ru"); Сообщение.Отправитель.Адрес = "Псевдоним@domain"; Сообщение.Тема = ""; Сообщение.Тексты.Добавить(ТекстСообщения); // подключить профиль Почта = Новый ИнтернетПочта; Попытка Почта.Подключиться(Профиль); Исключение Предупреждение (ОписаниеОшибки()); КонецПопытки; // отправить почту Попытка Почта.Послать(Сообщение); Почта.Отключиться(); Исключение Предупреждение (ОписаниеОшибки()); КонецПопытки;

4. Отправка SMS через http запрос.

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

После регистрации личного кабинета провайдер предоставляет вам ключ API-ID и дальше отправка смс-сообщений сводится к формированию http-запроса следующего вида:

https://sms.ru/sms/send?api_id=&to=79281234567&msg="текст сообщения"&json=1

Пример отправки SMS запросом http:

Попытка HTTPСоединение = Новый HTTPСоединение(АдресСервера); HTTPЗапрос = Новый HTTPЗапрос("https://sms.ru/sms/send?api_id="+API_ID+"&to="+ Телефон+"&msg="+ТекстСообщения+"&json=0"); HTTPОтвет = HTTPСоединение.Получить(HTTPЗапрос); ТекстОтвета = HTTPОтвет.ПолучитьТелоКакСтроку(); Отправлено = ?(HTTPОтвет.КодСостояния = "200", Истина, Ложь); Исключение Отправлено = Ложь; КонецПопытки;

Данная внешняя обработка позволяет создавать электронные рассылки по базе адресатов (контрагенты, физлица и т.п.). Текст сообщения пишется на первой закладке. Удобно его копировать из MS Word (чтобы создать красивое форматированное сообщение). Здесь же указывается тема письма и при необходимости прикрепляется внешний файл .

На второй закладке указывается список электронных адресов получателей (обязательно в первом столбце!), количество адресатов произвольное (не забывайте про ограничения почтовых сервисов).

На третьей закладке указываются настройки вашей учетной записи электронной почты.

Для почты Yandex: smtp.yandex.ru, порт 465;

Для почты Mail: smtp.mail.ru, порт 465;

Для почты Gmail: smtp.gmail.com, порт 465.


После выполнения всех указанных процедур нажимаем на кнопку "Отправить" на первой закладке.


Если список вывелся пустой, значит все письма из списка отправлены успешно.

Обращаю ваше внимание , что данная обработка подходит для ЛЮБЫХ конфигураций на управляемом интерфейсе (как типовых, так и самописных).

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.