3_1_9_261
This commit is contained in:
1 parent
964f40af7d
commit
b3f016d3f3
116 files changed
+2283
-1640
No files matched your search
@@ -773,7 +773,7 @@
|
||||
Если ОпределенаСледующаяДатаПоРасписанию Тогда
|
||||
Напоминание.ВремяСобытия = СледующаяДатаПоРасписанию;
|
||||
Напоминание.СрокНапоминания = Напоминание.ВремяСобытия - Напоминание.ИнтервалВремениНапоминания;
|
||||
ПодключитьНапоминание(Напоминание, БезОповещенияКлиента);
|
||||
ПодключитьНапоминание(Напоминание, , БезОповещенияКлиента);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
@@ -947,37 +947,47 @@
|
||||
// @skip-check query-in-loop - нет обращения к данным ИБ в запросе.
|
||||
ПодошедшееВремяСобытия = ГрафикСобытия(Расписание, Напоминание.ВремяСобытия + 1, ТекущаяДатаСеанса());
|
||||
|
||||
ВремяСобытия = Напоминание.ВремяСобытия;
|
||||
ТребуетсяПереподключитьПоРасписанию = Ложь;
|
||||
НапоминаниеПросрочено = Ложь;
|
||||
|
||||
// - подошло следующее время события по расписанию;
|
||||
Если ПодошедшееВремяСобытия.Количество() > 0
|
||||
// - указано "Время завершения" в расписании регламентного задания и оно просрочено;
|
||||
Или ЗначениеЗаполнено(Расписание.ВремяЗавершения) И ТекущаяДатаСеанса() > (Напоминание.ВремяСобытия + (Расписание.ВремяЗавершения - Расписание.ВремяНачала))
|
||||
Если ПодошедшееВремяСобытия.Количество() > 0 Тогда
|
||||
ВремяСобытия = ПодошедшееВремяСобытия[ПодошедшееВремяСобытия.ВГраница()];
|
||||
ТребуетсяПереподключитьПоРасписанию = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
// - указано "Время завершения" в расписании регламентного задания и оно просрочено;
|
||||
Если ЗначениеЗаполнено(Расписание.ВремяЗавершения) И ТекущаяДатаСеанса() > (ВремяСобытия + (Расписание.ВремяЗавершения - Расписание.ВремяНачала))
|
||||
// - напоминание ежегодное, но уже прошел месяц со времени события;
|
||||
Или ГрафикСобытияНаГод.Количество() = 1 И ТекущаяДатаСеанса() > ДобавитьМесяц(Напоминание.ВремяСобытия, 1)
|
||||
Или ГрафикСобытияНаГод.Количество() = 1 И ТекущаяДатаСеанса() > ДобавитьМесяц(ВремяСобытия, 1)
|
||||
// - напоминание ежемесячное, но уже прошла неделя со времени события.
|
||||
Или ГрафикСобытияНаГод.Количество() = 12 И ТекущаяДатаСеанса() > Напоминание.ВремяСобытия + 60*60*24*7 Тогда
|
||||
НачатьТранзакцию();
|
||||
Попытка
|
||||
Если ПодошедшееВремяСобытия.Количество() > 0 Тогда
|
||||
// @skip-check query-in-loop - запись данных набором с чтением в цикле.
|
||||
ОтключитьНапоминание(Напоминание, Ложь, ПриЗапуске);
|
||||
|
||||
ПараметрыНапоминания = ОбщегоНазначения.СтрокаТаблицыЗначенийВСтруктуру(Напоминание);
|
||||
ПараметрыНапоминания.Расписание = Напоминание.Расписание.Получить();
|
||||
// @skip-check query-in-loop - запись данных набором с чтением в цикле.
|
||||
Напоминание = СоздатьНапоминание(ПараметрыНапоминания);
|
||||
Напоминание.ВремяСобытия = ПодошедшееВремяСобытия[ПодошедшееВремяСобытия.ВГраница()];
|
||||
Напоминание.СрокНапоминания = Напоминание.ВремяСобытия - Напоминание.ИнтервалВремениНапоминания;
|
||||
|
||||
ПодключитьНапоминание(Напоминание,, ПриЗапуске);
|
||||
КонецЕсли;
|
||||
Или ГрафикСобытияНаГод.Количество() = 12 И ТекущаяДатаСеанса() > ВремяСобытия + 60*60*24*7 Тогда
|
||||
НапоминаниеПросрочено = Истина;
|
||||
КонецЕсли;
|
||||
|
||||
Если ТребуетсяПереподключитьПоРасписанию Тогда
|
||||
НачатьТранзакцию();
|
||||
Попытка
|
||||
// @skip-check query-in-loop - запись данных набором с чтением в цикле.
|
||||
ОтключитьНапоминание(Напоминание, НапоминаниеПросрочено, ПриЗапуске);
|
||||
|
||||
Если Не НапоминаниеПросрочено Тогда
|
||||
ПараметрыНапоминания = ОбщегоНазначения.СтрокаТаблицыЗначенийВСтруктуру(Напоминание);
|
||||
ПараметрыНапоминания.Расписание = Напоминание.Расписание.Получить();
|
||||
// @skip-check query-in-loop - запись данных набором с чтением в цикле.
|
||||
ОтключитьНапоминание(Напоминание, Истина, ПриЗапуске);
|
||||
ЗафиксироватьТранзакцию();
|
||||
Исключение
|
||||
ОтменитьТранзакцию();
|
||||
ЗаписьЖурналаРегистрации(НСтр("ru = 'Напоминания пользователя'", ОбщегоНазначения.КодОсновногоЯзыка()),
|
||||
УровеньЖурналаРегистрации.Ошибка, Метаданные.РегистрыСведений.НапоминанияПользователя, , ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
КонецПопытки;
|
||||
Напоминание = СоздатьНапоминание(ПараметрыНапоминания);
|
||||
Напоминание.ВремяСобытия = ВремяСобытия;
|
||||
Напоминание.СрокНапоминания = Напоминание.ВремяСобытия - Напоминание.ИнтервалВремениНапоминания;
|
||||
|
||||
ПодключитьНапоминание(Напоминание,, ПриЗапуске);
|
||||
КонецЕсли;
|
||||
ЗафиксироватьТранзакцию();
|
||||
Исключение
|
||||
ОтменитьТранзакцию();
|
||||
ЗаписьЖурналаРегистрации(НСтр("ru = 'Напоминания пользователя'", ОбщегоНазначения.КодОсновногоЯзыка()),
|
||||
УровеньЖурналаРегистрации.Ошибка, Метаданные.РегистрыСведений.НапоминанияПользователя, , ОбработкаОшибок.ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
|
||||
КонецПопытки;
|
||||
КонецЕсли;
|
||||
КонецЦикла;
|
||||
|
||||
|
||||
Reference in new issue
Block a user