Скидка по промокоду с рассылкой трех СМС. Розница 2.3

18.01.21

Учетные задачи - Розничная торговля

Условия тех. задания. Создать скидку при покупке номенклатуры в определенном сегменте с генерацией промокода и рассылкой трех СМС. СМС1 посылается на следующий день после покупки с шаблоном - "Вам будет доступна скидка %3% с %1 по %2". СМС2 посылается через заданное количество дней указанных в скидке с шаблоном - "Доступна скидка %3% по промокоду %4 с %1 по %2". СМС3 посылается через половину срока действия скидки. Срок действия скидки указывается в днях, шаблон СМС - "Скидка %3% по промокоду %4 заканчивается %2". Где параметры %1, %2 - дата начала и окончания действия скидки, %3 - процент скидки, %4 - промокод.

Скачать файлы

Наименование Файл Версия Размер
СМС рассылка
.zip 55,21Kb
0
.zip 1 55,21Kb Скачать

Создание скидки

Создаем новую скидку. Условие предоставления - "При предъявлении промокода / купона"

Указываем тип скидки, размер скидки, сегмент номенклатуры. В наименование скидки добавляем "SMS". После сохранения названия, активируется закладка "Рассылка СМС".

 

Переходим на закладку "Рассылка СМС" и вводим данные: "Количество дней отсрочки акции", "Количество дней действия акции" и шаблоны СМС. Сохраняем скидку.

 

Помещаем обработку "Рассылка СМС" в дополнительные отчеты и обработки и настраиваем расписание. Для файловых баз с  распределенной структурой, обработка запускается только на главном узле.

 

 

Алгоритм действия обработки следующий.

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

2. Если документ информационная рассылка на текущую дату найден, то в него добавляются записи в таблицу адресаты с текстом СМС1, если  документа нет, то он создается.

 

 

3. Ищется документ информационная рассылка на дату начала акции если документ найден, то в таблицу адресаты добавляются записи с текстом СМС2, если  документа нет, то он создается.

 

 

4. Ищется документ информационная рассылка на дату середины акции если документ найден, то в таблицу адресаты добавляются записи с текстом СМС3, если  документа нет, то он создается.

5. В регистре сведений СостоянияОднократныхСкидокИКупонов изменяются записи на период = дата начала акции и период действия = дата окончания акции

 

 

6. Адресатам документов с датой = текущая дата посылаются СМС. И в случае успешного отправления состояние строки адресата меняется на доставлено.

Обработка имеет следующие переменные.

Ответственный = Справочники.Пользователи.НайтиПоНаименованию("Администратор", Ложь);
СтоимостьСМС = 2.78;
МинимальнаяСуммаНасчету = 100;
ОтправитьДокументом = Ложь;

Ответственный - пользователь ссылка на которого пишется в документ "Информационная рассылка"

МинимальнаяСуммаНасчету - сумма после которой рассылка СМС блокируется. Перед блокировкой ответственному,  если у него есть номер телефона в справочнике "Пользователи" или "Физические лица", посылается СМС с текстом "На баланссе меньше 100 р."

ОтправитьДокументом - если у вас настроена передача СМС документом "Информационная рассылка", то эту переменную необходимо установить в Истину. Переработанный код модуля формы документа "Информационная рассылка" ОтправитьНаСервере,  вставлен в обработку. При этом необходимо помнить, что номер телефона берется почему то не из документа "Информационная рассылка", а из контактной информации. 

Функция ОтправитьНаСервере(Объект)
	
	КоличествоОтправленных = 0;
	Если Не ОтправкаSMS.НастройкаОтправкиSMSВыполнена() Тогда
		// Почму разработчики закомментировали этот код не разбирался
		//ОбщегоНазначенияКлиентСервер.СообщитьПользователю(НСтр("ru = 'Не выполнены настройки отправки SMS.'"), , "Объект");
		//Возврат КоличествоОтправленных;
	КонецЕсли;
	
	МассивАдресатов = ПолучитьСтруктуруКонтактнойИнформациейНаСервере(Объект.Адресаты.Выгрузить(,"Контакт").ВыгрузитьКолонку("Контакт"));
	
	Для Каждого СтрокаАдресата Из Объект.Адресаты Цикл
		
		Если не СтрокаАдресата.СостояниеСообщения= Перечисления.СостоянияСообщенияSMS.Исходящее Тогда
			Продолжить;
		КонецЕсли;
		
		СтруктураОтбора = Новый Структура("Контакт", СтрокаАдресата.Контакт);
		МассивКонтактнойИнформации = МассивАдресатов.НайтиСтроки(СтруктураОтбора);
		Если МассивКонтактнойИнформации.Количество() > 0 Тогда
			КонтактнаяИнформация = МассивКонтактнойИнформации[0].КонтактнаяИнформация;
		КонецЕсли;
		
		ТекстСообщения = СтрокаАдресата.ТекстСообщения;
		
		МассивНомеров = Новый Массив;
		МассивНомеров.Добавить(КонтактнаяИнформация);
		РезультатОтправки = ОтправкаSMS.ОтправитьSMS(МассивНомеров, ТекстСообщения, Неопределено, Объект.ОтправлятьВТранслите);
		СтрокаАдресата.СостояниеСообщения = Перечисления.СостоянияСообщенияSMS.ПустаяСсылка();
		
		Если РезультатОтправки.ОтправленныеСообщения.Количество() = 0 Тогда
			СтрокаАдресата.ИдентификаторСообщения = "";
			СтрокаАдресата.СостояниеСообщения     = Перечисления.СостоянияСообщенияSMS.НеУдалосьПередатьПровайдеру;
		Иначе
					
			Для Каждого ОтправленноеСообщение Из РезультатОтправки.ОтправленныеСообщения Цикл
				СтрокаАдресата.ИдентификаторСообщения = ОтправленноеСообщение.ИдентификаторСообщения;
				СтрокаАдресата.СостояниеСообщения     = Перечисления.СостоянияСообщенияSMS.ОтправляетсяПровайдером;
			КонецЦикла;
			
		КонецЕсли;
		Если РезультатОтправки.Свойство("ОписаниеОшибки")
			И ЗначениеЗаполнено(РезультатОтправки.ОписаниеОшибки) Тогда
			СтрокаАдресата.ТекстОшибки = РезультатОтправки.ОписаниеОшибки;
			СтрокаАдресата.ИдентификаторСообщения = "";
			Если НЕ ЗначениеЗаполнено(СтрокаАдресата.СостояниеСообщения) Тогда
				СтрокаАдресата.СостояниеСообщения = Перечисления.СостоянияСообщенияSMS.НеУдалосьПередатьПровайдеру;
			КонецЕсли;
		Иначе
			СтрокаАдресата.ТекстОшибки = "";
		КонецЕсли;
		КоличествоОтправленных = КоличествоОтправленных + РезультатОтправки.ОтправленныеСообщения.Количество();

	КонецЦикла;  
	
	Возврат КоличествоОтправленных;
		
КонецФункции	

 

Изначально обработка настроена на передачу СМС сервисом smsdelivery.ru - код в обработке

Функция ОтправитьSMSНаНомер(Номертелефона, ТекстСообщения) Экспорт
	
	Если ТекстСообщения = "" Тогда
		Возврат Ложь;	
	КонецЕсли;
	
// Сдесь вводятся реальные данные провайдера
	Логин = "ЛогинУчетнойЗаписиSMSСервиса";
	Пароль = "ПарольУчетнойЗаписиSMSСервиса";
	ИмяОтправителяSMS = "ИмяОтправителяSMS";
	
//////////////////////////////////////	
	Возврат "OK";    // Это тестирование - после настройки удалить
/////////////////////////////////////	
	
	// Подключаем сервис 
	Определение = Новый WSОпределения("http://ws1.smsdelivery.ru/SMSWebservice.asmx?WSDL");
	Прокси = Новый WSПрокси(Определение,"http://smsdelivery.ru/","SMSWebService","SMSWebServiceSoap");
	
	Фабрика = Прокси.ФабрикаXDTO;
	СтруктураБаланса = Прокси.GetBalance(Логин,Пароль);
	
	Баланс = СтруктураБаланса.Balance;
	
	Если СтруктураБаланса.Balance < МинимальнаяСуммаНасчету Тогда	
		
		Если СтруктураБаланса.Balance > МинимальнаяСуммаНасчету-2*СтоимостьСМС Тогда
		
			Запрос = Новый Запрос;
			Запрос.Текст = 
				"ВЫБРАТЬ
				|	ПользователиКонтактнаяИнформация.НомерТелефона КАК НомерТелефона,
				|	ФизическиеЛицаКонтактнаяИнформация.НомерТелефона КАК НомерТелефона1
				|ИЗ
				|	Справочник.Пользователи КАК Пользователи
				|		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Пользователи.КонтактнаяИнформация КАК ПользователиКонтактнаяИнформация
				|		ПО (ПользователиКонтактнаяИнформация.Ссылка = Пользователи.Ссылка)
				|		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица.КонтактнаяИнформация КАК ФизическиеЛицаКонтактнаяИнформация
				|		ПО Пользователи.Ссылка.ФизическоеЛицо = ФизическиеЛицаКонтактнаяИнформация.Ссылка
				|ГДЕ
				|	Пользователи.Ссылка = &Ссылка";
			
			Запрос.УстановитьПараметр("Ссылка", Ответственный);
			РезультатЗапроса = Запрос.Выполнить();
			Если РезультатЗапроса.Пустой() Тогда
				Возврат "На баланссе меньше 100 р.";
			КонецЕсли;
			Выборка = РезультатЗапроса.Выбрать();
		
			Пока Выборка.Следующий() Цикл
				Если ЗначениеЗаполнено(Выборка.НомерТелефона) Тогда
				    Номертелефона = Выборка.НомерТелефона;
				ИначеЕсли ЗначениеЗаполнено(Выборка.НомерТелефона1) Тогда
				    Номертелефона = Выборка.НомерТелефона1;
				Иначе
					Возврат "На баланссе меньше 100 р.";
				КонецЕсли;
				ТекстСообщения = "На баланссе меньше 100 р.";
			КонецЦикла;
		Иначе
			Возврат "На баланссе меньше 97 р.";
		КонецЕсли;
		
	КонецЕсли;
	
	ВремяЖизни = 6; // время жизни СМС в часах в течении этого времени будут производится попытки отправки СМС
	Результат = Прокси.SendMessage(Логин, Пароль, 0, ВремяЖизни, Сред(Номертелефона,2), ИмяОтправителяSMS, ТекстСообщения);
	
	Возврат Результат.Result;
	
КонецФункции

Для тестирования и отладки обработка имеет форму с кнопкой "Разослать СМС".

Обработка и расширение тестировались на платформе  8.3.16.1063, конфигурация Розница 2.3.3.12, режим совместимости с 8.3.12.

В архиве расширение и обработка.

Розница 2.3 - Скидка по промокоду с рассылкой трех СМС.

См. также

SALE! 15%

Автоматический заказ поставщику в 1С: загрузка прайсов и анализ цен поставщиков для УТ 10.3, УТ 11, КА2, УНФ, УПП, ERP, Розница 2

Бюджетирование и планирование Оптовая торговля Розничная торговля Логистика, склад и ТМЦ Анализ продаж Платформа 1С v7.7 Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

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

33529 28500 руб.

21.04.2017    85026    71    38    

151

ЕГАИС++. Опт, производство, импорт

Оптовая торговля Розничная торговля Обмен с ГосИС Платформа 1С v8.3 1С:Управление торговлей 10 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Россия Бухгалтерский учет Управленческий учет Акцизы Платные (руб)

Полнофункциональное расширение (ранее известное как Модуль 1С-ЕГАИС) для взаимодействия типовых конфигураций 1С и ЕГАИС, предоставляющее максимум возможностей по работе с УТМ. Получение и отправка ТТН, отправка акта о постановке на баланс и акта о списании. Получение остатков. Загрузка и сопоставление номенклатуры и контрагентов. Оправка в ЕГАИС отчетов о производстве и импорте.

7800 руб.

15.12.2015    162105    609    361    

377

Конфигурация "Весовая ред. 3.0" для Платформы 8.3

Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Логистика, склад и ТМЦ Торговля и логистика Платформа 1С v8.3 Сельское хозяйство и рыболовство Строительство Горнодобывающая промышленность Розничная и сетевая торговля (FMCG) Транспорт, автопарки, такси Оптовая торговля, дистрибуция, логистика Лесное и деревообрабатывающее хозяйство Управленческий учет Платные (руб)

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

30000 руб.

24.03.2015    118497    50    111    

124

Бонусная система для УТ 10.3

Управление взаимоотношениями с клиентами (CRM) Оптовая торговля Розничная торговля Платформа 1С v8.3 Оперативный учет Управляемые формы 1С:Управление торговлей 10 1С:Розница 2 Россия Управленческий учет Платные (руб)

Подсистема призвана упростить и автоматизировать процесс расчета и начисления бонусов покупателей. ОБНОВЛЕНИЕ ОТ 20.06.2022 г. Работает с конфигурациями 1С:УТ 10.3, 1С:Розница. Механизм реализован в начале 2013г. и работает до сих пор с постоянными совершенствованиями.

30000 руб.

02.11.2015    106815    206    87    

171

Обмен с системой ЦРПТ (Универсальная конфигурация ХамелеонЦРПТ + маркировка табака, обуви, одежды, лекарств, фото, молока, духов(парфюма), питьевой воды, велосипедов и шин)

Оптовая торговля Розничная торговля Обмен с ГосИС Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Россия Бухгалтерский учет Управленческий учет Платные (руб)

Данная публикация создана для помощи разработчикам, интеграторам и другим заинтересованным лицам по настройке системы маркировки обуви, одежды, лекарств, табака, фото, молока, духов(парфюма), питьевой воды, велосипедов и шин. Смело задавайте нам вопросы по работе с ЦРПТ, GS1, ЭДО, Национальным каталогом, мы накопили достаточно большую базу знаний по данным темам и готовы ответить на все Ваши вопросы.

104000 руб.

18.03.2019    108338    28    112    

176

Печать кассовых чеков на одну ККМ с нескольких рабочих мест для 1С:УТ11.х, КА2.х, Розница 2.х, УНФ, ERP 2.х, БП 3, БГУ2

ККМ Кассовые операции Розничная торговля Обмен с ГосИС Бухгалтерский учет Оперативный учет Управляемые формы 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Расширение конфигурации для УТ 11.4, 11.5, КА 2.4, 2.5, Розница 3.0, 2.3 и 2.2, УНФ 1.6, УНФ 3x, ERP 2.4, 2.5, БП 3, БГУ2 (Управляемые формы) позволяет выполнять печать кассовых чеков на одну ККМ 54-ФЗ с нескольких рабочих мест. НИКАКИХ НАСТРОЕК В РАЗРАБОТКЕ - ПОДКЛЮЧИЛ И ПЕЧАТАЙ. Если у вас несколько отделов и одна ККМ - печатайте на одной ККМ! Если у вас две ККМ и одна поломалась - печатайте на одной ККМ, пока ремонтируете другую!

3500 руб.

27.08.2018    110447    912    559    

789

Загрузка номенклатуры из Excel в УТ11, КА 2, ERP 2, Розница 2. Дополнительные реквизиты и сведения, характеристики, картинки, цены, остатки

Загрузка и выгрузка в Excel Розничная торговля Логистика, склад и ТМЦ Ценообразование, анализ цен Прайсы Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Загрузка из файлов xls, xlsx, ods, csv, mxl в УТ11, КА 2, ERP 2, Розница 2. Задействованы все возможности конфигурации - заполнение реквизитов номенклатуры, дополнительных реквизитов и сведений, характеристики, доп.реквизиты и сведения характеристик. Дополнительные обработки для расширения возможностей.

9460 руб.

29.10.2014    204014    568    521    

404
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. dj_tol 105 04.08.20 09:33 Сейчас в теме
Интересная система. Однозначно +
2. dinopopyys 141 19.04.23 13:47 Сейчас в теме
https://infostart.ru/marketplace/1824791/
- тут можно уведомления посылать
3. IVC_goal 202 20.04.23 14:43 Сейчас в теме
(2)Я умаю можно. На вход блока передается текст сообщения и массив номеров.

РезультатОтправки = ОтправкаSMS.ОтправитьSMS(МассивНомеров, ТекстСообщения, Неопределено, Объект.ОтправлятьВТранслите);

Собственно это функция отправки смс. Как она реализована в общем модуле расширения это ваше усмотрение
Оставьте свое сообщение