Статьи
Управляемые формы в 1С 8.2
С появлением платформы 1С Предприятие 8.2 механизм разработки пользовательского интерфейса значительно изменился. Появилась возможность создания управляемых форм и приложений (Рисунок 1).
Рисунок 1
Кроме этого предлагается новая система разделения функциональности между клиентским приложением и сервером.
Управляемое приложение поддерживает следующие типы клиентов:
- Толстый клиент (обычный и управляемый режим запуска),
- Тонкий клиент,
- Веб-клиент.
Механизм создания управляемых форм значительно отличается от обычных. В первую очередь управляемые формы отличаются тем, что создаются системой автоматически на основе специальных настроек, программисту теперь нет необходимости прорисовывать детально каждую форму. Вся функциональность формы описывается в виде реквизитов и команд. Реквизиты – это данные, с которыми работает форма, а команды – выполняемые действия. Для каждого метода или переменной формы обязательно должна быть указана директива компиляции, определяющая, место выполнения (клиент или сервер). Директивы компиляции могут быть следующие:
- &НаКлиенте,
- &НаСервере,
- &НаСервереБезКонтекста,
- &НаКлиентеНаСервереБезКонтекста.
Управляемая форма отличается от обычной формы также и типами данных, с которыми она работает. Если обычная форма работает с большинством типов, которые предоставляет 1С: Предприятие (в том числе и вида СправочникОбъект, ДокументОбъект и т. д.), то в управляемой форме можно выделить следующие категории типов:
- типы, которые непосредственно используются в форме – это те типы, которые существуют на стороне тонкого и Веб-клиента (например, Число, СправочникСсылка.Товары, ГрафическаяСхема, ТабличныйДокумент);
- типы, которые будут преобразованы в специальные типы данных – типы данных управляемой формы. Такие типы отображаются в списке реквизитов формы в круглых скобках, например (СправочникОбъект.Товары);
- динамический список.
Функционирование управляемых форм имеет следующие отличительные особенности (Рисунок 2):
- Форма существует и на клиенте и на сервере.
Она осуществляет клиент-серверное взаимодействие (передачу данных и оформительских свойств элементов).
- Форма не работает с прикладными объектами
Рисунок 2
В форме используются специальные универсальные объекты
ДанныеФормы (Рисунок 3).
Рисунок 3
Прикладные объекты работают только на сервере и только во время выполнения некоторых операций.
При открытии формы:
- Объект считывается из базы данных,
- Объект конвертируется в данные формы,
- Объект удаляется (из памяти),
- Данные формы передаются на клиента.
При записи:
- Данные формы получаются с клиента,
- Данные формы конвертируются в объект,
- Объект записывается в базу данных,
- Объект удаляется (из памяти).