Skip to content

Серверные оповещения

НовоеСерверноеОповещение

Описание, пример вызова
// Для процедуры ПриДобавленииСерверныхОповещений общего модуля ОбщегоНазначенияПереопределяемый.
//
// Параметры:
// Имя - Строка - имя оповещения, подходящее для имени свойства структуры.
//
// Возвращаемое значение:
// Структура:
// * Имя - Строка - имя оповещения.
//
// * ИмяМодуляОтправки - Строка - имя серверного общего модуля, например, "СоединенияИБ",
// содержащего экспортную процедуру ПриОтправкеСерверногоОповещения.
// Вызов процедуры выполняется в привилегированном режиме.
// Смотри пример в общем модуле СтандартныеПодсистемыСервер.
// Может быть не заполнено. В этом случае вызываться не будет,
// например, используется для отправки сообщений об изменении
// настроек функциональных опций в момент изменения их констант,
// вместо отслеживания изменений в регламентом задании.
//
// * ИмяМодуляПолучения - Строка - имя клиентского общего модуля, например, "СоединенияИБКлиент",
// содержащего экспортную процедуру ПриПолученииСерверногоОповещения.
// Смотри пример в общем модуле СтандартныеПодсистемыКлиент.
//
// * Параметры - Произвольный - любое сериализуемое значение, которое нужно передать
// в процедуру ПриОтправкеСерверногоОповещения в качестве параметров.
// Должно быть как можно меньшего размера в сериализованном виде.
// Например, описание метаданных и расширений сеанса, для вычисления
// добавленных и удаленных расширений и исправлений в регламентном
// задании при вызове ПриОтправкеСерверногоОповещения, и отправке
// оповещения с вычисленными отличиями соответствующим сеансам.
//
// * ПериодПроверки - Число - количество секунд, через которое требуется
// вызывать ПриОтправкеСерверногоОповещения для проверки
// состояния сервера и отправки оповещения, если требуется.
// Начальное значение 20 минут.
// Если указано время меньше 1 мин, тогда будет 1 мин.
// Следует учитывать, что в модели сервиса реальный минимальный
// период может быть значительно больше и нестабильным: 5-10 минут.
//
//
Функция НовоеСерверноеОповещение(Имя) Экспорт

Пример вызова

Результат = СерверныеОповещения.НовоеСерверноеОповещение(Имя)

ОтправитьСерверноеОповещение

Описание, пример вызова
// Добавляет серверное оповещение в очередь для доставки на клиент.
// Оповещение доставляется через систему взаимодействия,
// либо забирается в рамках общего серверного вызова.
//
// Параметры:
// ИмяОповещения - Строка - смотри НовоеСерверноеОповещение.Имя.
//
// Результат - Произвольный - произвольное сериализуемое значение,
// которое будет отправлено в составе оповещения на клиент
// (должны быть как можно меньшего размера, желательно не более 1 Кб).
//
// Адресаты - Неопределено - все пользователи (и соответственно все сеансы).
// Если указано незаполненное соответствие, тогда возврат.
// - Соответствие из КлючИЗначение:
// * Ключ - УникальныйИдентификатор - идентификатор пользователя ИБ.
// * Значение - Массив из см. СерверныеОповещения.КлючСеанса
//
// ОтправитьСразу - Булево - если Истина, попытаться сразу отправить сообщение
// через систему взаимодействия перед добавлением в очередь.
// Отправка сразу не допускается из обработчиков ПриОтправкеСерверногоОповещения.
// Следует учесть (особенно при вызове в транзакции), что неудачное обращение
// к системе взаимодействия может занимать (3-5 сек)*2, а удачное не менее (50 мс)*2.
//
Процедура ОтправитьСерверноеОповещение(ИмяОповещения, Результат, Адресаты, ОтправитьСразу = Ложь) Экспорт

Пример вызова

СерверныеОповещения.ОтправитьСерверноеОповещение(ИмяОповещения, Результат, Адресаты, ОтправитьСразу);

ОбработатьОшибку

Описание, пример вызова
// Регистрирует ошибку в журнале регистрации, пойманную в обработчиках события
// ПриПериодическомПолученииДанныхКлиентаНаСервере.
//
// Параметры:
// ИнформацияОбОшибке - ИнформацияОбОшибке
//
// Пример:
// МоментНачала = ТекущаяУниверсальнаяДатаВМиллисекундах();
// Попытка
// Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЦентрМониторинга") Тогда
// МодульЦентрМониторингаСлужебный = ОбщегоНазначения.ОбщийМодуль("ЦентрМониторингаСлужебный");
// МодульЦентрМониторингаСлужебный.ПриПериодическомПолученииДанныхКлиентаНаСервере(Параметры, Результаты);
// КонецЕсли;
// Исключение
// СерверныеОповещения.ОбработатьОшибку(ИнформацияОбОшибке());
// КонецПопытки;
// СерверныеОповещения.ДобавитьПоказатель(Результаты, МоментНачала,
// "ЦентрМониторингаСлужебный.ПриПериодическомПолученииДанныхКлиентаНаСервере");
//
Процедура ОбработатьОшибку(ИнформацияОбОшибке) Экспорт

Пример вызова

СерверныеОповещения.ОбработатьОшибку(ИнформацияОбОшибке)

ДобавитьПоказатель

Описание, пример вызова
// Добавляет показатель производительности в обработчиках события
// ПриПериодическомПолученииДанныхКлиентаНаСервере.
//
// Параметры:
// Результаты - см. ОбщегоНазначенияПереопределяемый.ПриПериодическомПолученииДанныхКлиентаНаСервере.Результаты
// МоментНачала - Число - ТекущаяУниверсальнаяДатаВМиллисекундах перед вызовом процедуры.
// ИмяПроцедуры - Строка - полное имя вызываемой процедуры
//
// Пример:
// МоментНачала = ТекущаяУниверсальнаяДатаВМиллисекундах();
// Попытка
// Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ЦентрМониторинга") Тогда
// МодульЦентрМониторингаСлужебный = ОбщегоНазначения.ОбщийМодуль("ЦентрМониторингаСлужебный");
// МодульЦентрМониторингаСлужебный.ПриПериодическомПолученииДанныхКлиентаНаСервере(Параметры, Результаты);
// КонецЕсли;
// Исключение
// СерверныеОповещения.ОбработатьОшибку(ИнформацияОбОшибке());
// КонецПопытки;
// СерверныеОповещения.ДобавитьПоказатель(Результаты, МоментНачала,
// "ЦентрМониторингаСлужебный.ПриПериодическомПолученииДанныхКлиентаНаСервере");
//
Процедура ДобавитьПоказатель(Результаты, МоментНачала, ИмяПроцедуры) Экспорт

Пример вызова

СерверныеОповещения.ДобавитьПоказатель(Результаты, МоментНачала, ИмяПроцедуры)

© 2024, ООО 1С-Софт
Все права защищены. Эта программа и сопроводительные материалы предоставляются
в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0).