WhatsApp и 1С




Принцип обмена данными из 1С с сайтом (на MySQL) и выдачи (публикации) этих данных по запросу.
PHP-Скрипт автоматической загрузки данных из файла данных в формате CSV в базу данных сайта работающего на WordPress.

В продолжение моей темы: 1С:Альфа-Авто Автосалон Автосервис: обмен с сайтом.
С помощью данного скрипта можно загружать в автоматическом режиме, по расписанию, данные сервисных книжек (ремонтов авто) из 1С:Альфа-Авто Автосалон Автосервис.
Также можно загружать данные в ручном режиме: для этого делается скрытая страница, где размещается специальная кнопка.
Комментарии размещенные внутри скрипта разъяснят логику и порядок действия.
Комментарии с "/////    echo" использовались для отладки.
Дополнительно создана таблица для журналирования результатов загрузки данных.
Скрипт включает в себя защиту от SQL инъекций (думаю безопасность соблюдена в полной мере).
В кратце:
1. Пишется скрипт, который запускает этот.
2. Создается регламентное задание в WordPress, по которому запускается скрипт из п.1. 
3. Этот скрипт осуществляет проверку на существование файла обмена в папке.
4. Если данные не новые, загрузка не производится.
5. Если данные новые, очищается таблица сервисных книжек.
6. Загружаются новые данные.

Собственно сам скрипт:

<?php // Полная загрузка сервисных книжек, создан 2024-01-05 12:44:55

global $wpdb2;
global $failure;
global $file_hist;

/////  echo '<H2><b>Старт загрузки</b></H2><br>';

$failure=FALSE;
//подключаемся к базе
$wpdb2 = include_once 'connection.php'; ; // подключаемся к MySQL
// если не удалось подключиться, и нужно оборвать PHP с сообщением об этой ошибке
if (!empty($wpdb2->error))
{
/////   echo '<H2><b>Ошибка подключения к БД, завершение.</b></H2><br>';
$failure=TRUE;
wp_die( $wpdb2->error );
}

$m_size_file=0;
$m_mtime_file=0;
$m_comment='';
/////проверка существования файлов выгрузки из 1С
////файл выгрузки сервисных книжек
$file_hist = ABSPATH.'/_1c_alfa_exchange/AA_hist.csv';
if (!file_exists($file_hist))
{
/////   echo '<H2><b>Файл обмена с сервисными книжками не существует.</b></H2><br>';
$m_comment='Файл обмена с сервисными книжками не существует';
$failure=TRUE;
}

/////инициируем таблицу лога
/////если не существует файла то возврат и ничего не делаем
if ($failure){
///включает защиту от SQL инъекций и данные можно передавать как есть, например: $_GET['foo']
/////   echo '<H2><b>Попытка вставить запись в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>$m_comment));
wp_die();
/////    echo '<H2><b>Возврат в начало.</b></H2><br>';
return $failure;
}
/////проверка лога загрузки, что бы не загружать тоже самое
$masiv_data_file=stat($file_hist);   ////передаем в массив свойство файла
$m_size_file=$masiv_data_file[7];    ////получаем размер файла
$m_mtime_file=$masiv_data_file[9];   ////получаем дату модификации файла
////создаем запрос на получение последней удачной загрузки
////выбираем по штампу времени создания (редактирования) файла загрузки AA_hist.csv, $m_mtime_file

/////   echo '<H2><b>Размер файла: '.$m_size_file.'</b></H2><br>';
/////   echo '<H2><b>Штамп времени файла: '.$m_mtime_file.'</b></H2><br>';
/////   echo '<H2><b>Формирование запроса на выборку из лога</b></H2><br>';
////препарируем запрос
$text_zaprosa=$wpdb2->prepare("SELECT * FROM `vin_logs` WHERE `last_mtime_upload` = %s", $m_mtime_file);
$results=$wpdb2->get_results($text_zaprosa);

if ($results)
{   foreach ( $results as $r)
{
////если штамп времени и размер файла совпадают, возврат
if (($r->last_mtime_upload==$m_mtime_file) && ($r->last_size_upload==$m_size_file))
{////echo '<H2><b>Возврат в начало, т.к. найдена запись в логе.</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>'Загрузка отменена, новых данных нет, т.к. найдена запись в логе.'));
wp_die();
return $failure;
}
}
}
////если данные новые, пишем в лог запись о начале загрузки
/////echo '<H2><b>Попытка вставить запись о начале загрузки в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>0, 'last_size_upload'=>$m_size_file, 'comment'=>'Начало загрузки'));

////очищаем таблицу
$clear_tbl_zap=$wpdb2->prepare("TRUNCATE TABLE %s", 'vin_history');
$clear_tbl_zap_repl=str_replace("'","`",$clear_tbl_zap);
$results=$wpdb2->query($clear_tbl_zap_repl);
/////   echo '<H2><b>Очистка таблицы сервисных книжек</b></H2><br>';
if (empty($results))
{
/////   echo '<H2><b>Ошибка очистки таблицы книжек, завершение.</b></H2><br>';
//// если очистка не удалась, возврат
$failure=TRUE;
wp_die();
return $failure;
}

////загружаем данные
$table='vin_history';         // Имя таблицы для импорта
//$file_hist Имя CSV файла, откуда берется информация     // (путь от корня web-сервера)
$delim=';';          // Разделитель полей в CSV файле
$enclosed='"';      // Кавычки для содержимого полей
$escaped='\

99 Comments

  1. DrAku1a

    Ого! А я в своё время искал Windows-клиента… и не нашёл… видно, искал плохо )))

    Reply
  2. 2casp

    Огромный плюс. Отличная статья 🙂

    Reply
  3. iov

    прикрутил к регламентным заданиям .

    правда код сократил, да простит меня автор

    Вацап = Null;

    Вацап = Новый COMОбъект(«WhatsAppApi.ComWrapper»);

    Вацап.Create(«ЛОгин», «Пароль», «»);

    Вацап.Login();

    КлючСообщения = Вацап.SengMessage(«телефон», «Напиши мне напиши «);

    теперь при ошибках получаю почти оперативно сообщение до 2 минут идет (((

    Reply
  4. KonstB

    Автор молодец!

    но так чисто из любопытства:

    СМС… в нашем городе это нестабильный канал связи;

    Это где такой город, где мобильный инет лучше смс ? )))

    Reply
  5. delete

    (3) iov, 2 минуты — много, проверьте скорость соединения на телефоне, возможно не успевает нормально синхронизировать сообщения.

    (4) KonstB, город Норильск. Представьте себе — смс нормально уходят, но прийти адресату могут через день-два

    Reply
  6. saint07

    Идея очень интересная,а можно ли также под Viber что-нибудь сделать ???

    Reply
  7. delete

    (6) saint07, если найдёте API — беглый взгляд не выявил актуальной реализации в открытом доступе, ситуация такая же, как с whatsapp’ом — API закрытое

    Reply
  8. spezc

    Отличная статья!

    Сколько будет стоить готовая рабочая обработка и ДЛЛ (чтобы работали без отмазок))))?

    Чтобы я мог прикрутить к своей рабочей конфе?

    Reply
  9. delete

    (8) spezc, честно говоря даже не представляю, никогда таким образом не пытался зарабатывать. А ещё, хочу напомнить, что DLL останется рабочей ровно до того момента, как WhatsApp не поменяет версию или часть протокола. Никто не может гарантировать, что сделав полностью рабочую DLL ею можно будет пользоваться неограниченное время.

    Потому лишний раз предупрежу — не стоит вешать эту оповещалку на что-то важное, она может неожиданно перестать работать.

    У меня есть пара идей для следующей публикации подобной тематики, в которых участвует меньше неконтролируемых посредников)

    Однако нужно сначала всесторонне изучить эти идеи

    Reply
  10. k4rimov

    О, Норильск) 30 лет там прожил) Но свалил) С инетом и СМС там беда, подтверждаю)

    Статья отличная — можно все привести к законченной подсистеме (если еще прикрутить Viber и прочие мессенджеры на возможность выбора)

    Reply
  11. delete

    (9) k4rimov, Viber, как и WhatsApp, имеет закрытое API, однако для WhatsApp есть репозитории на гитхабе, которые с горем пополам можно прикрутить, а вот с Viber’ом там в этом смысле слабовато. Ну и представьте как поддерживать многообразие сервисов с закрытым API да ещё и совмещать с работой.

    Одна из идей, о которых я упомянул выше, заключается в отдельной подсистеме, а вот с чем она будет работать — пока не скажу, сначала руками на себе обкатаю)

    Reply
  12. k4rimov

    (11) delete, как вариант — с telegram )) https://core.telegram.org/

    Reply
  13. delete

    (12) k4rimov, по сути всё, что имеет открытое API можно прикрутить как уведомлялку) Хоть телеграм, хоть инстаграмм, вконтакте и т.д. Они тоже требуют отслеживания изменений в API, хотя, конечно, в случае его открытости это не составляет большого труда)

    Reply
  14. spezc

    (10) delete, может тогда все-таки стоит подумать над коммерческой частью проекта? сделать готовое решение и поддерживать его, по мере изменения апи ватсапа? лично для меня было бы прикольно прикрутить подобную оповещалку в компании)

    Reply
  15. orehova123

    Красиво! Согласна с (14), может, подумаете над продажей и поддержкой проекта?

    Reply
  16. CatMix

    Это всё здорово, но email чем не угодил?

    Отправка сообщений уже реализована, немного допилить и можно слать всё что угодно, на любой адрес, группу итд.

    Reply
  17. DitriX

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

    Ну плиииииз….

    Там же все открыто, не надо никаких костылей 🙂

    Reply
  18. webester

    (17)Да их просто вагон. Поискомпробовали пользоваться?

    Reply
  19. delete

    (14) spezc, (16) orehova123, раз людям интересно, подумаю над этим)

    Reply
  20. DitriX

    (18) иногда надо вчитываться в каммент, что бы понять его содержание.

    Давайте еще раз повторю и выделю важные моменты:

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

    Раз уж вы так ловко умеете обращаться с гуглом, то может вы поможете мне с поиском данного решения? Ибо мои скромные навыки не позволили найти его.

    В замен, я готов вам перечислить 50$m. Я думаю за поиск готового варианта с использованием ВК для 1С 8.2,8.3, которая умеет работать с джабером гугла и получать и отправлять сообщения — должно хватить 🙂

    Reply
  21. fomix

    Автор молодец! Спасибо за подробную инструкцию.

    Reply
  22. webester

    (20)

    иногда надо вчитываться в каммент, что бы понять его содержание

    Перечитал раза три так и не понял, что вам не понравилось, вот к примеру описание одной из обработок:

    Клиент способен подключаться к серверу, получать список контактов, отправлять сообщения, получать сообщения, отображать анимированные смайлики (регулярные выражения), переписка отображается с помощью html, отдельная вкладка для каждого контакта, обновление статусов и непрочитанных сообщений, сохранение/восстановление данных формы при закрытии/открытии обработки

    Взято отсюда http://infostart.ru/public/83685/

    Reply
  23. acsent

    Эх, а ведь все апи идет через вызовы типа

    https://v.whatsapp.net/v2/code?cc={0}&in={1}&to={0}{1}&method={2}&mcc={3}&mnc={4}

    Поэтому можно обойтись без лишних компонент

    Reply
  24. delete

    (23) acsent, с одной стороны — да, можно, с другой — многое придётся пилить с нуля (шифрование, разбор пакетов, построение пакетов, обработку событий стороны сервера и т.д.).

    Но, в итоге, нет ничего невозможного)

    Reply
  25. zoytsa

    Спасибо! Отличная идея!

    Reply
  26. van2

    Спасибо за статью) Интересно почитать подобные материалы.

    Reply
  27. AlX0id

    (23) acsent,

    Да можно и свой сервер запилить, что в общем случае даже проще, пожалуй.

    Reply
  28. webester

    (27)И второй ватсапп в аппстор 🙂

    Reply
  29. acsent

    (24) Весь код уже есть на С. Нужно только перевести на 1С )))

    Reply
  30. mzelensky

    Да, клевая статья. Спасибо автору за идею и примеры!

    Reply
  31. tunesoft

    Автор молодец.

    Основной минус данного решения: сложность и ненадёжность.

    Reply
  32. victor-tm

    Требуем коммерческую версию на УТ10.3!!!!

    Reply
  33. delete

    (29) acsent, и правда, всего-то)

    (31) tunesoft, сложность, пожалуй, для тех, кто не знаком с другими яп (c# в нашем случае), а ненадёжность — полностью согласен, огромный минус

    (32) victor-tm, к сожалению оч загружен по работе, в ближайшее время ждать готового решения не стоит

    хочу ещё раз обозначить — я не претендую на новизну или эксклюзивность идеи или решения

    если кто-то возьмётся и реализует полноценный поддерживаемый компонент — честь, слава, хвала и почёт)

    насчёт коммерческого решения тоже есть нюанс — в трактовке некоторых юристов это может быть не очень-то и законно)

    Reply
  34. spezc

    (33) delete,

    сделать коммерческую версию. выложить демку и рабочую за 5000р (ценообразование за вами). с учетом того, сколько скачано и сколько звезд — думаю профит будет нормальный) можно несколько ночей на разработку выделить)

    Reply
  35. dj_serega

    Крутяк. Не знаю на сколько это актуально, так как imap на телефоне можно настроить и почту отправлять так что…

    Тут разве что сравнение чата и почтовика.

    Reply
  36. hazd

    нужная вещь, автору спасибо)

    Reply
  37. AndreyNit

    Автору однозначно плюс. Спасибо, разработка пригодилась.

    Reply
  38. flyer

    Господа хотел поинтересоваться кто нибудь прикрутил возможность отправки изображений?

    Reply
  39. victor-tm

    Что на счет коммерческой версии?

    Reply
  40. flyer

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

    Reply
  41. pswd

    (39) victor-tm,

    А можно услышать что вы хотите от коммерческой версии? Какие требования к ней?

    Reply
  42. delete

    Коммерческой версии не будет

    Извините

    Reply
  43. androgin

    RegAsm : error RA0000 : Unable to locate input assembly ‘WhatsAppApi.dll’ or one of its dependencies.

    Reply
  44. delete

    (43) androgin, Проверьте, есть ли путь к фрэймворку в переменной среды (можно посмотреть пример тут — http://www.jagjot.com/2014/01/register-c-vb-net-dll-regasm-gacutil/)

    Reply
  45. Ti_Gor1

    смс не приходят при регистрации. как можно решить?

    длл зарегистрировал, при регистрации ком объект создан. такое ощущение что в правах винды где то проблема. (вин8)

    Reply
  46. delete

    (45) Ti_Gor1, уже давно изменилась версия официального приложения и токен. Чтобы всё заработало, нужно брать свежую библиотеку с github, если нужные изменения в неё уже внесли

    Reply
  47. Serginio

    Про DLL на .Net с 1С?

    Можно так

    Использование сборок .NET в 1С 7.x b 8.x 

    http://infostart.ru/public/238584/

    Ну и использование NuGet https://www.nuget.org/packages/WhatsAppAPI/

    Reply
  48. bpc222

    (8) spezc,

    3000 руб.

    Reply
  49. BaHgaJI

    А если я вытащу токен из приложения Whats app dll ка заработает?

    Reply
  50. Serginio

    Вот рабочий вариант https://github.com/mgp25/Chat-API-NET

    Проверил рабочий. Правда я через 47

    Скомпилируй и замени WhatsAppApi.dll

    Победил отправку файлов

    Reply
  51. stoned

    Камрады! Подскажите с отправкой изображений.

    Добавил метод

    public void SengMessageImage(string toPhoneNum, byte[] ImageData, ApiBase.ImageType imgtype)

    {

    instance.SendMessageImage(toPhoneNum, ImageData, imgtype);

    return;

    }

    И никак не могу корректно передать этот ImageData!

    Я так понимаю со стороны он ComSafeArray. Но как его заполнить правильно из картинки не догоняю!

    Пытался переделать его через string Base64

    public void SengMessageImage(string toPhoneNum, string ImageData, ApiBase.ImageType imgtype)

    {

    instance.SendMessageImage(toPhoneNum, Convert.FromBase64String(ImageData), imgtype);

    return;

    }

    На стороне 1с

    Данные = Base64Строка(ЭлементыФормы.Картинка.Картинка.ПолучитьДвоичныеДанные())

    Данные = СтрЗаменить(Данные, Лев(Данные,4),»»)

    Данные = СтрЗаменить(Данные , Символы.ПС, «»);

    Вацап.SengMessageImage(Адресат, Данные, 0);

    Подвешивает 1с!

    Reply
  52. Serginio

    Если у тебя вертится цикл с PollMessages();

    то тебе нужно подправить в UploadFile

    int i = 0;
    while (this.uploadResponse == null && i <= 100)
    {
    i++;
    //  this.pollMessage();
    System.Threading.Thread.Sleep(100);
    

    }

    Ну и представить номер

    ApiBase.GetJID(toPhoneNum)
    Reply
  53. stoned

    То есть вместо

    <=10 поставить <=100?

    А вот это не понял где!

    ApiBase.GetJID(toPhoneNum)

    Reply
  54. Serginio

    Вместо

    // this.pollMessage();

    нужно

    System.Threading.Thread.Sleep(100);

    Так как для получения событий у тебя наверное уже крутится цикл с pollMessage() и они блокируют друг друга

    WhatsApp.cs метод

    protected WaUploadResponse UploadFile(string b64hash, string type, long size, byte[] fileData, string to, string contenttype, string extension)

    Reply
  55. Serginio

    instance.SendMessageImage(ApiBase.GetJID(toPhoneNum), Convert.FromBase64String(ImageData), imgtype);

    Reply
  56. stoned

    (55) Serginio, Спасибо! Все заработало!

    Reply
  57. Serginio

    Выложил статью .NET(C#) для 1С. Динамическая компиляция класса обертки для использования .Net событий в 1С через ДобавитьОбработчик или ОбработкаВнешнегоСобытия

    Именно большое количество событий в WhatsAppApi сподвигло меня на динамическую генерацию и компиляцию класса обертки и генерации модуля 1С для использования событий

    Reply
  58. spezc

    ждем коммерческий продукт

    Reply
  59. farkhod

    (50) Serginio,

    Скомпилируй и замени WhatsAppApi.dll

    Можно попросить готовый вариант dll?

    Спасибо заранее

    Reply
  60. Serginio

    (59) Смотря какой вариант DLL тебе нужен. Если по сабжу то проси автора. Есть вариант для тестов генерации событий

    http://infostart.ru/public/417830/

    Там в класс добавлена запуск цикла.

    Сборка=врап.загрузитьСборку(ФайлwhatsappFor1C);
    whatsappFor1C=Сборка.GetType(«WhatsAppApi.WhatsApp»);
    Вацап=врап.СоздатьОбъект(whatsappFor1C,Телефон,Пароль,Логин,false,false);
    
    СоздатьОбертку(Вацап);
    Вацап.Connect();
    Сообщить(Врап.ВСтроку(Вацап.ConnectionStatus));
    Процедура OnLoginSuccess(Данные)
    Сообщить(Врап.ВСтроку(Данные));
    Вацап.ProcessChat();
    
    КонецПроцедуры
    
    Reply
  61. set5553

    Обнови ДЛЛ, токен и тд, по теме, если этот вариант скачаю, запыхает?

    Reply
  62. Afandi

    Спасибо автору.

    Вопрос всем кто использует. Работает без глюков? и как часто нужно перекомпилировать DLL ку, что бы решение работало?

    Reply
  63. stoned

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

    Отправка текстов работает нормально, а вот картинки никак не хочет отправлять на рабочей базе!

    Хотя у меня, с компьютера шлет все отлично и картинки и текст.

    Возможно это связано с тем, что у меня выделенный канал. А на рабочей базе, 4g модем.

    Я уже не знаю где искать причину!

    Reply
  64. set5553

    Где брать рабочий токен?

    Reply
  65. stoned

    (64) set5553, рабочий токен в библиотеке на гитхабе, ссылка есть выше.

    Reply
  66. set5553

    (65) stoned, вы про эту ссылку? https://github.com/mgp25/Chat-API-NET

    {«status»:»fail»,»reason»:»old_version»}

    Reply
  67. stoned

    Чего то подкрутили, ошибка авторизации!

    На гитхабе пишут что сеть, однако до сих пор не пашет с утра.

    https://github.com/mgp25/Chat-API-NET/issues/106

    Reply
  68. Serginio

    (68) Так заного получи пароль например https://davidgf.net/whatsapp/pwd.html

    Reply
  69. set5553

    (69) Serginio, кстати, на наш формат постоянно ругается, что можно сделать? номер +996701775777 +996 код станы, 701 код оператора, 775777 номер телефона

    Reply
  70. Serginio

    По моему они поменяли протокол авторизации. То, что раньше подключалось, сейчас говорит oldversion

    Reply
  71. Serginio

    посмотри многоизменений https://github.com/mgp25/Chat-API-NET/commits/master

    Reply
  72. Serginio

    Кстати WaUploadResponse подправили

     while (this.uploadResponse == null && i <= 100)
    262             {
    263                 if (m_usePoolMessages)
    264                     System.Threading.Thread.Sleep(500);
    265                 else
    266                 this.pollMessage();
    267                 i++;
    268             }
    

    Показать

    Reply
  73. Serginio
  74. set5553

    Настроил, все работало и сегодня перестал авторизовываться. Посмотрел, номер заблокировали. Как быть? Из за чего заблокировали? Как обходить это?

    Reply
  75. astraborz

    Народ добрый вечер. кто-нибудь решил проблему с внедрением вацап в 1С? У кого работает нормально, отпишитесь пожалуйста

    Reply
  76. Serginio

    Посмотри. В декабре еще делал

    Reply
  77. astraborz

    (77) Serginio, Спасибо большое. сегодня испытаю. а у тебя до сих пор работает? интересная тема? мне это нужно чтобы в указанное время руководству шли отчеты всякие остатки, а картинки можно отправлять

    Reply
  78. Serginio

    Не знаю не пользуюсь, но тем кому делал вроде не жалуются. Картинки можно отправлять. Но лучше использовать свой сервер http://infostart.ru/public/434771/

    Вацап постоянно авторизацию меняет, блокирует

    Reply
  79. bpc222

    (76) astraborz,

    у меня работает 🙂

    Reply
  80. paulpit

    (77) Serginio,

    Скачал декабрьский архив.

    При попытке получения пароля на мой номер: +79166123636

    ругается:

    Could not request code using either sms. SMS: {«status»:»fail»,»reason»:»old_version»}

    Reply
  81. Serginio

    значит опять токен поменяли

    Reply
  82. sarun

    «Could not request code using either sms. SMS: Удаленный сервер возвратил ошибку: (407) Требуется аутентификация посредника.»

    Reply
  83. ROM_1C

    У меня ошибка регистрации компоненты

    RegAsm : error RA0000 : Unable to locate input assembly ‘c:WhatsAppApi.dll’ or one of its dependencies.

    Вчем же дело?

    Reply
  84. ROM_1C

    43, как то решили проблему?

    Reply
  85. spenser123

    (85) если посмотрите саму статью и посмотрите что используют репозиторий на github — репозиторий оттуда был удален…

    Reply
  86. ROM_1C

    (86) и нет решений?

    Reply
  87. spenser123

    (87) конкретно эта работать не будет точно, возможно есть другие версии (или написать свою обертку для другого живого qpi на github), цель статьи, вроде, в этом и заключалась — показать как сделать обертку самому.

    Reply
  88. spenser123

    (89) деньги просить? это как? у них есть банальное платное API?

    Reply
  89. Serginio

    Да чего то жене разные сообщения приходят. Я вацапом не пользуюсь.

    Reply
  90. cmd_vasec

    Данная разработка живая? Стоит качать?

    Reply
  91. gorevg

    Не работает… На этапе отправки смс с кодом:

    Процедура ЗапроситьСМС(Команда)
    Вацап.Create(НомерТелефона, «», «»);
    Если Вацап.RequestCode() Тогда
    Сообщить(«Запрос отправлен, ожидайте СМС сообщение»);
    КонецЕсли;
    КонецПроцедуры

    Вацап.RequestCode() — возвращает ложь…

    Reply
  92. user643091_tvs-sm

    Здорово! Интересная идея.

    Reply
  93. leobrn

    Актуально ещё ? Работает ?

    Reply
  94. Sakh1CPRO

    Обработка мертвая, ошибка при открытии: -2147221005(0x800401F3): Недопустимая строка с указанием класса

    Reply
  95. Sakh1CPRO

    Автор, в чем проблема?

    Reply
  96. delete

    (97)

    0x800401F3

    Зарегистрировать класс не пробовали?

    Вообще, уже нет смысла качать и использовать эти файлы.

    Обработка уже давным-давно не актуальна.

    Читайте внимательнее.

    Используйте статью как общее руководство.

    Reply
  97. pavel06

    (5)

    Представьте себе — смс нормально уходят, но прийти адресату могут через день-два

    Секретность, должны быть проверены.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *