Реквизиты управляемых форм 1С

Знакомство с объектами_СУБД

Давайте рассмотрим, что из себя представляют объекты: СправочникОбъект, ДокументОбъект, НаборЗаписей. Назовем их «Объекты_СУБД», чтобы не путаться в понятиях, т.к. в 1С везде объекты: на формах, в дереве метаданных и т.д., но все они разные.

Так же объект_СУБД имеет методы ЭтоНовый(), Модифицированность(), Записать() и т.д., включая определенные нами самими процедуры и функции ЗаполнитьИнн().

Объект_СУБД – это логическая структура представление данных в СУБД. Другими словами, каждое свойство имеет связь с конкретным полем в СУБД.

Например, в СУБД есть 2 физические таблицы, о при этом это один «СправочникОбъект»:

  1. Основная таблица справочника – это основные реквизиты: Наименование, ИНН, Пол
  2. Дополнительная таблица справочника – это табличная часть «Контактная информация» с реквизитами ТипКИ и Значение.
Курс 1С: Эксперт. Реквизиты управляемых форм. СправочникОбъект 1С
Реквизиты управляемых форм. СправочникОбъект 1С

В обычном приложении объект_СУБД передается на Клиент и там редактируется в форме. Другими словами, в обычном приложении мы работаем с объектом_СУБД непосредственно: нам доступны все его свойства и методы, включая запись. Такой объект может занимать в оперативной памяти клиента очень много места.

Реквизиты управляемых форм

В концепции управляемого приложения, в отличие от обычного приложения, мы разделяем сеанс и соединение, таким образом, Объект_СУБД уже не может существовать на Клиенте, потому что связь свойств с СУБД не стабильна.

К тому же мы всегда исходим из того, что  Клиент – максимально слаб, следовательно, мы ограждаем его от загрузки таких безразмерных данных, как Объекты_СУБД и Таблицы значений.

Значит, необходима другая реализация способа редактирования данных на Клиенте (включая web), концептуально отличная от способа работы обычного приложения. И такая реализация была разработана и была названа управляемое приложение.

Все данные с сервера на Клиент передаются в реквизитах формы. Те данные, которые невозможно передать на Клиент в том виде, как они существуют на Сервере, преобразуются в специальные типы, например, ДанныеФормыСтруктура и ДанныеФормы Коллекция. А в построителе формы в режиме конфигуратора выделяются скобками, например, «(ДокументОбъект.ЗаказПокупателя)» или «(ТаблицаСлужебныхДанных)».

ДанныеФормыСтруктура и ДанныеФормыКоллекция – это копия (модель) серверного объекта, который помещается в своеобразную структуру с ключами и значениями (объект_СУБД) или массив структур с ключами и значениями (таблица формы).

Чтобы получить из копии (модели) реальный объект, например, из основного реквизита «Объект», мы хотим получить реальный Объект_СУБД, то мы можем воспользоваться методом УФ «РеквизитФормыВЗначение».

Полученный Объект_СУБД будет полностью реальным и рабочим, мы, например, можем вызывать модульные процедуры и функции. И наоборот, чтобы значение перевести в данные формы «ЗначениеВРеквизитФормы». Если мы хотим произвести эти операции вне форм, например, мы передали реквизит как параметр в общий модуль, то мы можем воспользоваться функциями  «ДанныеФормыВЗначение» и «ЗначениеВДанныеФормы».

Реквизиты управляемых форм 1С

Таким образом, когда мы строим форму в конфигураторе, мы определяем, из чего она будет состоять. Мы можем получать на Клиент не все данные, а только те, которые выберем. Так же мы можем добавлять свои реквизиты или дополнять проекции таблицы данных Объекта_СУБД (ДанныеФормыКоллекция) своими служебными колонками.

При работе с УФ мы всегда должны думать о том, что она может передаваться по очень слабому каналу, следовательно, не рекомендуется создавать большие реквизиты. Чем форма легче, тем быстрее она формируется и передается.

УФ, как и обычная форма, имеет основной реквизит – это тот реквизит, в который будет считан ключ формы, и который является проекцией Объекта_СУБД.

Те реквизиты, тип которых, не могут быть преданы на Клиент в том виде, как они есть, преобразуются в специальный более легкий для Клиента тип.

Данная тема подробнее рассматривается в пакете видео-курса «Секреты 1С: Эксперта» Шаг 1. Занятие 02-01 Управляемое приложение.

Константин Ефимов | 1С: Эксперт. Сопровождение проектов внедрения 1С.

КОНСТАНТИН ЕФИМОВ
Комментарии и вопросы