Megosztás a következőn keresztül:


Rekordra mutató hivatkozások és polimorf keresések ismertetése vászonalapú alkalmazásokban

Amikor tanulmányt írt az iskolában, valószínűleg a végén szerepeltette a hivatkozások listáját. Nem mellékelte a ténylegesen használt háttéranyagok másolatát, hanem egy webhivatkozást, a könyv címét és a szerzőt, illetve egyéb információkat adott meg, hogy mások nyomon tudják követni az eredeti forrást. A különböző típusú forrásokat egyetlen listába keverte, a hangfelvételek mellett újságcikkek szerepeltek, mindegyik a megfelelő idézéshez tartozó saját konkrét részletekkel. A Wikipedia cikkeiben például gyakran szerepelnek a hivatkozások hosszú listái.

A vászonalapú alkalmazások esetében gyakran kell dolgoznia az adatforrásokból letöltött rekordok példányaival. A Keresés és Szűrő függvényekkel és a Katalógus vezérlő Kiválasztva tulajdonságával azonosíthatja a kívánt rekordot. A Szűrő vagy a Kiválasztott összes rekordja azonos típusú táblázat lesz, így a mezők egyszerű .Field jelöléssel használhatók. Ezek a másolatok gyakran tartalmaznak referencia-információkat, így a Patch (Javítás) funkció segítségével frissítheti az eredeti forrást.

A vászonalapú alkalmazások támogatják a rekordhivatkozásokat. Hasonlóan a tanulmány hivatkozásaihoz a rekordhivakozás anélkül hivatkozik egy rekordra, hogy tartalmazná annak teljes másolatát. Egy ilyen hivatkozás bármilyen táblázat rekordjára hivatkozhat. A tanulmány típusú hivatkozásokhoz hasonlóan a különböző táblázatokból származó rekordok is keverhetők egyetlen oszlopban.

A rekordokra mutató hivatkozásokkal kapcsolatos számos művelet megegyezik a rekordok kezelésével. Összehasonlíthatja egymással a rekord hivatkozásait és a teljes rekordokat. A rekord referenciaértékét a Javítás funkcióval úgy állíthatja be, mintha egy teljes rekorddal rendelkező keresés esetében tenné.

Van egy fontos különbség a használatban: nem lehet közvetlenül hozzáférni egy rekordhivatkozás mezőihez anélkül, hogy előbb megállapítaná, melyik táblára hivatkozik. Ennek oka, hogy a vászonalapú alkalmazások esetében minden típusnak ismertnek kell lennie, amikor képleteket ír. Mivel az alkalmazás futásáig nem tudja, hogy milyen típusú a rekordhivatkozás, nem használhatja az egyszerű .Field jelölést. Először dinamikusan meg kell határozni a táblázat típusát az IsType függvénnyel, majd alkalmazni a .Field jelölést az AsType függvény eredményére.

A tábla típusa a táblázat egyes rekordjainak sémájára utal. Minden egyes táblához egyedi mezők tartoznak, különböző nevekkel és adattípusokkal. A táblázat minden rekordja örökli ezt a struktúrát; két rekordnak ugyanaz a táblázattípusa, ha ugyanabból a táblából származnak.

Megjegyzés

Számos különböző összekötő közül választhat, hogy különböző típusú adatforrásokhoz csatlakozhasson a vászonalkalmazások esetében. A Power Apps Studio szolgáltatáson belül, a vászonalkalmazásokkal való munka során azonban az oszlopokra a Microsoft Dataverse-ben mezőként hivatkoznak, hasonlóan az összes többi adatforráshoz. Az oszlop kifejezés csak akkor használatos, ha egy oszlopra hivatkozunk a Dataverse szolgáltatáson belül. További információ: A Dataverse-terminológia frissítései

Polimorf keresések

A Microsoft Dataverse a rekordok közötti kapcsolatot támogatja. A Számlák tábla minden egyes rekordja rendelkezik egy Elsődleges kapcsolattartó keresőoszloppal a Kapcsolatok tábla egy rekordjához. A keresés csak a Kapcsolatok táblában található rekordra hivatkozhat, és nem hivatkozhat például a Csapatok tábla rekordjára. Ez az utolsó részlet azért fontos, mert mindig tudhatja, hogy milyen oszlopok állnak majd rendelkezésre a kereséshez.

A Dataverse támogatja a polimorf kereséseket is, amelyek a halmaz bármely táblájából származó rekordra hivatkozhatnak. A Tulajdonos oszlop például utalhat a Felhasználók vagy a Csapatok tábla egy rekordjára. Ugyanaz a keresőoszlop különböző rekordokban különböző táblák rekordjaira utalhat. Ebben az esetben nem mindig tudhatja, hogy milyen oszlopok állnak majd rendelkezésre.

A vászonrekordra mutató hivatkozások a Dataverse alkalmazásban végzett polimorf keresésekkel való munkára lettek kialakítva. A kontextuson kívül is használhat rekordhivatkozásokat, ebben tér el a két fogalom.

A következő szakaszban elkezdi felfedezni ezeket a fogalmakat a Tulajdonos keresés használatával.

Egy rekord tulajdonosához tartozó oszlopok megjelenítése

A Dataverse minden táblázatában van egy Tulajdonos oszlop. Ezt az oszlopot nem lehet eltávolítani, nem lehet hozzáadni egy másikat, és mindig értéket igényel.

Az adott oszlop megjelenítéséhez a Számla táblázatban:

  1. Bejelentkezés a Power Apps-be.

  2. A bal oldali panelen válassza az Adat > Táblák lehetőséget.

  3. A táblázatok listájában válassza a Számla lehetőséget.

  4. A jobb felső sarokban nyissa meg a szűrőlistát (alapértelmezés szerint Alapértelmezés értékre beállítva), majd jelölje ki az Összes elemet.

  5. Görgessen lefelé, amíg a Tulajdonos oszlop meg nem jelenik.

    Tulajdonos oszlop a Számla táblázatban.

Ez a keresőoszlop a Csapatok vagy a Felhasználók táblából származó rekordra hivatkozhat. Ezekben a táblákban nem minden rekordnak van engedélye arra, hogy Tulajdonos legyen; probléma esetén ellenőrizze a támogatott szerepköröket.

Ez az ábra egy egyszerű Számlák galériát mutat, ahol a Számlák tábla adatforrásként hozzá lett adva az alkalmazáshoz:

A Katalógus vezérlőben megjelenített partnerek.

Fontos

A témakör során a grafika bizonyos neveket és egyéb értékeket jelenít meg, amelyek nem részei a Dataverse-mintaadatok részét képező adatoknak. A lépések pontosan bemutatják, hogyan lehet a vezérlőket egy adott eredmény érdekében konfigurálni, de a tapasztalata a szervezet adatai alapján változhat.

Ha meg szeretné jeleníteni az egyes partnerek tulajdonosát a katalógusban, akkor lehet, hogy a ThisItem.Owner.Name képletet szeretné használni. A Csapat tábla névmezője azonban a Csapatnév, a Felhasználó tábla névmezője pedig a Teljes név. Az alkalmazás az alkalmazás futtatásáig nem tudhatja, hogy milyen típusú kereséssel dolgozik, és ez a Számlák tábla rekordjai között változhat.

Olyan képletre van szüksége, amely alkalmazkodni tud ehhez az eltéréshez. Hozzá kell adnia az adatforrásokat is a táblázat típusaihoz, amelyek a Tulajdonos típusúak lehetnek (ebben az esetben a Felhasználók és a Csapatok). Adja hozzá ezt a három adatforrást az alkalmazáshoz:

Fiókok, Csapatok és Felhasználók táblák az Adat-ablaktáblában.

Ezekkel az adatforrásokkal a következő képlet segítségével jeleníthető meg a felhasználó vagy a csoport neve:

If( IsType( ThisItem.Owner, Teams ),
    "Team: " & AsType( ThisItem.Owner, Teams ).'Team Name',
    "User: " & AsType( ThisItem.Owner, Users ).'Full Name' )

A Katalógus vezérlőben látható partnerek megjelenített Tulajdonos mezővel.

Ebben a képletben az IsType függvény a Tulajdonos mezőt teszteli a Csapatok táblával. Ha az adott táblázattípusba tartozik, az AsType függvény egy Csapat rekorddá alakítja. Ezen a ponton a Csapatok tábla összes mezőjét – a Csapatnév mezőt is beleértve – elérheti a .Field jelölés használatával. Ha az IsType azt állapítja meg, hogy a Tulajdonos nem a Csapatok tábla rekordja, akkor a mezőnek a Felhasználók tábla rekordjának kell lennie, mivel a Tulajdonos mező kötelező (nem lehet üres).

Egy rekordhivatkozás bármely mezőjének használatához először az AsType függvényt kell használnia, hogy egy adott táblázattípussá alakítsa át. A Tulajdonos mezőből nem lehet közvetlenül elérni a mezőket, mivel a rendszer nem tudja, hogy milyen táblatípust szeretne használni.

Az AsType függvény hibát ad vissza, ha a Tulajdonos mező nem felel meg a kért tábla típusának, így az IfError függvényt használhatja a képlet egyszerűsítésére. Először kapcsolja be a Képletszintű hibakezelés kísérleti funkciót:

Kísérleti kapcsoló a képletszintű hibakezelés bekapcsolásához.

Ezt követően cserélje le az előző képletet ezzel:

IfError(
    "Team: " & AsType( ThisItem.Owner, Teams ).'Team Name',
    "User: " & AsType( ThisItem.Owner, Users ).'Full Name' )

Tulajdonoson alapuló szűrő

Gratulálunk, befejezte a rekordhivatkozások kezelésének legnehezebb területét. A többi használati eset egyszerűbb, mert nem férnek hozzá a rekord mezőihez. Vegyük például a szűrést, amelyet ebben a szakaszban fog áttekinteni.

Vegyen fel egy Kombinált lista vezérlőt a katalógus felett, és állítsa be az új vezérlő tulajdonságait:

  • Elemek: Users
  • SelectMultiple: false

Hozzáadott kombinált lista vezérlő a katalógus felett, Felhasználók értékre beállított Elemek tulajdonsággal.

Ha a gyűjteményt egy adott, a kombinált listából kiválasztott felhasználó szerint szeretné szűrni, akkor állítsa a gyűjtemény Elemek tulajdonságát erre a képletre:

Filter( Accounts, Owner = ComboBox1.Selected )

Értékkészleten alapuló szűrt katalógus a kombinált listában.

Fontos

A témakör útmutatása pontos, ha szigorúan követi a lépéseket. Ha azonban a vezérlőnek más a neve, a vezérlőelemre név alapján hivatkozó képletek nem jelennek meg. Ha azonos típusú vezérlőt töröl, és ad hozzá, akkor a vezérlőelem nevének végén megjelenő szám is módosul. A hibát megjelenítő képletek esetén ellenőrizze, hogy tartalmazza-e az összes vezérlő megfelelő nevét.

Az IsType vagy AsType függvényt nem kell használnia, mert a rekordhivatkozásait más rekordhivatkozásokkal vagy teljes rekordokkal hasonlítja össze. Az alkalmazás ismeri a ComboBox1.Selected táblatípust, mivel az a Felhasználók táblából származik. Azok a partnerek, amelyeknél a tulajdonos egy csoport, nem felelnek meg a szűrési feltételnek.

A felhasználó vagy csoport szerinti szűrést is támogathatja.

  1. A katalógus átméretezésével és a kombinált lista áthelyezésével csináljon némi teret a képernyő felső részén, helyezzen el benne egy Választógomb vezérlőt a katalógus felett, majd állítsa be ezeket a tulajdonságokat az új vezérlőre:

    • Elemek: [ "All", "Users", "Teams" ]
    • Elrendezés: Layout.Horizontal
  2. A Kombinált lista vezérlőelem esetében állítsa be ezt a tulajdonságot (ha a kombinált lista eltűnik, jelölje ki a Felhasználók lehetőséget a választógomb vezérlőben):

    • Látható: Radio1.Selected.Value = "Users"
  3. Másolja ki és illessze be a Kombinált lista vezérlőt, helyezze át a másolatot közvetlenül az eredetire, majd állítsa be ezeket a tulajdonságokat a másolathoz:

    • Elemek: Teams
    • Látható: Radio1.Selected.Value = "Teams"

    Az alkalmazás a választógomb állapotától függően egyszerre csak egy kombinált listát jelenít meg. Mivel közvetlenül egymás felett vannak, úgy tűnik, hogy ugyanaz a vezérlő, amely megváltoztatja a tartalmát.

  4. Végül, a Katalógus vezérlőelem Elemek tulajdonságát állítsa a következő képletre:

    Filter( Accounts,
        Radio1.Selected.Value = "All"
        Or (Radio1.Selected.Value = "Users" And Owner = ComboBox1.Selected)
        Or (Radio1.Selected.Value = "Teams" And Owner = ComboBox1_1.Selected)
    )
    

    Szűrt katalógus, amely az összes rekordot, egy adott felhasználót vagy csoportot jelenít meg.

Ezekkel a módosításokkal az összes rekordot megjelenítheti, vagy akár egy felhasználó vagy csoport alapján is szűrheti azokat:

A választógomb vezérlőelem és a kombinált lista alapján különböző különböző szűrt eredményeket bemutató animáció.

A képlet teljes mértékben delegálható. A választógomb értékeit összehasonlító rész az összes rekordban állandó, és a rendszer a szűrő többi részének a Dataverse számára való elküldése előtt értékeli ki.

Ha a tulajdonos típusára szeretne szűrni, használhatja az IsType függvényt, ez azonban még nem delegálható.

Szűrés a tulajdonos típusa szerint az IsType segítségével.

A tulajdonos frissítése a javítés használatával

A Tulajdonos mező a többi kereséssel azonos módon frissíthető. Az aktuálisan kijelölt partner tulajdonosának beállítása az első csoportra:

Patch( Accounts, Gallery1.Selected, { Owner: First( Teams ) } )

Ez a megközelítés nem tér el normális kereséstől, mert az alkalmazás tudja, hogy milyen típusú a First( Teams ). Ha ehelyett az első felhasználót szeretné használni, akkor cserélje le az adott adagot a First( Users ) elemre. A Patch függvény tudja, hogy a Tulajdonos mezőt a két táblatípus bármelyikére be lehet állítani.

A képesség hozzáadása az alkalmazáshoz:

  1. A Fanézet ablaktáblában jelölje ki a Választógomb vezérlőt és a két Kombinált lista vezérlőt egyszerre.

  2. A három pont menüből válassza az Rlemek másolása lehetőséget.

    Több vezérlő másolása a fanézet használatával.

  3. Ugyanabban a menüben válassza a Beillesztés lehetőséget.

    Több vezérlő beillesztése a fanézet használatával.

  4. Mozgassa a másolt vezérlőket a katalógus jobb oldalára.

    Áthelyezett másolt vezérlők a katalógus jobb oldalán.

  5. Jelölje ki a másolt Választógomb vezérlőt, majd módosítsa a következő tulajdonságokat:

    • Elemek: [ "Users", "Teams" ]
    • Alapértelmezett: If( IsType( Gallery1.Selected.Owner, Users ), "Users", "Teams" )

    Távolítsa el az összes választást a választógomb vezérlőből.

  6. A Választógomb vezérlőben válassza ki a Felhasználók elemet, hogy a Kombinált lista vezérlője, amely a felhasználók listáját tartalmazza, látható legyen.

  7. Jelölje ki a látható Kombinált lista vezérlőt, majd állítsa be a DefaultSelectedItems tulajdonságot a következő képletre:

    If( IsType( Gallery1.Selected.Owner, Users ),
        AsType( Gallery1.Selected.Owner, Users ),
        Blank()
    )
    

    A Felhasználók alapértelmezett tulajdonsága a kombinált listában.

  8. A Választógomb vezérlőben válassza ki a Csoportok elemet, hogy a Kombinált lista vezérlője, amely a csoportok listáját tartalmazza, látható legyen.

  9. Válassza ki a Választógomb vezérlőt, hogy elvegye a választást a felhasználók most láthatatlan Kombinált lista vezérlőjéről.

  10. Jelölje ki a csoportok látható Kombinált lista vezérlőjét, majd állítsa be a DefaultSelectedItems tulajdonságát a következő képletre:

    If( IsType( Gallery1.Selected.Owner, Teams ),
        AsType( Gallery1.Selected.Owner, Teams ),
        Blank()
    )
    

    A Csoportok alapértelmezett tulajdonsága a kombinált listában.

  11. Szúrjon be egy Gomb vezérlőt a Kombinált lista vezérlőelem alatt, majd állítsa be a gomb Szöveg tulajdonságát "Patch Owner" értékre.

  12. A gomb OnSelect tulajdonságához adja meg a következő képletet:

    Patch( Accounts, Gallery1.Selected,
        { Owner: If( Radio1_1.Selected.Value = "Users",
                     ComboBox1_2.Selected,
                     ComboBox1_3.Selected ) } )
    

    A Gomb vezérlőn beállított képlet.

A másolt Választógomb és Kombinált lista vezérlők a jelenleg kijelölt partner tulajdonosát jelenítik meg a katalógusban. Ugyanazokkal a vezérlőelemekkel a gombra kattintva állíthatja be a partner tulajdonosát tetszőleges csoportra vagy felhasználóra:

Felhasználó vagy csoport által a tulajdonos javítását bemutató animáció.

A tulajdonos megjelenítése űrlap segítségével

Az űrlapon belül egy Tulajdonos mező is megjeleníthető egy egyéni kártya hozzáadásával. A jelen írás időpontjában a mező értéke nem módosítható űrlap vezérlővel.

  1. Szúrjon be egy Szerkesztési űrlap vezérlőt, majd méretezze át, és helyezze át a jobb alsó sarokba.

  2. A képernyő jobb oldalán található Tulajdonságok lapon nyissa meg az Adatforrás listáját, majd válassza a Partnerek lehetőséget.

    Az űrlap vezérlő üres értékkel rendelkező további mezőket jelenít meg.

  3. Állítsa az űrlap Elem tulajdonságát Gallery1.Selected értékre.

    Űrlap vezérlő, amely a katalógusban kiválasztott elemből feltöltött további mezőket jelenít meg.

  4. A képernyő jobb oldalán található Tulajdonságok lapon válassza ki a Mezők szerkesztése elemet.

  5. A Mezők ablaktáblában jelölje ki a három pontot, majd válassza az Egyéni kártya hozzáadása lehetőséget.

    Egyéni kártya hozzáadására szolgáló parancs.

    Az új kártya megjelenik az űrlap vezérlőelem alján.

  6. Szükség esetén méretezze át a kártyát, hogy az összes szöveg megjelenjen.

    Beszúrt egyéni kártya, üres.

  7. Szúrjon be egy Címke vezérlőelemet az egyéni kártyába, majd állítsa be a címke Szöveg tulajdonságát a katalógusban használt képletre:

    If( IsType( ThisItem.Owner, Teams ),
        "Team: " & AsType( ThisItem.Owner, Teams ).'Team Name',
        "User: " & AsType( ThisItem.Owner, Users ).'Full Name' )
    

    Címke vezérlő Tulajdonos mezőjét bemutató egyéni kártya.

A katalógus minden egyes kiválasztásához az űrlapon a partner több mezője szerepel, beleértve a rekord tulajdonosát is. Ha a Javítás gomb segítségével módosítja a tulajdonost, akkor az űrlap vezérlője is mutatja ezt a módosítást.

Animáció, amely bemutatja, hogyan reagál az űrlap vezérlője a katalógus változásaira.

Egy ügyfél oszlopainak megjelenítése

A Dataverse rendszerben az Ügyfél keresőoszlop egy másik polimorf kereső, amely nagyon hasonló ehhez: Tulajdonos.

A Tulajdonos táblázatonként csak egy lehet, de a táblázatok tartalmazhatnak nulla, egy vagy több Ügyfél keresőoszlopot is. A Kapcsolatok rendszertáblája tartalmazza a Cégnév mezőt, amely egy Ügyfél keresőmező.

Kapcsolat táblázat, amely a Cégnév oszlopot Ügyfél adattípusként mutatja, ami nem szükséges.

Több Ügyfél keresőoszlopot adhat hozzá egy táblázathoz, ha egy új oszlophoz az Ügyfél adattípust választja ki.

Ügyfél adattípus az adattípusok listájából, egy oszlop létrehozásakor.

Az Ügyfél keresőmező a Számlák táblázat vagy a Kapcsolatok táblázat rekordjára is hivatkozhat. Az IsType és AsType függvényeket ezekkel a táblákkal fogja használni, ezért most ezeket adatforrásként hozzáadhatja (a Csapatok és a Felhasználók függvényeket a helyén hagyhatja).

Fiókok, Csapatok, Felhasználók és Kapcsolatok táblák az Adatok ablaktáblán.

Az Ügyfél és a Tulajdonos mezők kezelése annyira hasonlít, hogy a szó szoros értelmében átmásolhatja az alkalmazást (Fájl > Mentése másként, majd adjon meg egy másik nevet), és csak ezeket az egyszerű cseréket kell elvégeznie:

Hely Tulajdonos minta Ügyfél minta
Egész Tulajdonos 'Ügyfél neve'
Egész Felhasználók Partnerek
Egész Csoportok Névjegyek
A katalógus Elemek tulajdonsága Partnerek Névjegyek
Az űrlap Elemek tulajdonsága Partnerek Névjegyek
A Javítás első argumentuma
a gomb OnSelect tulajdonságában
Partnerek Névjegyek
Szűrő választógomb Elemek tulajdonsága [ "Mind", "Felhasználók", "Csoportok" ] [ "Mind", "Parnerek", "Kapcsolattartók" ]
Javítás választógomb Elemek tulajdonsága [ "Felhasználók", "Csoportok" ] [ "Partnerek", "Kapcsolattartók" ]
A kombinált lista Látható tulajdonsága "Felhasználók" és "Csoportok" "Partnerek" és "Kapcsolattartók"

Például az új katalógusnak ezzel az Elemek tulajdonsággal kell rendelkeznie:

Filter( Contacts,
    Radio1.Selected.Value = "All"
    Or (Radio1.Selected.Value = "Accounts" And 'Company Name' = ComboBox1.Selected)
    Or (Radio1.Selected.Value = "Contacts" And 'Company Name' = ComboBox1_1.Selected)
)

A Tulajdonos alkalmazásból származtatott Ügyfél alkalmazás egyszerű alkalmazott változtatásokkal.

Az Ügyfél és a Tulajdonos közötti két fontos különbséghez a katalógusban és a űrlapon belül kell frissíteni a képleteket:

  1. A Számlák és a Kapcsolatok közötti egy-a-sokhoz kapcsolat elsőbbséget élvez, amikor név szerint hivatkozik ezekre a táblatípusokra. A Partnerek helyett használja a [@Partnerek] elemet; a Kapcsolattartók helyett használja a [@Kapcsolattartók] elemet. A globális egyetemesítő műveleti jel használatával biztosítja, hogy az IsType és az AsType táblázattípusra hivatkozik. Ez a probléma csak a katalógus és az űrlap vezérlőelemek rekordkörnyezetében létezik.

  2. A Tulajdonos mezőnek értékkel kell rendelkeznie, de az Ügyfelek mezők üresek lehetnek. Ha típusnév nélkül szeretné megjeleníteni a helyes eredményt, teszteljen erre az esetre az IsBlank függvénnyel, és jelenítsen meg inkább egy üres szöveges karakterláncot.

Mindkét változás ugyanabban a képletben van, amely az űrlapon az egyéni kártyában jelenik meg, valamint a katalógus címke vezérlőjének Szöveg tulajdonságában:

If( IsBlank( ThisItem.'Company Name' ), "",
    IsType( ThisItem.'Company Name', Accounts ),
        "Account: " & AsType( ThisItem.'Company Name', Accounts ).'Account Name',
    "Contact: " & AsType( ThisItem.'Company Name', Contacts ).'Full Name'
)

A felirat címke vezérlő Szöveg tulajdonságának frissítése a katalógusban.

Ezekkel a módosításokkal megtekintheti és módosíthatja a Cégnév mezőt a Kapcsolatok táblában.

Animáció, amely bemutatja, hogyan változnak a többi vezérlők és az űrlap a kapcsolattartók kiválasztására.

A Kapcsolódó keresőoszlopok megismerése

A Kapcsolódó keresőoszlop egy kicsit eltér azoktól, amelyekkel már dolgozott ebben a témában. Kiindulásként a témakör által korábban már ismertetett mintázatokat kell alkalmaznia, és ezt követően más trükköket is megtanulhat.

Kezdhet egyszerűen a Faxok táblázattal. Ez a táblázat egy polimorfikus Kapcsolódó keresőoszloppal rendelkezik, amely hivatkozhat a Számlák, a Kapcsolatok és más táblákra. Veheti az Ügyfelek alkalmazását, és a módosíthatja a Faxok számára.

Hely Ügyfél minta Faxok minta
Egész 'Ügyfél neve' Kapcsolódó elemek
A katalógus Elemek tulajdonsága Névjegyek Faxok
Az űrlap Elemek tulajdonsága Névjegyek Faxok
A Javítás első argumentuma
a gomb OnSelect tulajdonságában
Névjegyek Faxok

Ismét hozzá kell adnia egy adatforrás: ezúttal a Faxok számára. A Nézet lapon válassza az Adatforrások lehetőséget:

Adatpanel, amely a Fiókok, Csapatok, Felhasználók, Kapcsolatok és Faxok táblákat mutatja.

A Kapcsolódó elemek esetében fontos különbség, hogy nem csak a Partnerek és a Kapcsolattartók elemekre korlátozódik. A táblázatok listája egyéni táblázatokkal bővíthető. Az alkalmazás nagy része módosítás nélkül is teljesíti ezt, de frissítenie kell a katalógus és az űrlap címkéjének képletét:

If( IsBlank( ThisItem.Regarding ), "",
    IsType( ThisItem.Regarding, Accounts ),
        "Account: " & AsType( ThisItem.Regarding, Accounts ).'Account Name',
    IsType( ThisItem.Regarding, Contacts ),
        "Contacts: " & AsType( ThisItem.Regarding, Contacts ).'Full Name',
    ""
)

A felirat vezérlőelem frissített Szöveg tulajdonsága a Kapcsolódó elemek keresésekhez.

Miután elvégezte ezeket a változtatásokat, a Kapcsolódó elemek kereséssel ugyanúgy dolgozhat, mint a Tulajdonos és az Ügyfél keresésekkel.

Animáció, amely bemutatja, hogyan változnak a többi vezérlők és az űrlap a katalógus egy elelmének kiválasztására.

A Kapcsolódó elemek kapcsolatok ismertetése

A Kapcsolódó elemek eltér a Tulajdonos és az Ügyfél kereséstől, mivel az előző sok-az-egyhez típusú kapcsolatot tartalmaz. A definíció szerint a fordított, egy-a-többhöz kapcsolat lehetővé teszi a First( Accounts ).Faxes írását.

Menjünk vissza és nézzük meg a táblázatdefiníciókat. A Dataverse alkalmazásban a táblázatok, például a Faxok, Feladatok, E-mailek, Jegyzetek, Telefonhívások, Levelek és Csevegések tevékenységekként vannak kijelölve. Saját egyéni tevékenységtáblákat is létrehozhat. Amikor megtekint vagy létrehoz egy tevékenységtáblát, annak beállításai a További beállítások menüpontban jelennek meg.

Tevékenység táblázat beállítása táblázat létrehozásakor.

Más táblázatok is kapcsolódhatnak egy tevékenységtáblához, ha a táblázat beállításaiban tevékenységfeladatként engedélyezve vannak. A Fiókok, a Kapcsolatok és sok más szabványos táblázat van így kijelölve (ugyancsak a További beállítások alatt).

Tevékenység feladat beállítása táblázat létrehozásakor.

A tevékenységtáblák és a tevékenységfeladat-táblák mindegyike implicit kapcsolatban áll. Ha a képernyő tetején a szűrőt az Összes értékre módosítja, kiválasztja a Faxok táblázatot, majd a Kapcsolatok lapot, akkor megjelenik az összes olyan táblázat, amely a Kapcsolódó keresés célpontja lehet.

A Faxok táblázat kapcsolatai, amelyek a Kapcsolódó sok-az-egyhez kapcsolatokat jelenítik meg.

Ha megjeleníti a Számlák táblázat kapcsolatait, megjelenik az összes olyan táblázat, amely a Kapcsolódó keresési mező forrása lehet.

A Számla táblázat kapcsolatai, amelyek a Kapcsolódó egy-a-sokhoz kapcsolatokat jelenítik meg.

Mit jelent mindez?

  • Amikor függvényeket ír, figyelembe kell vennie, hogy a tevékenységtáblák listája nem rögzített, és létrehozhat sajátokat. A képletnek megfelelően kell kezelnie egy olyan tevékenységtáblát, amelyre nem számított.
  • A tevékenység feladatokhoz és tevékenységekhez egy-a-többhöz kapcsolat tartozik. A partnerhez kapcsolódó összes faxot egyszerűen lekérheti.

A koncepció felfedezése az alkalmazásban:

  1. Adjon hozzá egy másik képernyőt.

    Üres képernyő beszúrása.

  2. Szúrjon be egy katalógus vezérlőt, méretezze át, majd helyezze át a képernyő bal oldalára.

  3. A képernyő jobb oldalán található Tulajdonságok lapon állítsa a katalógus Elemek tulajdonságát Partnerek értékre.

    A Partnerekhez beállított Elemek a Tulajdonságok ablaktáblában.

  4. Állítsa be a katalógus elrendezését a Cím elemre, majd állítsa be a cím mezőt a Partner neve értékre.

    A katalógus Cím eleméhez tartozó Elrendezés beállítása a tulajdonságok panelben.

  5. Adjon hozzá egy második katalógust, méretezze át, majd helyezze át a képernyő jobb oldalára.

  6. Állítsa az új katalógus Elemek tulajdonságát Gallery2.Selected.Faxes értékre.

    Ez a lépés egy adott partnerhez tartozó faxok szűrt listáját adja vissza.

    A faxokat megjelenítő katalógus Elemek tulajdonságának beállítása.

  7. Állítsa a katalógus elrendezését Cím és alcím értékre, majd állítsa be a cím mezőt, hogy megjelenjen a Tárgy mező (amely lehet kisbetűs tárgy).

    Cím beállítása Tárgy mezőben.

Amikor kiválaszt egy elemet a partnerek listájából, a faxok csak az adott partnerhez tartozó faxokat jelenítik meg.

Animáció, amely a partnerek katalógusban történő kiválasztásának hatását mutatja a faxok listájában.

Tevékenységtábla

Az előző szakaszban leírtak alapján megjelenítheti egy adott partnerhez tartozó összes faxot. Emellett a partnerek összes tevékenysége megjeleníthető, beleértve a faxokat, az e-maileket, a telefonhívásokat és egyéb interakciókat is.

Az utóbbi esetben a Tevékenység táblázatot használja. Ezt a táblázatot a jobb felső sarokban lévő Összes bekapcsolásával jelenítheti meg, amellyel a szűrőt eltávolítja a táblázatok listájából.

Táblázatok listája, amely a Tevékenységi táblázatot mutatja.

A Tevékenység táblázat speciális elem. Amikor rekordot ad hozzá a Faxok táblához, a rendszer a Tevékenység táblában is létrehoz egy rekordot az összes tevékenységtáblában közös oszlopokkal. Ezek közül a Tárgy az egyik legérdekesebb.

Az összes tevékenységet megjelenítheti az előző példában csak egy sor módosításával. Cserélje ki a Gallery2.Selected.Faxes elemet a Gallery2.Selected.Activities elemre.

Az Elemek tulajdonság módosítása a második katalógusban, a faxokról a tevékenységekre történő módosítás.

A rekordok a Tevékenység táblából származnak, de ennek ellenére az IsType függvény segítségével azonosíthatja, hogy milyen típusú tevékenységről van szó. Tehát még egyszer, az IsType egy táblázattípussal való használata előtt hozzá kell adnia az adatforrást.

Az IsType függvényhez szükséges összes táblázatot megjelenítő adattábla.

A képlet használatával megjelenítheti a rekordtípust a galérián belül a címke vezérlőelemben:

If( IsType( ThisItem, Faxes] ), "Fax",
    IsType( ThisItem, 'Phone Calls' ), "Phone Call",
    IsType( ThisItem, 'Email Messages' ), "Email Message",
    IsType( ThisItem, Chats ), "Chat",
    "Unknown"
)

A szöveg tulajdonságának beállítása képletbe a faxok, telefonhívások és egyéb tevékenységek adatainak megjelenítéséhez.

Az AsType segítségével is elérheti az adott típusú mezőket. Ez a képlet például meghatározza az egyes tevékenységek típusát, telefonhívások esetén pedig megjeleníti a telefonszámot és a hívás irányát a Telefonszámok táblázatból:

If( IsType( ThisItem, Faxes ), "Fax",
    IsType( ThisItem, 'Phone Calls' ),
       "Phone Call: " &
       AsType( ThisItem, 'Phone Calls' ).'Phone Number' &
       " (" & AsType( ThisItem, 'Phone Calls' ).Direction & ")",
    IsType( ThisItem, 'Email Messages' ), "Email Message",
    IsType( ThisItem, Chats ), "Chat",
    "Unknown"
)

Kibontott szöveg tulajdonság több információval a telefonhíváshoz.

Ennek eredményeképpen az alkalmazás a tevékenységek teljes listáját jeleníti meg. A Tárgy mező minden típusú tevékenység esetében megjelenik, függetlenül attól, hogy a képlet figyelembe veszi-e vagy sem. Az ismert típusú tevékenységeknél megjelenítheti a típusuk nevét és az egyes tevékenységek típusra jellemző információit.

A különböző típusú tevékenységek információit bemutató befejezett képernyő.

Megjegyzések táblázat

Eddig az összes Kapcsolódó példa a tevékenységeken alapult, de a Jegyzetek táblázat egy másik esetet mutat be.

Amikor létrehoz egy táblázatot, engedélyezheti a mellékleteket.

A mellékletek és jegyzetek engedélyezése táblázat létrehozásakor.

Ha bejelöli a mellékletek engedélyezése jelölőnégyzetet, akkor létrehozza a Jegyzetek táblával való kapcsolatra vonatkozó Kapcsolódó kapcsolatot, amint azt ez az ábra is mutatja a Számlák táblázat esetében:

Számla táblázat, amely egy-a-sokhoz kapcsolaton keresztüli kapcsolatot mutat a Jegyzetek táblázattal.

Ettől a különbségtől eltekintve a Kapcsolódó elemek keresést ugyanúgy használhatja, mint a tevékenységeket. A csatolmányok számára engedélyezett táblázatok egy-a-sokhoz kapcsolatban állnak a Jegyzetekkel, ahogy ez a példa is mutatja:

First( Accounts ).Notes

Megjegyzés

Jelenleg a Megjegyzések táblázatra vonatkozóan a Kapcsolódó keresés nem érhető el. Nem lehet olvasni vagy szűrni a Kapcsolódó oszlop alapján, és nem lehet beállítani az oszlopot a Patch használatával.

A fordított Jegyzetek egy-a-többhöz kapcsolat azonban rendelkezésre áll, így a mellékletekhez engedélyezett rekordokhoz tartozó jegyzetek listáját szűrheti. A Kapcsolat függvénnyel is hozzáadhat jegyzetet a rekord Jegyzetek táblájához, de a megjegyzést előbb létre kell hozni, mint ebben a példában:

Relate( ThisItem.Notes, Patch( Notes, Defaults( Notes ), { Title: "A new note" } ) )

Tevékenységben résztvevő felek

Az útmutató írásának idején a vászonalapú alkalmazások nem támogatják a tevékenységben résztvevő feleket.

Megjegyzés

Megosztja velünk a dokumentációja nyelvi preferenciáit? Rövid felmérés elvégzése. (ne feledje, hogy ez a felmérés angol nyelvű)

A felmérés elvégzése körülbelül hét percet vesz igénybe. Semmilyen személyes adatot nem gyűjtünk (adatvédelmi nyilatkozat).