Отправка СМС по протоколу SMPP через МЕГАФОН или через веб-сервис МТС (8.3 обычное приложение)

Обмен - SMS рассылки

Конфигурация предназначена для отправки СМС по протоколу SMPP, напрямую, через МЕГАФОН.
Также в конфигурации есть отправка СМС через веб-сервис МТС. Легко встраивается в любую базу и не требует доработок.

Инструкция по настройке:

  • МТС
  1. В справочнике "СервисыSMSрассылки" заполняем пользователя и пароль (пароль должен быть в формате MD5) полученные от оператора.
  2. Далее заполняем документ "SMSРассылка"
  3. Настраиваем регламентное задание "ОбработкаSMSСообщений"

Вот в принципе и все. С мегафоном сложнее... т.к. используется протокол SMPP, единственное, что я нашел для работы с 1С, это компонента WinSock.

  • МЕГАФОН
  1. В справочнике "СервисыSMSрассылки" заполняем пользователя, пароль, ip, и порт.
  2. Регистрируем компоненту WinSock. 
  3. В обработке «РассылкаSMSМегафон» необходимо поправить имя отправителя в функции сбора пакета Submit_sm.
  4. Заполняем документ «SMSРассылка»
  5. Настраиваем регламентное задание "ОбработкаSMSСообщений"
 
  • Регистрация компоненты WinSock:
  • Если регистрируем локально, тогда кидаем ее

C:\Windows\SysWOW64 и в «Выполнить» прописываем regsvr32 “путь к файлу”, если на сервере, то см. ниже.

  • Регистрация на сервере. Компонента старая x32, поэтому, чтобы она работала на сервере x64, необходимо проделать следующее:
  1. Запускаем консоль «Службы компонентов» (Пуск ->Администрирование->Службы компонентов)
  2. В ветке «Приложения COM+» добавлем новое приложение. Правой кнопкой Создать -> Приложение
  3. Выбираем «Создать новое приложение»
  4. Имя задаем MSWinsockWinsock1, способ активации «серверное приложение»
  5. Учетную запись выбираем, под которой стартует сервер 1С
  6. В ветке созданного приложения переходим на ветку "Роли" открываем роль "CreatorOwner" и далее в разделе "Пользователи" создаем пользователя - учетную запись под которой работает сервер 1С.
  7. В ветке созданного приложения переходим на ветку "Компоненты" и создаем компонент.
  8. Выбираем "Установка новых компонентов", и в диалоге выбираем нужную компоненту (тип файла «все файлы»)
  9. Открываем свойства только что созданного компонента, идем на вкладку "Безопасность", проверяем в списке "Явно установленные для выделенных объектов роли" стоит ли галка напротив роль CreatorOwner - если нет, тогда устанавливаем ее.

При написании конфигурации очень помогли статьи //infostart.ru/public/319296/ и //infostart.ru/public/297040/ за что автору огромное спасибо.

Основное отличие  данный конфигурации это возможность отправки длинных сообщений с использованием UDH  и использование регламентного задания.

В архиве конфигурация, описание протокола SMPP и компонента WinSock.

Пишите вопросы в комментариях, рад буду помочь.

 

UPD 01.06.2016: Улучшена стабильность обработки(добавлена обработка некоторых ошибок - если номер кривой), добавлена обработка отчетов о доставке, переделана запись id сообщения.

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

Наименование Файл Версия Размер
ОтправкаСМСчереМегафон+МТС
.7z 1,06Mb
17.07.15
113
.7z 1.0 1,06Mb 113 Скачать
ОтправкаСМСчереМегафон
.epf 14,91Kb
01.06.16
30
.epf 1.1 14,91Kb 30 Скачать

См. также

Комментарии
1. Артем Замолодчиков (BaHgaJI) 23 21.07.15 09:46 Сейчас в теме
Всего одно скачивание, ну не серьезно ребят) Я так старался, так старался)
2. Артем Замолодчиков (BaHgaJI) 23 14.08.15 16:03 Сейчас в теме
Если кому надо могу выложить с обработкой отчетов о доставке мегафоновских смс,
4. Александр Плюшкин (php5) 9 11.09.15 10:50 Сейчас в теме
Классная вещь, спасибо, пригодилось мне в работе!
5. Артем Замолодчиков (BaHgaJI) 23 02.10.15 08:12 Сейчас в теме
(4) php5, Пожалуйста, это моя работа, кто-то должен!
6. Алексей Мальцев (Prooa) 58 02.11.15 12:02 Сейчас в теме
Здравствуйте, ни как не могу зарегистрировать на Windows7x64. Создаю приложение потом компоненту, выбираю файл, винда пишет что есть такая и не ставит компоненту, а при мWinSocketActiveX = Новый COMОбъект("MSWinsock.Winsock.1"); выдает исключение, что и пропустил не подскажите? Очень нужно
7. Алексей Мальцев (Prooa) 58 03.11.15 06:36 Сейчас в теме
(6) Prooa, зарегистрировал, но смс не отправляет, в режиме отладки видно что срабатывает только "//пришел пакет ENQUIRE_LINK" и все, что не так
8. Артем Замолодчиков (BaHgaJI) 23 03.11.15 14:33 Сейчас в теме
п(7) Prooa, проверьте пользователя и пароль
9. Артем Замолодчиков (BaHgaJI) 23 03.11.15 14:33 Сейчас в теме
(7) Prooa, ENQUIRE_LINK_RESP отправляете?
10. Артем Замолодчиков (BaHgaJI) 23 03.11.15 14:35 Сейчас в теме
(7) Prooa, или скачайте http://infostart.ru/public/393308/ там более наглядно, что приходит, что уходит
11. Алексей Мальцев (Prooa) 58 05.11.15 05:36 Сейчас в теме
Скачал обработку все работает, а с вашей конфы не хочет
12. Артем Замолодчиков (BaHgaJI) 23 19.11.15 12:52 Сейчас в теме
(11) Prooa, походу только у вас не работает.
скорее всего не правильное значение МатрицаДанных.SetValue(7, 4); //command_id 4=submit_sm submit_multi=21
13. Артем Замолодчиков (BaHgaJI) 23 19.11.15 12:54 Сейчас в теме
(11) Prooa, и еще с этими данными надо поиграть, они тоже часто разные у всех бывают

МатрицаДанных.SetValue(17, 5); //source_addr_ton
МатрицаДанных.SetValue(18, 0); //source_addr_npi
14. Артем Замолодчиков (BaHgaJI) 23 04.12.15 12:12 Сейчас в теме
(11) Prooa, нашел в чем могла быть проблема.
в submit_sm_resp иногда приходит пакет с ошибкой если оператор по какой то причине не может отправить смс.

Добавьте в процедуру ОбработатьПакет_submit_sm_resp

КодОшибки = ВходящийПакет.GetValue(11);
Если КодОшибки <> 0 Тогда
ЗаписатьНовыйСтатусСМС("ошибка отправки");
Возврат;
КонецЕсли;


15. Nikolay Nikolay1 (nikolayvg) 15 10.01.16 22:29 Сейчас в теме
Здравствуйте. При установке компоненты на сервер 2008 R2 Standart возникла проблема в пункте
8. Выбираем "Установка новых компонентов", и в диалоге выбираем нужную компоненту (тип файла «все файлы»).
все выбираю, но компонента в списке не появляется. Что может быть не так?
16. Артем Замолодчиков (BaHgaJI) 23 11.01.16 09:07 Сейчас в теме
(15) nikolayvg, точно выбираете тип файла "Все файлы(*.*)" т.к. если файл в папке то он по-любому будет виден. Или в службе компонентов не появляется? Если в службе компонентов, то попробуйте любую другую компоненту добавить, а потом компоненту винсок, должна появиться.
17. Nikolay Nikolay1 (nikolayvg) 15 14.01.16 05:51 Сейчас в теме
(15) nikolayvg, На всякий случай для остальных:
Воспользовался советом из http://infostart.ru/public/319296/ и установил Visual Basic
18. Артем Замолодчиков (BaHgaJI) 23 10.02.16 12:27 Сейчас в теме
Если приходит ошибка 88 (0x65) надо добавить задерку при отправке смс, примерно 5 смс в секунду
19. Дамир Ахметов (Bayker) 24.05.16 14:50 Сейчас в теме
Добрый день, заключили договор с мегафоном, прислал вот это:
1. IP-адрес крипто-сервера
2. IP-адрес SMPP ESME
3. IP-адрес крипто-сервера УФ ОАО "МегаФон"
4. IP-адрес SMS-центра УФ ОАО "МегаФон"
5. Ключ isakmp
6. transform-set:
7. PFS:
8. Isakmp policy

От дальнейшей помощи категорически отказывается, будет ли Ваша разработка работать с Тюменским мегафоном (если там вообще есть различия)?
20. Артем Замолодчиков (BaHgaJI) 23 24.05.16 17:01 Сейчас в теме
(19) Bayker, не могу сказать, по идее если по протоколу SMPP то отличий никаких не должно быть
21. Константин Мельников (SGordon1) 10.06.16 12:09 Сейчас в теме
Обновление лежит отдельно , не в архиве?
22. Артем Замолодчиков (BaHgaJI) 23 10.06.16 13:09 Сейчас в теме
23. Александр Васильев (flord) 98 21.07.16 15:51 Сейчас в теме
Никто не сталкивался с такой ситуацией. После отправки команды Bind_transceiver компонента переходит в состояние State = 8 (клиент закрыл подключение)?
24. Артем Замолодчиков (BaHgaJI) 23 22.07.16 08:37 Сейчас в теме
(23) flord, значит ошибка в этом пакете, проверьте логин и пароль, он чувствителен к реестру. Лучше конечно узнать у оператора, что к ним приходит и в чем ошибка.
25. Александр Васильев (flord) 98 22.07.16 08:45 Сейчас в теме
Пытаемся отправлять СМС через Мегафон СПб.

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

По логу wireshark:

1. [Connection establish request (SYN): порт сервера хххх]– отправляем запрос на установку соединения
2. [Connection establish acknowledge (SYN + ACK) : порт сервера хххх] – получаем подтверждение
3. Short Message Peer to Peer, Command: Bind_transceiver, Seq: 1, Len: 41 (пакет PDU пришлось переписать не вмещался пароль)
Length: 41
Operation: Bind_transceiver (0x00000009)
Sequence #: 1
System ID: *******
Password: *******
Version (if): 0.0
Type of number: Unknown (0x00)
Numbering plan indicator: Unknown (0x34)
Address: \001\001



4. В ответ от сервера получаем:

Transmission Control Protocol, Src Port: xxxx , Dst Port: yyyyy, Seq: 1, Ack: 42, Len: 0
Source Port: xxxx
Destination Port: yyyyy
[Stream index: 16]
[TCP Segment Len: 0]
Sequence number: 1 (relative sequence number)
Acknowledgment number: 42 (relative ack number)
Header Length: 20 bytes
Flags: 0x011 (FIN, ACK)
000. .... .... = Reserved: Not set
...0 .... .... = Nonce: Not set
.... 0... .... = Congestion Window Reduced (CWR): Not set
.... .0.. .... = ECN-Echo: Not set
.... ..0. .... = Urgent: Not set
.... ...1 .... = Acknowledgment: Set
.... .... 0... = Push: Not set
.... .... .0.. = Reset: Not set
.... .... ..0. = Syn: Not set
.... .... ...1 = Fin: Set [Expert Info (Chat/Sequence): Connection finish (FIN)]
[Connection finish (FIN)]
[Severity level: Chat]
[Group: Sequence]
[TCP Flags: *******A***F]
Window size value: 8186
[Calculated window size: 65488]
[Window size scaling factor: 8]
Checksum: 0x1182 [validation disabled]
Urgent pointer: 0
[SEQ/ACK analysis]
[This is an ACK to the segment in frame: 5265]
[The RTT to ACK the segment was: 0.026876000 seconds]
[iRTT: 0.028090000 seconds]


Нигде упоминания о полученной команде Bind_transceiver_resp в логе нет.

Обработка написана для клиент-серверного варианта.
При отправке смс пользователем запускается фоновое задание.

Сначала происходит инициализация и подключение.
Если сразу после подключения State = 7, отправляем Bind_transceiver

Далее входим в бесконечный цикл обработки State
Если сразу не получили состояние State = 7, ждем его и делаем запрос.

Основная проблема если смотреть из 1с компонента сразу после отправки
Bind_transceiver переходит в режим State = 8 (клиент закрыл подключение)


Событие DataArrival ни разу не сработало – ну оно и понятно.
Не могу понять причину такого поведения.

Админы с нашей стороны и со стороны ОпСоСа говорят, что у них никакие пакеты не режутся.
26. Артем Замолодчиков (BaHgaJI) 23 22.07.16 09:05 Сейчас в теме
(25) flord, упоминания нет, потому что скорее всего Bind_transceiver кривой, скиньте как вы его переделали...
27. Александр Васильев (flord) 98 22.07.16 14:25 Сейчас в теме
Функция СобратьПакет_BIND_Transceiver(sequence_number) Экспорт
                
                ИдПользователя = Справочники.СервисыSMSрассылки.Мегафон.Пользователь;
                Пароль         = Справочники.СервисыSMSрассылки.Мегафон.Пароль;
                
                ДлинаЛогина = СтрДлина(ИдПользователя);
                Если ДлинаЛогина + 1 > 16 Тогда
                               ИдПользователя = Лев(ИдПользователя, 15);
                               ДлинаЛогина = 15;
                               
                               СтрокаОшибки = "" + ТекущаяДата() + "
                               |Длина логина + нулевой символ превышает 16 символов, обрезаем.";
                               
                               ЗаписьЖурналаРегистрации("ОтправкаСМСМегафон.СобратьПакет_BIND_Transceiver",
                                               УровеньЖурналаРегистрации.Ошибка,
                                               Метаданные.Обработки.РассылкаSMSМегафон, "Метаданные.Обработки.РассылкаSMSМегафон",
                                               СтрокаОшибки);
                КонецЕсли; 
                
                ДлинаПароля = СтрДлина(Пароль);
                Если ДлинаПароля + 1 > 9 Тогда
                               Пароль = Лев(Пароль, 8);
                               ДлинаЛогина = 8;
                               
                               СтрокаОшибки = "" + ТекущаяДата() + "
                               |Длина пароля + нулевой символ превышает 9 символов, обрезаем.";
                               
                               ЗаписьЖурналаРегистрации("ОтправкаСМСМегафон.СобратьПакет_BIND_Transceiver",
                                               УровеньЖурналаРегистрации.Ошибка,
                                               Метаданные.Обработки.РассылкаSMSМегафон, "Метаданные.Обработки.РассылкаSMSМегафон",
                                               СтрокаОшибки);
                КонецЕсли; 
                
                Если Не ЗначениеЗаполнено(sequence_number) Тогда
                               sequence_number = 1;
                КонецЕсли;
                
                system_Тип = "";
                Длина_system_Тип = СтрДлина(system_Тип);
                interface_version = 4;
                addr_ton = 0;
                addr_npi = 0;
                address_range = "";
                Длина_address_range = СтрДлина(address_range);
                
                //Длина      header  id + zero           pass + zero        System_Тип + zero      interface_version   addr_ton  addr_npi address_range + zero
                ДлинаПакета = 16 + (ДлинаЛогина + 1) + (ДлинаПароля + 1) + (Длина_system_Тип + 1) +         1             + 1      + 1  + Длина_address_range + 1;
                Матрица = Новый COMSafeArray("VT_UI1", ДлинаПакета); // было 37
                
                // HEADER
                
                // command_length 4 octets
                Матрица.SetValue(0,0);
                Матрица.SetValue(1,0);
                Матрица.SetValue(2,0);
                Матрица.SetValue(3, ДлинаПакета); //command_length
                
                // command_id 4 octets
                Матрица.SetValue(4,0);
                Матрица.SetValue(5,0);
                Матрица.SetValue(6,0);
                Матрица.SetValue(7,9); // Operation: BIND Tranceiver (0x00000009)
                
                // command_id 4 octets
                Матрица.SetValue(8,0);
                Матрица.SetValue(9,0);
                Матрица.SetValue(10,0);
                Матрица.SetValue(11,0); //Не  используется  в PDU bind_transceiver. 
                
                // sequence_number 4 octets
                Матрица.SetValue(12,0);
                Матрица.SetValue(13,0);
                Матрица.SetValue(14,0);
                Матрица.SetValue(15, sequence_number); //уникальный номер последовательности bind_transceiver 
                
                Индекс = 16;
                
                // BODY
                
                // system_id  COctet String max16
                Для  НомерСтроки = 1 По ДлинаЛогина Цикл
                               Матрица.SetValue(Индекс, КодСимвола(ИдПользователя, НомерСтроки));
                               Индекс = Индекс + 1;
                КонецЦикла;
                Матрица.SetValue(Индекс,0); // NULL для логина
                Индекс = Индекс + 1;
                
                // password COctet String max9
                Для НомерСтроки = 1 По ДлинаПароля Цикл
                               Матрица.SetValue(Индекс, КодСимвола(Пароль, НомерСтроки));
                               Индекс = Индекс + 1;
                КонецЦикла;
                Матрица.SetValue(Индекс,0); // NULL для пароля
                Индекс = Индекс + 1;
                
                // system_Тип COctet String max13
                Если ЗначениеЗаполнено(system_Тип) Тогда
                               Для  НомерСтроки = 1 По Длина_system_Тип Цикл
                                               Матрица.SetValue(Индекс, КодСимвола(system_Тип, НомерСтроки));
                                               Индекс = Индекс + 1;
                               КонецЦикла;
                КонецЕсли;
                Матрица.SetValue(Индекс,0); // NULL для system_Тип
                Индекс = Индекс + 1;
                
                // interface_version
                Матрица.SetValue(Индекс, КодСимвола(interface_version));//interface_version = 4 (версия 4 = 3.4)
                Индекс = Индекс + 1;
                
                // addr_ton
                Матрица.SetValue(Индекс, addr_ton);
                Индекс = Индекс + 1;
                
                // addr_npi
                Матрица.SetValue(Индекс, addr_npi);
                Индекс = Индекс + 1;
                
                // address_range
                Если ЗначениеЗаполнено(address_range) Тогда
                               Для  НомерСтроки = 1 По Длина_address_range Цикл
                                               Матрица.SetValue(Индекс, КодСимвола(address_range, НомерСтроки));
                                               Индекс = Индекс + 1;
                               КонецЦикла;
                КонецЕсли; 
                Матрица.SetValue(Индекс,0); // NULL для address_range
                Индекс = Индекс + 1;
                
                // увеличиваем номер запроса
                sequence_number = sequence_number + 1;
                
                Возврат Матрица;
                
КонецФункции
...Показать Скрыть
28. Артем Замолодчиков (BaHgaJI) 23 22.07.16 15:13 Сейчас в теме
(27) flord, ну мой совет поставить после пароля

Матрица.SetValue(29,0);
Матрица.SetValue(30,0);
Матрица.SetValue(31,0);

Матрица.SetValue(32,0);
Матрица.SetValue(33,52);
Матрица.SetValue(34,1);
Матрица.SetValue(35,1);

Матрица.SetValue(36,0);

Там где циферки слева соотвественно ваш индекс.
Просто эти значения четко подобраны и менять их не стоит.
29. Артем Замолодчиков (BaHgaJI) 23 22.07.16 15:19 Сейчас в теме
(27) flord, так же у вас не верно Матрица.SetValue(Индекс, КодСимвола(interface_version));//interface_version = 4 (версия 4 = 3.4)

Должно быть так interface_version 0x34 = 52
30. Артем Замолодчиков (BaHgaJI) 23 22.07.16 15:22 Сейчас в теме
(27) flord, и вот эти должны быть = 1

addr_ton = 0;
addr_npi = 0;
31. Александр Васильев (flord) 98 22.07.16 15:28 Сейчас в теме
Если оставить так – то «съедаются» последние несколько символов пароля.


Если смотреть описание pdu из описания протокола

Матрица.SetValue(32,0); это system_тип
Матрица.SetValue(33,52); это interface_version
Матрица.SetValue(34,1); это addr_ton
Матрица.SetValue(35,1); это addr_npi

Матрица.SetValue(36,0); это address_range

Я прав?

А за что отвечают эти значения, не подскажете?:

Матрица.SetValue(29,0);
Матрица.SetValue(30,0);
Матрица.SetValue(31,0);
32. Артем Замолодчиков (BaHgaJI) 23 22.07.16 18:46 Сейчас в теме
(31) flord, Уже не помню за что отвечают, что-то разделитель, что то просто не нужно и по умолчанию 0, методом тыка подбирал, как пароль может съедаться? попробуйте вот так:
Функция СобратьПакет_BIND_Transceiver(sequence_number) Экспорт
                
                ИдПользователя = Справочники.СервисыSMSрассылки.Мегафон.Пользователь;
                Пароль         = Справочники.СервисыSMSрассылки.Мегафон.Пароль;
                
                ДлинаЛогина = СтрДлина(ИдПользователя);
                Если ДлинаЛогина + 1 > 16 Тогда
                               ИдПользователя = Лев(ИдПользователя, 15);
                               ДлинаЛогина = 15;
                               
                               СтрокаОшибки = "" + ТекущаяДата() + "
                               |Длина логина + нулевой символ превышает 16 символов, обрезаем.";
                               
                               ЗаписьЖурналаРегистрации("ОтправкаСМСМегафон.СобратьПакет_BIND_Transceiver",
                                               УровеньЖурналаРегистрации.Ошибка,
                                               Метаданные.Обработки.РассылкаSMSМегафон, "Метаданные.Обработки.РассылкаSMSМегафон",
                                               СтрокаОшибки);
                КонецЕсли; 
                
                ДлинаПароля = СтрДлина(Пароль);
                Если ДлинаПароля + 1 > 9 Тогда
                               Пароль = Лев(Пароль, 8);
                               ДлинаЛогина = 8;
                               
                               СтрокаОшибки = "" + ТекущаяДата() + "
                               |Длина пароля + нулевой символ превышает 9 символов, обрезаем.";
                               
                               ЗаписьЖурналаРегистрации("ОтправкаСМСМегафон.СобратьПакет_BIND_Transceiver",
                                               УровеньЖурналаРегистрации.Ошибка,
                                               Метаданные.Обработки.РассылкаSMSМегафон, "Метаданные.Обработки.РассылкаSMSМегафон",
                                               СтрокаОшибки);
                КонецЕсли; 
                
                Если Не ЗначениеЗаполнено(sequence_number) Тогда
                               sequence_number = 1;
                КонецЕсли;
                
                system_Тип = "";
                Длина_system_Тип = СтрДлина(system_Тип);
                interface_version = 4;
                addr_ton = 0;
                addr_npi = 0;
                address_range = "";
                Длина_address_range = СтрДлина(address_range);
                
                //Длина      header  id + zero           pass + zero        System_Тип + zero      interface_version   addr_ton  addr_npi address_range + zero
                ДлинаПакета = 16 + (ДлинаЛогина + 1) + (ДлинаПароля + 1) + (Длина_system_Тип + 1) +         1             + 1      + 1  + Длина_address_range + 1;
                Матрица = Новый COMSafeArray("VT_UI1", ДлинаПакета); // было 37
                
                // HEADER
                
                // command_length 4 octets
                Матрица.SetValue(0,0);
                Матрица.SetValue(1,0);
                Матрица.SetValue(2,0);
                Матрица.SetValue(3, ДлинаПакета); //command_length
                
                // command_id 4 octets
                Матрица.SetValue(4,0);
                Матрица.SetValue(5,0);
                Матрица.SetValue(6,0);
                Матрица.SetValue(7,9); // Operation: BIND Tranceiver (0x00000009)
                
                // command_id 4 octets
                Матрица.SetValue(8,0);
                Матрица.SetValue(9,0);
                Матрица.SetValue(10,0);
                Матрица.SetValue(11,0); //Не  используется  в PDU bind_transceiver. 
                
                // sequence_number 4 octets
                Матрица.SetValue(12,0);
                Матрица.SetValue(13,0);
                Матрица.SetValue(14,0);
                Матрица.SetValue(15, sequence_number); //уникальный номер последовательности bind_transceiver 
                
                Индекс = 16;
                
                // BODY
                
                // system_id  COctet String max16
                Для  НомерСтроки = 1 По ДлинаЛогина Цикл
                               Матрица.SetValue(Индекс, КодСимвола(ИдПользователя, НомерСтроки));
                               Индекс = Индекс + 1;
                КонецЦикла;
                Матрица.SetValue(Индекс,0); // NULL для логина
                Индекс = Индекс + 1;
                
                // password COctet String max9
                Для НомерСтроки = 1 По ДлинаПароля Цикл
                               Матрица.SetValue(Индекс, КодСимвола(Пароль, НомерСтроки));
                               Индекс = Индекс + 1;
                КонецЦикла;
                Матрица.SetValue(Индекс,0); // NULL для пароля
                Индекс = Индекс + 1;
         
Матрица.SetValue(Индекс ,0); 
 Индекс = Индекс + 1;
Матрица.SetValue(Индекс ,0); 
 Индекс = Индекс + 1;
Матрица.SetValue(Индекс ,0); 
 Индекс = Индекс + 1;
Матрица.SetValue(Индекс ,52); 
 Индекс = Индекс + 1;
Матрица.SetValue(Индекс ,1); 
 Индекс = Индекс + 1;
Матрица.SetValue(Индекс ,1); 
 Индекс = Индекс + 1;
Матрица.SetValue(Индекс ,0);
                
                Возврат Матрица;
                
КонецФункции
...Показать Скрыть
33. Александр Васильев (flord) 98 29.07.16 09:51 Сейчас в теме
(32) BaHgaJI, Выяснилось, что по нашему заключенному договору с Мегафоном в этой системе Bind_transceiver не поддерживается
(Либо у Мегафона в принципе не поддерживается Bind_transceiver).
Работает Bind_transmitter.

A PDU на запрос BIND был правильным – изменил команду и заработало.
Спасибо за помощь!
34. Артем Замолодчиков (BaHgaJI) 23 29.07.16 11:03 Сейчас в теме
(33) flord, Вот оно че, у нас мегафон на Bind_transceiver работает
35. Владимир Слинько (Revolver_61) 02.08.16 14:45 Сейчас в теме
Подскажите, что означает ошибка "Код Ошибки Постоянного Приложения Приемника ESME (ESME Receiver Permanent App Error Code)" ?
Приходит в пакете submit_sm_resp
36. Артем Замолодчиков (BaHgaJI) 23 03.08.16 08:30 Сейчас в теме
(35) Revolver_61,
1. неверные параметры в отправленном submit_sm.
2. от smsc других регионов и операторов пришел ответ о невозможности принять смс по разным причинам.
3. закончились деньги на лицевом счету, необходимо обратиться к своему менеджеру для выяснения вопроса.
37. Артем Замолодчиков (BaHgaJI) 23 03.08.16 08:31 Сейчас в теме
(35) Revolver_61, часто эта ошибка приходит если отправляется смс на городской номер
38. S KoR (Tanis) 07.01.17 16:49 Сейчас в теме
Доброго времени!

Подскажите как именно работает с МТС? Обработку пока не скачивал.

В описании сказано. что вводится логин и пароль (МД5). Эти "учетки" просто пользователя (своего личного) или после договора компании с МТС о доставке смс?
По какому шлюзу обмен идет?

Спасибо!
39. Артем Замолодчиков (BaHgaJI) 23 09.01.17 08:21 Сейчас в теме
Добрый день! Договор с МТС нужен, у них есть апи по SOAP. (веб сервис). В моей конфигурации пример этого веб-сервиса, в принципе самому там не сложно настроить.
40. Александр Жилин (real_alexasha) 10.03.17 12:22 Сейчас в теме
Здравствуйте!

Без создания регламентных заданий, обработка РассылкаSMSМегафон отправляет сообщения?
41. Артем Замолодчиков (BaHgaJI) 23 20.03.17 11:13 Сейчас в теме
42. Cyborg Cyborg (cyborg55) 24 01.06.17 13:23 Сейчас в теме
Добрый день. Пытаюсь отправить через мтс. Не получается. Как мне получить пароль в формате MD5? Это мне мтс должен в таком формате предоставить?
43. Артем Замолодчиков (BaHgaJI) 23 04.06.17 00:05 Сейчас в теме
(42) нет, мтс предоставляет в обычном формате, в мд5 на любом сайте конквертните, например http://decodeit.ru/md5
Оставьте свое сообщение