АНДРЕЙ ЛУКОНЬКИН, ведущий инженер-программист ОАО «НижегородАвтоДор».
Занимается автоматизацией производства, бухгалтерского, управленческого и кадрового учета
Управляемое приложение.
Первые осторожные шаги
Какие сюрпризы готовят нам разработчики управляемого приложения? На примере небольшой конфигурации попробуем освоить новые возможности платформы.
Изучать новую платформу можно и по демонстрационной конфигурации, но гораздо интереснее и эффективнее сделать что-то своими руками. Для этого я скопировал имеющуюся самописную конфигурацию по учету компьютерной техники (про неё подробно расскажу после окончания работ над функционалом) в отдельный каталог и запустил её в режиме конфигуратора на новой платформе. Для работы базы данных в управляемом приложении требуется конвертация, поэтому на вопрос «Произвести конвертацию информационной базы» отвечаем утвердительно и ждем окончания процесса.
Можно работать с программой в обычном режиме, как и работали раньше на платформе 8.1. Для этого есть соответствующие настройки: в свойствах дерева конфигурации есть параметр «Основной режим запуска» и в прочих настройках пользователя поле «Режим запуска». Для наглядности я создал в базе двух пользователей, отличающихся только режимом запуска – «ОбычноеПриложение» и «УправляемоеПриложение».
Прежде чем продолжить, обратимся к теории. Формы в управляемом приложении не прорисовываются детально, а описываются разработчиком с помощью определения состава, поведения и расположения элементов. И уже на основе этого логического описания система автоматически создаст форму. Структура элементов описывает внешний вид формы, а функциональность описывается в виде реквизитов и выполняемых действий.
Проверить это можно, запустив программу сначала под одним пользователем, затем под другим. При открытии какого-либо справочника (у меня это справочник «Компьютеры») очевидны различия (см. рис. 1). У пользователя «ОбычноеПриложение» справочник выглядит так же, как и раньше, а вот у пользователя «УправляемоеПриложение» форма справочника вытянута по вертикали, все элементы располагаются один под другим, т.е. работу в таком виде продолжать нельзя. Что же делать?
Рисунок 1. Управляемая форма, созданная платформой автоматически
В конфигураторе в справочнике создадим еще одну форму элемента, назовем её УправляемаяФорма, обязательно установив тип формы как управляемая. Пока нас интересует только управление расположением реквизитов, чтобы форма получилась удобочитаемой. Здесь мы можем объединять несколько реквизитов в группу, и для этой группы задавать некоторые параметры.
Например, если мы хотим, чтобы код и наименование находились в одной строке, а не друг под другом, то создадим группу «Шапка» и поместим код и наименование в неё. Затем изменим в свойствах группы значение параметра «Группировка» на «Горизонтальная». В нижнем окне сразу можем видеть результат наших изменений – код и наименование справочника теперь располагаются рядом.
Можно объединить некоторые реквизиты по логическому принципу не только в виртуальную группу, но и выделить их на форме. Для этого используется свойство группы «Отображение». В нашем случае мы объединим сетевые настройки компьютера в рамку (см. рис. 2).
Рисунок 2. Окно управление элементами формы
На рис. 1 видно, что все реквизиты одной длины и привязаны к краю формы. Я использовал свойства реквизита «Ширина» и «РастягиватьПоГоризонтали» для более удобного расположения, то есть фактически управление расположением происходит не интерактивно, а описательно, с помощью задания неких параметров.
Таким образом, объединяя в группы, расставляя в нужном порядке, задавая размеры и способы привязки по вертикали и горизонтали, мы получаем форму нужного вида, которая будет отображаться для пользователя «УправляемоеПриложение».
Теперь возникает вопрос – какая форма будет основной? Так как пользователям может назначаться один из двух вариантов работы, то соответственно и основные формы задаются для каждого из двух режимов. Для управляемого приложения основные формы задаются в закладке «Основные» (указываем форму элемента «УправляемаяФорма»), для обычного режима работы в закладке «Дополнительные» (указываем форму элемента «ФормаЭлемента»). Теперь при входе в систему пользователя «ОбычноеПриложение» справочник будет выглядеть так же, как и раньше, на платформе 8.1, а при входе пользователя «УправляемоеПриложение» будет такой, какой она показана на рис. 3. Следующим важным шагом будет распределение объектов метаданных по подсистемам. Если раньше это разделение было больше для разработчиков, то в управляемом приложении оно отражается непосредственно на работе пользователей. При этом структура подсистем не обязательно одноуровневая, можно создавать вложенные схемы.
Рисунок 3. Управляемая форма с заданными настройками параметров
Создание подсистем влияет не только на визуальный интерфейс при работе пользователей, но также этот процесс важен при использовании хранилища конфигурации (лично я сторонник использования хранилища даже в тех случаях, когда с программой работает один программист). Дело в том, что в управляемом приложении реализована возможность захвата в хранилище конфигурации отдельной подсистемы, что повышает удобство работы программиста.
В статье затронута лишь небольшая часть работы с интерфейсом, но именно описанные выше действия необходимы для дальнейшего ознакомления с новыми возможностями системы.