Comparteix a través de


Microsoft Dataverse i la millora de l'experiència de la font de dades

Informació general

El maig de 2021, moltes funcions que abans eren opcionals ara són el comportament predeterminat de totes les aplicacions noves. En aquest article s'ofereixen orientacions als usuaris que han desenvolupat una aplicació abans de la introducció de funcions noves, sobre com actualitzar la seva aplicació per aprofitar les funcions més recents.

Nadiu Dataverse

Si heu creat una aplicació del llenç amb el Dataverse o el connector del Dynamics 365 abans de novembre de 2019, pot ser que no tingueu els avantatges d'utilitzar l'experiència actual de connexió nativa per al Dataverse.

Si vau crear l'aplicació abans del novembre de 2019 i no utilitzeu cap connexió nativa Dataverse , a Configuració, a la pestanya Properes funcions, a la pestanya "Retirat", trobareu l'opció Millora l'experiència font de dades i Microsoft Dataverse les visualitzacions, juntament amb les dades relacionals, les opcions i altres funcions noves Microsoft Dataverse.

Com actualitzo?

Actualitzeu la vostra aplicació inspeccionant la configuració de les característiques i, a continuació, seguiu les instruccions següents:

Dades relacionals, conjunts d'opcions i altres funcions noves per a Microsoft Dataverse està desactivat

Comproveu la secció Retirades a pròximes característiques. Si està definida com a Desactivat, continueu amb les instruccions següents com a primer pas de la conversió.

Si no veieu Dades relacionals, conjunts d'opcions i altres característiques noves per al Microsoft Dataverse a Configuració general, o si ja està activat, ometeu els passos següents i continueu a la secció següent.

  • Pas 1: definiu la característica Utilitza noms de visualització com a Activat:

    1. Definiu la característica Utilitza noms de visualització com a Activat.
    2. Espereu que el supervisor de l'estat acabi d'analitzar l'aplicació.
    3. Deseu, tanqueu i torneu a obrir l'aplicació.
    4. Resoleu tots els errors de fórmules.
    5. Deseu, tanqueu i torneu a obrir l'aplicació.

    Possibles errors i suggeriments:

    És possible que alguns dels noms de visualització que s'acaben de mostrar puguin entrar en conflicte amb els noms de visualització d'altres taules, camps o controls. Per exemple, pot ser que tingueu un control i un camp amb el mateix nom. Podeu canviar el nom del control amb un valor únic per corregir.

    Per a qualsevol conflicte de nom de visualització de camp i de taula, podeu veure una fórmula que espera una taula però que es resol a un nom de camp d'àmbit local.

    Utilitzeu el claudàtor amb un @ símbol per indicar un abast global perquè es resolgui a la taula; per exemple, [@tableName].

  • Pas 2: Definiu les característiques Dades relacionals, conjunts d'opcions i altres característiques noves per al Microsoft Dataverse i Utilitza tipus de dades de GUID en comptes de cadenes com a Activat:

    1. Definiu l'opció Dades relacionals, conjunts d'opcions i altres característiques noves per al Microsoft Dataverse com a Activat.
    2. Definiu la característica Utilitza tipus de dades de GUID en comptes de cadenes com a Activat.
    3. Espereu que el supervisor de l'estat acabi d'analitzar l'aplicació.
    4. Resoleu tots els errors de fórmules.
    5. Deseu, tanqueu i torneu a obrir l'aplicació.

    Possibles errors i suggeriments:

    És possible que hi hagi errors en aquesta fase si utilitzeu un camp d'elecció o valors de text GUID codificats.

    • Valors d'opció: si utilitzeu un camp d'opció amb un identificador de text per al valor d'opció, utilitzeu la notació de punts per fer referència al valor d'opció. Per exemple, canvieu Patch(Accounts, OptionSet1 = “12345”) a Patch(Accounts, OptionSet.Item1) on Item1 correspon al valor 12345.
      Més informació: Exemples detallats.
    • GUID: si utilitzeu una cadena de GUID estàtica, com ara 015e45e1044e49f388115be07f2ee116, convertiu-la en una funció que retorni un objecte de GUID; per exemple, GUID(“015e45e1044e49f388115be07f2ee116”).
    • Cerques: si utilitzeu funcions de cerca per obtenir valors de cerca de primer nivell, com ara Lookup(Contacts, ‘contactID’ = ThisItem.ContactID”), considereu l'ús de ThisItem.PrimaryContacts (on PrimaryContacts és el nom de la taula).

Millorar font de dades experiència i Microsoft Dataverse visualitzacions està desactivat

Utilitzeu les instruccions següents per definir la característica Millora l'experiència de la font de dades i les visualitzacions del Microsoft Dataverse com a Activat:

  1. Suprimiu les connexions de font de dades existents del Dataverse.
  2. Definiu com a Activat la característica Millora l'experiència de la font de dades i les visualitzacions del Microsoft Dataverse.
  3. Afegiu la connexió del Dataverse mitjançant la nova experiència de selecció de font de dades.
  4. Deseu la vostra aplicació.

Nota

Si l'aplicació és extremadament gran, tornar a afegir les connexions de font de dades pot tardar una estona. No tanqueu l'aplicació durant aquest procés.

Convertir aplicacions de llenç amb el Dynamics 365 Connector

Per convertir l'aplicació que utilitza el connector del Dynamics 365, heu de suprimir i afegir les connexions a les fonts de dades. Seguiu els passos que es descriuen a continuació per convertir les connexions a les vostres fonts de dades.

  1. Assegureu-vos que la característica Millora l'experiència de la font de dades i les visualitzacions del Microsoft Dataverse estigui definida com a Activat.

  2. Suprimiu les connexions a les fonts de dades existents del Dynamics 365.

  3. Afegiu les connexions a les vostres fonts de dades al Dataverse mitjançant la nova experiència de selecció de font de dades.

    Nota

    • Si teniu connexions amb altres entorns (a part de l'actual), seleccioneu la categoria Taula i, a continuació, l'opció Més (...) per canviar l'entorn. A continuació, podeu seleccionar una taula d'un altre entorn per afegir-la a l'aplicació. Les connexions entre inquilins no funcionen amb el connector natiu millorat. Haureu d'utilitzar la integració de dades per accedir a dades entre inquilins.
    • Heu de complir un dels requisits següents per poder veure un entorn al qual voleu afegir la connexió:
      • Sou el Propietari de l'aplicació. O bé, l'aplicació està compartida i en sou el Copropietari.
      • Com a mínim, sou membre d'una d'aquestes funcions de seguretat: Administrador de l'entorn, Creador de l'entorn o Administrador del sistema. Per obtenir més informació sobre les funcions de seguretat d'un entorn, aneu a Configurar la seguretat de l'usuari en recursos d'un entorn.
  4. Deseu la vostra aplicació.

Possibles errors i suggeriments:

És possible que tingueu errors a mesura que convertiu si: no utilitzeu noms de visualització, si utilitzeu cadenes GUID o si utilitzeu una opció.

  • Si el nom del control entra en conflicte, canvieu-lo perquè sigui diferent i únic.
  • Per als conflictes de noms de visualització de camps i taules, és possible que vegeu una fórmula que espera una taula però que s'està resolent a un nom de camp d'abast més local. Utilitzeu el claudàtor amb un @ símbol per indicar un abast global perquè es resolgui a la taula; per exemple, [@tableName].
  • Valors d'opció: si utilitzeu un camp d'opció amb un identificador de text per al valor d'opció, utilitzeu la notació de punts per fer referència al valor d'opció. Per exemple, canvieu Patch(Accounts, OptionSet1 = “12345”) a Patch(Accounts, OptionSet.Item1) on Item1 correspon al valor 12345.
    Més informació: Exemples detallats.
  • GUID: si utilitzeu una cadena de GUID estàtica, com ara 015e45e1044e49f388115be07f2ee116, convertiu-la en una funció que retorni un objecte de GUID; per exemple, GUID(“015e45e1044e49f388115be07f2ee116”).
  • Cerques: si utilitzeu funcions de cerca per obtenir valors de cerca de primer nivell, com ara Lookup(Contacts, ‘contactID’ = ThisItem.ContactID”), considereu l'ús de ThisItem.PrimaryContacts (on PrimaryContacts és el nom de la taula).
  • Per a qualsevol referència polimòrfica, consulteu la secció Exemples detallats a continuació.

Exemples detallats

Convertir l'aplicació per utilitzar els nous tipus de dades conjunts d'opcions i dues opcions amb controls de suport pot ser difícil mentre s'actualitza una aplicació per utilitzar la nova funció Millora l'experiència de la font de dades i les visualitzacions del Microsoft Dataverse.

Selecció múltiple

Els camps _myfield i _myfield_label separats s'han utilitzat per a l'elecció anterior. Ara, hi ha un únic myfield que es pot utilitzar tant per a les comparacions de configuració regional independents com per obtenir l'etiqueta específica de configuració regional.

Suprimir i afegir Targetes de dades d'elecció

Us recomanem que suprimiu les targetes de dades existents i que les torneu a afegir a la feina que trieu. Per exemple, si treballeu amb la taula Compte i l'opció Categoria, veureu que la propietat DataField de la targeta de dades estava definida com a _accountcategorycode_label. A la llista de camps hi podeu veure que la targeta de dades té un tipus de Cadena:

OptionSet amb el nom d'estil antic

Amb la nova característica Experiència de la font de dades i visualitzacions del Microsoft Dataverse millorades, ja no veieu _accountcategorycode_label. S'ha substituït per accountcategorycode. Ara, la vostra targeta es marca com a personalitzada i veureu els errors. Suprimiu la targeta de dades antiga i torneu a afegir l'Elecció. La nova targeta de dades sap que hi ha Elecció.

Conjunt d'opcions amb un nom d'estil nou

Edició de les expressions del filtre d'opcions per utilitzar una sintaxi nova

Anteriorment, si volíeu utilitzar un valor Elecció en una expressió Filter, haureu d'utilitzar el camp Valor . Per exemple:

Filter(Account,'Category Value' = "1")

Haureu d'editar aquesta fórmula. L'identificador de text d'Elecció ja no s'utilitza per al valor. Aquesta expressió s'ha d'actualitzar a:

Filter(Account, Category= ‘Category (Accounts)’.’Preferred Customer’)

"Categoria(Comptes)" és el nom de l'enumeració utilitzada al camp Categoria de la taula Comptes. Aquesta és una elecció local. Podeu llegir més sobre les eleccions locals i globals aquí: Eleccions globals.

Edició de sentències pedaç d'eleccions per utilitzar una sintaxi nova

A continuació s'exposa un exemple de la Sentència pedaç anterior per a l'elecció:

Patch( Accounts, First(Accounts), { ‘Category Value’: 1 } ) )

Haureu d'actualitzar les declaracions perquè segueixin aquesta forma:

Patch( Accounts, First(Accounts), { Category: ‘Category (Accounts)’.’Preferred Customer’ } )

Desambiguació de l'elecció

Si el nom de visualització d'un camp d'elecció i el nom de l'elecció són els mateixos, haureu de desambiguar la fórmula. Per continuar utilitzant l'exemple del Codi de categoria dels comptes, @ implica utilitzar l'elecció, no el camp.

Filter(Accounts, 'Category Code' = [@’Category Code’].'Preferred Customer')

Dues opcions

Suprimir i afegir Targetes de dades Sí/No

Suprimiu les targetes de dades existents i torneu-les a afegir per treballar amb Sí/No. Abans, els tipus de dades es reconeixen com a booleans simples, com ara cert/activat i fals/desactivat sense etiquetes:

Sí/No - estil antic

Amb la nova característica Experiència de la font de dades i visualitzacions del Microsoft Dataverse millorada, la targeta es marcarà com a personalitzada i veureu els errors. Suprimiu la targeta de dades antiga i torneu a afegir l'elecció. Després d'afegir-lo, veureu un control d'edició amb dues opcions per defecte.

Sí/No - estil nou

Si preferiu el commutador per al camp booleà, podeu desbloquejar la targeta de dades i reemplaçar el control que conté amb per un commutador. També haureu de definir aquestes propietats al commutador.

Toggle1.Default = ThisItem.’Do not allow Bulk Emails’
Toggle1.TrueText = ‘Do not allow Bulk Emails (Accounts)’.’Do Not Allow’
Toggle1.FalseText = ‘Do not allow Bulk Emails (Accounts)’.Allow
DataCard.Value = If( Toggle1.Value,
    ‘Do not allow Bulk Emails (Accounts)’.’Do Not Allow’,
    ‘Do not allow Bulk Emails (Accounts)’.Allow )

Commutador de dues opcions

Refinar instruccions Patch de dues opcions

L'ús de la funció Patch amb dues opcions hauria de funcionar tal qual. Admet l'ús directe de cert i fals, de manera semblant als booleans. L'única diferència és que si abans havíeu posat el valor en un control Etiqueta que mostrava cert i fals, ara mostrarà les etiquetes de dues opcions.

Cerques polimòrfiques

Seguiu les directrius per actualitzar l'aplicació si fa referència a camps polimòrfics. Les cerques polimòrfiques del mateix camp admeten referències a un conjunt restringit de diverses taules. De manera similar a les referències en altres idiomes, una referència de registre és un punter d'un registre específic a una taula específica. Una referència de registre porta la informació de la taula que li permet apuntar a un registre en diverses altres taules, que difereix d'una cerca normal que només pot apuntar als registres d'una taula.

Accedir, definir i filtrar el camp Propietari d'un registre

Per exemple, el camp Propietari d'una taula pot fer referència a un registre de la taula Usuaris o a la taula Equips. El mateix camp de cerca de registres diferents podria fer referència als registres de diferents taules.

Camp Propietari polimòrfic

Polimòrfic amb filtre i pedaç

Les referències d'un registre es poden utilitzar com un registre complet:

Filter( Accounts, Owner = First( Teams ) )
Patch( Accounts, First( Accounts ), { Owner: First( Users ) })

Com que una referència pot apuntar a diferents taules, heu de ser específics. No podeu utilitzar ThisItem.Owner.Name, perquè el camp de nom de la taula Equip és Nom de l'equip, i el camp de nom de la taula Usuari és Nom complet. Power Apps no sap a quin tipus de cerca us referiu fins que no executeu l'aplicació.

Per solucionar aquest problema:

  1. Afegiu les fonts de dades dels tipus d'entitat en què podria estar Propietari; en aquest exemple, Usuaris i Equips).
  2. Utilitzeu més funcions per deixar clara la vostra intenció.

Hi ha dues funcions noves que podeu utilitzar:

  • IsType: comprova si una referència de registre és d'un tipus de taula concret.
  • AsType: llança una referència de registre a un tipus de taula concret.

Amb aquestes funcions, podeu escriure una fórmula que mostri el nom del Propietari pres de dos camps amb nom diferent, segons el tipus de taula del Propietari:

If( IsType( ThisItem.Owner,  [@Teams]), 
    AsType( ThisItem.Owner, [@Teams]).'Team Name', 
    AsType( ThisItem.Owner, [@Users]).'Full Name' )

Galeria amb As Type

L'operador global de desambiguació per a [@Teams] i [@Users] s'utilitza per assegurar-se que feu referència al tipus de taula global. Encara que en aquest cas no és necessari, es recomana per ser sempre clar. Les relacions d'un a diversos sovint entren en conflicte a l'àmbit de registre de la galeria i aquesta pràctica evita aquesta confusió.

Accediu i definiu el camp Nom de l'empresa (un tipus de dades de Client) de la taula Contactes

El camp de cerca de clients és una altra cerca polimòrfica que és semblant a Propietari. Només podeu tenir un camp de Propietari per taula. Però una taula pot no incloure cap camp de cerca de Client o un o més. La taula del sistema Contactes inclou el camp Nom de l'empresa, que és un camp de cerca de Client. Llegiu Mostrar els camps d'un client per obtenir més informació.

Accediu i definiu el camp Referent a de les taules d'activitat, com ara Faxos, Trucades telefòniques, Missatges de correu electrònic

Les cerques polimòrfiques no estan limitades a Comptes i Contactes. La llista de taules es pot allargar amb taules personalitzades. Per exemples, la taula Faxos té un camp de cerca polimòrfica Referent a que pot fer referència a Comptes, Contactes i altres taules. Si teniu una galeria amb la font de dades definida com a Faxos, podeu utilitzar la fórmula següent per mostrar el nom associat amb el camp de cerca Referent a.

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',
   "" )

Galeria amb Referent a

Llegiu Camps de cerca Referent a i Relacions de Referent a per a més detalls.

Accedir a la llista de totes les activitats d'un registre

Al Dataverse, les taules, com ara Faxos, Tasques, Correus electrònics, Notes, Trucades telefòmiques, Cartes i Xats es designen com activitats. També podeu crear les vostres taules d'activitats personalitzades.

Podeu mostrar activitats d'un tipus específic (com ara Faxos o Impostos) o totes les activitats associades a una taula, com ara un compte. Afegiu la taula Activitats i altres taules individuals les dades de les quals teniu previst visualitzar a l'aplicació de llenç.

Cada vegada que afegiu un registre (per exemple, a la taula Tasques), es crea un registre de la taula Activitat amb els camps comuns a totes les taules d'activitat. Llegiu taula activitat per a més detalls.

L'exemple següent mostra que quan seleccioneu un compte, es visualitzaran totes les activitats associades amb aquest compte:

Activitats polimòrfiques

Els registres s'estan visualitzant des de la taula Activitat. Però encara podeu utilitzar la funció IsType per identificar quin tipus d'activitat són. De nou, abans d'utilitzar IsType amb un tipus de taula, heu d'afegir la font de dades necessària.

En utilitzar aquesta fórmula, podeu mostrar el tipus de registre en un control d'etiqueta dins de la galeria:

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

Nou IsType polimòrfic

Accedir a la llista de notes d'un registre

Quan creeu una taula, podeu habilitar els fitxers adjunts. Si activeu la casella de selecció per habilitar els fitxers adjunts, creareu una relació Referent a amb la taula Notes, tal com es mostra en aquest gràfic per a la taula Comptes:

Camp de notes

Filtratge

No podeu llegir ni filtrar segons el camp Referent a. No obstant, la relació inversa d'un a diversos de Notes està disponible. Per llistar totes les Notes associades a una taula de Comptes, podeu utilitzar la fórmula següent:

First( Accounts ).Notes
Patch

No podeu definir el camp Notes en una taula mitjançant Pedaç. Per afegir un registre a la taula Notes d'una taula, podeu utilitzar la funció Relacionar. Crear la nota en primer lloc, com en aquest exemple:

Relate( ThisItem.Notes, Patch( Notes, Defaults( Notes ), { Title: "A new note", isdocument:'Is Document (Notes)'.No } ) )

Passos següents

Consulteu també

Què és el Dataverse?

Nota

Ens podeu dir quines són les vostres preferències d'idioma per a la documentació? Responeu una breu enquesta. (tingueu en compte que l'idioma de l'enquesta és l'anglès)

Trigareu uns set minuts a completar l'enquesta. No es recopilen dades personals (declaració de privadesa).