Доброе утро!
У нас в Документообороте реализован такой механизм - Универсальные механизмы. Кратко: механизм позволяет снаружи (в режиме предприятия) вносить изменения (очень похож на расширения), работает не очень хорошо (мягко говоря).
Это была вводная.
Теперь основное: реализовано событие формы (вид настройки) "ПослеЗаписи". Все хорошо, но есть мелькание формы. Вариант убрать (мелькание)?
В алгоритме два окна с кодом (сложно сказать, что это - процедуры или функции, в данном случае очень похоже на функции), оба выполняются на клиенте:
// первое
Если (Строка(ЭтаФорма.СпособОтправки) = "Email") Тогда
СтруктураПараметров.Вставить("ДоступМыло", Истина);
Иначе
СтруктураПараметров.Вставить("ДоступМыло", Ложь);
КонецЕсли;
Если (Строка(ЭтаФорма.СпособОтправки) = "Почта") Тогда
СтруктураПараметров.Вставить("ДоступПочта", Истина);
Иначе
СтруктураПараметров.Вставить("ДоступПочта", Ложь);
КонецЕсли;
// второе
ДоступМыло = СтруктураПараметров.ДоступМыло;
ДоступПочта = СтруктураПараметров.ДоступПочта;
Список = ЭтаФорма.Свойства_ОписаниеДополнительныхРеквизитов;
НайденныеСтроки = Список.НайтиСтроки(Новый Структура("Свойство", &&СвойствоМыло));
Если (НайденныеСтроки.Количество() > 0) Тогда
ПолеДопРеквизита = НайденныеСтроки[0];
ПолеФормы = ЭтаФорма.Элементы[ПолеДопРеквизита.ИмяРеквизитаЗначение];
Если (Не ПолеФормы = Неопределено) Тогда
ПолеФормы.Видимость = ДоступМыло;
КонецЕсли;
КонецЕсли;