1
0
mirror of https://github.com/BlizD/Tasks.git synced 2025-03-25 21:28:57 +02:00

@CptAFK отправка через телеграмм кодировка сообщений.

This commit is contained in:
Anton Ivanov 2019-06-11 08:17:49 +03:00
parent 02e0a7133c
commit fab8566e8b
5 changed files with 77 additions and 30 deletions
src/cf
Catalogs/узКонстанты/Ext
CommonForms/узНастройкиУправленияЗадачами/Ext
CommonModules/узТелеграммСервер/Ext
DataProcessors/узРаботаСТелеграм
Ext
Forms/Форма/Ext/Form

@ -36,6 +36,12 @@
<Description>Телеграм MaxMessangeID</Description>
<IsFolder>false</IsFolder>
</Item>
<Item id="f54d31d1-3ab2-40f1-85a5-36ae338732b4">
<Name>ТелеграммИспользоватьЗаменуСимволовВДругуюКодировку</Name>
<Code>000000008</Code>
<Description>Телеграмм использовать замену символов в другую кодировку</Description>
<IsFolder>false</IsFolder>
</Item>
<Item id="a4ff6b55-fe91-4281-a871-a45a7292fc3e">
<Name>ТелеграммИспользоватьПроксиДляОтправки</Name>
<Code>000000006</Code>

@ -167,15 +167,20 @@
<Event name="BeforeAddRow">КонстантыПередНачаломДобавления</Event>
</Events>
<ChildItems>
<LabelField name="КонстантыКод" id="26">
<DataPath>узКонстанты.Code</DataPath>
<ContextMenu name="КонстантыКодКонтекстноеМеню" id="27"/>
<ExtendedTooltip name="КонстантыКодРасширеннаяПодсказка" id="28"/>
</LabelField>
<LabelField name="КонстантыНаименование" id="23">
<DataPath>узКонстанты.Description</DataPath>
<ContextMenu name="КонстантыНаименованиеКонтекстноеМеню" id="24"/>
<ExtendedTooltip name="КонстантыНаименованиеРасширеннаяПодсказка" id="25"/>
</LabelField>
<LabelField name="КонстантыКод" id="26">
<DataPath>узКонстанты.Code</DataPath>
<ContextMenu name="КонстантыКодКонтекстноеМеню" id="27"/>
<ExtendedTooltip name="КонстантыКодРасширеннаяПодсказка" id="28"/>
<LabelField name="узКонстантыЗначение" id="88">
<DataPath>узКонстанты.Значение</DataPath>
<ContextMenu name="узКонстантыЗначениеКонтекстноеМеню" id="89"/>
<ExtendedTooltip name="узКонстантыЗначениеРасширеннаяПодсказка" id="90"/>
</LabelField>
</ChildItems>
</Table>

@ -1,5 +1,5 @@

Функция ПолучитьМассивПолучателей(МассивПользователейКому)
Функция ПолучитьМассивПолучателей(МассивПользователейКому) Экспорт
МассивПолучателейТелеграмм = Новый Массив();
@ -15,6 +15,7 @@
НастройкаТелеграмм = Новый Структура();
НастройкаТелеграмм.Вставить("ИД",пПользователь.узИДПользователяТелеграмм);
НастройкаТелеграмм.Вставить("узИДПользователяТелеграмм",пПользователь.узИДПользователяТелеграмм);
НастройкаТелеграмм.Вставить("Пользователь",пПользователь);
МассивПолучателейТелеграмм.Добавить(НастройкаТелеграмм);
@ -223,29 +224,58 @@
Возврат ОбрабатываемаяСтрока;
КонецЕсли;
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(37),"%25"); // "%"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(33),"%21"); // "!"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(34),"%22"); // """ (кавычка)
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(35),"%23"); // "#"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(36),"%24"); // "$"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(38),"%26"); // "&"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(39),"%27"); // "'"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(42),"%2A"); // "*"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(44),"%2C"); // ","
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(58),"%3A"); // ":"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(59),"%3B"); // ";"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(60),"%3C"); // "<"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(61),"%3D"); // "="
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(62),"%3E"); // ">"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(63),"%3F"); // "?"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(91),"%5B"); // "["
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(93),"%5D"); // "]"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(94),"%5E"); // "^"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(96),"%60"); // "`"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(123),"%7B"); // "{"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(124),"%7C"); // "|"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(125),"%7D"); // "}"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(32),"%20"); // " " (пробел)
пТелеграммИспользоватьЗаменуСимволовВДругуюКодировку = Справочники.узКонстанты.ПолучитьЗначениеКонстанты(
"ТелеграммИспользоватьЗаменуСимволовВДругуюКодировку",Тип("Булево"),,Истина,Истина);
Если пТелеграммИспользоватьЗаменуСимволовВДругуюКодировку Тогда
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(37),"%25"); // "%"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(33),"%21"); // "!"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(34),"%22"); // """ (кавычка)
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(35),"%23"); // "#"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(36),"%24"); // "$"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(38),"%26"); // "&"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(39),"%27"); // "'"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(42),"%2A"); // "*"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(44),"%2C"); // ","
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(58),"%3A"); // ":"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(59),"%3B"); // ";"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(60),"%3C"); // "<"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(61),"%3D"); // "="
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(62),"%3E"); // ">"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(63),"%3F"); // "?"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(91),"%5B"); // "["
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(93),"%5D"); // "]"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(94),"%5E"); // "^"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(96),"%60"); // "`"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(123),"%7B"); // "{"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(124),"%7C"); // "|"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(125),"%7D"); // "}"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,Символ(32),"%20"); // " " (пробел)
Иначе
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%25",Символ(37) ); // "%"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%21",Символ(33) ); // "!"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%22",Символ(34) ); // """ (кавычка)
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%23",Символ(35) ); // "#"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%24",Символ(36) ); // "$"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%26",Символ(38) ); // "&"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%27",Символ(39) ); // "'"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%2A",Символ(42) ); // "*"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%2C",Символ(44) ); // ","
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%3A",Символ(58) ); // ":"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%3B",Символ(59) ); // ";"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%3C",Символ(60) ); // "<"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%3D",Символ(61) ); // "="
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%3E",Символ(62) ); // ">"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%3F",Символ(63) ); // "?"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%5B",Символ(91) ); // "["
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%5D",Символ(93) ); // "]"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%5E",Символ(94) ); // "^"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%60",Символ(96) ); // "`"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%7B",Символ(123)); // "{"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%7C",Символ(124)); // "|"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%7D",Символ(125)); // "}"
ОбрабатываемаяСтрока = СтрЗаменить(ОбрабатываемаяСтрока,"%20",Символ(32) ); // " " (пробел)
Конецесли;
Возврат ОбрабатываемаяСтрока;
КонецФункции //ЗаменитьЗарезервированныеСимволы

@ -155,6 +155,7 @@
Для Каждого Пользователь Из МассивПользователейДляОтправки Цикл
ИДПользователяТелеграм = Пользователь.узИДПользователяТелеграмм;
Если Не ЗначениеЗаполнено(ИДПользователяТелеграм) Тогда
Продолжить;
КонецЕсли;

@ -2,8 +2,13 @@
&НаСервере
Процедура ОтправитьСообщениеНаСервере()
МассивПользователейДляОтправки = Новый Массив;
МассивПользователейДляОтправки.Добавить(ЭтотОбъект.ПользовательДляОтправки);
//+ #174 Кравцов А.В. 2019-06-06
//МассивПользователейДляОтправки = Новый Массив;
//МассивПользователейДляОтправки.Добавить(ЭтотОбъект.ПользовательДляОтправки);
МассивПользователейКому = Новый Массив;
МассивПользователейКому.Добавить(ЭтотОбъект.ПользовательДляОтправки);
МассивПользователейДляОтправки = узТелеграммСервер.ПолучитьМассивПолучателей(МассивПользователейКому);
//- #174 Кравцов А.В. 2019-06-06
пОбъект = РеквизитФормыВЗначение("Объект");
пОбъект.ОтправитьСообщениеTelegram(ЭтотОбъект.ТескстСообщенияДляОтправки, МассивПользователейДляОтправки);