Скидка по промокоду с рассылкой трех СМС. Розница 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! 20%

Автоматический заказ поставщику в 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С помогает работать с запасами правильно: автоматически рассчитывает потребность и делает заказ поставщику, загружает прайсы, перемещает товары по филиалам, анализирует продажи и позволяет управлять ассортиментом.

28500 22800 руб.

21.04.2017    90212    105    39    

191

ККТ-ОНЛАЙН 54-ФЗ: Обработка для работы онлайн касс АТОЛ, ШТРИХ, VIKI PRINT и т.д. МАРКИРОВКА + ЭКВАЙРИНГ + БЕСПЛАТНЫЙ ДЕМО

ККМ Кассовые операции Розничная торговля Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия 1.6 1С:Бухгалтерия автономного учреждения 1С:CRM ПРОФ, КОРП Россия Платные (руб)

Универсальная обработка для обслуживания любых фискальных регистраторов (ККТ), в том числе Веб сервер АТОЛ. Работает в соответствии с 54-ФЗ. (ФФД 1.0, ФФД 1.05, ФФД 1.1). Подключайте любую онлайн кассу к практически любой конфигурации. Нет необходимости обновлять 1С. Можно бесплатно скачать и протестировать. Может работать одновременно с несколькими онлайн-кассами, либо одной с разных рабочих мест. (через RDP, TCP\IP или веб-сервер) Позволяет разделить один чек сразу на несколько ККТ или на несколько систем налогообложения. Можно настроить собственный шаблонов чека. Можно использовать эквайринг там, где он не поддерживается. Работает на LINUX и Windows ЭМУЛЯТОР + ЭКВАЙРИНГ + МАРКИРОВКА + ПОДДЕРЖКА ФФД 1.2

4800 руб.

27.02.2017    763446    4673    9495    

2781

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

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

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

8970 руб.

15.12.2015    165995    677    362    

386

SALE! 10%

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

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

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

10560 9504 руб.

29.10.2014    210240    621    524    

439

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

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

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

104000 руб.

18.03.2019    110346    34    114    

178

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

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

Расширение конфигурации для УТ 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-ФЗ с нескольких рабочих мест. НИКАКИХ НАСТРОЕК В РАЗРАБОТКЕ - ПОДКЛЮЧИЛ И ПЕЧАТАЙ. Если у вас несколько отделов и одна ККМ - печатайте на одной ККМ! Если у вас две ККМ и одна поломалась - печатайте на одной ККМ, пока ремонтируете другую!

4000 руб.

27.08.2018    116041    980    564    

827

54-ФЗ. Очередь печати для ККМ. Обработки для подключения онлайн-касс к 1С 8 (поддержка Маркировки) + Эмулятор + ФФД 1.2

ККМ Кассовые операции Розничная торговля Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия автономного учреждения Россия Платные (руб)

Обработка осуществляет обслуживание ККТ АТОЛ, Штрих и Меркурий для конфигураций "УТ 10.3", "КА 1.1", "УПП 1.3", "Розница 1.0", "БП 2.0" и других отраслевых решений, построенных на основе указанных выше конфигурациях. Поддерживает возможность параллельно пробития чеков на одной ККМ несколькими пользователями. Поддерживает Веб-сервер Атол. Соответствует требованиям 54-ФЗ. Поддерживает ФФД 1.0, 1.05, 1.1 и 1.2. Разделяет чеки по нескольким СНО. Поддерживает механизмы подключения ККТ по TCP/IP, для работы через RDP или интернет. Поддержка маркировки.

5400 руб.

25.05.2015    316761    1844    3008    

994
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. dj_tol 103 04.08.20 09:33 Сейчас в теме
Интересная система. Однозначно +
2. dinopopyys 163 19.04.23 13:47 Сейчас в теме
3. IVC_goal 213 20.04.23 14:43 Сейчас в теме
(2)Я умаю можно. На вход блока передается текст сообщения и массив номеров.

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

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