Лабораторная работа 1. Разработка интерфейса пользователя |
1.1. Создание
нового интерфейса В нашей конфигурации в настоящий момент имеется 2 формы,
открытие которых мы делаем через пункт меню
"Операции". Это не очень удобно для пользователя. Кроме того, в модуле
приложения мы реализовали процедуры
ПримерыОбращенияККонстантам() и ПримерыОбращенияКРегиструСведений(), вызов которых расположен в процедуре – обработчике события ПриНачалеРаботыСистемы(), что нельзя назвать хорошим решением, т.к. такой вызов
происходит при каждом вызове "1С:Предприятия". Решить выше указанные проблемы можно путем создания в
конфигурации своего интерфейса,
используя который пользователь сможет давать системе определенные команды. |
1.1. Создание нового интерфейса |
||||||||||||
Для того чтобы создать новый интерфейс,
необходимо раскрыть ветвь "Общие" дерева Конфигурации выбрать там
поддерево "Интерфейсы". Затем, используя правую кнопку мыши,
выбрать пункт меню "Добавить" (см. рис. 1.1).
Сразу после этой команды система откроет окно
"Конструктора меню", который помогает построить новый интерфейс
на начальном этапе (см. рис.1.2).
Можно, конечно, на этом этапе сразу установить все
"галочки" во всем списке "Подменю", но мы воспользуемся
более тонкой настройкой. Расставьте флажки самостоятельно, следуя приведенному ниже
упражнению.
Сразу после нажатия на эту кнопку в дереве
окна
"Конфигурация" появится новый объект
"Интерфейс1", свойства которого система
предложит заполнить. |
1.2. Свойства интерфейса |
|||||||||||
Интерфейс
имеет только группу свойств
"Основные", большая часть из которых нам
уже знакома, а остальные свойства мы рассмотрим, когда в этом возникнет
необходимость. Выполните следующее упражнение:
Обратим внимание на то, что при завершении своей работы, Конструктор
меню открыл окно
для редактирования интерфейса (см. рис. 1.3).
В этом окне мы видим, что конструктор
уже сформировал Главное меню, которое будет доступно пользователю.
Причем в это меню
вошли все те пункты, на которых мы поставили свои
"галочки". Главное меню вполне работоспособно. Осталось сделать совсем немного – это слегка его доработать… |
1.3. Редактирование интерфейса |
1.3.1. Редактирование
свойств пункта меню Каждый из пунктов меню
имеет свой набор свойств
(почти как и везде в "1С:Предприятии").
Поэтому, если сделать двойной щелчок мышью
на пункте меню "Справочники – Курсы", откроется палитра свойств для его настройки (см. рис. 1.4).
Назначение большинства свойств понятно из их названия
(рассмотрим их подробнее чуть позже). |
1.3.1. Редактирование свойств пункта меню |
|||||||||||||||||||||||
На данном этапе свойства тех пунктов меню,
которые построены Конструктором, мы
можем доработать добавив к ним Картинку,
которая будет изображаться на пункте меню. Для этого мы нажмем на кнопку
свойства "Картинка". Сразу после этого откроется диалог "Выбор
картинки" (см. рис. 1.1). Поскольку в нашей конфигурации пока
отсутствуют какие-либо картинки,
то мы можем воспользоваться внешним файлом.
Для этого необходимо сначала переключиться на закладку "Подбор из
файла-коллекции", а затем, используя кнопку "Выбрать файл",
открыть файл-коллекцию.
Выполните следующее упражнение:
|
1.3.2. Свойство "Действие" |
Если выбрать пункт меню "Константы" из нашего интерфейса
и нажать на кнопку
выбора для свойства
Действие, то тогда система откроет диалог, который изображен на рисунке 1.6.
Пункт меню может отвечать не только за открытие необходимой формы.
Достаточно часто эти действия приходится выражать "программным
способом", располагая в модулях процедуры. Так, например, в модуле
приложения мы написали процедуры
ПримерыОбращенияККонстантам() и ПримерыОбращенияКРегиструСведений(), вызов которых было бы удобно сделать через пункт меню, а не
через процедуру ПриНачалеРаботыСистемы() при каждом запуске системы. Если мы сейчас переключимся в диалоге "Выбор действия"
на закладку "Модули", то соответствующий список будет пуст (см.
рис. 1.7). Почему? Ответ прост: потому, что сейчас эти процедуры
принадлежат локальному контексту Модуля приложения.
А раз так, то вызвать их можно только из какой-либо процедуры
этого модуля. Для того чтобы процедуры ПримерыОбращенияККонстантам() и ПримерыОбращенияКРегиструСведений() можно было бы использовать как действие в пункте меню, их
необходимо внести в глобальный контекст. Тогда эти процедуры появятся
в списке возможных действий. |
1.3.3. Создание новых пунктов меню |
|||||||||||||||||||||||||
Окно
редактирования интерфейса
позволяет легко создавать новые пункты меню.
В самом деле, если взглянуть на рисунок 1.3, то можно увидеть, что среди всех
пунктов Главного меню есть пункт "<Новая>", который и служит
для создания новых пунктов. Создайте новый пункт меню, выполнив следующее упражнение:
Обратите внимание, что после изменения свойств
этого пункта меню,
окно редактирования интерфейса тоже изменилось – там добавился еще один пункт
меню (см. рис. 1.8).
Мы опять выделим пункт "<Новая>",
из меню "Примеры" и заполним его свойства, но предварительно
выполним некоторую подготовительную работу в Модуле
приложения
Теперь можно обеспечить вызов этих процедур
из подпунктов этого меню. Для этого нужно проделать следующее: в свойстве
"Действие" нового пункта меню нажать на кнопку
выбора и выбрать в открывшемся диалоге "Выбор действия" закладку
"Модули" (см. рис.1.9.).
|
1.3.4. Добавление новой панели |
|||||||||||||||
Все пункты меню,
с которыми мы имели дело входят в панель
"Главное меню" в чем легко убедиться, если открыть ее свойства (см.
рис. 1.10).
Как видно из рисунка панель
может быть либо меню,
либо панелью инструментов. Поэтому мы, используя кнопку
"Добавить панель", добавим панель инструментов в наш "Основной
интерфейс".
После указанных действий окно по редактированию интерфейса
примет вид, изображенный на рисунке 1.11.
Кнопка |
1.3.4. Добавление новой панели |
|||||||||||||||
Все пункты меню,
с которыми мы имели дело входят в панель
"Главное меню" в чем легко убедиться, если открыть ее свойства (см.
рис. 1.10).
Как видно из рисунка панель
может быть либо меню,
либо панелью инструментов. Поэтому мы, используя кнопку
"Добавить панель", добавим панель инструментов в наш "Основной
интерфейс".
После указанных действий окно по редактированию интерфейса
примет вид, изображенный на рисунке 1.11.
Кнопка |
1.4. Самостоятельная работа |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Создание панели
инструментов выполните самостоятельно, используя для заполнения свойств
ее кнопок следующее упражнение:
|
1.1. Тестирование интерфейса |
|||||||||
После того как разработка интерфейса
завершена, его необходимо проверить. Никакого другого способа проверки, кроме
запуска конфигурации в режиме "1С:Предприятие"
не существует. Однако если сейчас мы выполним запуск, то в этом режиме нашего
интерфейса не будет. Почему? Потому, что у нас нет ни одного пользователя
(о пользователях – мы расскажем в следующих главах), а для конфигурации не
назначен основной интерфейс. Таким образом, нам необходимо в свойствах
Конфигурации внести следующие изменения:
Теперь если запустить "1С:Предприятие"
и попробовать все "наши" пункты меню и кнопки
на панели инструментов, то окно
приложения может выглядеть примерно так, как это изображено на рисунке 1.12. |
1.6. Переключение интерфейсов |
||||||||||||||||||||||
1.6.1. Добавление
команды переключения интерфейса В нашем интерфейсе
есть пункт меню "Примеры", которым мы будем пользоваться все же
реже, чем обращаться к формам
прикладных объектов. Поэтому само собой напрашивается решение – выделить этот
пункт в отдельный интерфейс. Что мы и проделаем:
Обратим внимание на следующий момент: конструктор меню всегда
создает переключаемый интерфейс (об использовании не переключаемых
интерфейсов мы поговорим позже). Именно поэтому мы вставили в наш интерфейс
две команды: одну, позволяющую переключаться на любой интерфейс, а вторую,
для возвращения в основной интерфейс. Теперь нам нужно решить две задачи:
|
1.6.1. Добавление команды переключения интерфейса |
|||
Откроем свойства
основного интерфейса
и убедимся в том, что это тоже переключаемый интерфейс (см. рис. 1.13).
А поскольку это так, то нам необходимо добавить в пункт меню
для переключения в интерфейс примеров в подменю
"Прочие". Можно, конечно, это сделать уже известным нам способом
(используя кнопку
выбора действия из соответствующего диалога "Выбор действия",
который мы рассматривали в предыдущем разделе), но в Конфигураторе есть
другой – более наглядный способ настроить взаимное переключение интерфейсов. Для того чтобы воспользоваться этим способом необходимо,
используя правую кнопку мыши
выбрать пункт меню "Дополнительно" на объекте
"ОсновнойИнтерфейс", тогда откроется специальное окно
по дополнительной настройке
объекта (см. рис. 1.14).
На закладке "Интерфейсы" в подокне "Команды"
этого окна перечислены для интерфейсов возможные команды переключения. Так, если выделить в окне "Конфигурация"
"ОсновнойИнтерфейс" и для него в дополнительном окне выбрать
"ИнтерфейсПримеров", то флаг напротив команды "Основной
интерфейс: Переключить интерфейс" будет означать, что из интерфейса
примеров можно переключиться в основной интерфейс. Для того чтобы выполнить обратное действие выполните следующие
действия:
Если Вы выполнили упражнение правильно, то тогда вид окна
будет таким, как это изображено на рисунке 1.11.
Обратимся к окну редактирования основного интерфейса
(см. рис. 1.16) и увидим, что у нас добавился пункт в подменю
"Прочие", который будет переключать интерфейс из основного в
интерфейс примеров.
|
1.6.2. Перенос подменю из одного интерфейса в другой |
|||
Теперь на необходимо целое подменю
"Примеры" перенести из основного интерфейса
в интерфейс примеров. Это можно сделать двумя способами – через буфер обмена и
используя механизм "Перенеси и бросить". Рассмотрим первый способ. Выделим в окне
редактирования основного интерфейса подменю "Примеры" и, используя
правую кнопку мыши, выберем команду "Вырезать" (см. рис. 1.17).
После этого необходимо открыть (или переключиться в) окно
редактирования для интерфейса примеров и на пункте меню
"<Новая>", используя правую кнопку мыши
дать команду "Вставить" (см. рис. 1.18).
После описанных выше действий в интерфейсе примеров возникнет
новое подменю
"Примеры".
Если Вы все сделали правильно, то оба интерфейса будут выглядеть
так, как это изображено на рисунке 1.19.
|
1.6.3. Переключение интерфейсов в режиме "1С:Предприятие" |
Переключение интерфейсов
проверьте самостоятельно в режиме "1С:Предприятие".
Не забудьте перед запуском обновить конфигурацию в ИБ. |
1.7. Что мы узнали |
Эту главу мы целиком посвятили настройке интерфейса. При этом мы
рассмотрели Конструктор меню, работа которого существенно упрощает процесс
создания нового интерфейса. Мы рассмотрели назначение всех свойств интерфейса как объекта
дерева "Конфигурация". Каждый интерфейс состоит из отдельных панелей,
которые содержат команды к системе. Панель может представлять собой либо
меню, либо панель инструментов, которая содержит отдельные кнопки. Мы подробно разобрали создание новых пунктов меню, кнопок на
панели инструментов и как можно изменять их свойства. Каждый элемент панели (будь то элемент меню, или это кнопка)
имеет свойство "Действие", которое содержит то действие,
которое должна выполнить система. Таким действием может быть открытие формы
какого-либо объекта в конфигурации или вызов процедуры обработчика события. В связи с последним мы рассмотрели вопрос как можно
"обычную" процедуру Модуля приложения сделать обработчиком события.
Оказывается для этого достаточно внести ее в глобальный контекст (добавочное
ключевое слово Экспорт) и выбрать ее в качестве действия в соответствующем диалоге. При разработке интерфейсов следует помнить, что какой-либо
интерфейс следует сделать основным для конфигурации, для того чтобы им можно
было бы пользоваться в случае отсутствия списка пользователей
ИБ. Отдельно мы рассмотрели вопрос разработки переключаемых
интерфейсов. Отметим, что каждый такой интерфейс позволяет таким образом
сосредоточиться на выполнение определенной группы задач. В случае
необходимости, пользователь сможет переключиться к выполнению другой группы
задач, просто выбрав соответствующий пункт меню. . |