Создание приложения на основе холста
Power Apps — высокопроизводительная платформа для бизнес-приложений. Вы можете создавать индивидуальные, идеальные до каждого пикселя приложения, используя мощь чистого холста в Power Apps Studio. Чтобы поделиться с пользователями, визуализируйте приложение в браузере или встройте его в различные контейнеры, такие как Teams и сайты SharePoint.
Основные возможности шаблонных решений для закупок SAP для конечных пользователей создаются с помощью приложений на основе холста и могут быть легко расширены для поддержки ваших местных бизнес-требований. Чтобы начать, следуйте шаблонам и рекомендациям, описанным в этой статье.
Соблюдение рекомендаций и стандартов
Все приложения разрабатываются с использованием опубликованных рекомендаций и стандартов. Мы рекомендуем использовать те же или похожие рекомендации и стандарты при расширении или создании новых приложений.
Стандартные | Комментарии | Дополнительная информация |
---|---|---|
Статус функции | Функции, которые включены или выключены по умолчанию. Включает подмножество предварительных версий функций, кроме экспериментальных функций. | Изучите экспериментальные, предварительная версия и устаревшие функции в приложениях Canvas |
Адаптивность | Адаптивны для одного типа устройства, такого как планшет или мобильный телефон. Позволяет приложению привязываться к различным стандартным размерам экрана и контейнеров, включая встраивание приложений в Microsoft Teams. Активно использует адаптивные элементы управления контейнера с автоматическим макетом. | Создание адаптивных приложений на основе холста |
Стандарты именования и кодирования | Элементы управления, переменные, коллекции и стандарты именования Dataverse соблюдаются для облегчения обнаружения и обслуживания. | Power Apps Стандарты и рекомендации по кодированию приложений Canvas |
Специальные возможности | Свойства, поддерживающие специальные возможности. Например, "Метки специальных возможностей", "Роли", "Live", "Толщина границы фокуса", "Контрастность цветов" и "Порядок перехода по клавише TAB". Эти свойства избегают известных шаблонов проектирования, которые не поддерживают требования специальных возможностей. | Создание доступных приложений на основе холста и Ограничения доступности в приложениях на основе холста |
Производительность | Применяются рекомендации, чтобы избежать известных ограничений производительности. | Советы и рекомендации по улучшению производительности приложений Canvas |
Глобальные цветовые темы приложений
Все приложения соответствуют пользовательской теме и могут быть изменены в соответствии с предпочтительной цветовой схемой вашей организации. Глобальная переменная задается в свойствах App.OnStart для всех приложений. Эта переменная используется большинством свойств, связанных с цветом, во всех элементах управления в приложении. Изменение глобальной переменной цветовой темы в одном месте сразу же повлияет на все приложение после запуска события App.OnStart.
Внимание
Хотя можно изменить множество свойств цветовой палитры, рекомендуется изменять только свойство основного цвета в глобальной переменной темы.
Set(
varThemeColors,
{
background: ColorValue("#FAF9F8"),
backgroundFill: ColorValue("#FFFFFF"),
backgroundFillDisabled: ColorValue("#F3F2F1"),
text: ColorValue("#201F1E"),
altText: ColorValue("#FFFFFF"),
disabledText: ColorValue("#A19F9D"),
primary: ColorValue("#0078D4"),
secondary: ColorValue("#EFF6FC"),
tertiary: ColorValue("#005A9E"),
primaryGray: ColorValue("#8A8886"),
secondaryGray: ColorValue ("#C8C6C4"),
tertiaryGray: ColorValue("#605E5C"),
requiredRed: ColorValue("#A80000"),
lookupBlue: ColorValue("#0078D4")
}
)
Добавление корпоративного логотипа
Добавьте свой корпоративный логотип в приложения, сначала отправив файл изображения корпоративного логотипа в приложение, затем добавив его в компонент ScreenHeader.
Дополнительная информация: Использование мультимедийных файлов в приложениях на основе холста
Локализация и глобальная поддержка приложений
Все приложения на основе холста поддерживают английский язык. Однако все приложения спроектированы так, чтобы быть готовыми к локализации, и ими можно управлять для поддержки большего количества языков. Возможно, потребуется изменить свойства ширины элемента управления напрямую в зависимости от языков, выбранных для развертывания.
Шаблон локализации строк
- В свойстве OnVisible первого экрана во время запуска приложения приложение считывает настройки языка браузера пользователя и определяет соответствующее значение выбора код языка ISO.
Set(
varISOUserLanguageCode,
Switch(
Left(
Language(),
2
),
"ar",
'ISO Language Code'.ar,
"de",
'ISO Language Code'.de,
"en",
'ISO Language Code'.en,
"es",
'ISO Language Code'.es,
"fr",
'ISO Language Code'.fr,
"he",
'ISO Language Code'.he,
"it",
'ISO Language Code'.it,
"ja",
'ISO Language Code'.ja,
"pt",
'ISO Language Code'.pt,
"zh",
'ISO Language Code'.zh,
'ISO Language Code'.en
)
)
Заметка
Свойства элемента управления метки и ввода пытаются предвидеть ширину локализованного текстового значения, но не всегда могут быть успешными из-за сложностей в этом вычислении. Таким образом, рекомендуется всегда тестировать и вносить незначительные изменения в приложения после локализации строк и внесения изменений.
Совет
Дополнительные языки можно добавлять и поддерживать, добавляя дополнительные значения в компонент выбора Код языка ISO, содержащийся в базовом решении SAP.
Приложение запрашивает у сущности Локализация SAP Dataverse строки, которые были локализованы для языка пользователя, вошедшего в систему, и кэширует их локально в коллекции.
ClearCollect(
colUserLocalizedStrings,
Filter(
'SAP Localizations',
Language = varISOUserLanguageCode,
'SAP Localizations (Views)'.'Active SAP Localizations'
)
)
Все свойства, связанные с текстом, в различных элементах управления, таких как Text, HintText, Accessible Label, InputTextPlaceholder, NoSelectionText и ToolTips, имеют формулы, которые сначала ищут эквивалентную локализованную строку. Если эквивалент не найден, по умолчанию используется английский, который задан в свойстве Text в блоке With.
With(
{Text: "Vendor name"},
If(
IsBlank(
LookUp(
colUserLocalizedStrings,
'English Value' = Text
).'Localized Value'
),
Text,
LookUp(
colUserLocalizedStrings,
'English Value' = Text
).'Localized Value'
)
)
Для элементов управления поле со списком, которое фильтрует значения из таблицы Список значений SAP, сопоставленный код языка ISO пользователя из настроек браузера всегда применяется к критериям фильтрации, по умолчанию используя английский язык, если для их языка не администрируется список значений.
Sort(
Filter(
'SAP List of Values',
Status = 'Status (SAP List of Values)'.Active,
Domain = 'Domain (SAP List of Values)'.Country,
Language = varISOUserLanguageCode
),
'Display Value'
)
Настройки языкового стандарта браузера
Все поля числа, даты и времени в приложениях на основе холста по умолчанию учитывают настройки языкового стандарта браузера пользователя. Например, дата, отображаемая как 3/23/2023 для пользователя, использующего США в качестве настроек языкового стандарта, будет отображаться как 23.03.2023 для пользователя, использующего настройки языкового стандарта Германии.
Дополнительные сведения: Встраивание глобальной поддержки в приложения на основе холста
Компоненты
Компоненты — отличный способ упростить процесс разработки и обслуживания приложений, а также повысить производительность.
Компоненты настраиваются для областей, где требуется общий пользовательский интерфейс либо внутри, либо между приложениями. Учитывая ограничения на библиотеки компонентов для поддержки таких вещей, как доступ к области приложения и встроенным облачным потокам, локальные компоненты можно использовать во всех приложениях, которые затем можно импортировать в другие приложения.
Например, компонент VendorSearch используется во всех приложениях, поддерживающих процессы от закупки до оплаты, и в основном он был создан в приложении управления поставщиками SAP и импортирован для использования в других приложениях от закупки до оплаты.
Предупреждение
Негативным последствием использования локальных компонентов приложения вместо библиотек компонентов является то, что если изменение определено, эти изменения необходимо внести во все приложения, которые уже импортировали этот компонент.
Общие компоненты, используемые во всех приложениях:
Компонент | Описание: |
---|---|
ScreenHeader | Общий заголовок на каждом экране |
LeftNavigation | Основная навигация, обеспечивающая быстрый доступ к другим приложениям, управляемым источником Пункт меню Dataverse |
CommandBar | Список общих элементов управления для создания, изменения, сохранения, отмены, поиска, последнего поиска или расширенного поиска объектов |
ScreenTabs | Группы логических компонентов объединены во вкладки для удобной навигации |
NoItemsDisplay | Элементы отображаются в сетках, когда нет записей |
ObjectNameSearch | Общие компоненты поиска объектов SAP включены в соответствующее приложение, где они используются и, при необходимости, могут быть импортированы в другие приложения. Примеры включают VendorSearch, GLAccountSearch, MaterialSearch и RequisitionSearch |
Больше информации: Обзор компонентов холста
Дополнительные поля SAP
Каждая реализация SAP уникальна, и полностью ожидается, что вы добавите свои собственные поля, поддерживающие ваши бизнес-процессы. Таким образом, было реализовано достаточно места на экране и дизайнерские соображения, чтобы вы могли легко добавлять нужные поля.
Контейнеры общих элементов управления
Большинство элементов управления содержатся в контейнере, состоящем как из метки, так и из элемента управления вводом. Например, поле для ввода имени поставщика в приложении управления поставщиками SAP состоит из элемента управления Label и Text Input, как показано на следующем снимке экрана. Чтобы добавить новое поле, скопируйте существующий элемент управления-контейнер и вставьте его в соответствующий адаптивный компонент, обновив имена, текст и, в конечном счете, сопоставленные поля.
Заметка
Существуют аналогичные контейнеры для других типов элементов управления вводом, таких как поля со списком, средства выбора даты и кнопки.
Адаптивные контейнеры
Приложения спроектированы таким образом, чтобы реагировать на тип планшетного/настольного устройства с использованием вертикальных и горизонтальных элементов управления-контейнеров, как показано на снимке экрана ниже. Эти контейнеры настроены так, чтобы иметь начальные точки для таких свойств, как высота, ширина, LayoutMinHeight, LayoutMinWidth и Переносить. По мере добавления новых полей в эти контейнеры убедитесь, что эти свойства также обновлены, чтобы продолжать правильно обрабатывать адаптивность.
Дополнительная информация: Контейнеры с автоматической компоновкой
Связь с другими данными
Сила приложений на основе холста заключается в том, что они могут легко и безопасно подключаться к одной из нескольких сотен других систем и приложений, используя собственную библиотеку соединителей.
Например, если для выполнения процесса заказа на покупку в Закупки SAP требуются данные из предшествующих предпродажных возможных сделок, которые существуют в CRM, вы можете использовать соединители Salesforce или Dataverse для интеграции с Dynamics 365, чтобы вы могли легко добавлять эти данные в приложение заказа на покупку SAP одним нажатием кнопки.
Кроме того, если у вас есть внутренняя фирменная система или система без собственного соединителя, вы можете вместе со своей ИТ-командой создать пользовательский соединитель, который позволит Power Apps легко взаимодействовать с этой системой через поддерживаемый API.
Подробнее:
Обработка ошибок приложения
Все встроенные вызовы потоков оценивают поле состояния ответа, отправленное обратно потоками по умолчанию, и обрабатывают их путем создания сообщения с помощью функции Notify. Чтобы узнать больше, см. раздел Обработка ошибок.
If(
!IsBlank(FirstError.Message),
Patch(
'SAP Integration Errors',
Defaults('SAP Integration Errors'),
{
Action: FirstError.Source,
'Additional Information': App.ActiveScreen.Name,
'Error Message': FirstError.Message,
Name: "SAP Vendor Management",
'Source Type': 'Source Type (SAP Integration Errors)'.'Power App',
'Workflow Status': 'Workflow Status (SAP Integration Errors)'.Failed
}
);
Trace(FirstError.Message);
Error(FirstError);
)
Все непредвиденные исключения, сгенерированные приложением, обрабатываются в свойстве App.OnError, где запись ошибка шаблона решения SAP создается до повторного создания и трассировки ошибки. Администраторы могут просмотреть сведения об ошибке и установить триггеры для оповещения о необработанных исключениях приложения, как показано в документе Мониторинг ошибок.
Дополнительные сведения: Свойство OnError
Связанный контент
- Что такое приложения Canvas?
- Понимать Power Apps Studio
- Создайте приложение Canvas из решения
- Создание многоразового пользовательского интерфейса с Power Apps компонентами фреймворка компонентов и компонентами приложений Canvas
- Администрирование Microsoft Power Platform
- Приложения Canvas для корпоративных разработчиков, партнеров и независимых поставщиков программного обеспечения
Следующие шаги
Расширьте приложения на основе моделей и Dataverse