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

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

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

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

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

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

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


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


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

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

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

Реализовать данную задачу мы сможем только с использованием конфигурации “1С:Розница” редакции 2.1. В редакции 2.0 функционала информационных рассылок еще не было.

Применимость

Статья написана для редакции 1С:Розница 2.1 . Если вы используете эту редакцию, отлично – прочтите статью и внедряйте рассмотренный функционал.

Если же вы планируете начать внедрение 1С:Розница, то скорее всего будет использоваться более свежая редакция. Интерфейсы и её функционал могут отличаться.

Поэтому, мы рекомендуем пройти курс 1С:Розница 2 для автоматизации магазинов и сервисных компаний , это поможет вам избежать ошибок и потери времени / репутации.

Оформление e-mail рассылки

Прежде чем приступать к созданию e-mail нужно настроить системную учетную запись электронной почты.

Для этого в разделе Администрирование следует выбрать команду Органайзер .

Откроется форма, из которой можно вызвать настройки системной учетной записи или открыть общий список всех учетных записей электронной почты.

Системная учетная запись используется системой для рассылки служебных сообщений и информационных рассылок.

Воспользуемся командой для редактирования параметров системной учетной записи.

Предварительно следует завести специальный почтовый ящик. Указываются стандартные настройки электронной почты: Адрес электронной почты , Имя отправителя писем , Сервер входящей/исходящей почты, Имя пользователя и Пароль .

Флаг Для получения писем , можно не указывать, т.к. информационные рассылки будут работать только на отправку исходящих писем.

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

Появится окно “Проверка учетной записи”.

Если проверка завершилась с ошибками, и система 1С:Розница выдала сообщение, которое показано на рисунке ниже, возможно, Ваш Интернет-провайдер заблокировал 25-й порт, стандартно используемый для работы протокола SMTP.

Это ограничение можно обойти, используя порт 587, который обычно не блокируется.

В примере так и получилось. Поэтому требуется переопределить стандартный порт SMTP.

Выполняем проверку работы учетной записи – проверка пройдена успешно.

Зайдя в почтовый ящик, мы обнаружим тестовое сообщение.

Для формирования информационных рассылок будем использовать документ “Информационная рассылка”.

Чтобы этот документ стал доступен, необходимо чтобы в разделе Администрирование в настройках раздела Маркетинг была включена опция Скидки, наценки и ограничения продаж .

После этого в разделе Маркетинг станет доступной команда Информационные рассылки в группе команд См. также.

По данной команде открывается список документов “Информационные рассылки”.

Уважаемый [ПредставлениеКонтакта]!
Поздравляем Вас с Днем защитника Отечества!
Будьте крепкой опорой своей семье!

Внутри данного шаблона мы можем использовать определенные параметры.

Для вставки этих параметров предназначена специальная команда Вставить параметр . По её нажатию открывается форма для выбора параметра из доступных.

В форме можно выбрать один из пяти параметров:

  • [ПредставлениеКонтакта] – это представление адресата, для которого предназначена рассылка;
  • [НакопленнаяСуммаПродаж] – накопленная сумма продаж по дисконтным картам;
  • [ОстатокБаллов] и [НачисленноБаллов] – параметры для работы с бонусными баллами (имеют смысл только если рассылка вводится на основании документа “Начисления и списания бонусных баллов”);
  • [ВыборМЖ(;)] – позволяет задать изменение части письма в зависимости от пола адресата, т.е. формировать разные тексты для мужчин и для женщин. Самый частый вариант использования – использование в качестве обращения (женщина – уважаемая, мужчина – уважаемый и т.д.).
  • В текущем примере мы делаем рассылку для мужчин, и вариант всего один. Мы явно прописываем в тексте письма “Уважаемый”, а после него используем параметр [Представление Контакта] .

Необходимо заполнить список адресатов. Стандартной командой Добавить можно добавлять произвольных адресатов по одному.

Для заполнения списка адресатов предназначена подменю команд Заполнить , в котором есть два варианта: По основанию (если рассылка вводится на основании другого документа) или По группе получателей скидки.

Так как текущий документ не вводился на основании, доступен единственный вариант – По группе получателей скидки, им и воспользуемся.

Появится форма выбора “Группы получателей скидки”
Создадим новую группу получателей и назовем ее “Все мужчины”.

В качестве Способа формирования указываем Периодически обновлять . Созданную группу получателей скидки следует сохранить и открыть её Настройки.

На закладке Отбор указываем условие отбора “Пол Равно Мужской” и сохраняем изменения по команде Завершить редактирование .

Для первоначального формирования списка группы можно воспользоваться командой Сформировать . Для просмотра текущего состава группы получателей скидки в панели навигации предназначена команда Состав группы .

Здесь мы также могли принудительно переформировать состав командой Сформировать группу .

Выбираем созданную группу получателей скидок, и список получателей документа “Информационная рассылка” будет заполнен текущим составом группы.

Если для контакта не заполнится e-mail адрес, значит он не указан в карточке контакта.

Для текущего примера оставим в списке получателей двух человек и укажем для них одинаковый e-mail ранее созданного тестового почтового ящика.

В табличной части есть поле Сообщение , которое и будет отправлено конкретному контакту.

Чтобы для каждого контакта сообщение заполнилось в соответствии с указанным в документе шаблоном нужно воспользоваться командой.

При этом в сообщениях для каждого абонента будет использовано соответствующее значение параметра [ПредставлениеКонтакта].

После отправки для каждого из сообщений заполнится уникальный идентификатор сообщения. Для регистрации ошибок при отправлении писем предназначено специальное поле Текст ошибки.

Проверим наличие отправленных писем в электронном почтовом ящике.

Текст письма тоже отображается корректно.

Следует иметь ввиду, что при одновременной рассылке писем большому количеству адресатов почтовые системы могут расценить данную рассылку как спам и заблокировать отправку писем. Отправка сообщений рассылки пакетами через промежутки времени не предусмотрена.

Оформление СМС рассылки

В открывшейся форме нужно выбрать СМС провайдера из доступных: Билайн или МТС. Для доступа к сервисами отправки СМС данные провайдеры предоставляют специальный логин и пароль, которые указываются здесь же.

Проведем небольшое сравнение условий и цен отправки смс при использовании этих сервисов и при использовании сервисов онлайн.

По тарифу “МТС Коммуникатора” стоимость пакета сообщений (3000 СМС) – 2900 рублей. Т.е. по 97 копеек за одно СМС сообщение.

Данные условия не очень радуют.

Сравним указанные цены с одним из популярных on-line сервисов по рассылке СМС: “СМС для бизнеса” (sms4b.ru).

Здесь цены делятся на два блока.

Отдельно располагается колонка тарифа с непрямым подключением (справа). Но этот вариант подразумевает негарантированную доставку. Цены здесь на каждую СМС ниже и не зависят от оператора.

Основным представлен новый тариф с прямым подключением. В этом случае гарантируется успешная доставка смс. Цены выше и зависят от оператора.

Данное деление появилось не так давно. Дело в том, что операторы сотовой связи с некоторых пор приступили к блокировкам внешних рассылок, отправленных от буквенно-цифровых имен через SMS-центры сторонних операторов.

Непрямое подключение – это и есть старый вариант рассылки, у которого доставка не гарантирована, то есть неизвестно: дойдут ли СМС до потребителя или будут заблокированы их операторами.

Для гарантированной доставки операторы требуют теперь от сервисов СМС рассылок прямого подключения к их СМС центрам. При этом стоимость таких гарантированных СМС стала заметно выше.

Какой вариант будет выгоднее для Вас однозначно сказать нельзя – нужно рассчитывать в каждом случае отдельно.

Большим минусом сервисов on-line рассылок СМС является то, что системой 1С:Розница по умолчанию они не поддерживаются.

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

Согласно поставленной ранее задаче, СМС рассылка связана с начислением бонусных баллов. Поэтому необходимо создать соответствующий документ “Начисление и списание бонусных баллов”.

Документ доступен, если в разделе Администрирование в настройках раздела Маркетинг установлен флаг .

Команды работы с документом Начисления и списания бонусных баллов располагаются в разделе Маркетинг в группе команд Бонусные программы .

Откроем список документов “Начисления и списания бонусных баллов”. и создадим новый документ.

Нужно указать бонусную программу лояльности. Список программ пуст, добавим новый элемент.

Определим наименование “Семейная”. Значения остальных параметров для текущего примера можно оставить по умолчанию.

Записываем и выбираем созданную бонусную программу в документе “Начисление и списание бонусных баллов”.

В табличной части Начисления вручную добавим несколько бонусных карт.

Откроется новый документ “Информационная рассылка”, и список адресатов в нем уже будет заполнен владельцами бонусных карт из документа начисления бонусных баллов. Номера телефонов заполнились из данных физических лиц.

Заполним шаблон сообщения. В обращении к покупателю в зависимости от его пола будем использовать слово “Уважаемый” или “Уважаемая”. Поэтому в начале сообщения вставим параметр [ВыборМЖ(;)]

При выборе данного параметра открывается окно, в которое следует ввести вариант текста для мужского рода. Укажем соответствующий вариант.

После этого система 1С:Розница аналогично запросит вариант для женского рода. В шаблон сообщения вставится параметр [ВыборМЖ(Уважаемый; Уважаемая)]. По аналогии добавляя и другие параметры сформируем итоговый текст шаблона:

[ВыборМЖ(Уважаемый; Уважаемая)], [ПредставлениеКонтакта]!
Вам дополнительно начислено [НачисленоБаллов] баллов.
С учетом данного начисления на вашей карте сейчас [ОстатокБаллов] баллов.
Спешите ими воспользоваться!

Чтобы остаток баллов в сообщении сформировался корректно, следует исправить время создания документа, так как автоматически при создании оно устанавливается на начало суток.

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

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

Но если воспользоваться кнопкой для предварительного просмотра сообщения, то мы увидим, что система 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", Истина, Ложь); Исключение Отправлено = Ложь; КонецПопытки;

Обработка "АЛАНН: Массовая рассылка электронных писем из 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С: Предприятие и тестируем. Вводим пароль и логин, введенные при регистрации, текст сообщения и номер адреса. Нажимаем команду «отправить»: