Особенности разделения кода форм на клиентскую и серверную части (1Cv82)
Версия от 16:36, 7 июля 2016; Дмитрий Малюгин (обсуждение | вклад)
Передача управления
- Любые передачи управления клиент-сервер вызывают задержки! Надо минимизировать кросс-вызовы.
- Инициализацию формы надо делать в обработчике события ПриСозданииНаСервере. Это делается быстро и форма не моргает при установке доступности реквзитов.
- Обработчик ПриОткрытии лучше использовать по-минимуму
- Немодальное открытие формы нового (и не только) документа своим обработчиком переводит новое окно на задний план. Как бороться непонятно.. Может быть там есть какие-то секретные флаги... Вызов Активизировать() не помогает.
- Вроде бы такое поведение платформы начинается после некоторых ошибок (исключений). Достаточно перегрузить 1С и все исчезает.
Установка доступности
- При записи нового документа (запись без закрытия) съезжает отображение формы
- Оказалось, что в этом случае вызов любого присваивания свойств визуальных элементов в серверной процедуре (например, ЭтаФорма.Заголовок = "Процесс "..) вызывает сбой отображения. Перенос в клиентскую процедуру решает проблему. Исключение составляет ПриСозданииНаСервере - там все проходит нормально.