Oprette en lærredapp

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

Kerneoplevelsen for slutbrugerne af SAP-indkøbsskabelonens løsninger er bygget ved hjælp af lærredsapps og kan nemt udvides til at understøtte dine lokale forretningsbehov. Følg mønstrene og de bedste fremgangsmåder i denne artikel for at komme i gang.

Følg bedste fremgangsmåder og standarder

Alle apps er udviklet ved hjælp af publicerede bedste fremgangsmåder og standarder. Vi anbefaler, at du anvender de samme eller lignende bedste 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 undersæt af prøveversionsfunktioner undtagen eksperimentelle funktioner. Forstå eksperimentelle, prøveversions- og udgåede funktioner i lærredsapps
Lydhørhed Responsiv over for en enkelt enhedstype, såsom tablet eller mobil. Gør det muligt for appen at fastgøre til forskellige standardskærm- og objektbeholderstørrelser, herunder integrering af apps i Microsoft Teams. Bruger dynamisk objektbeholderkontrolelementer til automatisk layout i vid udstrækning. Oprettelse af dynamiske lærredsapps
Standarder for navngivning og kodning Standarder for kontrolelementer, variabler, samlinger og navngivning af Dataverse følges for at gøre det nemmere at finde og vedligeholde. Standarder og retningslinjer for kodning af Power Apps-lærredsapps
Tilgængelighed Egenskaber, der understøtter tilgængelighed. Tilgængelige etiketter, roller, live, tykkelse af fokuskant, farvekontrast og tabulatorordrer. Disse egenskaber undgår kendte designmønstre, der ikke understøtter tilgængelighedskrav. Opret tilgængelige lærredsapps og begrænsninger for tilgængelighed i lærredsapps
Ydeevnen De bedste fremgangsmåder følges for at undgå kendte begrænsninger for ydeevnen. Tip og bedste praksis til forbedring af ydeevnen for lærredapps

Globale appfarvetemaer

Alle apps følger et brugerdefineret tema og kan ændres i henhold til organisationens foretrukne farveskema. En global variabel angives i egenskaberne App.OnStart på tværs af alle apps. Denne variabel bruges af de fleste farverelaterede egenskaber på tværs af alle kontrolelementer i appen. Hvis du ændrer variablen for det globale farvetema ét sted, vil det have en øjeblikkelig effekt på tværs af appen, når du har kørt hændelsen App.OnStart .

Vigtige oplysninger

Selvom det er muligt at ændre en række farvepaletegenskaber, anbefaler vi, at du kun ændrer den primære farveegenskab 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 dit firmalogo til appsene ved først at uploade din virksomheds logobilledfil til appen og derefter føje den til ScreenHeader-komponenten .

Føj dit firmalogo til appen

Flere oplysninger: Brug af multimediefiler i lærredsapps

Understøttelse af lokalisering og global app

Alle lærredsapps understøtter som standard det engelske sprog. Alle apps er dog designet til at være klar til lokalisering og kan administreres til at understøtte flere sprog. Egenskaber for kontrolbredde skal muligvis ændres direkte, afhængigt af hvilke sprog der er valgt at installere.

Strenglokaliseringsmønster

  1. På den første skærms egenskab OnVisible under lanceringen 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
        )
    )

Notat

Egenskaber for etiket og inputkontrolelement forsøger at foregribe bredden af den lokaliserede tekstværdi, men det lykkes muligvis ikke altid på grund af kompleksiteten i beregningen. Vi anbefaler derfor, at du altid tester og foretager mindre ændringer af appsene, når der er foretaget lokaliserede strenge og ændringer.

Tips

Yderligere sprog kan tilføjes og understøttes ved at føje flere værdier til valgkomponenten for ISO-sprogkoden i SAP Base-løsningen.

Appen forespørger SAP Localization Dataverse-enheden for strenge, der er 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, har formler, der først søger efter en tilsvarende lokaliseret streng. Hvis den ikke kan finde det tilsvarende, er det som standard 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 kombinationsfelter , der filtrerer værdier fra tabellen SAP-liste over værdier , anvendes brugerens tilknyttede ISO-sprogkode fra browserens indstilling altid på filterkriterierne, 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'
)

Indstillinger for webbrowserens landestandard

Alle tal-, dato- og klokkeslætsfelter i lærredsapps overholder som standard brugerens indstillinger for landestandard i browseren. En dato, der f.eks. vises som 23-03-2023 for en bruger, der bruger USA som deres landestandardindstillinger, vises som 23.03.2023 for en bruger, der bruger indstillingen for landestandarden Tyskland.

Flere oplysninger: Byg global support ind i canvas-apps

Komponenter

Komponenter er en god måde at forenkle appudviklings- og vedligeholdelsesprocessen på og hjælpe med at forbedre ydeevnen.

For områder, hvor der er behov for fælles brugeroplevelse enten internt eller på tværs af apps, konfigureres komponenter. I betragtning af begrænsninger på komponentbiblioteker for at understøtte ting som adgang til appomfang og integrerede cloudflows kan lokale komponenter bruges i alle de 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 betaling-processer, og den blev primært bygget i SAP Vendor Management-appen og importeret til brug i de andre indkøb til betaling-apps.

Advarsel!

En negativ konsekvens af brugen af lokale appkomponenter i forhold til komponentbiblioteker er, at hvis en ændring bestemmes, skal disse ændringer foretages på tværs af alle de apps, der allerede har importeret komponenten.

Almindelige komponenter, der bruges i alle apps:

Komponent Beskrivelse
ScreenHeader Fælles header på tværs af hver skærm
Venstre navigationslinje Hovednavigation, der giver hurtig adgang til andre apps, der er baseret på Menupunkt Dataverse source
CommandBar Liste over almindelige kontrolelementer til oprettelse, ændring, lagring, annullering, søgning, seneste søgning eller forudgående søgeobjekter
ScreenTabs Grupper af logiske komponenter, der er arrangeret sammen til faner, så det er nemt at navigere
Ingen elementer at vise Elementer vises i gitter, når der ikke er nogen registreringer
ObjectNameSearch Almindelige søgekomponenter til SAP-objekter er inkluderet i den relevante app, hvor de bruges, og kan importeres til andre apps, hvis det er nødvendigt. Eksempler omfatter VendorSearch, GLAccountSearch, MaterialSearch og RequisitionSearch

Flere oplysninger: Oversigt over lærredskomponent

Yderligere SAP-felter

Hver SAP-implementering er forskellig, og det er fuldt forventet, at du tilføjer dine egne felter, der understøtter dine forretningsprocesser. Derfor blev der implementeret rigelig skærmplads og designovervejelser, så du nemt kan tilføje de felter, du har brug for.

Almindelige kontrolbeholdere

De fleste kontrolelementer er indeholdt i en objektbeholder, der består af både etiket- og inputkontrolelement. Feltet til hentning af navnet på leverandøren i sap-appen Vendor Management består f.eks. af et kontrolelement af typen Label og Text Input, som vist på skærmbilledet nedenfor. Hvis du vil tilføje et nyt felt, skal du kopiere et eksisterende objektbeholderkontrolelement og indsætte den relevante dynamiske komponent og opdatere navne, tekst og i sidste ende tilknyttede felter.

Arbejd med objektbeholderkontrolelementer.

Notat

Der er lignende objektbeholdere til andre typer inputkontrolelementer, f.eks. Kombinationsfelter, Datovælgere og Knapper.

Dynamiske objektbeholdere

Appsene er designet til at reagere på tablet-/skrivebordsenhedstypen ved hjælp af lodrette og vandrette objektbeholderkontrolelementer, som vist på det følgende skærmbillede. Disse objektbeholdere er konfigureret til at have startpunkter for egenskaber som højde, bredde, LayoutMinHeight, LayoutMinWidth og Wrap. Når du tilføjer flere felter til disse beholdere, skal du sikre, at deres egenskaber også opdateres for at kunne håndtere ændringer i tilpasningen korrekt.

Arbejd med dynamiske objektbeholdere.

Flere oplysninger: Autolayout-containere

Opret forbindelse til andre data

Styrken ved lærredsapps er, at de nemt kan oprette forbindelse til et af flere hundrede andre systemer og programmer sikkert ved hjælp af deres oprindelige connectorbibliotek.

Hvis din SAP Procurement-indkøbsordreproces f.eks. kræver data fra upstream presales-salgsmuligheder, der findes i en CRM, for at fuldføre processen, kan du bruge Salesforce - eller Dataverse-connectors til at integrere med Dynamics 365, så du nemt kan føje disse data til SAP-indkøbsordreappen ved blot at vælge en knap.

Hvis du har et internt beskyttet system eller et system uden en oprindelig connector, kan du desuden arbejde sammen med it-teamet om at oprette en brugerdefineret connector, der gør det muligt for Power Apps nemt at bruge systemet via en understøttet API.

Flere oplysninger:

Håndtering af appfejl

Alle integrerede flowkald evaluerer som standard et svarstatusfelt, der er sendt tilbage af flowene, og håndterer ved at hæve en meddelelse via funktionen Notify . Du kan få mere at vide 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 genereres af appen, håndteres i egenskaben App.OnError , hvor der oprettes en fejlpost for SAP-løsningsskabelonen , før fejlen genbesejes og spores. Administratorer kan få vist fejldetaljerne og sætte udløsere på plads for at blive advaret om undtagelser, der ikke er håndteret af appen , som vist i dokumentet Overvåg fejl .

Flere oplysninger: Egenskaben OnError

Næste trin

Udvid modeldrevne apps og Dataverse

Se også

Kom i gang med SAP Procurement-skabelonen