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

Материал из КинтВики
Перейти к: навигация, поиск
(Новая страница: «Категория:Программирование в 1Cv82 ===Передача управления=== * Любые передачи управления к...»)
 
(Установка доступности)
Строка 11: Строка 11:
  
 
===Установка доступности===
 
===Установка доступности===
* <strike>При записи нового документа "Процесс" (запись без закрытия) съезжает отображение формы</strike>
+
* При записи нового документа (запись без закрытия) съезжает отображение формы
 
** Оказалось, что в этом случае вызов любого присваивания свойств визуальных элементов в серверной процедуре (например, ЭтаФорма.Заголовок = "Процесс "..) вызывает сбой отображения. Перенос в клиентскую процедуру решает проблему. Исключение составляет ПриСозданииНаСервере - там все проходит нормально.
 
** Оказалось, что в этом случае вызов любого присваивания свойств визуальных элементов в серверной процедуре (например, ЭтаФорма.Заголовок = "Процесс "..) вызывает сбой отображения. Перенос в клиентскую процедуру решает проблему. Исключение составляет ПриСозданииНаСервере - там все проходит нормально.

Версия 15:52, 7 октября 2010


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

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


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

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