eComm+

Модулі для BAS / 1С* - розроблено в Україні!

Инструменты пользователя

Инструменты сайта


delivery_designer_unfu_2_4_0_2

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
delivery_designer_unfu_2_4_0_2 [2025/02/06 20:47]
webmaster
delivery_designer_unfu_2_4_0_2 [2025/03/02 18:27] (текущий)
webmaster [Додавання реквізиту "ШаблонViber" в довідник "ДействияРабочегоПроцесса"]
Строка 168: Строка 168:
  
 [[small_business_1_6_21_3|Для конфигураций Business Automation Software for small company версии 1.6.21.3 и выше]]\\ [[small_business_1_6_21_3|Для конфигураций Business Automation Software for small company версии 1.6.21.3 и выше]]\\
-[[small_business_other|Для остальных конфигураций УНФ, Управление швейным предприятием, Business Automation Software for small company версии до 1.6.21.3]]+[[small_business_other|Для остальных конфигураций УНФ, Управление швейным предприятием, BAS for small company версии до 1.6.21.3]]
  
-=== Метод "ОтправитьSMS" === 
-Приведем код к следующему виду: 
  
-<code> +<note>В случае использования только модуля новой почты (без подключения укрпочты и др. перевозчиков) допускается сохранение города отделения доставки в карточке контрагента  
- Ответ = ПреобразоватьОтвет(ФайлОтвета, "ns1:ResultArray"); +[[delivery_designer_unf_contr|Реквизиты доставки в карточке контрагента УНФ SmallBusiness]]</note>
- //ИдентификаторСообщения = Ответ.id; +
-  +
- //++ +
- //Результат.ОтправленныеСообщенияобавить(Новый Структура("НомерПолучателя,ИдентификаторСообщения",  +
- //   НомерПолучателя)); +
- // +
- //Если ЗначениеЗаполнено(Ответ) Тогда +
- // Результат.ОписаниеОшибки = Результат.ОписаниеОшибки  +
- // + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru='SMS на номер %1';uk='SMS на номер %1'"), Элемент+
- // + ": " + Ответ +
- // + Символы.ПС; +
- //КонецЕсли; +
- Попытка +
- ИдентификаторСообщения = Новый УникальныйИдентификатор(Ответ)+
- УспешноОтправлено = Истина; +
- Исключение +
- УспешноОтправлено = Ложь; +
- КонецПопытки+
-  +
- Если УспешноОтправлено Тогда  +
- Результат.ОтправленныеСообщенияобавить(Новый Структура("НомерПолучателя,ИдентификаторСообщения",  +
-   Элемент, Ответ)); +
- Иначе +
- Результат.ОписаниеОшибки = Результат.ОписаниеОшибки  +
- + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru='SMS на номер %1';uk='SMS на номер %1'"), Элемент) +
- + ": " + Ответ +
- + Символы.ПС;    +
- КонецЕсли;    +
- //--+
  
-</code> 
  
 +===== Допрацювання механізму відправки SMS для можливості відправки в Viber =====
  
-=== Метод "СтатусДоставки" === +У випадку розширення файлу поставки функціоналом відправки в Viber додатково необхідно внести зміни в типову конфігурацію.
-Приведем код к следующему виду:+
  
-<code> +==== Додавання реквізиту "ТекстViber" в документ "Событие====
- |   <soapenv:Body> +
- |      <tur:GetMessageStatus> +
- |           <!--Optional:--> +
- |           <tur:MessageId>" + ИдентификаторСообщения + "</tur:MessageId> +
- |      </tur:GetMessageStatus> +
- |   </soapenv:Body> +
-</code>+
  
-<code>+^ Им'я реквізиту      ^ Синонім                  ^ Тип          ^ 
 +| ТекстViber    | Текст (Viber) | Строка (Необмежена)        |
  
- //++ 
- //Баланс = ПреобразоватьОтвет(ФайлОтвета, "ns1:GetCreditBalanceResult"); 
- //УдалитьФайлы(ФайлОтвета); 
  
- //Ответ Неопределено+==== Редагування форми "ФормаСообщенияSMS" документа "Событие" ====
- //Запрос = Неопределено; +
- //Соединение = Неопределено;+
  
- //Возврат Баланс;+Відобразимо на формі реквізит "ТекстViber"  
 +Положення заголовка: Ліворуч 
 +Многострочный режим: Так 
 +Видимість: Ні
  
- СтатусДоставки = ПреобразоватьОтветайлОтвета, "ns1:GetMessageStatusResult"); +{{ :vibersms.png?direct&600 |}} 
- УдалитьФайлы(ФайлОтвета);+ 
 +Приведемо код методу "ВыполнитьОтправкуSMS" до вигляду: 
 +<code> 
 + //++ 
 + //РезультатОтправки = ОтправкаSMS.ОтправитьSMS(МассивНомеров, Объект.Содержание, ИмяОтправителяSMS, ОтправлятьВТранслите); 
 + Если ЗначениеЗаполнено(УчетнаяЗаписьТогда 
   
- Возврат СтатусДоставкиSMS(СтатусДоставки);+ СтруктураНастроек = eCommДоставкаСервер.Настройки(УчетнаяЗапись); 
 +  
 + Если СтруктураНастроек.Настройки.Свойство("ИспользоватьГибриднуюViberОтправку")  
 + И СтруктураНастроек.Настройки.ИспользоватьГибриднуюViberОтправку = Истина Тогда 
 + РезультатОтправки = Обработки["eComm_ОтправкаСообщений"].ОтправитьСообщениеViber(МассивНомеров, Объект.ТекстViber, Объект.Содержание); 
 + Иначе 
 + РезультатОтправки = ОтправкаSMS.ОтправитьSMS(МассивНомеров, Объект.Содержание, Объект.ИмяОтправителяSMS, ОтправлятьВТранслите); 
 + КонецЕсли; 
 + Иначе 
 + РезультатОтправки = ОтправкаSMS.ОтправитьSMS(МассивНомеров, Объект.Содержание, Объект.ИмяОтправителяSMS, ОтправлятьВТранслите)
 + КонецЕсли;
  //--  //--
- 
 </code> </code>
  
- +Додамо в кінці методу "ПриСозданииНаСерверекод:
- +
-=== Метод "ПреобразоватьОтвет" === +
-Приведем код к следующему виду: +
 <code> <code>
- Если СокрЛП(ЧтениеХМЛ.Имя) <> Тег и ЧтениеХМЛ.ТипУзла <> ТипУзлаXML.Текст Тогда + //++ 
- Продолжить; + Если Параметры.Свойство("УчетнаяЗапись", УчетнаяЗапись)  
- ИначеЕсли ЧтениеХМЛ.ТипУзла = ТипУзлаXML.Текст и СокрЛП(ЧтениеХМЛ.Имя) = "#text" Тогда + Или ЗначениеЗаполнено(ОбъектекстViber) Тогда  
- //++ + Элементы.ТекстViber.Видимость Истина; 
- //ЗначениеВозврата = СокрЛП(ЧтениеХМЛ.Значение); + КонецЕсли; 
- //Прервать; + //--
- Если ЧтениеХМЛ.Значение = "Сообщения успешно отправлены" Тогда  +
- Продолжить; +
- Иначе +
- ЗначениеВозврата СокрЛП(ЧтениеХМЛ.Значение); +
- Прервать+
- КонецЕсли; +
- //-- +
- КонецЕсли;+
 </code> </code>
 +==== Додавання реквізиту "ШаблонViber" в довідник "ДействияРабочегоПроцесса" ====
  
-=== Добавим метод "СтатусДоставкиSMS" в конце модуля ===+^ Им'я реквізиту      ^ Синонім                  ^ Тип          ^ 
 +| ШаблонViber    | Шаблон (Viber) | СправочникСсылка.ШаблоныСообщений        |
  
-<code> +Відобразимо на формі реквізит "ШаблонViber
-Функция СтатусДоставкиSMS(СтатусСтрокой) + 
-  +{{ :viberproces.png?direct&600 |}}
- //Сообщение с ID X не найдено +
- //Не достаточно параметров для выполнения функции +
- //Вы не авторизированы +
- //Отправлено +
- //В очереди +
- //Сообщение передано в мобильную сеть +
- //Сообщение доставлено получателю  +
- //Истек срок сообщения +
- //Удалено оператором +
- //Не доставлено +
- //Сообщение доставлено на сервер +
- //Отклонено оператором +
- //Неизвестный статус +
- //Ошибка, сообщение не отправлено +
- //Не достаточно кредитов на счете +
- //Отправка отменена +
- //Отправка приостановлена +
- //Удалено пользователем +
-  +
- СоответствиеСтатусов = Новый Соответствие; +
- СоответствиеСтатусов.Вставить("" , "НеОтправлялось"); +
-    СоответствиеСтатусов.Вставить("Отправка приостановлена" , "НеОтправлялось"); // SCHEDULED +
-    СоответствиеСтатусов.Вставить("В очереди" , "Отправляется");    // ENROUTE +
- СоответствиеСтатусов.Вставить("Сообщение передано в мобильную сеть" , "Отправляется");    // ENROUTE +
- СоответствиеСтатусов.Вставить("Сообщение доставлено на сервер" , "Отправляется");    // ENROUTE +
-    СоответствиеСтатусов.Вставить("Сообщение доставлено получателю" , "Доставлено");      // DELIVERED +
-    СоответствиеСтатусов.Вставить("Истек срок сообщения" , "НеДоставлено");    // EXPIRED +
-    СоответствиеСтатусов.Вставить("Отправка отменена" , "НеДоставлено");  // DELETED +
- СоответствиеСтатусов.Вставить("Удалено пользователем" , "НеДоставлено");    // DELETED +
-    СоответствиеСтатусов.Вставить("Ошибка, сообщение не отправлено" , "НеДоставлено");    // UNDELIVERABLE +
-    СоответствиеСтатусов.Вставить("Отправлено" , "Отправлено");      // ACCEPTED +
-    СоответствиеСтатусов.Вставить("Неизвестный статус" , "Ошибка"); // UNKNOWN +
-    СоответствиеСтатусов.Вставить("Отклонено оператором" , "НеОпознаноПровайдером"); // REJECTED +
-    СоответствиеСтатусов.Вставить("Удалено оператором" , "НеОпознаноПровайдером"); // DISCARDED +
-    СоответствиеСтатусов.Вставить("Не доставлено" , "НеДоставлено");    // SENDING +
-    СоответствиеСтатусов.Вставить("Не достаточно кредитов на счете" , "НеДоставлено");    // NOT_SUPPORTED +
-    СоответствиеСтатусов.Вставить("Вы не авторизированы" , "НеДоставлено");    // WRONG_ALPHANAME +
-    СоответствиеСтатусов.Вставить("Не достаточно параметров для выполнения функции", "НеДоставлено");   // WRONG_ALPHANAME_RETURNED+
  
- Результат = СоответствиеСтатусов[СтатусСтрокой]; 
- Возврат ?(Результат = Неопределено, "Ошибка", Результат); 
-  
-КонецФункции 
-</code> 
  
  
-<note>В случае использования только модуля новой почты (без подключения укрпочты и др. перевозчиков) допускается сохранение города / отделения доставки в карточке контрагента  
-[[delivery_designer_unf_contr|Реквизиты доставки в карточке контрагента УНФ / SmallBusiness]]</note> 
  
delivery_designer_unfu_2_4_0_2.1738867655.txt.gz · Последнее изменение: 2022/02/24 03:40 (внешнее изменение)