Kopiér et element fra Power Apps og åbn kopien
En knap i Power Apps kopierer det åbne element med et flow, får den nye id tilbage og åbner kopien i redigeringsformularen.
En indkøbsanmodning med mange varelinjer er et typisk eksempel: brugeren vil tage en eksisterende anmodning, kopiere den og rette den til, i stedet for at taste alle varerne igen. Det samme gælder alt, der oftere ligner det forrige end et tomt skema.
Løsningen er en knap i appen, der kalder et flow med elementets id. Flowet laver kopien og svarer med den nye id, og appen åbner kopien.
Knappen#
Knappen hedder her Kopiér anmodning. Elementets id står i formularens kort DataCardValue18, og flowet hedder PR-Tool-CopyItem.
OnSelect:
Set(FlowOutput,'PR-Tool-CopyItem'.Run(DataCardValue18));
Set(NewItemUrl,Concatenate("https://<tenant>.sharepoint.com/sites/<websted>/Lists/<liste>/EditForm.aspx?ID=",FlowOutput.itemid));
Launch(NewItemUrl);
Flowet#
Flowet starter fra Power Apps og tager id’et som parameter. Det gør tre ting:
- Get item henter det element, der skal kopieres.
- Create item opretter et nyt element på listen med felterne fra det gamle.
- Respond to a PowerApp or flow svarer med et tekstoutput ved navn
itemid, sat til den nyeIDfra Create item.
Navnet på outputtet er det, appen læser som FlowOutput.itemid.
Det der driller#
- Det kan gøres uden flow.
Patchreturnerer den nye post, såSet(NyPost, Patch(Liste, Defaults(Liste), {Title: ..., ...}))og derefterNyPost.IDgiver det samme direkte i appen. Flowet er værd at bruge, når kopien skal have noget med, som appen ikke kan eller må skrive, fx varelinjer på en anden liste eller felter, brugeren ikke har adgang til. - Adressen skal passe.
EditForm.aspxåbner listens standardformular. Er formularen en Power Apps-formular, åbner den dér, ellers i SharePoints egen. - Personfelter, opslag og vedhæftede filer kopieres ikke af sig selv. Create item kræver dem sat felt for felt, og vedhæftede filer kræver deres egne handlinger.