При выполнении стандартных периодических проверок на сервере.
Процедура ПриВыполненииСтандартныхПериодическихПроверокНаСервере(Параметры) Экспорт
Если Параметры["ИнформацияКлиента"]["ПараметрыКлиента"]["РегистрироватьБизнесСтатистику"] Тогда
РегистрироватьБизнесСтатистику = ПолучитьПараметрыЦентраМониторинга("РегистрироватьБизнесСтатистику");
ПараметрыНовые = Новый Соответствие(Параметры);
ПараметрыНовые.Вставить("РегистрироватьБизнесСтатистику", РегистрироватьБизнесСтатистику);
КлючФоновогоЗадания = "ПриВыполненииСтандартныхПериодическихПроверокНаСервереВФоне" + Параметры["ИнформацияКлиента"]["ПараметрыКлиента"]["ХешПользователя"];
Отбор = Новый Структура;
Отбор.Вставить("Ключ", КлючФоновогоЗадания);
Отбор.Вставить("Состояние", СостояниеФоновогоЗадания.Активно);
АктивныеФоновыеЗадания = ФоновыеЗадания.ПолучитьФоновыеЗадания(Отбор);
Если АктивныеФоновыеЗадания.Количество() = 0 Тогда
ПараметрыФоновогоЗадания = Новый Массив;
ПараметрыФоновогоЗадания.Добавить(Параметры);
ФоновыеЗадания.Выполнить("ЦентрМониторингаСлужебный.ПриВыполненииСтандартныхПериодическихПроверокНаСервереВФоне",
ПараметрыФоновогоЗадания,
КлючФоновогоЗадания,
"ЦентрМониторингаСлужебный.ПриВыполненииСтандартныхПериодическихПроверокНаСервере");
КонецЕсли;
Параметры = Новый ФиксированноеСоответствие(ПараметрыНовые);
КонецЕсли;
Если Параметры["ИнформацияКлиента"]["ПараметрыКлиента"]["ВыводитьЗапросПолныхДампов"] Тогда
ПараметрыОповещенияОДампах = ПараметрыОповещенияОДампах();
ЗапросНаПолучениеДампов = ПараметрыОповещенияОДампах.ЗапросНаПолучениеДампов
И НЕ Параметры.Получить("ЗапросПолныхДамповВыведен") = Истина;
ЗапросНаПолучениеКонтактов = ПолучитьПараметрыЦентраМониторинга("ЗапросКонтактнойИнформации") = 3
И НЕ Параметры.Получить("ЗапросНаПолучениеКонтактовВыведен") = Истина;
ПараметрыНовые = Новый Соответствие(Параметры);
ПараметрыНовые.Вставить("ЗапросНаПолучениеДампов", ЗапросНаПолучениеДампов);
ПараметрыНовые.Вставить("ЗапросНаОтправкуДампов", ПараметрыОповещенияОДампах.ЗапросНаОтправку);
ПараметрыНовые.Вставить("ИнформацияОДампах", ПараметрыОповещенияОДампах.ИнформацияОДампах);
ПараметрыНовые.Вставить("ЗапросНаПолучениеКонтактов", ЗапросНаПолучениеКонтактов);
Параметры = Новый ФиксированноеСоответствие(ПараметрыНовые);
КонецЕсли;
ПараметрыЦентраМониторинга = Новый Структура("ТестовыйПакетОтправлен,ЦентрОбработкиИнформацииОПрограмме,ВключитьЦентрМониторинга");
ПараметрыЦентраМониторинга = ПолучитьПараметрыЦентраМониторинга(ПараметрыЦентраМониторинга);
Если НЕ ПараметрыЦентраМониторинга.ТестовыйПакетОтправлен И НЕ РазделениеПоОбластямДанныхВключено() Тогда
// Тестовый пакет нет смысла отправлять - данные уже отправляются.
Если ПараметрыЦентраМониторинга.ВключитьЦентрМониторинга ИЛИ ПараметрыЦентраМониторинга.ЦентрОбработкиИнформацииОПрограмме Тогда
УстановитьПривилегированныйРежим(Истина);
УстановитьПараметрЦентраМониторинга("ТестовыйПакетОтправлен", Истина);
УстановитьПривилегированныйРежим(Ложь);
Иначе
КлючФоновогоЗадания = "ОтправкаТестовогоПакета";
Отбор = Новый Структура;
Отбор.Вставить("Ключ", КлючФоновогоЗадания);
Отбор.Вставить("Состояние", СостояниеФоновогоЗадания.Активно);
АктивныеФоновыеЗадания = ФоновыеЗадания.ПолучитьФоновыеЗадания(Отбор);
Если АктивныеФоновыеЗадания.Количество() = 0 Тогда
ПараметрыПроцедуры = Новый Структура("Итератор, ОтправкаТестовогоПакета, ПолучениеИдентификатора", 0, Истина, Ложь);
МассивПараметров = Новый Массив;
МассивПараметров.Добавить(ПараметрыПроцедуры);
МассивПараметров.Добавить(Неопределено);
ФоновыеЗадания.Выполнить("ЦентрМониторингаСлужебный.ОтправитьТестовыйПакет",
МассивПараметров,
КлючФоновогоЗадания,
НСтр("ru = 'Центр мониторинга: отправка тестового пакета'"));
КонецЕсли;
КонецЕсли;
КонецЕсли;
Если ОбщегоНазначения.ИнформационнаяБазаФайловая() Тогда
ПараметрыЦентраМониторинга = Новый Структура("ОтправлятьФайлыДампов,ВариантДампа,ОкончаниеСбораДампов,СборПолныхДамповВключен");
ПараметрыЦентраМониторинга = ПолучитьПараметрыЦентраМониторинга(ПараметрыЦентраМониторинга);
НачатьСборИОтправкуОтчетовОбОшибках = Не ПараметрыЦентраМониторинга.ОтправлятьФайлыДампов = 0
И Не ПустаяСтрока(ПараметрыЦентраМониторинга.ВариантДампа)
И ТекущаяУниверсальнаяДата() < ПараметрыЦентраМониторинга.ОкончаниеСбораДампов;
Если НачатьСборИОтправкуОтчетовОбОшибках Тогда
Идентификатор = Параметры["ИнформацияКлиента"]["ПараметрыКлиента"]["ХешПользователя"];
КлючФоновогоЗадания = "СборИОтправкаОтчетовОбОшибкахНаСервереВФоне" + Идентификатор;
Отбор = Новый Структура;
Отбор.Вставить("Ключ", КлючФоновогоЗадания);
Отбор.Вставить("Состояние", СостояниеФоновогоЗадания.Активно);
АктивныеФоновыеЗадания = ФоновыеЗадания.ПолучитьФоновыеЗадания(Отбор);
Если АктивныеФоновыеЗадания.Количество() = 0 Тогда
ПараметрыФоновогоЗадания = Новый Массив;
ПараметрыФоновогоЗадания.Добавить(Истина);
ПараметрыФоновогоЗадания.Добавить(Идентификатор);
ФоновыеЗадания.Выполнить("ЦентрМониторингаСлужебный.СобратьИОтправитьДампы",
ПараметрыФоновогоЗадания,
КлючФоновогоЗадания,
НСтр("ru = 'Сбор и отправка отчетов об ошибках'"));
КонецЕсли;
Иначе
Если ПараметрыЦентраМониторинга.СборПолныхДамповВключен[ИмяКомпьютера()] = Истина Тогда
ПрекратитьСборПолныхДампов();
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
ПриВыполненииСтандартныхПериодическихПроверокНаСервереВФоне (БСП)
ПриВыполненииСтандартныхПериодическихПроверокНаКлиенте (БСП)
ПриВыполненииСтандартныхПериодическихПроверок (БСП)
ПриВыполненииСтандартныхПериодическихПроверокЗавершение (БСП)
ПослеВыполненияСтандартныхПериодическихПроверокНаКлиенте (БСП)
ПриВыполненииСтандартныхПериодическихПроверокПодсистемаПользователи (БСП)
ПриВыполненииСтандартныхПериодическихПроверокПодсистемаПользователиЗавершение (БСП)
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)