Автоматическая SMS рассылка

Публикация № 1100473

Разработка - Системная интеграция - SMS рассылки

Розница УТ УправлениеТорговлей SMS СМС Обработка Расширение Маркетинг

Как сделать автоматическую рассылку SMS именинникам на примере Розница 2.2.

Разрабатывалось для Розницы для Казахстана 2.2.2.7. Механизмы начисления бонусов и отправки СМС в ней, абсолютно такие же, как в Рознице для РФ.

Введение

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

В статье используется Розница 2.2, но нижеописанный способ подойдет для любых конфигураций, у которых:

  • Используется БСП
  • Есть документ НачислениеИСписаниеБонусныхБаллов или аналогичный

 

Задача

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

Конфигурация должна остаться на полной поддержке.

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

 

Как это сделать? (кратко)

  1. Для отправки SMS понадобится доступ в Интернет из 1С. У меня для этого старый 3G модем.
  2. Выбираем провайдера, регистрируемся у него на сайте. Я пользуюсь SMS.RU - мне все нравится.
  3. В режиме 1С:Предприятие переходим Администрирование - Органайзер - Настройка отправки SMS и указываем настройки провайдера. Здесь же список поддерживаемых провайдеров можно посмотреть.
  4. Пишем дополнительную обработку, чтобы она подключалась к БСП, она будет создавать ДокументНачислениеБонусовИменинникам, на его основе создавать документ ИнформационнаяРассылка и затем отправлять его. Готовую обработку, которой пользуюсь, приложил внизу статьи.
  5. Используем механизм регламентных заданий, чтобы все работало полностью автоматически.

 

Как это сделать? (подробно)

 

Шаг 1. Настройка автоматического начисления бонусов на день рождения

Здесь никаких доработок не нужно делать. Нужно просто выполнить настройку, чтобы автоматически создавался документ НачислениеИСписаниеБонусныхБаллов по владельцам дисконтных карт, у которых сегодня день рождения.

Как это сделать можно прочитать в руководстве пользователя, но на всякий случай кратко опишу:

Администрирование - Маркетинг - Бонусные программы лояльности - Установить флаг.

Маркетинг - Бонусные программы - Создать бонусную программу.

Маркетинг - Правила расчета баллов - Создать правило расчета - здесь есть два момента:

Момент 1:

 

Нужно указать, чтобы эти бонусы начислялись по расписанию. Именно один раз в день. Потому что иначе конфигурация создаст несколько документов "Начисление и списание баллов" с одинаковыми начислениями именинникам.

Момент 2:

Если Вам нужно, чтобы бонусные баллы на день рождение начислялись заранее, например, за день, то указываете значение в поле "Количество периодов" и всё ОК.

Но если Вам нужно, чтобы бонусные баллы на день рождение начислялись день в день, то программа Вам не даст этого сделать, потому-что поле "Количество периодов" обязательное для заполнения. Решение есть - открываем программу в режиме "Толстый клиент" и нажимаем на кнопку "Редактировать схему компановки данных", там у параметра "Количество периодов" снимаем галочку "Обязательный", смотрите картинку ниже:

Всё, теперь можно указать количество периодов равным нулю и бонусы на день рождения будут автоматически начисляться день в день.

На всякий случай перейдите в раздел: Администрирование - Обслуживание - Регламентные и фоновые задания и убедитесь, что у Вас создалось задание по начислению бонусов и оно активно.

Рекомендую создать специального пользователя Robot. Открыть это регламентное задание и указать, чтобы но запускалось под этим пользователем. Тогда Вы легко сможете определить, какие документы "Начисление и списание баллов" были созданы регламентным заданием, а какие пользователем из режима 1С:Предприятие.

Всё, теперь можно проверить, что у Вас автоматически создаются документы: Маркетинг - Начисление и списание баллов

Для этого создайте новую дисконтную карту с указанием сегодняшней даты рождения владельца и выполните регламентное задание, если всё работает, то переходите к шагу 2.

 

Шаг 2. Обработка для автоматической отправки SMS

Обработка, о которой идет речь в этой части, прикреплена ниже.

Теперь, когда автоматически создаются документы Маркетинг - Начисление и списание баллов нужно на основе них автоматически создавать документы Маркетинг - Информационные рассылки

Для этого потребуется создать дополнительную обработку. Так как нужно отправлять SMS автоматически, то хорошо было бы подключить эту обработку к уже существующему механизму БСП "Администрирование - Обслуживание - Регламентные и фоновые задания".

Для этого создадим внешнюю обработку по технологии БСП, которую будем подключать через Администрирование - Печатные формы, отчеты и обработки - Дополнительные отчеты и обработки.

Какой должна быть такая обработка подробно описано на ИТС, например здесь

Главная - Инструкции по разработке на 1С - Библиотека стандартных подсистем 2.4.6. Документация - Глава 3. Настройка и использование подсистем при разработке конфигурации - 3.16. Дополнительные отчеты и обработки

Если у Вас нет постоянного доступа на ИТС, то можно использовать пробный доступ на 7 дней.

Там много и подробно написано про программный интерфейс обработки, для нашей простой задачи можно не читать, а просто сделать так:

 

То есть нужно просто создать пустую внешнюю обработку, вставить в неё этот код, сохранить её и затем подключить к Администрирование - Печатные формы, отчеты и обработки - Дополнительные отчеты и обработки, в итоге это будет выглядеть вот так:

Понятно, что пока обработка ничего делать не будет, потому-что у неё еще не написан обработчик.

Но уже сейчас можно установить расписание. У себя поставил расписание Каждый день, каждый час, потому-что регламентное задание по созданию документов "Начисление и списание баллов" выполняется раз в день, но когда точно неизвестно, поэтому обработка по отправке SMS должна запускаться через промежутки времени и проверять, а не появился ли документ "Начисление и списание баллов" для отправки SMS'ок именинникам.

Также рекомендую поставить для регламентного задания этой обработки пользователя Robot, тогда Вы сможете понимать, какие рассылки были созданы регламентным заданием, а какие пользователем. Как это сделать описано выше.

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

1. Если Вам нужно получать имя на латинице, то можно воспользоваться функцией:

ИмяЛатиница = СтроковыеФункцииКлиентСервер.СтрокаЛатиницей(ИмяКирилица);

2. Номер телефона желательно нормализовать, убрав из него все скобки, пробелы, тире - это можно сделать так:

 

 

3. Длина текста, которую будите отправлять на латинице не должна привышать около 140 символов, но учитывайте, что провайдер может добавлять префикс, например, как у меня он добавляет: KRASOTKA.

Итого: Выполняете шаг 1, затем подключаете обработку ниже или пишете на её основе свою и получаете автоматическую отправку СМС без изменения конфигурации.

 

Дополнение 1. Форма для опроса владельцев дисконтных карт

В качестве номеров дисконтных карт использую номера телефона владельцев - это можно сделать без доработок, через Администрирование - Подключаемое оборудование - Шаблоны регистрации дисконтных карт.

То есть когда покупатель заводит дисконтную карту, он говорит свой номер телефона, его данные вносят в программу и НЕ выдают пластиковую карту - ибо зачем, у покупателя и так их полный кошелек, а для магазина это дополнительный расход.

В принципе уже можно работать без доработок, но посмотрите на эту форму опроса покупателя при регистрации бонусной карты:

Её проблема в том, что она содержит 6 страниц, которые нужно заполнить продавцу.

Большинство вопросов не нужны (мне), например, фактический адрес, год рождения, адрес электронной почты, фамилия, отчество. Да ещё и телефон автоматически не заполняется, хотя продавец его уже ввёл при нажатии на кнопку Штрихкод.

Решение:

Поэтому разработал расширение, которое изменяет форму опроса и вносит ещё пару полезных фишек.  Расширение прикрепил ниже. Теперь форма опроса выглядит так:

Какой сценарий работы:

1. Создание бонусной карты

При создании бонусной карты продавец нажимает на кнопку Штрихкод, вводит номер телефона покупателя, затем узнает его имя без фамилии и отчества и день рождения без года - нам эти данные не нужны. После этого продавец нажимает сохранить. Обратите внимание, каким после записи становится имя карты (3).

2. Использование бонусов.

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

В конфигурации есть способ проверки владельца карты путем отправки на его номер СМС, но это деньги, которые тратить не хочется.

 

Дополнение 2. Работа в РИБ

Все вышеописанное у меня работает в трех магазинах, объединенных в одну РИБ.

Обработку для автоматической отправки SMS я запускаю регламентным заданием только в центральном узле РИБ, таким образом документы Начисления бонусов создаются только в центральном узле и СМС отправляются только из центрального узла.

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

 

Что хотелось бы доработать

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

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

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

 

Заключение

В статье было показано, как можно реализовать автоматическую отпавку СМС из многих типовых конфигураций на базе БСП.

Данный механизм работает в трех магазинах около месяца - полет нормальный.

Если Вам понравилась статья, то поставьте лайк.

Тогда у меня хватит стармани, чтобы скачивать обработки других разработчиков, например эту //infostart.ru/public/627824/ и я смогу добавить настройки текста и других параметров для отправки СМС и реализовать ещё какие-нибудь фишки.

Напишите в комментариях, какие фишки Вам нужны?

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. premierex 07.08.19 10:56 Сейчас в теме
(0)
3. Длина текста, которую будите отправлять на латинице не должна привышать около 140
.
Информация с сайта SMS.ru
Сообщения на собственный номер бесплатны до 5 штук в день при условии, что каждое сообщение помещается в 1 СМС (до 70 русских / 160 латинских символов). При превышении этих лимитов, сообщения оплачиваются согласно тарифу.
.
Т. е. при отправке сообщения длиной 70 русских / 160 латинских символов формируются несколько сообщений, которые SMS центр провайдера "склеивает" в одно длинное. Естественно, что за эти дополнительные сообщения взымается и дополнительная плата.
Elvisnya; +1 Ответить
2. premierex 07.08.19 10:59 Сейчас в теме
Т. е. при отправке сообщения длиной 70 русских / 160 латинских символов.....
Имелось ввиду, конечно, сообщения длиной более указанного количества символов.
Elvisnya; +1 Ответить
3. Elvisnya 10 07.08.19 19:16 Сейчас в теме
(2) там ещё такой момент, что иногда провайдер, например, SMS.RU добавляет перед текстом сообщения префикс, в моём случае это KRASOTKA. Так вот, он этот префикс тоже считает при подсчете количества символов.
4. premierex 09.08.19 10:11 Сейчас в теме
(3) Чтобы избавиться от навязчивости провайдера, который буквально крадёт 8 символов текста сообщения можно воспользоваться компонентами отправки СМС непосредственно через GSM модем. Например, вот этой.
Сознаюсь, что это моя компонента, но ссылка приведена не в качестве рекламы, а в качестве подсказки альтернативного способа отправки СМС.
Elvisnya; +1 Ответить
5. Elvisnya 10 09.08.19 15:49 Сейчас в теме
(4) получается у Вас в компьютер вставлен USB 3G модем, например, Билайн, и Вы на него отправляете команду отправки СМС?

Если Да, то возникает вопрос - у всех модемов Теле, Билайн, МТС и т.д. есть какой-то унифицированный протокол отправки СМС?

Или все неправильно понял 🙂
6. premierex 09.08.19 16:11 Сейчас в теме
(5) Вы все правильно поняли. В компьютер вставлен USB 3G модем, на него посылается команда отправки сообщения.
Сообщение посылается в универсальном формате PDU, так что СМС провайдер значения не имеет, т. к. этот формат - международный.
Elvisnya; +1 Ответить
7. rt7 6 24.12.19 17:38 Сейчас в теме
(5) Здравствуйте, не поделитесь расширением для РМК с новой формой опроса ? Не вижу ссылки
Оставьте свое сообщение

См. также

Шаблон внешней обработки регламентного задания с формой настройки параметров выполнения

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Инструментарий разработчика Универсальные функции

Шаблон внешней обработки призван упростить программисту процесс реализации внешнего регламентного задания. Пригоден к использованию во всех конфигурациях на управляемых формах, в которых присутствует подсистема "Дополнительные отчеты и обработки" из состава библиотеки стандартных подсистем (БСП) версии 2.1 и выше.

1 стартмани

28.05.2017    20312    152    Bassgood    10       

Подборка решений для взаимодействия со ФГИС «Меркурий» Промо

С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.

Пример реализации отправки sms через протокол SMPP v 3.4

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) SMS рассылки

В этой статье публикуется пример реализации сервиса по отправке смс-сообщений через протокол SMPP v3.4 из программы семейства 1С:Предприятие 8x.

09.01.2015    31595    chilyagin    44       

БСП: добавление нового провайдера SMS

Статья Системный администратор Программист Нет файла v8 1cv8.cf Бесплатно (free) SMS рассылки

Небольшая статья о том, как добавить нового провайдера SMS на примере конфигурации "Управление торговлей 11", используя библиотеку стандартных подсистем (БСП)

26.11.2014    19393    pbazeliuk    5       

​​​​​​​CorelDRAW Graphics Suite 2019 Промо

CorelDRAW – пакет профессиональных инструментов для редактирования фотографий, разработки дизайна, создания макетов страниц и векторных иллюстраций

SMS рассылка из 1С

Статья Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) SMS рассылки

Четыре простых способа отправить SMS из 1С

19.11.2014    64689    sdn-1    26       

Прием СМС из 1С

Статья Системный администратор Программист Нет файла v8 1cv8.cf Windows Бесплатно (free) Практика программирования Универсальные функции SMS рассылки

Написано много статей по отправке и приему смс в 1С, но большинство из них используют сторонние сервисы, программы или вк. Не так давно пришлось решать необычную задачу по приему смс получилось обойтись только usb модемом и платформой 1С. Хочу поделиться этим опытом с сообществом.

31.10.2014    25267    Sybr    35       

Голосование за доклады на INFOSTART MEETUP Kazan - до 25 февраля. Промо

Выбирайте и голосуйте за самые интересные доклады! Лучшие из лучших попадут в окончательную программу казанского митапа. Оставить свой голос можно до 25 февраля 2020 года.

Быстрый способ отправки SMS из 1С

Статья Системный администратор Программист Нет файла v7.7 v8 1cv8.cf 1cv7.md Windows Бесплатно (free) SMS рассылки

Задача: Максимально быстро организовать рассылку SMS сообщений из 1С.

25.07.2012    28530    bestuzhev    31       

Сдача регламентированной отчетности из программ 1С Промо

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

от 1500 руб.

[SendGoogleSMS] Отправка SMS уведомлений через сервис Google Calendar

Инструменты и обработки Системный администратор Программист Компонента, плагин (dll, vbs,..) v7.7 v8 1cv8.cf 1cv7.md Windows Бесплатно (free) Разработка внешних компонент WEB SMS рассылки

Компонента генерирует события в Google Calendar с извещением по SMS. В архивах ВК для 7.7 (работает и в 8-ке) и ActiveX - для работы в контексте сервера 1С 8.х

07.08.2009    26975    563    Душелов    37       

SMS через ActiveSync (бета)

Инструменты и обработки Программист Приложение (exe) v8 1cv8.cf 1cv7.md Бесплатно (free) SMS рассылки Мобильная разработка

Отправка SMS с компьютера через смартфоны/коммуникаторы, подключенные через Active Sync.

05.12.2008    12936    105    Salvador Limones    9