Отработать оповещение. Обработчик для события формы ОбработкаОповещения. Вызывается для взаимодействия.
// Обработчик для события формы ОбработкаОповещения. Вызывается для взаимодействия.
Процедура ОтработатьОповещение(Форма,ИмяСобытия, Параметр, Источник) Экспорт
Если ТипЗнч(Параметр) = Тип("Структура") И Параметр.Свойство("ТипОповещения") Тогда
Если (Параметр.ТипОповещения = "ЗаписьВзаимодействия" ИЛИ Параметр.ТипОповещения = "ЗаписьПредмета")
И Параметр.Основание = Форма.Объект.Ссылка Тогда
Если (Форма.Предмет = Неопределено ИЛИ ВзаимодействияКлиентСервер.ЯвляетсяВзаимодействием(Форма.Предмет))
И Форма.Предмет <> Параметр.Предмет Тогда
Форма.Предмет = Параметр.Предмет;
Форма.ОтобразитьИзменениеДанных(Форма.Предмет, ВидИзмененияДанных.Изменение);
КонецЕсли;
ИначеЕсли Параметр.ТипОповещения = "ЗаписьКонтакта" И Параметр.Основание = Форма.Объект.Ссылка Тогда
Если ТипЗнч(Форма.Объект.Ссылка)=Тип("ДокументСсылка.ТелефонныйЗвонок") Тогда
Форма.Объект.АбонентКонтакт = Параметр.Ссылка;
Если ПустаяСтрока(Форма.Объект.АбонентПредставление) Тогда
Форма.Объект.АбонентПредставление = Параметр.Наименование;
КонецЕсли;
ИначеЕсли ТипЗнч(Форма.Объект.Ссылка)=Тип("ДокументСсылка.Встреча")
ИЛИ ТипЗнч(Форма.Объект.Ссылка)=Тип("ДокументСсылка.ЗапланированноеВзаимодействие")Тогда
Форма.Элементы.Участники.ТекущиеДанные.Контакт = Параметр.Ссылка;
Если ПустаяСтрока(Форма.Элементы.Участники.ТекущиеДанные.ПредставлениеКонтакта) Тогда
Форма.Элементы.Участники.ТекущиеДанные.ПредставлениеКонтакта = Параметр.Наименование;
КонецЕсли;
ИначеЕсли ТипЗнч(Форма.Объект.Ссылка)=Тип("ДокументСсылка.СообщениеSMS") Тогда
Форма.Элементы.Адресаты.ТекущиеДанные.Контакт = Параметр.Ссылка;
Если ПустаяСтрока(Форма.Элементы.Адресаты.ТекущиеДанные.ПредставлениеКонтакта) Тогда
Форма.Элементы.Адресаты.ТекущиеДанные.ПредставлениеКонтакта = Параметр.Наименование;
КонецЕсли;
КонецЕсли;
Форма.Элементы.СоздатьКонтакт.Доступность = Ложь;
Форма.Модифицированность = Истина;
КонецЕсли;
ИначеЕсли ИмяСобытия = "ВыбранКонтакт" Тогда
Если Форма.ИмяФормы = "Документ.ЭлектронноеПисьмоИсходящее.Форма.ФормаДокумента"
ИЛИ Форма.ИмяФормы = "Документ.ЭлектронноеПисьмоВходящее.Форма.ФормаДокумента" Тогда
Возврат;
КонецЕсли;
Если Форма.УникальныйИдентификатор <> Параметр.ИдентификаторФормы Тогда
Возврат;
КонецЕсли;
БылИзмененКонтакт = (Параметр.Контакт <> Параметр.ВыбранныйКонтакт) И ЗначениеЗаполнено(Параметр.Контакт);
Контакт = Параметр.ВыбранныйКонтакт;
Если Параметр.ТолькоEmail Тогда
ТипКонтактнойИнформации = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.АдресЭлектроннойПочты");
ИначеЕсли Параметр.ТолькоТелефон Тогда
ТипКонтактнойИнформации = ПредопределенноеЗначение("Перечисление.ТипыКонтактнойИнформации.Телефон");
Иначе
ТипКонтактнойИнформации = Неопределено;
КонецЕсли;
Если БылИзмененКонтакт Тогда
Если НЕ Параметр.ДляФормыУточненияКонтактов Тогда
ВзаимодействияВызовСервера.ПредставлениеИВсяКонтактнаяИнформациюКонтакта(
Контакт, Параметр.Представление, Параметр.Адрес, ТипКонтактнойИнформации);
КонецЕсли;
Адрес = Параметр.Адрес;
Представление = Параметр.Представление;
ИначеЕсли Параметр.ЗаменятьПустыеАдресИПредставление И (ПустаяСтрока(Параметр.Адрес) ИЛИ ПустаяСтрока(Параметр.Представление)) Тогда
нПредставление = "";
нАдрес = "";
ВзаимодействияВызовСервера.ПредставлениеИВсяКонтактнаяИнформациюКонтакта(
Контакт, нПредставление, нАдрес, ТипКонтактнойИнформации);
Представление = ?(ПустаяСтрока(Параметр.Представление), нПредставление, Параметр.Представление);
Адрес = ?(ПустаяСтрока(Параметр.Адрес), нАдрес, Параметр.Адрес);
Иначе
Адрес = Параметр.Адрес;
Представление = Параметр.Представление;
КонецЕсли;
Если Форма.ИмяФормы = "ОбщаяФорма.АдреснаяКнига" Тогда
ТекущиеДанные = Форма.Элементы.ПолучателиПисьма.ТекущиеДанные;
Если ТекущиеДанные = Неопределено Тогда
Возврат;
КонецЕсли;
ТекущиеДанные.Контакт = Контакт;
ТекущиеДанные.Адрес = Адрес;
ТекущиеДанные.Представление = Представление;
Форма.Модифицированность = Истина;
ИначеЕсли ТипЗнч(Форма.Объект.Ссылка)=Тип("ДокументСсылка.СообщениеSMS") Тогда
ТекущиеДанные = Форма.Элементы.Адресаты.ТекущиеДанные;
Если ТекущиеДанные = Неопределено Тогда
Возврат;
КонецЕсли;
Форма.ИзменилисьКонтакты = Истина;
ТекущиеДанные.Контакт = Контакт;
ТекущиеДанные.КакСвязаться = Адрес;
ТекущиеДанные.ПредставлениеКонтакта = Представление;
ВзаимодействияКлиентСервер.ПроверитьЗаполнениеКонтактов(Форма.Объект,Форма,"СообщениеSMS");
ИначеЕсли ТипЗнч(Форма.Объект.Ссылка)=Тип("ДокументСсылка.ЗапланированноеВзаимодействие") Тогда
ТекущиеДанные = Форма.Элементы.Участники.ТекущиеДанные;
Если ТекущиеДанные = Неопределено Тогда
Возврат;
КонецЕсли;
Форма.ИзменилисьКонтакты = Истина;
ТекущиеДанные.Контакт = Контакт;
ТекущиеДанные.КакСвязаться = Адрес;
ТекущиеДанные.ПредставлениеКонтакта = Представление;
ВзаимодействияКлиентСервер.ПроверитьЗаполнениеКонтактов(Форма.Объект,Форма,"ЗапланированноеВзаимодействие");
Форма.Модифицированность = Истина;
ИначеЕсли ТипЗнч(Форма.Объект.Ссылка)=Тип("ДокументСсылка.Встреча") Тогда
ТекущиеДанные = Форма.Элементы.Участники.ТекущиеДанные;
Если ТекущиеДанные = Неопределено Тогда
Возврат;
КонецЕсли;
Форма.ИзменилисьКонтакты = Истина;
ТекущиеДанные.Контакт = Контакт;
ТекущиеДанные.КакСвязаться = Адрес;
ТекущиеДанные.ПредставлениеКонтакта = Представление;
ВзаимодействияКлиентСервер.ПроверитьЗаполнениеКонтактов(Форма.Объект,Форма,"ЗапланированноеВзаимодействие");
Форма.Модифицированность = Истина;
ИначеЕсли ТипЗнч(Форма.Объект.Ссылка)=Тип("ДокументСсылка.ТелефонныйЗвонок") Тогда
Форма.ИзменилисьКонтакты = Истина;
Форма.Объект.АбонентКонтакт = Контакт;
Форма.Объект.АбонентКакСвязаться = Адрес;
Форма.Объект.АбонентПредставление = Представление;
ВзаимодействияКлиентСервер.ПроверитьЗаполнениеКонтактов(Форма.Объект,Форма,"ТелефонныйЗвонок");
Форма.Модифицированность = Истина;
КонецЕсли;
ИначеЕсли ИмяСобытия = "ЗаписьВзаимодействия"
И Параметр = Форма.Объект.Ссылка Тогда
Форма.Прочитать();
КонецЕсли;
КонецПроцедуры
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
Массив видов рабочего времени, отражающих отработанное время
ОтработатьПризнакИзмененияПометкиУдаленияПриЗаписиПисьма (БСП)