Данная внешняя обработка позволяет создавать электронные рассылки по базе адресатов (контрагенты, физлица и т.п.). Текст сообщения пишется на первой закладке. Удобно его копировать из 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С: Предприятие и тестируем. Вводим пароль и логин, введенные при регистрации, текст сообщения и номер адреса. Нажимаем команду «отправить»: