Рассылка уведомлений в документообороте. Падает запрос
Добрый день.
Написал расширение, которое при отправки уведомления присылает результаты предыдущих согласований на почту ( в виде переписки как в самом документообороте). Расширение заменяет функцию в модуле РаботаСУведомлениямиПредопределяемый.
При отработке на тестовой базе все отрабатывает, при запуске на рабочей базе рег задание уведомления падает на параметре документа, для которого мы запросом достаем переписку (ОбъектПодписки.БизнесПроцесс.ВедущаяЗадача.БизнесПроцесс;). Обе базы серверные, на 400 пользователей.
Подскажите, как можно поправить ситуацию?
Написал расширение, которое при отправки уведомления присылает результаты предыдущих согласований на почту ( в виде переписки как в самом документообороте). Расширение заменяет функцию в модуле РаботаСУведомлениямиПредопределяемый.
При отработке на тестовой базе все отрабатывает, при запуске на рабочей базе рег задание уведомления падает на параметре документа, для которого мы запросом достаем переписку (ОбъектПодписки.БизнесПроцесс.ВедущаяЗадача.БизнесПроцесс;). Обе базы серверные, на 400 пользователей.
Подскажите, как можно поправить ситуацию?
&Вместо("СформироватьТекстУведомленияПоСобытиюПереопределяемый")
Функция УП_СформироватьТекстУведомленияПоСобытиюПереопределяемый(
ОбъектПодписки,
ВидСобытия,
ОбъектУведомления,
ПолучательУведомления,
СпособУведомления,
ДополнительноеОписание)
ТекстУведомления = "";
Попытка
Если СпособУведомления = Перечисления.СпособыУведомления.ПоПочте Тогда
ТекстСсылокВыполненияЗадачи = РаботаСУведомлениями.ПолучитьНавигационнуюСсылкуУведомления(ОбъектУведомления);
ВключеноВыполнениеЗадачПоПочте = РегистрыСведений.НастройкиУведомлений.ПолучитьДополнительнуюНастройку(
ПолучательУведомления,
Перечисления.НастройкиУведомлений.ВыполнениеЗадачПоПочте);
ВключеноВыполнениеЗадачПоПочте = РегистрыСведений.НастройкиУведомлений.ПолучитьДополнительнуюНастройку(
ПолучательУведомления,
Перечисления.НастройкиУведомлений.ВыполнениеЗадачПоПочте);
Если ВключеноВыполнениеЗадачПоПочте Тогда
Если ВидСобытия = Справочники.ВидыБизнесСобытий.СозданиеЗадачи
Или ВидСобытия = Справочники.ВидыБизнесСобытий.ПеренаправлениеЗадачи
Или ВидСобытия = Справочники.ВидыБизнесСобытий.ПросроченаЗадача
Или ВидСобытия = Справочники.ВидыБизнесСобытий.ПодошелСрокЗадачи Тогда
НадписьВыполнениеЗадачПоПочте = ВыполнениеЗадачПоПочтеСервер.СформироватьТекстУведомленияПоЗадачеСВозможностьюВыполненияП оПочте(
ОбъектУведомления, ПолучательУведомления);
Иначе
НадписьВыполнениеЗадачПоПочте = РаботаСУведомлениями.СформироватьПредставлениеОбъекта(
ОбъектУведомления,
ВидСобытия,
ПолучательУведомления,
ДополнительноеОписание);
КонецЕсли;
КонецЕсли;
Ссылка = ОбъектПодписки.БизнесПроцесс.ВедущаяЗадача.БизнесПроцесс;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ИсторияВыполненияЗадач.БизнесПроцесс КАК БизнесПроцесс,
| ИсторияВыполненияЗадач.Описание КАК Описание
|ИЗ
| БизнесПроцесс.КомплексныйПроцесс.Этапы КАК КомплексныйПроцессЭтапы
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ИсторияВыполненияЗадач КАК ИсторияВыполненияЗадач
| ПО КомплексныйПроцессЭтапы.ЗапущенныйБизнесПроцесс = ИсторияВыполненияЗадач.БизнесПроцесс
|ГДЕ
| КомплексныйПроцессЭтапы.Ссылка = &Ссылка
| И КомплексныйПроцессЭтапы.ЗадачаВыполнена = ИСТИНА";
Запрос.УстановитьПараметр("Ссылка", Ссылка);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
СписокСогласовавших= "";
Если РезультатЗапроса.Пустой() Тогда
ТекстУведомления = "";
Возврат ТекстУведомления;
КонецЕсли;
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
СписокСогласовавших = СписокСогласовавших + Символы.ПС + ВыборкаДетальныеЗаписи.БизнесПроцесс + Символы.ПС + Символы.ПС + ВыборкаДетальныеЗаписи.Описание + Символы.ПС + Символы.ПС;
КонецЦикла;
УведомлениеКакВТиповой = Символы.ПС + НадписьВыполнениеЗадачПоПочте + Символы.ПС;
ТекстУведомления = СтрШаблон("%1
|
|
|Результат предыдущего согласования:
|%2
|",
УведомлениеКакВТиповой,
СписокСогласовавших);
КонецЕсли;
Исключение
ТекстУведомления = "";
КонецПопытки;
Возврат ТекстУведомления;
КонецФункции
ПоказатьОтветы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Добрый день.
Я думаю дело в блокировках, которые вы накладываете на таблицы базы в конструкции ОбъектПодписки.БизнесПроцесс.ВедущаяЗадача.БизнесПроцесс
В тестовой у вас другая нагруженность. Поэтому такая конструкция "прокатывала". Разбейте получение необходимого реквизита на отдельные запросы или через стандартные ЗначениеРеквизитаОбъекта
Я думаю дело в блокировках, которые вы накладываете на таблицы базы в конструкции ОбъектПодписки.БизнесПроцесс.ВедущаяЗадача.БизнесПроцесс
В тестовой у вас другая нагруженность. Поэтому такая конструкция "прокатывала". Разбейте получение необходимого реквизита на отдельные запросы или через стандартные ЗначениеРеквизитаОбъекта
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот