Del via


Oprette en lærredapp

Power Apps er en platform med høj produktivitet til forretningsapps. Du kan oprette skræddersyede, pixel-perfekte apps med styrken ved et tomt lærred i Power Apps Studio. Du kan dele med dine brugere ved at gengive appen i browseren eller integrere den i forskellige objektbeholdere, f.eks. Teams og SharePoint-websteder.

Kerneslutbrugerens oplevelse i SAP Procurement-skabelonens løsninger er udviklet ved hjælp af lærredapps, og de kan nemt udvides, så de understøtter dine lokale forretningskrav. Kom i gang ved at følge mønstre og bedste praksis i denne artikel.

Følge bedste praksis og standarder

Alle apps udvikles ved hjælp af publicerede bedste praksis og standarder. Vi anbefaler, at du bruger samme eller lignende anbefalede fremgangsmåder og standarder, når du udvider eller opretter nye apps.

Standard Kommentarer Mere information
Funktionsstatus Funktioner, der som standard er slået til eller fra. Indeholder et delsæt af prøveversionsfunktioner undtagen eksperimentelle funktioner. Forstå eksperimentelle funktioner, forhåndsversion og udgåede funktioner i lærredapps
Respons Reaktion over for enkelt enhedstype, f.eks. tablet eller mobil. Giver appen mulighed for at fastgøre til forskellige standardskærm- og beholderstørrelser, herunder indlejring af apps i Microsoft Teams. Bruger omfattende kontrolelementer til automatisk layout, der reagerer på objektbeholderen. Oprette responsive lærredapps
Standarder for navngivning og kodning Der følges Dataverse-navngivningsstandarder for kontrolelementer, variabler og samlinger for at gøre det nemmere at finde og vedligeholde data. Power Apps Kodningsstandarder og retningslinjer for lærredapps
Tilgængelighed Egenskaber, der understøtter tilgængelighed. Det kan f.eks. være Tilgængelige etiketter, Roller, Live, Tykkelse af fokuseret ramme, Farvekontrast og Tabulatorrækkefølge Disse egenskaber forhindrer kendte designmønstre, der ikke understøtter tilgængelighedskrav. Opret handicapvenlige lærredapps og tilgængelighedsbegrænsninger i lærredapps
Ydeevnen Der følges bedste praksis for at undgå kendte ydeevnebegrænsninger. Tip og bedste praksis til at forbedre ydeevnen af lærredapps

Farvetemaer i global app

Alle apps følger et tilpasset tema og kan ændres i henhold til organisationens foretrukne farveskema. Der indstilles en global variabel i App.OnStart-egenskaber på tværs af alle apps. Denne variabel bruges af de fleste farverelaterede egenskaber på tværs af alle kontrolelementer i appen. Ændring af den globale farvetemavariabel på ét sted har en øjeblikkelig effekt på tværs af appen, når hændelsen App.OnStart er kørt.

Vigtigt

Selvom det er muligt at ændre forskellige egenskaber af farvepalet, anbefales det, at du kun ændrer egenskaben for den primære farve i den globale temavariabel.

    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")
        }
    )

Føj firmalogoet til appsene ved først at overføre billedfilen med firmalogoet til appen og derefter føje den til ScreenHeader-komponenten.

Føje dit firmalogo til appen

Flere oplysninger: Brug af multimediefiler i lærredapps

Understøttelse af lokalisering og global app

Alle lærredapps har som standard understøttelse af det engelske sprog. Men alle apps er udviklet til at være lokaliseringsklar og kan administreres til at understøtte flere sprog. Egenskaber for kontrolbredde skal muligvis ændres direkte, afhængigt af de sprog du vælger at udrulle.

Mønster for strenglokalisering

  1. På den første skærms OnVisible-egenskab under start af appen læser appen brugerens browsersprogindstilling og bestemmer den tilsvarende værdi for valg af ISO-sprogkode.
      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
        )
    )

Bemærk

Egenskaber for navne- og inputkontrol forsøger at forudse bredden på den oversatte tekstværdi, men de kan ikke altid udføres på grund af kompleksiteter i beregningen. Det anbefales derfor altid at teste og foretage mindre redigeringer af apps, når oversatte strenge og ændringer foretages.

Tip

Du kan tilføje og understøtte flere sprog ved at føje flere værdier til valgkomponenten ISO-sprogkode, der findes i SAP Base-løsningen.

Appen forespørger på SAP-lokalisering Dataverse-objektet for strenge, der er blevet oversat pr. brugerens sprog, der er logget på, og cachelagrer dem lokalt i en samling.

        ClearCollect(
            colUserLocalizedStrings,
            Filter(
                'SAP Localizations',
                Language = varISOUserLanguageCode,
                'SAP Localizations (Views)'.'Active SAP Localizations'
            )
        )

Alle tekstrelaterede egenskaber i forskellige kontrolelementer, f.eks. Text, HintText, Accessible Label, InputTextPlaceholder, NoSelectionText og ToolTips, indeholder formler, der først søger efter en tilsvarende oversat streng. Hvis den ikke kan finde den tilsvarende, er den som standard på engelsk, som er angivet i egenskaben Text i blokken With.

  With(
      {Text: "Vendor name"},
      If(
          IsBlank(
              LookUp(
                  colUserLocalizedStrings,
                  'English Value' = Text
              ).'Localized Value'
          ),
          Text,
          LookUp(
              colUserLocalizedStrings,
              'English Value' = Text
          ).'Localized Value'
      )
  )

I forbindelse med kontrolelementer til kombinationsfelt, der filtrerer værdier fra SAP List of Value, anvendes brugerens tilknyttede ISO-sprogkode fra browserens indstilling altid på filterkriterierne, og er som standard på engelsk, hvis der ikke administreres en liste over værdier for deres sprog.

Sort(
    Filter(
        'SAP List of Values',
        Status = 'Status (SAP List of Values)'.Active,
        Domain = 'Domain (SAP List of Values)'.Country,
        Language = varISOUserLanguageCode
    ),
    'Display Value'
)

Browserindstillinger af landestandard

Alle tal-, dato- og klokkeslætsfelter i lærredsapps anvender brugerens indstillinger for landestandard i browseren. En dato, der f.eks. vises som 3/23/2023 for en bruger med USA som landestandardindstilling, vises som 23.03.2023 for en bruger med landeindstillingen Tyskland.

Flere oplysninger: Byg global understøttelse ind i lærredapps

Komponenter

Komponenter er en god måde at forenkle processen til udvikling og vedligeholdelse af apps på og hjælper med at forbedre ydeevnen.

I de områder, hvor der er behov for en almindelig brugeroplevelse enten internt eller på tværs af apps, konfigureres komponenterne. På grund af begrænsninger på komponentbiblioteker til at understøtte ting som adgang til appens omfang og integrerede cloudflows kan lokale komponenter bruges i alle apps, der derefter kan importeres til andre apps.

Komponenten VendorSearch bruges f.eks. på tværs af alle de apps, der understøtter indkøb til betal-processer, og den er primært udviklet i appen SAP Vendor Management og importeret til brug i andre indkøb til betal-apps.

Advarsel!

En negativ konsekvens ved at bruge lokale appkomponenter versus komponentbiblioteker er, at hvis en ændring bestemmes, skal disse ændringer foretages på tværs af alle de apps, der allerede har importeret den pågældende komponent.

Almindelige komponenter, der bruges i hele appsene:

Komponent Beskrivelse
ScreenHeader Fælles sidehoved på tværs af alle skærmbilleder
LeftNavigation Hovednavigation, der giver hurtig adgang til andre apps, der køres af kilden Menupunkt i Dataverse
CommandBar Liste over almindelige kontrolelementer, der kan oprette, ændre, gemme, annullere, søge i bruge seneste søgning eller avanceret søgning af objekter
ScreenTabs Grupper af logiske komponenter, der er arrangeret sammen under faner for at gøre det nemt at navigere
NoItemsDisplay Elementer vises i gitre, når der ikke er nogen poster til stede
ObjectNameSearch Fælles SAP-objektsøgekomponenter medfølger i den relevante app, hvor de bruges, og de kan importeres til andre apps, hvis det er nødvendigt. Af eksempler kan nævnes VendorSearch, GLAccountSearch, MaterialSearch og RequisitionSearch

Flere oplysninger: Oversigt over lærredkomponent

Yderligere SAP-felter

Alle SAP-implementeringer er forskellige, og det forventes fuldt ud, at du tilføjer dine egne felter, der understøtter dine forretningsprocesser. Rigelig skærmplads og design er derfor implementeret på en sådan måde, at du nemt kan tilføje de felter, du skal bruge.

Almindelige objektbeholdere til kontrolelementer

De fleste kontrolelementer findes i en objektbeholder, der både består af navne- og inputkontrolelement. Feltet til hentning af leverandørens navn i appen SAP Vendor Management består f.eks. af et navne- og tekstinputkontrolelement, som det kan ses på det følgende skærmbillede. Hvis du vil tilføje et nyt felt, skal du kopiere et eksisterende objektbeholderkontrolelement og indsætte det i den relevante dynamiske komponent, opdatere navnene, teksten og til sidst tilknyttede felter.

Arbejde med kontrolelementer i objektbeholder.

Bemærk

Der er lignende objektbeholdere for andre typer inputkontrolelementer, f.eks. kombinationsfelter, datovælgere og knapper.

Dynamiske objektbeholdere

Appsene er udviklet til at reagere på enhedstypen tablet/desktop ved hjælp af lodrette og vandrette objektbeholderkontrolelementer, f.eks. vist på det følgende skærmbillede. Disse objektbeholdere er konfigureret til at have startpunkter for egenskaber som height, width, LayoutMinHeight, LayoutMinWidth og Wrap. Efterhånden som du føjer flere felter til disse objektbeholdere, skal du sikre, at egenskaberne også opdateres, så de fortsat håndterer den relevante dynamik.

Arbejde med dynamiske objektbeholdere.

Flere oplysninger: Objektbeholdere til automatisk layout

Oprette forbindelse til andre data

Styrken ved lærredapps er, at de nemt kan oprette forbindelse til et af flere hundrede andre systemer og programmer sikkert ved hjælp af deres indbyggede connector-bibliotek.

Hvis din SAP Procurement -indkøbsordreproces f.eks. kræver data fra tidligere forsalgsmuligheder, der findes i en CRM, for at fuldføre processen, kan du bruge Salesforce eller Dataverse-connectorerne til at integrere med Dynamics 365, så du nemt kan føje disse data til appen SAP Purchase Order ved at vælge en knap.

Hvis du har et internt beskyttet system eller et system uden indbygget connector, kan du desuden sammen med dit it-team oprette en brugerdefineret connector, der gør det nemt for Power Apps at bruge det pågældende system via en understøttet API.

Flere oplysninger:

Fejlhåndtering af app

Alle integrerede flowkald evaluerer et svarstatusfelt, der som standard sendes tilbage af flows, og håndterer ved at udløse en meddelelse via Giv besked-funktionen. Du kan finde flere oplysninger under Fejlhåndtering.

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);  
)

Alle uventede undtagelser, der oprettes af appen, håndteres i egenskaben App.OnError, hvor der oprettes en SAP- løsningsskabelonfejl, før fejlen udløses og spores igen. Administratorer kan se fejldetaljerne som put-udløsere, der skal aktiveres i ikke-håndterede undtagelser i appen, som det fremgår af Overvåg fejl-dokumentet.

Flere oplysninger: Egenskaben OnError

Næste trin

Udvid modelbaserede apps og Dataverse

Se også

Kom i gang med SAP Procurement-skabelonen