Разработка интерфейса прикладных решений на платформе «1С:Предприятие». Издание 2, стереотипное
Қосымшада ыңғайлырақҚосымшаны жүктеуге арналған QRRuStore · Samsung Galaxy Store
Huawei AppGallery · Xiaomi GetApps

автордың кітабын онлайн тегін оқу  Разработка интерфейса прикладных решений на платформе «1С:Предприятие». Издание 2, стереотипное


В.А. Ажеронок, А.В. Островерх, М.Г. Радченко, Е.Ю. Хрусталева

Разработка интерфейса прикладных решений на платформе «1С:Предприятие 8». Издание 2, стереотипное

В.А. Ажеронок, А.В. Островерх, М.Г. Радченко, Е.Ю. Хрусталева

Разработка интерфейса прикладных решений на платформе «1С:Предприятие 8». Издание 2, стереотипное

Электронная книга в формате ePub; ISBN 978-5-9677-3371-0.

Версия издания от 20.11.2023.

Электронный аналог издания "Разработка интерфейса прикладных решений на платформе «1С:Предприятие 8»"
(ISBN978-5-9677-3359-8, М.: ООО «1С-Паблишинг», 2024; артикул печатной книги по прайс-листу фирмы «1С»: 4601546147899; по вопросам приобретения печатных изданий издательства «1С-Паблишинг» обращайтесь к партнеру «1С», обслуживающему вашу организацию, или к другим партнерам фирмы «1С»).


Книга адресована специалистам, имеющим опыт разработки на платформе «1С:Предприятие 8.3». Также она будет интересна и полезна всем программистам, желающим познакомиться с тем, как создаются прикладные решения, работающие в интерфейсе «Такси». 
Состоит из пяти частей, посвященных различным областям разработки интерфейса: формированию командного интерфейса, разработке форм в конфигураторе, программированию форм, оптимизации взаимодействия между клиентской и серверной частью приложения, адаптации форм для работы в мобильном клиенте. Большое количество иллюстраций и практических примеров помогут читателю быстрее освоить новые технологии разработки. 
Демонстрационные конфигурации, используемые в книге, опубликованы на портале 1С:ИТС. 
Вы можете использовать их для практического знакомства с примерами и для доработки в целях изучения новых возможностей платформы. 
Все конфигурации созданы на версии платформы 8.3.12.1412.  

© ООО «1С-Паблишинг», 2024
© Оформление. ООО «1С-Паблишинг», 2024

Все права защищены.
Материалы предназначены для личного индивидуального использования приобретателем.
Запрещено тиражирование, распространение материалов, предоставление доступа по сети к материалам без письменного разрешения правообладателей.
Разрешено копирование фрагментов программного кода для использования в разрабатываемых прикладных решениях.


Фирма «1С»
123056, Москва, а/я 64, Селезневская ул., 21.
Тел.: (495) 737-92-57.
1c@1c.ru, http://www.1c.ru/
Издательство ООО «1С-Паблишинг»
127473, Москва, ул. Достоевского, 21/1, строение 1.
Тел.: (495) 681-02-21.
publishing@1c.ru, http://books.1c.ru/

Введение

Концепция интерфейса, используемая в платформе 1С:Предприятие 8.3, позволяет прикладным решениям работать не только внутри локальных сетей, но и через Интернет, используя низкоскоростные каналы связи.

В основе этой концепции лежат две важные особенности. Во-первых, платформа самостоятельно формирует пользовательский интерфейс на основе статического, декларативного описания, создаваемого разработчиком. Грубо говоря, разработчик описывает некоторые правила, а платформа, следуя этим правилам, самостоятельно размещает элементы в формах и окнах. При этом разработчик, если это необходимо, имеет возможность в процессе работы прикладного решения изменять некоторые части интерфейса и создавать собственные алгоритмы обработки данных, представленных в интерфейсе. Вторая особенность заключается в том, что разработчику в явном виде необходимо программировать как клиентскую, так и серверную части своего приложения.

Для специалистов, имеющих опыт разработки в предыдущих версиях платформы 1С:Предприятие, обе эти особенности являются новыми. Для программистов, не знакомых с системой 1С:Предприятие, новыми и непривычными могут являться и другие подходы, принятые при разработке прикладных решений 1С:Предприятия.

По этой причине данная книга описывает не только технические, но и многие концептуальные вопросы, необходимые для конструирования и программирования пользовательского интерфейса.

Поскольку книга посвящена технической стороне разработки интерфейса, вопросы дизайна и юзабилити в ней не рассматриваются.

Однако интерфейсы должны быть красивые и удобные для пользователя, рекомендуем вам ознакомиться с «Руководством по стилю для типовых конфигураций на платформе 1С:Предприятие 8», которое опубликовано на портале ИТС (its.1c.ru/app-design).

Книга состоит из пяти частей. Каждая из них посвящена определенной области разработки.

В первой части книги рассказывается о принципах, на основе которых платформа формирует командный интерфейс, и о том, как разработчик может влиять на его формирование.

Во второй части рассматриваются различные возможности статического создания форм в Конфигураторе – средстве разработки, входящем в состав платформы.

В третьей части рассказывается о возможностях использования встроенного языка для решения различных интерфейсных задач.

В четвертой части книги рассматриваются основные принципы и подходы, позволяющие формам работать быстро и производительно.

В пятой части рассказывается о том, как адаптировать интерфейс прикладного решения для работы в мобильном клиенте. Мобильные устройства имеют маленькие экраны, поэтому платформе нужны дополнительные «подсказки» от разработчика, чтобы она могла «подстроить» внешний вид формы под маленький экран.

Помимо большого количества иллюстраций и практических примеров книга содержит значительное число демонстрационных конфигураций. Они опубликованы на портале 1С:ИТС. Вы можете скачать их по адресу http://its.1c.ru/download/book_demo/.

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

Все демонстрационные конфигурации созданы на версии платформы 8.3.12.1412. При описании мобильного клиента использовалась мобильная платформа 1С:Предприятие версии 8.3.12.64.

Часть 1. Конструирование интерфейса

Глава 1.1. Пользователь, интерфейс, команда

В книге часто будут встречаться термины «пользователь», «пользовательский интерфейс», «команда» и «командный интерфейс». Давайте определим, что означают эти термины и как они связаны.

Пользователь – человек, работающий с прикладным решением в режиме 1С:Предприятие. Автоматизированная система создает рабочую среду, взаимодействуя с которой, пользователь решает стоящие перед ним задачи. Для обеспечения удобной и безопасной работы создаются пользовательские интерфейсы.

Пользовательский интерфейс – интерфейс, обеспечивающий передачу информации между пользователем-человеком и программно-аппаратными компонентами компьютерной системы.


ПРИМЕЧАНИЕ

Определение взято из свободной интернет-энциклопедии «Википедия»: http://ru.wikipedia.org/wiki/Интерфейс_пользователя.

Пользовательский интерфейс компьютерной программы часто понимают только как ее внешний вид. В действительности пользовательский интерфейс объединяет в себе все элементы и компоненты программы, которые влияют на взаимодействие пользователя с программным обеспечением. Основными элементами пользовательского интерфейса являются:

  • набор задач пользователя, которые он решает при помощи программы;
  • элементы управления программой;
  • навигация между разделами программы;
  • дизайн экранов программы;
  • отображаемая информация и форматы отображения;
  • устройства и технологии ввода данных;
  • диалоги, взаимодействие и транзакции между пользователем и компьютером;
  • обратная связь с пользователем.

Составной частью пользовательского интерфейса является командный интерфейс, обеспечивающий доступ пользователей к функциональности программы.


ПРИМЕЧАНИЕ

В дальнейшем мы будем оперировать в основном понятием «командный интерфейс». Однако принципы формирования командного интерфейса во многом аналогичны принципам формирования прочих составных частей пользовательского интерфейса, в частности форм.

В общем случае команда – это указание некоему интерфейсу (командный интерфейс пользователя), побуждающее исполнителя (компьютерная программа) выполнить действия для решения задачи.


ПРИМЕЧАНИЕ

Определение взято из свободной интернет-энциклопедии «Википедия»: http://ru.wikipedia.org/wiki/Команда_(программирование).

При этом команда:

  • может быть отдана только пользователем, имеющим на это право;
  • не включает в себя подробные разъяснения, как будет происходить исполнение, а предполагает, что исполнитель (программа) знает, что и как необходимо исполнить.

Командный интерфейс – совокупность команд, доступных пользователю, при помощи которых он отдает приказание системе на выполнение действий.

Применительно к компьютерной программе совокупность команд определяет, какие действия она может выполнить, а командный интерфейс определяет, какие команды может отдать конкретный пользователь и как он получит доступ к этим командам.

Набор команд интерактивной компьютерной программы обычно включает в себя несколько категорий команд:

  • команды, которые позволяют перемещаться между функциональными блоками программы, – например, функции настройки программы, функции просмотра данных, функции модификации данных, функции импорта/экспорта данных;
  • команды, которые позволяют вызывать формы и перемещаться между ними, – например, вызов формы просмотра перечня товаров, вызов формы ввода нового документа;
  • команды, которые позволяют выполнять те или иные действия с обрабатываемыми данными, – например, изменение элемента справочника, построение отчета.

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

Для разграничения прав и состава команд в компьютерных программах обычно реализуется система учетных записей. Каждая учетная запись (возможно, защищенная паролем) определяет совокупность ресурсов, доступных пользователю. На основании учетной записи осуществляются идентификация, аутентификация пользователя и предоставление разрешения на работу с ресурсами.

Таким образом, при разработке командного интерфейса необходимо решить две основные задачи:

  • из множества команд, исполняемых программой, выделить подмножество команд, доступных конкретному пользователю;
  • предоставить возможность пользователю вызывать доступные команды.

Глава 1.2. Прикладное решение глазами пользователя

В данной главе мы рассмотрим структуру пользовательского интерфейса прикладного решения под названием «Такси». Он разработан в соответствии с современными тенденциями построения интерфейсов и отвечает требованиям работы с веб-приложениями. Интерфейс «Такси» является «дружественным» и комфортным в использовании за счет удобной и быстрой навигации по прикладному решению, настраиваемого пользователем рабочего пространства и многого другого.

Первый взгляд

Для знакомства с пользовательским интерфейсом запустим демонстрационную базу «Глава 1.2. Прикладное решение глазами пользователя».

При запуске «1С:Предприятия» открывается основное окно приложения. В рабочей области основного окна приложения мы видим начальную страницу, с которой начинается работа пользователя с прикладным решением (рис. 1.1).


Рис. 1.1. Начальная страница прикладного решения

Задача начальной страницы – быстрое включение пользователя в работу. На начальной странице находятся формы, которые наиболее часто используются в данном прикладном решении. Например, список продаж товаров, расчеты с контрагентами, курсы валют и т. д. Причем каждый пользователь, в зависимости от своей роли, видит те формы, которые соответствуют специфике его работы.

Состав форм на начальной странице настраивается при разработке конфигурации (в т. ч. программно). Однако пользователь, исходя из своих предпочтений, также может изменить состав форм на начальной странице из списка доступных форм, предназначенных для этого разработчиком.


ПРИМЕЧАНИЕ

Более подробно о пользовательской настройке начальной страницы рассказывается в главе 2.10 «Начальная страница».

В рабочей области основного окна приложения открываются различные окна клиентского приложения для работы с данными информационной базы, формирования отчетов и т. п. Поскольку интерфейс «Такси» однооконный, то в каждый конкретный момент времени в рабочей области обычно отображается какое-то одно окно клиентского приложения. Для перехода между открытыми окнами используются команды формы Вперед/Назад, а также Панель открытых (рис. 1.2).


Рис. 1.2. Команды перехода между открытыми окнами и панель открытых

Основное окно приложения

Для доступа к функциональности приложения в основном окне могут располагаться различные панели, с помощью которых пользователь может эффективно осуществлять навигацию по приложению, т. е. быстро находить нужные разделы и команды.

Показ этих панелей может быть включен/отключен как при разработке, так и в пользовательском режиме прикладного решения. При этом и разработчик, и пользователь могут настраивать расположение этих панелей в основном окне так, как им удобно.

Состав панелей интерфейса

Основное окно приложения содержит следующие элементы:

  • область системных команд;
  • панель разделов;
  • панель функций текущего раздела;
  • панель инструментов;
  • панель избранного;
  • панель истории;
  • панель открытых;
  • рабочая область;
  • информационная панель.

Но не все из этих панелей видны при стандартной настройке интерфейса. Рассмотрим сначала стандартный вид основного окна приложения (рис. 1.3).


Рис. 1.3. Стандартный вид основного окна приложения

В самом верху окна находится область системных команд (см. рис. 1.3). В этой области выводится заголовок приложения и располагаются системные команды, состав которых не зависит от конкретного прикладного решения. Системные команды обеспечивают выполнение общих действий по управлению прикладным решением. Например, обеспечивают доступ к главному меню прикладного решения, расположенному в левой части области системных команд. Справа от заголовка приложения находятся различные вспомогательные команды, например: команды печати, получения навигационной ссылки и перехода по ней, команда быстрого масштабирования форм и т. д.

Если в информационной базе ведется список пользователей, то в области системных команд, рядом с информацией о программе, отображается гиперссылка с именем пользователя (см. рис. 1.3), при нажатии на которую появляется диалог с информацией о текущем пользователе. С помощью этого диалога пользователь также может завершить работу с клиентским приложением, при этом одновременно выполняется отмена аутентификации OpenID (если она использовалась).

Отображение остальных панелей интерфейса клиентского приложения может настраиваться как в конфигураторе (в т. ч. программно) в целом для прикладного решения, так и отдельным пользователем «под себя» в режиме 1С:Предприятие.


ПРИМЕЧАНИЕ

Подробнее о настройке видимости и отображения панелей основного окна рассказывается в разделе «Настройка панелей интерфейса».

Под областью системных команд расположена панель разделов (см. рис. 1.3). Разделы прикладного решения делят всю функциональность приложения на части, каждая из которых содержит набор команд, объединенных прикладным смыслом. Разделы прикладного решения соответствуют подсистемам верхнего уровня иерархии, созданным в конфигурации. Если подсистем в конфигурации нет, то панель разделов не будет отображаться в основном окне приложения.

Для повышения наглядности каждой подсистеме можно установить понятную картинку. Причем и в конфигураторе, и в режиме 1С:Предприятие при настройке панели разделов можно установить расположение текста под картинкой или справа от нее.

Первым разделом всегда является основной раздел, который называется Главное. Разработчик помещает в раздел Главное команды, которые всегда должны быть «под рукой» у конкретного пользователя в зависимости от его роли.

Состав и порядок остальных разделов стандартно настраиваются разработчиком в конфигураторе, но пользователь в режиме 1С:Предприятие может изменить их по своему желанию.


ПРИМЕЧАНИЕ

Более подробно о пользовательских настройках панели разделов рассказывается в главе 1.8 «Пользовательская настройка интерфейса» в разделе «Настройка панели разделов».

Если все разделы не помещаются на панели, то появляется кнопка горизонтальной прокрутки панели разделов. При повторном выборе раздела открывается меню функций, в котором собраны все команды текущего раздела.

Под панелью разделов расположена панель функций текущего раздела (см. рис. 1.3). В начале панели обычно расположены команды, позволяющие открыть формы различных списков. Например, выбрав раздел Товарные запасы и выполнив команду Товары, мы увидим список товаров в рабочей области окна.

Важные команды находятся в самом начале и выделены жирным шрифтом. Если все команды не помещаются в панели функций текущего раздела – на панели отображается подменю Еще, которое содержит оставшиеся команды.

Затем в подменю Создать, Отчеты и Сервис сгруппированы команды, позволяющие выполнять различные действия: создавать новые элементы данных, формировать различные отчеты или выполнять какие-то обработки. После них могут находиться произвольные группы команд, созданные разработчиком. Если команды в какой-то группе команд отсутствуют, то эта группа не отображается на панели (как, например, группа Сервис на рис. 1.3).

Вертикально, слева от рабочей области, в основном окне приложения отображается панель инструментов (см. рис. 1.3). Эта панель предназначена для быстрого доступа к следующим элементам интерфейса (рис. 1.4):

  • Меню функций;
  • Избранное;
  • История;
  • Поиск;
  • Центр оповещений.


Рис. 1.4. Панель инструментов

Меню функций содержит все команды текущего раздела (рис. 1.5).


Рис. 1.5. Меню функций

Подведя курсор к часто используемой команде, пользователь может нажать на звездочку слева от нее и добавить эту команду в избранное. Повторное нажатие на звездочку удаляет команду из избранного.

В правом верхнем углу меню функций находятся поле ввода для поиска и меню настроек (см. рис. 1.5).

После ввода символов в поле ввода для поиска во всех разделах прикладного решения выполняется поиск функций, в представлении которых содержатся искомые символы (рис. 1.6).


Рис. 1.6. Поиск по функциям

Из панели инструментов пользователь может открыть избранное (на рис. 1.7 слева), где содержится список навигационных ссылок на различные элементы прикладного решения, отмеченные пользователем для частого использования. В избранное можно добавить команды из меню функций, из истории и непосредственно из формы.


Рис. 1.7. Форма избранного и панель избранного

В избранном пользователь может выделить особенно важные элементы, которые он использует чаще всего. Для этого нужно нажать на пиктограмму кнопки, расположенной слева от элемента. Такой элемент будет выделен полужирным шрифтом и при последующем открытии избранного всегда будет расположен в верхней части списка. Можно также переименовать элемент или удалить его из избранного.

Чтобы быстрее найти нужный элемент в избранном, можно ввести искомые символы в поле ввода для поиска в правом верхнем углу формы.

Избранные ссылки могут быть также показаны в панели избранного (на рис. 1.7 справа), если показ этой панели включен в интерфейсе приложения. В этом случае возможности поиска, переименования, удаления и отметки важного элемента избранного становятся недоступны.

Из панели избранного можно открыть избранное, нажав на специальную пиктограмму в правом верхнем углу панели.

Из панели инструментов пользователь может открыть историю (на рис. 1.8 слева), в которой содержатся навигационные ссылки на недавно открытые, созданные или отредактированные объекты информационной базы. Эти ссылки упорядочены по времени использования и сгруппированы по датам.


Рис. 1.8. Форма истории и панель истории

Таким образом, историю можно использовать для быстрого доступа к различным документам, элементам справочников и т. п., с которыми пользователь недавно работал.

Чтобы быстрее найти нужный элемент в истории, можно ввести искомые символы в поле ввода для поиска в правом верхнем углу формы.

История может быть также показана в панели истории (на рис. 1.8 справа), если показ этой панели включен в интерфейсе приложения. В этом случае группировка по датам и отображение времени использования объекта прикладного решения становятся недоступны.

Из панели истории можно открыть историю, нажав на специальную пиктограмму в правом верхнем углу панели.

Из панели инструментов пользователь может открыть поиск (если полнотекстовый поиск включен в приложении). Стандартно вызывается системная форма полнотекстового поиска (рис. 1.9).


Рис. 1.9. Форма полнотекстового поиска

В правой части формы отображаются последние запросы, введенные данным пользователем. Для быстрого получения результата поиска достаточно нажать гиперссылку с нужным текстом.

С помощью специального языка выражений для поиска можно выполнять полнотекстовый поиск по началу слов, «неточный» поиск, поиск по синонимам и т. д.

Из панели инструментов пользователь может открыть центр оповещений, который предназначен для работы с оповещениями пользователя.

Стандартно последние три оповещения показываются на несколько секунд в правом нижнем углу рабочей области основного окна, после чего пропадают. Но важные сообщения пользователю запоминаются в центре оповещений «1С:Предприятия».

Если у пользователя появились новые важные оповещения, то в панели инструментов рядом с иконкой появляется оранжевая точка. При нажатии на иконку открывается окно центра оповещений, в котором отображаются важные оповещения, на которые пользователь еще не отреагировал – не закрыл или не выполнил связанное с оповещением действие.

Самые последние оповещения всегда находятся вверху списка. Таким образом, даже если пользователь на какое-то время отходил от компьютера, он все равно сможет их увидеть (рис. 1.10).


Рис. 1.10. Центр оповещений

Оповещение можно удалить из списка кнопкой очистки. Или же удалить сразу все оповещения кнопкой Очистить оповещения. При этом действия, связанные с оповещениями, выполнены не будут.

Удобным инструментом для переключения между окнами, открытыми в текущем сеансе работы с прикладным решением, является панель открытых. Стандартно она не видна в интерфейсе приложения. Можно настроить ее отображение (см. раздел «Настройка панелей интерфейса») и поместить горизонтально внизу основного окна. В этом случае она будет выглядеть компактно, в одну строку (рис. 1.11).


Рис. 1.11. Панель открытых

Если заголовки окон на закладках не помещаются в панели открытых, они обрезаются, заголовок начальной страницы показывается в виде иконки, а в правой части панели появляется кнопка для вызова списка всех окон. В этом списке в алфавитном порядке располагаются полные заголовки всех открытых окон. Активное окно выделяется зеленым маркером.

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

Пользователь может изменять порядок следования друг за другом открытых окон путем перетаскивания закладок в панели открытых, а также закрывать формы щелчком средней кнопки мыши (колеса) на элементе панели открытых.

В подвале основного окна приложения (см. рис. 1.3) отображается информационная панель, которая показывает, включен ли режим имитации задержек при вызове сервера и показатели производительности системы. Они нужны для анализа и оптимизации клиент-серверного взаимодействия, о котором речь пойдет в четвертой главе. Отображение показателей производительности можно включить/отключить с помощью настройки параметров приложения как в конфигураторе, так и в режиме 1С:Предприятие.

Настройка панелей интерфейса

При разработке прикладного решения в конфигураторе разработчик может настроить стандартное расположение панелей интерфейса, которые будут отображаться для всех пользователей в основном окне приложения. Для этого нужно выполнить команду Открыть интерфейс клиентского приложения из контекстного меню корня конфигурации.

Например, если разработчик хочет, чтобы внизу основного окна прикладного решения отображалась панель открытых, ему нужно в окне настройки перенести Панель открытых из списка всех доступных панелей интерфейса (справа) в левую часть окна, в группу Низ (см. рис. 1.12 вверху). В этом случае основное окно приложения примет следующий вид (рис. 1.12 внизу).


Рис. 1.12. Настройка панелей интерфейса в конфигураторе

Однако если конкретного пользователя не устраивает то, что для него настроил разработчик, он может изменить настройку панелей интерфейса лично для себя в режиме 1С:Предприятие в диалоге, вызываемом по команде главного меню Вид – Настройка панелей.

Например, в редакторе панелей пользователь может перетащить панель инструментов прямо на панель разделов, тем самым объединив обе панели в одну строку. Скрыть панель функций текущего раздела, перетащив ее в нижний серый прямоугольник (где находятся все невидимые панели), а панель избранного перетащить из нижнего прямоугольника в правый край окна (см. рис. 1.13 вверху). В этом случае основное окно приложения примет следующий вид (рис. 1.13 внизу).


Рис. 1.13. Настройка панелей интерфейса в режиме «1С:Предприятие»

При нажатии в редакторе панелей кнопки Стандартные в интерфейсе приложения будет восстановлена настройка панелей, заданная разработчиком в конфигураторе.

Кроме того, видимость и расположение панелей интерфейса можно настроить программно при старте прикладного решения. Об этом будет рассказано в третьей части книги, в главе «Настройка состава панелей интерфейса».

Для помощи разработчику в платформе уже реализованы четыре режима основного окна приложения, которые мы рассмотрим в следующем разделе.