Имя: Пароль:
1C
1С v8
Отправка смс
0 neomarat
 
09.10.12
16:04
Подскажите кто занимался, как реализуется отправка смс клиентам из 1С?
1 neomarat
 
09.10.12
16:05
я имею ввиду какие-то сервисы надо закупать?
2 Gepard
 
09.10.12
16:05
(0) comtube.ru можно отправлять SMS HTTP POST запросом
3 Gepard
 
09.10.12
16:07
(1) можно и через телефон, но обычно через сервис дешевле
4 Лефмихалыч
 
09.10.12
16:09
(0) реализуется обычно http запросом, вариантов масса http://bit.ly/UP6UTd
5 AlStorm
 
09.10.12
16:09
Я использую sms.ru
25 копеек за смс по России.
API довольно развитый и описан на сайте..
6 ИС-2
 
naïve
09.10.12
16:09
у клиентов сделано, через sms4b.ru
7 neomarat
 
09.10.12
16:15
(5) а есть пример как это делается, че-то я не пойму как АРI использовать в 1С
8 AlStorm
 
09.10.12
17:33
(7)
Да
9 AlStorm
 
09.10.12
17:34
Блин
(7)
Дай почту, завтра утром скину обработку
10 zladenuw
 
09.10.12
17:34
и можно мне. [email protected]
11 FIXXXL
 
09.10.12
17:59
пользую http://www.websms.ru/SMTPinterface.asp
написана простая обработка, которая вытягивает телефон у контра и отправляет письмо с общим или индивидуальным текстом на сайт
12 neomarat
 
09.10.12
18:15
13 neomarat
 
15.10.12
09:22
to AlStorm или кто использовал  sms.ru - киньте примерчик пожалуйста
14 Stim
 
15.10.12
09:23
15 dk
 
15.10.12
09:40
(14) суров, а если народ не выйдет из рекурсии ))
16 neomarat
 
15.10.12
09:46
(14) вроде не пятница ))
17 Джон Тирби
 
15.10.12
09:59
Реализовывал подсистему СМС под сервис www.unisender.com  через апи функционал,  работает без проблем. правда некоторых функций нехватало...нельзя проверить тек состояние счета, и получить список отправленных СМС.
18 neomarat
 
15.10.12
16:02
дайте пример люди, а то как настоящие программисты - абсолютно точные ответы, но абсолютно бесполезные
19 DGorgoN
 
15.10.12
16:03
(18) Сделаю точно, удаленно, от 1000 руб.!
20 DGorgoN
 
15.10.12
16:04
Цены от 25 копеек за смс, предоплата 3000.
Есть с предоплатой от 500 руб но смс дороже - 60 коп.
21 neomarat
 
15.10.12
16:30
(20) партнерка есть?
22 MaxisUssr
 
15.10.12
16:37
(0)
Реализовал через smsc.ru. Отправка - через php-запрос (с сохранением кому что отправлено), прием - принятые сообщения складываются на почту, а затем в 1С при помощи кнопки "Получить ответы" в документе "рассылка" пытаемся прочитать ответы только по тем номерам, которые указаны в документе (и также смотрим время ответов - оно должно быть позже времени отправки и меньше времени отправки сообщений на тот же номер из следующего документа, если он есть). При прочтении ответа письмо с сервака удаляется и попадает в 1С (регистр). Все просто
23 MaxisUssr
 
15.10.12
16:37
Также баланс получается без проблем
24 ptiz
 
17.10.12
17:16
Вышла БСП 2.1.2
http://downloads.v8.1c.ru/content/SSL/2_1_2_14/news.htm
Новая подсистема «Отправка SMS» предоставляет в распоряжение разработчика конфигурации программный интерфейс для отправки коротких сообщений (SMS) и проверки статуса доставки. В состав подсистемы входит поддержка российских операторов МТС и Билайн,
25 Nexux
 
17.10.12
22:00
а через ат-команды к подключенному молему кто-нибудь делал?
26 Лефмихалыч
 
17.10.12
22:02
(25) фишка в том, что это нахрен ни кому не нужно, когда есть просты и понятные вебсервисы
27 KRV
 
17.10.12
22:06
(25) я делал. фуйня. только вот если не куплен пакет СМС, то тебя после пятой-шестой посылки ткнут в аут..
28 fleur
 
17.10.12
22:11
websms
29 Nexux
 
18.10.12
01:01
(26)фишка в том, что не везде есть интернет, и даже в тех местах, где он может быть, его качество оставляет желать, на и корпоративные тарифы на смс могут быть весьма неплохие
(27)а можете показать пример работы с pdu-режимом?
30 stran06
 
18.10.12
11:10
Вчера закончили софтинку а-ля СРМ. В виде внешней обработки. Цепляется к стандартной бухгалтерии, трогать конфу - религия не позволяет. Вытаскивает дебиторов (по видам номенклатуры), определяет с просроченной задолженностью, далее идет бизнес процесс (отсылка писем, подверждения получения, мероприяития по ограничению, отключению и пр.). Начало бизнес-процесса - рассылка. Каждый день клиент получает голосовой звонок (синтезатор речи), факс, е-майл, СМС. Работает без человека, состояния бизнеспроцесса по контрагенту сунули в дбф-ки, чтоб конфу не трогать.
Голос, факс - через вента-сервер, факс - готовится ворд, генерится пдф, голос - генерится текстовый файл, который тетенька читает, емайл - через 1С клиент, смс - через оператора рассылок. Все пашет из терминала.
Дабы юзеры не лазили по паролям - все что связано с залогиниванием - вынес в модуль объекта, модуль закрываешь паролем.
По самой отправке. Через модем - легко, но идея хреновая, пропускная способность никакая и цены вдвое выше чем у операторов СМС-рассылок. По операторам. Среди:
http://sms2mobile.ru/ceni/
http://www.sms39.ru/price.html
http://sms-manager.ru/content/view/15/39/
http://cabinet.profisend.ru/delivery_tariffs
http://sms-host.ru/price/
http://smssait.ru/-sms-.html
http://www.my-sms.ru/payment/calculator
http://www.smsintel.ru/cenovaya-politika/rassylka-po-vashey-baze/
http://sms-uslugi.ru/price
http://prostor-sms.ru/prices.php
http://sms39.com/index.php/2010-07-12-13-13-25/28-2010-07-12-14-35-11.html
http://content.mail.ru/static/smscorp/service
http://sms.ru/?panel=price
http://sms-manager.ru/content/view/15/39/
http://www.smsintel.ru/cenovaya-politika/rassylka-po-vashey-baze/
http://sms-uslugi.ru/price
выбран http://sms-uslugi.ru/price
Основания: самая низкая цена (22 коп, зависит от объема купленного пакета). Интерфейс с 1С, полная функциональность. Документации нет, есть обработка, с хорошей идеей, но написана блондинкой.
Вобщем эту срань переделал
модуль объекта (там пароли, не забудь закрыть), смс и емайл:

Перем СМСХмл;
Перем КаталогБазы Экспорт;

Функция КаталогБазы() Экспорт
   Стр=СтрокаСоединенияИнформационнойБазы();
   Возврат(Сред(Стр,7,СтрДлина(Стр)-8)+"\");
КонецФункции

//Блок работы с СМС
Процедура ПодготовитьСМСХмл()
   Логин="aaa";
   Пароль="sss";
   СМСХмл.НачатьПодготовку("data");
   СМСХмл.ДобавитьНоду("login", Логин, "", "");
   СМСХмл.ДобавитьНоду("password", Пароль, "", "");
   СМСХмл.ДобавитьНоду("app", "1C", "", "");
КонецПроцедуры

Функция СоздатьСМСХмл() Экспорт
   Файл=Новый Файл(ЭтотОбъект.ИспользуемоеИмяФайла);
   Попытка
       ЗагрузитьВнешнююКомпоненту(КаталогБазы+"SMSXml.dll");
       СМСХмл = Новый("Addin.SMSXml");
   Исключение
       Сообщить("Внешняя компонента SMSXml.dll не загружена. "+ОписаниеОшибки());
       СМСХмл="";
       Возврат (Неопределено);
   КонецПопытки;

   ПодготовитьСМСХмл();
   Возврат(СМСХмл);
КонецФункции

Функция ЗапросБалансаСМС() Экспорт
   ПодготовитьСМСХмл();
   Рез=СМСХмл.Пост("https://transport.sms-pager.com:7214/balance.xml");
   Если Рез<>"1" тогда
   //Если СМСХмл.Пост("https://transport.sms-pager.com:7214/balance.xml")<>"1" тогда
       Сообщить("Ошибка при передаче запроса");
       Возврат("");
   КонецЕсли;    
       
   Если СМСХмл.ПолучитьНоду("code","")="1" тогда
       Возврат(СМСХмл.ПолучитьНоду("account",""));
   КонецЕсли;
   Сообщить(СМСХмл.ПолучитьНоду("descr",""));
   Возврат("");
КонецФункции

Функция ОтчетСМС(НачПериода='00010101000000', КонПериода='00010101000000') Экспорт
   Если НачПериода > КонПериода тогда
       Сообщить("Ошибка. Начало периода больше конца периода");
       Возврат(Неопределено);
   КонецЕсли;    
   
   ПодготовитьСМСХмл();
   
   Если ЗначениеЗаполнено(НачПериода) или ЗначениеЗаполнено(КонПериода) тогда
       СМСХмл.ДобавитьНоду("start",Формат(НачПериода,"ДФ='yyyy-MM-dd'"),"","");
       СМСХмл.ДобавитьНоду("stop",Формат(КонПериода,"ДФ='yyyy-MM-dd'"),"","");
   КонецЕсли;    
           
   Если СМСХмл.Пост("https://transport.sms-pager.com:7214/report.xml")<>"1" тогда
       Сообщить("Ошибка при передаче");
       Возврат(Неопределено);
   КонецЕсли;    
       
   Если СМСХмл.ПолучитьНоду("code","")<>"1" тогда
       Сообщить(СМСХмл.ПолучитьНоду("descr",""));
       Возврат(Неопределено);
   КонецЕсли;
       
   Если СМСХмл.ЗадатьРодительскуюНоду("data")<>"1" тогда
       Сообщить("Пришел не тот ответ, родительская нода не найдена");
       Возврат(Неопределено);
   КонецЕсли;
   
   //Готовим список рассылок
   ТЗ = новый ТаблицаЗначений;
   ТЗ.Колонки.Добавить("ДатаВремя",,"Дата / Время",15);
   ТЗ.Колонки.Добавить("Всего",,"Всего СМС",6);
   ТЗ.Колонки.Добавить("Доставлено",,"Доставлено",6);
   ТЗ.Колонки.Добавить("НЕДоставлено",,"Не Доставлено",6);
   ТЗ.Колонки.Добавить("ВОжидании",,"Ожидание",6);
   ТЗ.Колонки.Добавить("Вочереди",,"Очередь",6);
   ТЗ.Колонки.Добавить("Текст",,"Текст СМС",100);
   ТЗ.Колонки.Добавить("ИД",,,1);
   Для Сч=0 по СМСХмл.КоличествоДетей-1 цикл
       ИмяН = СМСХмл.ЗадатьДочернююНоду(Сч,"");
       Если ИмяН="sms" тогда
           СтрТЗ = тз.Добавить();
           СтрТЗ.ДатаВремя = СМСХмл.ПолучитьДочернююНоду("datetime","",-1);
           СтрТЗ.ИД = СМСХмл.ПолучитьДочернююНоду("smsid","",-1);
           СтрТЗ.Текст = СМСХмл.ПолучитьДочернююНоду("text","",-1);
           СтрТЗ.Всего = СМСХмл.ПолучитьДочернююНоду("allCol","",-1);
           СтрТЗ.Доставлено = СМСХмл.ПолучитьДочернююНоду("deliveredCol","",-1);
           СтрТЗ.НЕДоставлено = СМСХмл.ПолучитьДочернююНоду("notDeliveredCol","",-1);
           СтрТЗ.ВОжидании = СМСХмл.ПолучитьДочернююНоду("waitingCol","",-1);
           СтрТЗ.Вочереди = СМСХмл.ПолучитьДочернююНоду("enqueuedCol","",-1);
       КонецЕсли;
   КонецЦикла;
   СтрТЗ=ТЗ.ВыбратьСтроку("Для получения подробной информации - выберите рассылку");
   Если СтрТЗ=Неопределено Тогда
       Возврат(ТЗ);
   КонецЕсли;    
   
   //Готовим детали по выбранной рассылке
   //тут нужна повторная инициализация
   ПодготовитьСМСХмл();
   
   Рез=СМСХмл.ДобавитьНоду("smsid", СтрТЗ.ИД,"","");    
   Рез = СМСХмл.Пост("https://transport.sms-pager.com:7214/report.xml");
   
   Если Рез<>"1" тогда
       Сообщить("Произошла ошибка при передаче");
       Возврат(Неопределено);
   КонецЕсли;    
       
   Если СМСХмл.ПолучитьНоду("code","")<>"1" тогда
       Сообщить("Ошибка="+СМСХмл.ПолучитьНоду("descr",""));
       Возврат(Неопределено);
   КонецЕсли;    
       
   //Переводы
   СЗРус = Новый СписокЗначений;
   СЗРус.Добавить("delivered","Доставлено:");
   СЗРус.Добавить("notDelivered","Не доставлено:");
   СЗРус.Добавить("waiting","В ожидании:");
   СЗРус.Добавить("enqueued","В очереди:");
   СЗРус.Добавить("cancel","Прекращено:");
   СЗРус.Добавить("onModer","На модерации:");
   
   СЗ = Новый СписокЗначений;
   
   СМСХмл.ЗадатьРодительскуюНоду("data");
   Для К=0 По СМСХмл.КоличествоДетей-1 Цикл
       Если СМСХмл.ЗадатьДочернююНоду(К,"")<>"detail" тогда Продолжить; КонецЕсли;
       
       Для Л=0 по СМСХмл.КоличествоДетей1-1 цикл
           Рез = СМСХмл.ЗадатьДочернююНоду1(Л,"");
           Представление=СЗРус.НайтиПоЗначению(Рез);
           Если Представление=Неопределено тогда Представление=Рез; КонецЕсли;
           СтрСЗ = СЗ.Добавить(Представление);
           Для М=0 По СМСХмл.КоличествоДетей2-1 Цикл
               СтрСЗ = СЗ.Добавить(СМСХмл.ПолучитьДочернююНоду1(М,""));
           КонецЦикла;    
       КонецЦикла;    
   КонецЦикла;
   СЗ.ВыбратьЭлемент();
КонецФункции

Функция ОтослатьСМС(СЗ, ДатаОтправки='00010101000000', ОплатаТолькоЗаДоставленные=Ложь, Спрашивать=Ложь) Экспорт
   Подпись="ddd";

   ПодготовитьСМСХмл();

   СМСХмл.ДобавитьНоду("source",Подпись,"","");
   СМСХмл.ДобавитьНоду("onlydelivery",?(ОплатаТолькоЗаДоставленные,"1","0"),"","");
   Если ЗначениеЗаполнено(ДатаОтправки) тогда
       СМСХмл.ДобавитьНоду("datetime",Формат(ДатаОтправки,"ДФ='yyyy-MM-dd HH:mm:ss'"),"","");
   КонецЕсли;

   //Формируем телефоны и текст
   Для Каждого СтрСЗ Из СЗ Цикл
       Для Каждого Тел Из СтрСЗ.Значение Цикл
           СМСХмл.ДобавитьНоду("to",СтрСЗ.Представление,"number",Тел.Значение);
       КонецЦикла;    
   КонецЦикла;    

   //Если нужно спрашивать, то выводим инфу по количеству и цене рассылки
   Если Спрашивать тогда
       Если Не Отсылать(СМСХмл) тогда
           Сообщить("Оператор отказался от рассылки");
           Возврат (Ложь);
       КонецЕсли;    
   КонецЕсли;

   //Отсылаем
   СМСХмл.ДобавитьНоду("action","send","","");
   Результат = СМСХмл.Пост("https://transport.sms-pager.com:7214/send.xml");
   Если Результат<>"1" тогда
       Возврат(Ложь);
   КонецЕсли;
   Возврат(Истина);
КонецФункции

Функция Отсылать(СМСХмл)
   СМСХмл.ДобавитьНоду("action","check","","");
   Результат = СМСХмл.Пост("https://transport.sms-pager.com:7214/send.xml");
   Если Результат<>"1" тогда
       Сообщить("Произошла ошибка при передаче Результат="+Результат);
       Возврат(Результат);
   КонецЕсли;
   Если СМСХмл.ПолучитьНоду("code","")<>"1" тогда
       Сообщить("Ошибка в ответе="+СМСХмл.ПолучитьНоду("descr",""));
       Возврат(Ложь);
   КонецЕсли;    
   ВсегоПолучателей=СокрЛП(СМСХмл.ПолучитьНоду("allRecivers",""));
   ЦенаРассылки=СокрЛП(СМСХмл.ПолучитьНоду("priceOfSending",""));
   ТекстОтвета = "Всего получателей=" + ВсегоПолучателей+"  Цена рассылки="+ЦенаРассылки+" Вы действительно хотите отправить?";
   Если Вопрос(ТекстОтвета,РежимДиалогаВопрос.ДаНет)=КодВозвратаДиалога.Нет тогда
       Возврат(Ложь);
   КонецЕсли;
   Возврат(Истина);
КонецФункции

//Блок работы с Емайл
Функция ПодключитсяКПочте() Экспорт
   Логин="qqq";
   Пар="eeee";    
   ИПП = Новый ИнтернетПочтовыйПрофиль;
   ИПП.АдресСервераSMTP = "smtp.yandex.ru";
   ИПП.ВремяОжидания = 20;
   ИПП.Пользователь = Логин;
   ИПП.Пароль = Пар;
   ИПП.ПользовательSMTP=Логин;
   ИПП.ПарольSMTP = Пар;
   ИПП.ПортSMTP = "25";
   ИПП.АутентификацияSMTP=СпособSMTPАутентификации.ПоУмолчанию;
   
   Почта = Новый ИнтернетПочта;
   Почта.Подключиться(ИПП);
   Возврат(Почта);
КонецФункции

Функция СоздатьСообщение(Получатели,Тема, Текст, Файлы) Экспорт
   ЕмайлОтправителя="[email protected]";
   Сообщение = Новый ИнтернетПочтовоеСообщение;
   Для Каждого Получатель из Получатели Цикл
       Если Получатель.Значение="" тогда Продолжить;КонецЕсли;
       Сообщение.Получатели.Добавить(Получатель.Значение);
   КонецЦикла;
   Сообщение.Отправитель.Адрес = ЕмайлОтправителя;
   Сообщение.Тема = Тема;
   //Сообщение.Тексты.Добавить(Текст);
   Сообщение.Тексты.Добавить(Текст);
   Для Каждого Файл из Файлы Цикл
       //Вложение = Новый ДвоичныеДанные(Файл);
       //Сообщение.Вложения.Добавить(Вложение,"attach.txt");
       Сообщение.Вложения.Добавить(Файл);
   КонецЦикла;    
   Возврат(Сообщение);
КонецФункции    
   
Вызовы в форме

//Блок работы с СМС

Процедура РазослатьСМС()
   СЗ=Новый СписокЗначений;
   Для Каждого СтрТЗ из ТЗДолжники Цикл
       СЗТел=Новый СписокЗначений;
       ЗаполнитьСпискиКонтактов(СтрТЗ);
       Для Каждого СтрСМС из СМС ЦИкл
           СЗТел.Добавить(СтрСМС.Значение);
       КонецЦикла;    
       СЗ.Добавить(СЗТел,"Погасите задолженность.Сумма(руб)"+СтрТЗ.ТекущийДолг+".Срок долга(дни)"+
       Вычислить(НачалоДня(ТекущаяДата())-НачалоДня(Мин(СтрТЗ.Долг30,СтрТЗ.Долг60, СтрТЗ.Долг90))/86400)+".Тел.:53813");
   КонецЦикла;        
   //ОтослатьСМС(СЗ, ДатаОтправки='00010101000000', ОплатаТолькоЗаДоставленные=Ложь, Спрашивать=Ложь)    
   ОтослатьСМС(СЗ);
КонецПроцедуры

Процедура БалансСМС()
   Сообщить(ЗапросБалансаСМС());
КонецПроцедуры

Процедура ПолучитьОтчетСМС()
   ТЗ=ОтчетСМС();
КонецПроцедуры


ЗЫ. Народ, кто знает, где голос "Алена" прикупить недорого, здорово звучит, но есть только демка.
31 stran06
 
18.10.12
11:15
ЗЫ. т.к. у бухов и отдела реализации разные наборы телефонов контрагентов, то чтоб тетки меж собой не ругались, адресную инфу воткнул в комментарий контрагенту. Строка разбирается на 4 СЗ, каждая строчка СЗ - телефон, факс, мобильник, емайл. Сколько телефонов/моб и т.д. у контра, столько раз будет отсылать, звонить...
32 myk0lka
 
18.10.12
11:15
(30)Вроде как отсюда Алёнка: http://www.acapela-group.com/develop-with-text-to-speech.html
33 stran06
 
19.10.12
10:45
В россии Аленкой занимается  http://ElitaGroup.ru/
Цена 19800 :(
34 Галахад
 
гуру
19.10.12
10:51
Закладка