08.03.2024
Рассылка из 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.
После выполнения всех указанных процедур нажимаем на кнопку "Отправить" на первой закладке.
Если список вывелся пустой, значит все письма из списка отправлены успешно.
Обращаю ваше внимание , что данная обработка подходит для ЛЮБЫХ конфигураций на управляемом интерфейсе (как типовых, так и самописных).