mirror of
https://github.com/BlizD/Tasks.git
synced 2025-03-19 21:07:53 +02:00
Убрал использование запроса в цикле. Работа с телеграмм.
This commit is contained in:
parent
ef930f3fc4
commit
02d78bcf6f
@ -87,6 +87,8 @@
|
|||||||
МассивResult = ОтветСоответсвие["result"];
|
МассивResult = ОтветСоответсвие["result"];
|
||||||
ИДПоследнегоПринятогоСообщения = Неопределено;
|
ИДПоследнегоПринятогоСообщения = Неопределено;
|
||||||
|
|
||||||
|
ТЗПользователиТелеграмм = ПолучитьТЗПользователиТелеграмм();
|
||||||
|
|
||||||
Для Каждого СоответсвиеMessange Из МассивResult Цикл
|
Для Каждого СоответсвиеMessange Из МассивResult Цикл
|
||||||
|
|
||||||
ИДПоследнегоПринятогоСообщения = Формат(СоответсвиеMessange["update_id"] + 1, "ЧГ=");
|
ИДПоследнегоПринятогоСообщения = Формат(СоответсвиеMessange["update_id"] + 1, "ЧГ=");
|
||||||
@ -102,32 +104,69 @@
|
|||||||
Если СоответсвиеMessange_message.Получить("text") <> Неопределено Тогда
|
Если СоответсвиеMessange_message.Получить("text") <> Неопределено Тогда
|
||||||
MessageText = СоответсвиеMessange_message.Получить("text");
|
MessageText = СоответсвиеMessange_message.Получить("text");
|
||||||
|
|
||||||
Если Найти(MessageText, "/addwork") <> 0 Тогда
|
// + Иванов А.Б. 2020-07-11
|
||||||
Запрос = Новый Запрос;
|
// Если Найти(MessageText, "/addwork") <> 0 Тогда
|
||||||
Запрос.Текст =
|
// Запрос = Новый Запрос;
|
||||||
"ВЫБРАТЬ ПЕРВЫЕ 1
|
// Запрос.Текст =
|
||||||
| Пользователи.Ссылка КАК Пользователь
|
// "ВЫБРАТЬ ПЕРВЫЕ 1
|
||||||
|ИЗ
|
// | Пользователи.Ссылка КАК Пользователь
|
||||||
| Справочник.Пользователи КАК Пользователи
|
// |ИЗ
|
||||||
|ГДЕ
|
// | Справочник.Пользователи КАК Пользователи
|
||||||
| Пользователи.узИДПользователяТелеграмм = &узИДПользователяТелеграмм";
|
// |ГДЕ
|
||||||
|
// | Пользователи.узИДПользователяТелеграмм = &узИДПользователяТелеграмм";
|
||||||
|
//
|
||||||
|
// Запрос.УстановитьПараметр("узИДПользователяТелеграмм", Число(пСhatИД));
|
||||||
|
//
|
||||||
|
// РезультатЗапроса = Запрос.Выполнить();
|
||||||
|
// Если РезультатЗапроса.Пустой() Тогда
|
||||||
|
// Продолжить;
|
||||||
|
// КонецЕсли;
|
||||||
|
//
|
||||||
|
// Выборка = РезультатЗапроса.Выбрать();
|
||||||
|
// Пока Выборка.Следующий() Цикл
|
||||||
|
// ТекущиеДелаОбъект = Справочники.узТекущиеДела.СоздатьЭлемент();
|
||||||
|
// ТекущиеДелаОбъект.Автор = Выборка.Пользователь;
|
||||||
|
// ТекущиеДелаОбъект.ТекстСодержания = СтрЗаменить(MessageText, "/addwork", "");
|
||||||
|
// ТекущиеДелаОбъект.Записать();
|
||||||
|
// КонецЦикла;
|
||||||
|
//
|
||||||
|
// КонецЕсли;
|
||||||
|
|
||||||
Запрос.УстановитьПараметр("узИДПользователяТелеграмм", Число(пСhatИД));
|
Если Найти(MessageText, "/addwork") = 0 Тогда
|
||||||
|
|
||||||
РезультатЗапроса = Запрос.Выполнить();
|
|
||||||
Если РезультатЗапроса.Пустой() Тогда
|
|
||||||
Продолжить;
|
Продолжить;
|
||||||
КонецЕсли;
|
КонецЕсли;
|
||||||
|
|
||||||
Выборка = РезультатЗапроса.Выбрать();
|
пузИДПользователяТелеграмм = Число(пСhatИД);
|
||||||
Пока Выборка.Следующий() Цикл
|
|
||||||
|
ПараметрыОтбора=Новый Структура();
|
||||||
|
ПараметрыОтбора.Вставить("узИДПользователяТелеграмм",пузИДПользователяТелеграмм);
|
||||||
|
НайденныеСтроки = ТЗПользователиТелеграмм.НайтиСтроки(ПараметрыОтбора);
|
||||||
|
ВсегоНайденныеСтроки = НайденныеСтроки.Количество();
|
||||||
|
ТекстОшибки = "";
|
||||||
|
Если ВсегоНайденныеСтроки = 1 тогда
|
||||||
|
СтрокаТЗПользователиТелеграмм = НайденныеСтроки[0];
|
||||||
|
ИначеЕсли ВсегоНайденныеСтроки > 1 Тогда
|
||||||
|
ТекстОшибки = "Ошибка! Найдено более 1 строки";
|
||||||
|
Иначе
|
||||||
|
ТекстОшибки = "Ошибка! Не найдена строка";
|
||||||
|
Конецесли;
|
||||||
|
|
||||||
|
Если ЗначениеЗаполнено(ТекстОшибки) Тогда
|
||||||
|
ТекстОшибки = ТекстОшибки
|
||||||
|
+" в ""ТЗПользователиТелеграмм"" для ";
|
||||||
|
Для каждого ЭлементОтбора из ПараметрыОтбора цикл
|
||||||
|
ТекстОшибки = ТекстОшибки
|
||||||
|
+" "+ ЭлементОтбора.Ключ + " = ["+ЭлементОтбора.Значение+"]";
|
||||||
|
Конеццикла;
|
||||||
|
ВызватьИсключение ТекстОшибки;
|
||||||
|
Конецесли;
|
||||||
|
|
||||||
ТекущиеДелаОбъект = Справочники.узТекущиеДела.СоздатьЭлемент();
|
ТекущиеДелаОбъект = Справочники.узТекущиеДела.СоздатьЭлемент();
|
||||||
ТекущиеДелаОбъект.Автор = Выборка.Пользователь;
|
ТекущиеДелаОбъект.Автор = СтрокаТЗПользователиТелеграмм.Пользователь;
|
||||||
ТекущиеДелаОбъект.ТекстСодержания = СтрЗаменить(MessageText, "/addwork", "");
|
ТекущиеДелаОбъект.ТекстСодержания = СтрЗаменить(MessageText, "/addwork", "");
|
||||||
ТекущиеДелаОбъект.Записать();
|
ТекущиеДелаОбъект.Записать();
|
||||||
КонецЦикла;
|
// - Иванов А.Б. 2020-07-11
|
||||||
|
|
||||||
КонецЕсли;
|
|
||||||
|
|
||||||
ИначеЕсли СоответсвиеMessange_message.Получить("photo") <> Неопределено Тогда
|
ИначеЕсли СоответсвиеMessange_message.Получить("photo") <> Неопределено Тогда
|
||||||
|
|
||||||
@ -143,6 +182,26 @@
|
|||||||
|
|
||||||
КонецПроцедуры
|
КонецПроцедуры
|
||||||
|
|
||||||
|
Функция ПолучитьТЗПользователиТелеграмм()
|
||||||
|
|
||||||
|
Запрос = Новый Запрос;
|
||||||
|
Запрос.Текст = "ВЫБРАТЬ
|
||||||
|
| МАКСИМУМ(Пользователи.Ссылка) КАК Пользователь,
|
||||||
|
| Пользователи.узИДПользователяТелеграмм КАК узИДПользователяТелеграмм
|
||||||
|
|ИЗ
|
||||||
|
| Справочник.Пользователи КАК Пользователи
|
||||||
|
|ГДЕ
|
||||||
|
| Пользователи.узИДПользователяТелеграмм <> 0
|
||||||
|
|
|
||||||
|
|СГРУППИРОВАТЬ ПО
|
||||||
|
| Пользователи.узИДПользователяТелеграмм";
|
||||||
|
|
||||||
|
ТЗПользователиТелеграмм = Запрос.Выполнить().Выгрузить();
|
||||||
|
|
||||||
|
Возврат ТЗПользователиТелеграмм;
|
||||||
|
|
||||||
|
КонецФункции
|
||||||
|
|
||||||
Процедура ОтправитьСообщениеTelegram(ТекстСообщения, МассивПользователейДляОтправки, УведомлятьОРезультате = Ложь) Экспорт
|
Процедура ОтправитьСообщениеTelegram(ТекстСообщения, МассивПользователейДляОтправки, УведомлятьОРезультате = Ложь) Экспорт
|
||||||
|
|
||||||
Если МассивПользователейДляОтправки.Количество() = 0 Тогда
|
Если МассивПользователейДляОтправки.Количество() = 0 Тогда
|
||||||
|
Loading…
x
Reference in New Issue
Block a user