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:
Bejelentkezés a Power Apps-be.
A bal oldali panelen válassza az Adat > Táblák lehetőséget.
A táblázatok listájában válassza a Számla lehetőséget.
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.
Görgessen lefelé, amíg a Tulajdonos oszlop meg nem jelenik.
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:
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:
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' )
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:
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
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 )
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.
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
- Elemek:
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"
- Látható:
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.
- Elemek:
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) )
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 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ó.
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:
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.
A három pont menüből válassza az Rlemek másolása lehetőséget.
Ugyanabban a menüben válassza a Beillesztés lehetőséget.
Mozgassa a másolt vezérlőket a katalógus jobb oldalára.
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" )
- Elemek:
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.
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 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.
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.
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() )
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.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 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:
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.
Szúrjon be egy Szerkesztési űrlap vezérlőt, majd méretezze át, és helyezze át a jobb alsó sarokba.
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.
Állítsa az űrlap Elem tulajdonságát
Gallery1.Selected
értékre.A képernyő jobb oldalán található Tulajdonságok lapon válassza ki a Mezők szerkesztése elemet.
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.
Az új kártya megjelenik az űrlap vezérlőelem alján.
Szükség esetén méretezze át a kártyát, hogy az összes szöveg megjelenjen.
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' )
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.
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ő.
Több Ügyfél keresőoszlopot adhat hozzá egy táblázathoz, ha egy új oszlophoz az Ügyfél adattípust választja ki.
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).
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)
)
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:
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.
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'
)
Ezekkel a módosításokkal megtekintheti és módosíthatja a Cégnév mezőt a Kapcsolatok táblában.
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:
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',
""
)
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.
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.
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).
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.
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.
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:
Adjon hozzá egy másik képernyőt.
Szúrjon be egy katalógus vezérlőt, méretezze át, majd helyezze át a képernyő bal oldalára.
A képernyő jobb oldalán található Tulajdonságok lapon állítsa a katalógus Elemek tulajdonságát Partnerek értékre.
Á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.
Adjon hozzá egy második katalógust, méretezze át, majd helyezze át a képernyő jobb oldalára.
Á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.
Á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).
Amikor kiválaszt egy elemet a partnerek listájából, a faxok csak az adott partnerhez tartozó faxokat jelenítik meg.
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.
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.
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.
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"
)
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"
)
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.
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.
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:
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).
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: