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