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

Если (Строка(ЭтаФорма.СпособОтправки) = "Почта") Тогда
    СтруктураПараметров.Вставить("ДоступПочта", Истина);
Иначе
    СтруктураПараметров.Вставить("ДоступПочта", Ложь);
КонецЕсли;
// второе
ДоступМыло  = СтруктураПараметров.ДоступМыло;
ДоступПочта = СтруктураПараметров.ДоступПочта;

Список = ЭтаФорма.Свойства_ОписаниеДополнительныхРеквизитов;

НайденныеСтроки = Список.НайтиСтроки(Новый Структура("Свойство", &&СвойствоМыло));
Если (НайденныеСтроки.Количество() > 0) Тогда
    ПолеДопРеквизита = НайденныеСтроки[0];
    ПолеФормы = ЭтаФорма.Элементы[ПолеДопРеквизита.ИмяРеквизитаЗначение];
    Если (Не ПолеФормы = Неопределено) Тогда
        ПолеФормы.Видимость = ДоступМыло;
    КонецЕсли;
КонецЕсли;         

ЭтаФорма.Элементы.Порт_ПочтовыйАдресПолучателя.Видимость = ДоступПочта;
ЭтаФорма.Элементы.Порт_ИндексПолучателя.Видимость          = ДоступПочта;
Как убрать мелькание?
Заранее спасибо.
1 Масянька
 
19.07.22
10:37
+(1) Вызывается после встроенного обработчика.
2 RomaH
 
naïve
19.07.22
11:24
сделать страницы - пустую и с этим элементом - и переключать страницы, а не видимость
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.