Версия для печати темы (https://pro1c.org.ua/index.php?s=5dd7db12b3536a4a3fb96ad5f541a5dc&showtopic=7592)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Отчеты / Обработки _ Рассылка СМС

Автор: Acid 31.05.12, 11:06

Отправка SMS через сервис turbosms.com.ua

 RassilkaSMS.rar ( 42,45 килобайт ) : 763
 

Автор: majster 03.09.12, 16:26

{ВнешняяОбработка.РассылкаSMS(9,13)}: Змінна не визначена (ОбщегоНазначения)
Фамилия = <<?>>ОбщегоНазначения.ВыделитьСлово(ФИО);
{ВнешняяОбработка.РассылкаSMS(10,10)}: Змінна не визначена (ОбщегоНазначения)
Имя = <<?>>ОбщегоНазначения.ВыделитьСлово(ФИО);
{ВнешняяОбработка.РассылкаSMS(11,13)}: Змінна не визначена (ОбщегоНазначения)
Отчество = <<?>>ОбщегоНазначения.ВыделитьСлово(ФИО);

Автор: logist 03.09.12, 16:30

Цитата(majster @ 03.09.12, 17:26) http://pro1c.org.ua/index.php?act=findpost&pid=55685

Автор: XBrut 14.03.18, 16:03

я что-то пропустил, или в этой обработке нет возможности слать смс славянскими буквами?

П.С.
Заодно подскажите, если вдруг кто знает. Что это за загадочная проблема : для платформы 7 получить строку в формате UTF-8 - это простая функция, а для платформы 8 получить строку в формате UTF-8 целое дело.

Автор: XBrut 14.03.18, 19:15

XBrut @ Сегодня, 16:03 * ,

японский бог. потратил почти целый день.

//Всю команду, подготовленную для передачи в турбо-смс соединяем в строку
Команда  = "insert into MOSKALIAKUNAGILLIAKU(number,sign,message) values('" + стрТелефон + "','MOSKALIAKUNAGILLIAKU','"+ СокрЛП(ТекстСообщения) + "')";

//Дальше это дело кодируем в утф-8 и записываем в файл
ЗаписьТекста = Новый ЗаписьТекста("G:\1C_8\UTP\Files\1.txt", КодировкаТекста.UTF8);
ЗаписьТекста.ЗаписатьСтроку(Команда);
ЗаписьТекста.Закрыть();

//Дальше отковыриваем заголовок 4 символа впереди (в интернетах пишут, что этот заголовок указывает, в какой кодировке будет следующий текст)
Данные             =Новый ДвоичныеДанные("G:\1C_8\UTP\Files\1.txt");
Строка64                =Base64Строка(Данные);
Строка64                =Прав(Строка64,СтрДлина(Строка64)-4);
ДанныеНаЗапись    =Base64Значение(Строка64);
ДанныеНаЗапись.Записать("G:\1C_8\UTP\Files\1.txt"); // записываем
    
//Дальше читаем, но уже используя кодировку анси. чтобы получились кракозябры вместо славянских букв
ЧтениеТекста = Новый ЧтениеТекста("G:\1C_8\UTP\Files\1.txt", КодировкаТекста.ANSI);
Команда         = ЧтениеТекста.ПрочитатьСтроку();

//и вот эту ценную абракадабру отправляем на турбо-смс
Соединение.Execute(Команда);


и вуаля - повідомлення надійшло нашою мовою

П.С. в платформе 8.3 имеется новый метод

КодироватьСтроку(<Строка>, <СпособКодированияСтроки>, <КодировкаСтроки>)

который делает приблизительно то же самое, но он возвращает строку вида "%AD%AF..." как эту строку скормить турбо-смс , я так и не понял. Если кто знает - отпишитесь.

Автор: Petre 15.03.18, 9:33

XBrut @ Yesterday, 19:15 * ,
Есть UTF-8 с BOM и без BOM. Для записи UTF-8 без BOM используйте кодировку "CESU-8".

Автор: matvey80 05.09.18, 23:18

Acid @ 31.05.12, 11:06 * ,
подскажите какой пароль на архив ?

Автор: matvey80 06.09.18, 9:00

matvey80 @ Сегодня, 23:18 * ,
отбой. нашел уже ))

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua