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