Особенности разделения кода форм на клиентскую и серверную части (1Cv82)

Материал из КинтВики
Версия от 15:36, 7 июля 2016; Дмитрий Малюгин (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск


Передача управления

  • Любые передачи управления клиент-сервер вызывают задержки! Надо минимизировать кросс-вызовы.
  • Инициализацию формы надо делать в обработчике события ПриСозданииНаСервере. Это делается быстро и форма не моргает при установке доступности реквзитов.
  • Обработчик ПриОткрытии лучше использовать по-минимуму
  • Немодальное открытие формы нового (и не только) документа своим обработчиком переводит новое окно на задний план. Как бороться непонятно.. Может быть там есть какие-то секретные флаги... Вызов Активизировать() не помогает.
    • Вроде бы такое поведение платформы начинается после некоторых ошибок (исключений). Достаточно перегрузить 1С и все исчезает.

Установка доступности

  • При записи нового документа (запись без закрытия) съезжает отображение формы
    • Оказалось, что в этом случае вызов любого присваивания свойств визуальных элементов в серверной процедуре (например, ЭтаФорма.Заголовок = "Процесс "..) вызывает сбой отображения. Перенос в клиентскую процедуру решает проблему. Исключение составляет ПриСозданииНаСервере - там все проходит нормально.