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