Управляемые формы в 1С 8.2

С появлением платформы 1С Предприятие 8.2 механизм разработки пользовательского интерфейса значительно изменился. Появилась возможность создания управляемых форм и приложений (Рисунок 1).

Рисунок 1

Кроме этого предлагается новая система разделения функциональности между клиентским приложением и сервером.
Управляемое приложение поддерживает следующие типы клиентов:

  • Толстый клиент (обычный и управляемый режим запуска),
  • Тонкий клиент,
  • Веб-клиент.

Механизм создания управляемых форм значительно отличается от обычных. В первую очередь управляемые формы отличаются тем, что создаются системой автоматически на основе специальных настроек, программисту теперь нет необходимости прорисовывать детально каждую форму. Вся функциональность формы описывается в виде реквизитов и команд. Реквизиты – это данные, с которыми работает форма, а команды – выполняемые действия. Для каждого метода или переменной формы обязательно должна быть указана директива компиляции, определяющая, место выполнения (клиент или сервер). Директивы компиляции могут быть следующие:

  • &НаКлиенте,
  • &НаСервере,
  • &НаСервереБезКонтекста,
  • &НаКлиентеНаСервереБезКонтекста.

Управляемая форма отличается от обычной формы также и типами данных, с которыми она работает. Если обычная форма работает с большинством типов, которые предоставляет 1С: Предприятие (в том числе и вида СправочникОбъект, ДокументОбъект и т. д.), то в управляемой форме можно выделить следующие категории типов:

  • типы, которые непосредственно используются в форме – это те типы, которые существуют на стороне тонкого и Веб-клиента (например, Число, СправочникСсылка.Товары, ГрафическаяСхема, ТабличныйДокумент);
  • типы, которые будут преобразованы в специальные типы данных – типы данных управляемой формы. Такие типы отображаются в списке реквизитов формы в круглых скобках, например (СправочникОбъект.Товары);
  • динамический список.

Функционирование управляемых форм имеет следующие отличительные особенности (Рисунок 2):

  • Форма существует и на клиенте и на сервере.

Она осуществляет клиент-серверное взаимодействие  (передачу данных и оформительских свойств элементов).

  • Форма не работает с прикладными объектами


Рисунок 2

В форме используются специальные универсальные объекты
ДанныеФормы (Рисунок 3).

Рисунок 3

Прикладные объекты работают только на сервере и только во время выполнения некоторых операций.
При открытии формы:

  • Объект считывается из базы данных,
  • Объект конвертируется в данные формы,
  • Объект удаляется (из памяти),
  • Данные формы передаются на клиента.

При записи:

  • Данные формы получаются с клиента,
  • Данные формы конвертируются в объект,
  • Объект записывается в базу данных,
  • Объект удаляется (из памяти).