Share via


Microsoft Dataverse e a mellora da experiencia de orixes de datos

Visión xeral

En maio de 2021, moitas funcións que antes eran opcionais son agora o comportamento predeterminado para todas as aplicacións novas. Este artigo ofrece orientación aos usuarios que desenvolveron unha aplicación antes da introdución de novas funcións, sobre como actualizar a súa aplicación para aproveitar as funcións máis recentes.

Nativo Dataverse

Se creou unha aplicación de lenzo con Dataverse ou Dynamics 365 Connector antes de novembro de 2019, entón pode que non teña os beneficios de usar a experiencia de conexión nativa actual de Dataverse.

Se creaches a túa aplicación antes de novembro de 2019 e non estás a usar unha conexión Dataverse nativa, en Configuración da pestana Funcións próximas, na pestana "Retirado" atoparás o Mellorar a experiencia e as Microsoft Dataverse vistas opción de orixe de datos xunto coa datos relacionais, opcións e outras funcións novas para Microsoft Dataverse.

Como actualizo?

Actualice a aplicación inspeccionando a configuración das funcións e seguindo as instrucións seguintes:

Os datos relacionais, os conxuntos de opcións e outras funcións novas para Microsoft Dataverse están desactivados

Comprobe a sección Retiradas sección en Próximas funcións. Se está configurado en Desactivado, continúe coas seguintes instrucións como primeiro paso para a conversión.

Se non ve os Datos relacionais, conxuntos de opcións e outras novas funcións para Microsoft Dataverse na Configuración xeral ou se xa está Activado, omita os seguintes pasos e continúe ata a seguinte sección.

  • Paso 1: definir a característica Usar nomes de visualización en Activado:

    1. Defina a característica Usar nomes de visualización en Activado.
    2. Agarde que o monitor de estado remate de analizar a súa aplicación.
    3. Garde, peche e abra de novo a aplicación.
    4. Resolva todos os erros da fórmula.
    5. Garde, peche e abra de novo a aplicación.

    Posibles erros e suxestións:

    É posible que algúns dos nomes para mostrar recentemente amosados poidan entrar en conflito cos nomes para mostrar doutras táboas, campos ou controis. Por exemplo, pode ter un control e un campo co mesmo nome. Pode cambiar o nome do control cun valor único para corrixilo.

    Para calquera conflito de nomes para mostrar de campos e táboas, pode ver unha fórmula que espera unha táboa, pero que se resolve cun nome de campo de ámbito local.

    Use o corchete cun símbolo @ para indicar un ámbito global para que se resolva na táboa; por exemplo, [@tableName].

  • Paso 2: defina as características Datos relacionais, conxuntos de opcións e outras novas funcións para Microsoft Dataverse e Usar tipos de datos GUID en lugar de cadeas en Activado:

    1. Defina a característica Datos relacionais, conxuntos de opcións e outras novas funcións para Microsoft Dataverse en Activado:
    2. Defina a característica Usar tipos de datos GUID en lugar de cadeas en Activado.
    3. Agarde que o monitor de estado remate de analizar a súa aplicación.
    4. Resolva todos os erros da fórmula.
    5. Garde, peche e abra de novo a aplicación.

    Posibles erros e suxestións:

    É posible que se produzan erros nesta fase se está a usar un campo de selección ou valores de texto GUID codificados.

    • Valores de elección: se está a usar o campo de elección cun identificador de texto para o valor de elección, use a notación de puntos no seu lugar para facer referencia ao valor de elección. Por exemplo, cambie Patch(Accounts, OptionSet1 = “12345”) a Patch(Accounts, OptionSet.Item1) onde Item1 corresponde ao valor 12345.
      Máis información: Exemplos detallados.
    • GUID: Se está usando unha cadea GUID estática como 015e45e1044e49f388115be07f2ee116, convértaa nunha función que devolve un obxecto GUID; por exemplo GUID(“015e45e1044e49f388115be07f2ee116”).
    • Buscas: se está a usar funcións de busca para obter valores de busca de primeiro nivel, como Lookup(Contacts, ‘contactID’ = ThisItem.ContactID”), considere usar ThisItem.PrimaryContacts (onde PrimaryContacts é o nome da táboa).

Mellora a experiencia orixe de datos e as Microsoft Dataverse vistas está desactivada

Use a seguinte instrución para definir a característica Mellora a experiencia de orixe de datos e as vistas de Microsoft Dataverse enActivado:

  1. Elimine as conexións orixes de datos existentes de Dataverse.
  2. Active a funcionalidade Mellorar a experiencia de orixes de datos e as vistas de Microsoft Dataverse:
  3. Engada a conexión de Dataverse coa nova experiencia de selección de orixes de datos.
  4. Garde a súa aplicación.

Nota

Se a súa aplicación é extremadamente grande, engadir as súas conexións de orixes de datos pode levar un tempo. Non peche a aplicación durante este proceso.

Converter aplicacións de lenzo con Dynamics 365 Connector

Para converter a túa aplicación que usa o conector de Dynamics 365, debes eliminar e engadir as conexións ás túas fontes de datos. Use os pasos seguintes para converter as súas conexións ás súas fontes de datos.

  1. Comprobe que a funcionalidade Mellorar a experiencia de orixes de datos e as vistas de Microsoft Dataverse está activada:

  2. Elimine as conexións de orixes de datos existentes de Dynamics 365.

  3. Engada as conexións ás súas fontes de datos a Dataverse usando a nova experiencia de selección de orixe de datos.

    Nota

    • Se ten conexións con outros ambientes (distintos do actual), seleccione a categoría Táboa e despois a opción Máis (...) para cambiar o ambiente. A continuación, pode seleccionar unha táboa dun ambiente diferente para engadir á súa aplicación. As conexións entre inquilinos non funcionan co conector nativo mellorado. Deberá usar a integración de datos para acceder ao inquilino cruzado de datos.
    • Para poder ver un contorno ao que desexa engadir a conexión é necesario cumprir un dos seguintes requisitos:
      • Vostede é o Propietario da aplicación ou a aplicación está compartida con vosotede como Copropietario.
      • É membro de polo menos un destes roles de seguridade: Administrador de ambientes, Creador de ambientes ou Administrador do sistema. Para obter máis información sobre os roles de seguridade nun ambiente, diríxase a Configurar a seguridade do usuario nos recursos dun contorno.
  4. Garde a súa aplicación.

Posibles erros e suxestións:

É posible ter erros ao converter se: non está a usar nomes para mostrar, se está a usar cadeas GUID ou se está a usar unha elección.

  • Se o nome do control entra en conflito, cambie o nome do control para que sexa diferente e único.
  • Para conflitos de nomes de visualización de campos e táboas, é posible que vexa unha fórmula que espera unha táboa pero que se resolve cun nome de campo de ámbito máis local. Use o corchete cun símbolo @ para indicar un ámbito global para que se resolva na táboa; por exemplo, [@tableName].
  • Valores de elección: se está a usar un campo de elección cun identificador de texto para o valor de elección, use a notación de puntos no seu lugar para facer referencia ao valor de elección. Por exemplo, cambie Patch(Accounts, OptionSet1 = “12345”) a Patch(Accounts, OptionSet.Item1) onde Item1 corresponde ao valor 12345.
    Máis información: Exemplos detallados.
  • GUID: Se está usando unha cadea GUID estática como 015e45e1044e49f388115be07f2ee116, convértaa nunha función que devolve un obxecto GUID; por exemplo GUID(“015e45e1044e49f388115be07f2ee116”).
  • Buscas: se está a usar funcións de busca para obter valores de busca de primeiro nivel, como Lookup(Contacts, ‘contactID’ = ThisItem.ContactID”), considere usar ThisItem.PrimaryContacts (onde PrimaryContacts é o nome da táboa).
  • Para calquera referencia polimórfica, consulte a sección de exemplos detallados a continuación.

Exemplos detallados

Converter a aplicación para usar os novos tipos de datos Conxuntos de opcións e Dúas opcións con controis compatibles poden ser complicado ao actualizar unha aplicación para usar a nova funcionalidade Mellorar a experiencia de orixes de datos e as visualizacións de Microsoft Dataverse.

Eleccións

Os campos _myfield e _myfield_label independentes utilizáronse antes para a elección. Agora hai un único myfield que se pode usar tanto para comparacións independentes da configuración rexional como para obter a etiqueta específica da configuración rexional.

Eliminar e engadir cartóns de datos de elección

Recomendamos que elimine as tarxetas de datos existentes e que as engada de novo para que funcionen coa súa elección. Por exemplo, se está a traballar coa táboa Conta e a opción Categoría, verá que a propiedade DataField da tarxeta de datos estaba definida como _accountcategorycode_label. Na lista de campos pode ver que a tarxeta de datos ten un tipo de Cadea:

OptionSet con nome de estilo antigo.

Coa nova función Experiencia de orixe de datos e vistas de Microsoft Dataverse melloradas, xa non ve _accountcategorycode_label. accountcategorycode substitúea. A súa tarxeta está marcada como personalizada e verá erros. Elimine o cartón de datos antigo e engada a Elección de novo. O novo cartón de datos é compatible con Elección.

OptionSet co nome de estilo novo.

Editar as expresións de filtro de eleccións para usar unha nova sintaxe

Anteriormente, se quería utilizar un valor de opción nunha expresión de filtro, tería que utilizar o campo Valor . Por exemplo:

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

Necesita editar esta fórmula. O identificador de texto de elección xa non se usa para o valor. Esta expresión debe actualizarse para:

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

"Category(Accounts)" é o nome da enumeración empregada no campo Categoría da táboa Contas. Esta é unha elección local. Pode ler máis sobre as eleccións locais e globais aquí: Eleccións globais.

Editar as instrucións Patch de eleccións para usar unha nova sintaxe

A continuación móstrase un exemplo de instrución Patch anterior para a elección:

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

Debe actualizar as súas declaracións para seguir este formulario:

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

Desambiguación de elección

Se o nome para mostrar dunha elección campo e o nome da elección son os mesmos, terá que eliminar a ambigüidade da fórmula. Para seguir usando o exemplo de código da categoría de contas, o símbolo @ implica empregar a elección, non o campo.

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

Dúas opcións

Eliminar e engadir cartóns de datos Si/Non

Elimine os cartóns de datos existentes e volva engadilos para traballar con Si/Non. Os tipos de datos foron recoñecidos como un booleano simple, como verdadeiro/activado e falso/desactivado sen etiquetas:

Si/Non: estilo antigo.

Coa nova característica Experiencia de orixe de datos e vistas de Microsoft Dataverse melloradas, a súa tarxeta será marcada como personalizada e verá erros. Elimine o cartón de datos antigo e engada a elección de novo. De xeito predeterminado verá un control de edición con dúas opcións despois de engadir.

Si/Non: estilo novo.

Se prefire o conmutador para o seu campo booleano, pode desbloquear a tarxeta de datos e substituír o control na tarxeta de datos por un conmutador no seu lugar. Tamén terá que establecer estas propiedades no alternador.

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 )

Conmutador de dúas opcións.

Afinación de instrucións de parche de dúas opción

Usar a función Patch con dúas opción debe funcionar "tal cal". Admite o uso directo de verdadeiro e falso, de forma similar ao booleano. A única diferenza é que se puxera o valor nun control de etiqueta anterior que mostrase verdadeiro e falso, agora mostrará no seu lugar as etiquetas de dúas opcións.

Buscas polimórficas

As directrices seguintes axudan a actualizar a súa aplicación se fai referencia a campos polimórficos. As buscas polimórficas, desde o mesmo campo, admiten referencias a un conxunto restrinxido de varias táboas. De xeito similar ás referencias noutros idiomas, unha referencia de rexistro é un punteiro a un rexistro específico nunha táboa específica. Unha referencia de rexistro leva a información da táboa o que lle permite apuntar a un rexistro noutras táboas, o que difire dunha busca normal que só pode apuntar a rexistros dunha táboa.

Acceder, establecer e filtrar no campo Propietario dun rexistro

Por exemplo, a columna Propietario nunha táboa pode referirse a un rexistro na táboa Usuarios ou na táboa Equipos. O mesmo campo de busca en diferentes rexistros podería referirse a rexistros en diferentes táboas.

Campo propietario polimórfico.

Polimórfica con Filtro e Parche

As referencias de rexistros pódense usar do mesmo xeito que un rexistro completo:

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

Dado que unha referencia pode apuntar a diferentes táboas, debe especificarse. Non pode usar ThisItem.Owner.Name, xa que o campo de nome na táboa Equipos é Nome do equipo e o campo de nome na táboa Usuario é Nome completo. Power Apps non sabe a que tipo de busca se está a referir ata que executa a aplicación.

Para corrixir este problema:

  1. Engada as orixes de datos para os tipos de entidade que Propietario podería ser; neste caso, Usuarios e Equipos.
  2. Use máis funcións para deixar clara a súa intención.

Hai dúas novas funcións das que pode facer uso:

  • IsType: comproba se unha referencia de rexistro é dun tipo de táboa concreto.
  • AsType: converte unha referencia de rexistro nun tipo de táboa concreto.

Con estas funcións, pode escribir unha fórmula que amose o nome do propietario tomado de dous campos con nome diferente, en función do tipo de táboa do propietario:

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

Galería con tipo Como.

O operador de desambiguación global para [@Teams] e [@Users] úsase para asegurarse de que fai referencia ao tipo de táboa global. Aínda que neste caso non é necesario, é recomendable ser sempre claro. As relacións de un a varios a miúdo entran en conflito no ámbito dos rexistros da galería e esta práctica evita esa confusión.

Acceder e configurar o campo Nome da empresa (un tipo de datos do cliente) da táboa Contactos

O campo de busca Cliente é outra busca polimórfica que é similar a Propietario. Só pode ter un campo Propietario por táboa. Non obstante, unha táboa pode incluír cero, un ou varios campos de busca de Clientes. A táboa do sistema Contactos inclúe o campo Nome da empresa, que é un campo de busca de Clientes. Lea amosar os campos dun cliente para ter máis detalles.

Acceder e configurar o campo Referente a das táboas de actividade como Fax, Chamadas de teléfono, Mensaxes de correo electrónico

As buscas polimórficas non están limitadas a contas e contactos. A lista de táboas é extensible con táboas personalizadas. Por exemplo, a táboa Fax ten un campo de busca polimórfica Referente a, que pode facer referencia a Contas, Contactos e outras táboas. Se ten unha galería con orixe de datos configurada en Faxes, pode usar a seguinte fórmula para amosar o nome asociado ao campo de busca Relacionado con.

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

Galería con Referente a.

Lea Campos de busca Referente a e Relacións de Referente a para ter máis detalles.

Acceder á lista de todas as actividades dun rexistro

En Dataverse, as táboas como Fax, Tarefas, Correos electrónicos, Notas, Chamadas telefónicas, Cartas e Chats desígnanse como actividades. Tamén pode crear as súas propias táboas de actividades personalizadas.

Pode amosar actividades dun tipo específico (como Fax ou Impostos) ou todas as actividades asociadas a unha táboa como Conta. Engada a táboa Actividades e outras táboas individuais cuxos datos planea amosar na aplicación de lenzo.

Cada vez que engade un rexistro a, por exemplo, a táboa Tarefas, créase un rexistro na táboa Actividades cos campos comúns en todas as táboas de actividades. Ler táboa de actividades para máis detalles.

O seguinte exemplo mostra que mentres selecciona unha conta, mostraranse todas as actividades asociadas a esa conta:

Actividades polimórficas.

Os rexistros móstranse desde a táboa Actividade. Pero aínda pode usar a función IsType para identificar que tipo de actividade son. Unha vez máis, antes de usar IsType cun tipo de táboa, debe engadir a orixe de datos necesaria.

Usando esta fórmula, pode mostrar o tipo de rexistro nun control de etiquetas dentro da galería:

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

Novo Polymorphic-IsType.

Acceder á lista de Notas dun rexistro

Cando crea unha táboa, pode activar os anexos. Se selecciona a caixa de verificación para activar os anexos, creará unha relación Referente á táboa de Notas, como mostra este gráfico para a táboa de Contas:

Campo Notas.

Filtraxe

Non pode ler nin filtrar en función do campo Referente a. Non obstante, a relación inversa de un a varios das Notas está dispoñible. Para listar todas as notas asociadas a unha táboa Contas, pode usar a seguinte fórmula:

First( Accounts ).Notes
Patch

Non pode configurar o campo Notas nunha táboa usando Patch. Para engadir un rexistro á táboa Notas dunha táboa, pode usar a función Relate. Cree a nota primeiro, como neste exemplo:

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

Pasos seguintes

Consulte tamén

Que é Dataverse?

Nota

Pode indicarnos as súas preferencias para o idioma da documentación? Realice unha enquisa breve. (teña en conta que esa enquisa está en inglés)

Esta enquisa durará sete minutos aproximadamente. Non se recompilarán datos persoais (declaración de privacidade).