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"];
|
||||
ИДПоследнегоПринятогоСообщения = Неопределено;
|
||||
|
||||
ТЗПользователиТелеграмм = ПолучитьТЗПользователиТелеграмм();
|
||||
|
||||
Для Каждого СоответсвиеMessange Из МассивResult Цикл
|
||||
|
||||
ИДПоследнегоПринятогоСообщения = Формат(СоответсвиеMessange["update_id"] + 1, "ЧГ=");
|
||||
@ -102,32 +104,69 @@
|
||||
Если СоответсвиеMessange_message.Получить("text") <> Неопределено Тогда
|
||||
MessageText = СоответсвиеMessange_message.Получить("text");
|
||||
|
||||
Если Найти(MessageText, "/addwork") <> 0 Тогда
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст =
|
||||
"ВЫБРАТЬ ПЕРВЫЕ 1
|
||||
| Пользователи.Ссылка КАК Пользователь
|
||||
|ИЗ
|
||||
| Справочник.Пользователи КАК Пользователи
|
||||
|ГДЕ
|
||||
| Пользователи.узИДПользователяТелеграмм = &узИДПользователяТелеграмм";
|
||||
// + Иванов А.Б. 2020-07-11
|
||||
// Если Найти(MessageText, "/addwork") <> 0 Тогда
|
||||
// Запрос = Новый Запрос;
|
||||
// Запрос.Текст =
|
||||
// "ВЫБРАТЬ ПЕРВЫЕ 1
|
||||
// | Пользователи.Ссылка КАК Пользователь
|
||||
// |ИЗ
|
||||
// | Справочник.Пользователи КАК Пользователи
|
||||
// |ГДЕ
|
||||
// | Пользователи.узИДПользователяТелеграмм = &узИДПользователяТелеграмм";
|
||||
//
|
||||
// Запрос.УстановитьПараметр("узИДПользователяТелеграмм", Число(пСhatИД));
|
||||
//
|
||||
// РезультатЗапроса = Запрос.Выполнить();
|
||||
// Если РезультатЗапроса.Пустой() Тогда
|
||||
// Продолжить;
|
||||
// КонецЕсли;
|
||||
//
|
||||
// Выборка = РезультатЗапроса.Выбрать();
|
||||
// Пока Выборка.Следующий() Цикл
|
||||
// ТекущиеДелаОбъект = Справочники.узТекущиеДела.СоздатьЭлемент();
|
||||
// ТекущиеДелаОбъект.Автор = Выборка.Пользователь;
|
||||
// ТекущиеДелаОбъект.ТекстСодержания = СтрЗаменить(MessageText, "/addwork", "");
|
||||
// ТекущиеДелаОбъект.Записать();
|
||||
// КонецЦикла;
|
||||
//
|
||||
// КонецЕсли;
|
||||
|
||||
Запрос.УстановитьПараметр("узИДПользователяТелеграмм", Число(пСhatИД));
|
||||
|
||||
РезультатЗапроса = Запрос.Выполнить();
|
||||
Если РезультатЗапроса.Пустой() Тогда
|
||||
Если Найти(MessageText, "/addwork") = 0 Тогда
|
||||
Продолжить;
|
||||
КонецЕсли;
|
||||
|
||||
Выборка = РезультатЗапроса.Выбрать();
|
||||
Пока Выборка.Следующий() Цикл
|
||||
пузИДПользователяТелеграмм = Число(пСhatИД);
|
||||
|
||||
ПараметрыОтбора=Новый Структура();
|
||||
ПараметрыОтбора.Вставить("узИДПользователяТелеграмм",пузИДПользователяТелеграмм);
|
||||
НайденныеСтроки = ТЗПользователиТелеграмм.НайтиСтроки(ПараметрыОтбора);
|
||||
ВсегоНайденныеСтроки = НайденныеСтроки.Количество();
|
||||
ТекстОшибки = "";
|
||||
Если ВсегоНайденныеСтроки = 1 тогда
|
||||
СтрокаТЗПользователиТелеграмм = НайденныеСтроки[0];
|
||||
ИначеЕсли ВсегоНайденныеСтроки > 1 Тогда
|
||||
ТекстОшибки = "Ошибка! Найдено более 1 строки";
|
||||
Иначе
|
||||
ТекстОшибки = "Ошибка! Не найдена строка";
|
||||
Конецесли;
|
||||
|
||||
Если ЗначениеЗаполнено(ТекстОшибки) Тогда
|
||||
ТекстОшибки = ТекстОшибки
|
||||
+" в ""ТЗПользователиТелеграмм"" для ";
|
||||
Для каждого ЭлементОтбора из ПараметрыОтбора цикл
|
||||
ТекстОшибки = ТекстОшибки
|
||||
+" "+ ЭлементОтбора.Ключ + " = ["+ЭлементОтбора.Значение+"]";
|
||||
Конеццикла;
|
||||
ВызватьИсключение ТекстОшибки;
|
||||
Конецесли;
|
||||
|
||||
ТекущиеДелаОбъект = Справочники.узТекущиеДела.СоздатьЭлемент();
|
||||
ТекущиеДелаОбъект.Автор = Выборка.Пользователь;
|
||||
ТекущиеДелаОбъект.Автор = СтрокаТЗПользователиТелеграмм.Пользователь;
|
||||
ТекущиеДелаОбъект.ТекстСодержания = СтрЗаменить(MessageText, "/addwork", "");
|
||||
ТекущиеДелаОбъект.Записать();
|
||||
КонецЦикла;
|
||||
// - Иванов А.Б. 2020-07-11
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
ИначеЕсли СоответсвиеMessange_message.Получить("photo") <> Неопределено Тогда
|
||||
|
||||
@ -143,6 +182,26 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Функция ПолучитьТЗПользователиТелеграмм()
|
||||
|
||||
Запрос = Новый Запрос;
|
||||
Запрос.Текст = "ВЫБРАТЬ
|
||||
| МАКСИМУМ(Пользователи.Ссылка) КАК Пользователь,
|
||||
| Пользователи.узИДПользователяТелеграмм КАК узИДПользователяТелеграмм
|
||||
|ИЗ
|
||||
| Справочник.Пользователи КАК Пользователи
|
||||
|ГДЕ
|
||||
| Пользователи.узИДПользователяТелеграмм <> 0
|
||||
|
|
||||
|СГРУППИРОВАТЬ ПО
|
||||
| Пользователи.узИДПользователяТелеграмм";
|
||||
|
||||
ТЗПользователиТелеграмм = Запрос.Выполнить().Выгрузить();
|
||||
|
||||
Возврат ТЗПользователиТелеграмм;
|
||||
|
||||
КонецФункции
|
||||
|
||||
Процедура ОтправитьСообщениеTelegram(ТекстСообщения, МассивПользователейДляОтправки, УведомлятьОРезультате = Ложь) Экспорт
|
||||
|
||||
Если МассивПользователейДляОтправки.Количество() = 0 Тогда
|
||||
|
Loading…
x
Reference in New Issue
Block a user