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