Información de referencia sobre o modelo de pantalla de correo electrónico en aplicacións de lenzo
Para aplicacións de lenzo en Power Apps, obteña información sobre como contribúe cada control significativo do modelo da pantalla de correo electrónico á funcionalidade predefinida xeral da pantalla. Esta información presenta as fórmulas de comportamento e os valores doutras propiedades que determinan como responden os controis á entrada do usuario. Para manter un debate de alto nivel sobre a funcionalidade predefinida desta pantalla, consulte a visión xeral da pantalla de correo electrónico.
Este tema resalta algúns controis significativos e explica as expresións ou fórmulas nas que as diversas propiedades (como Elementos e OnSelect) destes controis se establecen:
- Cadro de busca de texto
- Icona Engadir
- Galería de exploración de persoas
- Galería de Enviar correo electrónico a persoas (+ controis secundarios)
- Icona de correo
Requisito previo
Familiarícese con como engadir e configurar pantallas e outros controis ao crear unha aplicación en Power Apps.
Cadro de busca de texto
Outros controis da pantalla dependen do control da Caixa de busca de texto:
- Se un usuario comeza a escribir un texto, PeopleBrowseGallery pasa a estar visible.
- Se un usuario escribe un enderezo de correo electrónico válido, AddIcon pasa a estar visible.
- Cando un usuario selecciona unha persoa dentro de PeopleBrowseGallery, restablécese o contido de busca.
Icona Engadir
O control Engadir icona permite aos usuarios das aplicacións engadir persoas que non existen dentro da súa organización á lista de destinatarios do correo electrónico que se está a redactar.
Propiedade: Visible
Valor: lóxico para mostrar o control só cando un usuario introduce un enderezo de correo electrónico válido na caixa de busca:!IsBlank( TextSearchBox.Text ) && IsMatch( TextSearchBox.Text, Match.Email ) && Not( Trim( TextSearchBox.Text ) in MyPeople.UserPrincipalName )
Liña por liña, o código anterior indica que o control Icona Engadir só estará visible se:
- TextSearchBox contén texto.
- O texto de TextSearchBox é un enderezo de correo electrónico válido.
- O texto de TextSearchBox xa non existe na colección MyPeople.
Propiedade: OnSelect
Valor: seleccionando isto engádese o enderezo de correo electrónico válido á colección MyPeople. Esta colección é usada pola pantalla como lista de destinatarios:Collect( MyPeople, { DisplayName: TextSearchBox.Text, UserPrincipalName: TextSearchBox.Text, Mail: TextSearchBox.Text } ); Reset( TextSearchBox )
Este bloque de código engade unha fila á colección MyPeople e enche tres campos co texto de TextSearchBox. Estes tres campos son DisplayName, UserPrincipalName e Correo. A continuación, restablece o contido de TextSearchBox.
Galería de exploración de persoas
Propiedade: Items
Valor: os 15 resultados da busca máis importantes do texto da busca escritos no control TextSearchBox:If( !IsBlank( Trim(TextSearchBox.Text ) ), 'Office365Users'.SearchUser( {searchTerm: Trim( TextSearchBox.Text ), top: 15} ) )
Os elementos desta galería están cubertos con resultados da operación Office365.SearchUser A operación leva o texto en
Trim(TextSearchBox)
como termo de busca e devolve os 15 primeiros resultados en función desa busca.TextSearchBox axústase nunha función
Trim()
porque unha busca do usuario en espazos non é válida. A operaciónOffice365Users.SearchUser
axústase nunha funciónIf(!IsBlank(Trim(TextSearchBox.Text)) ... )
, o cal significa que a operación só se realiza se a caixa de busca contén texto introducido polo usuario. Isto mellora o rendemento.
Control do título de Galería de busca de persoas
Propiedade: Text
Valor:ThisItem.DisplayName
Amosa o nome de visualización da persoa desde o seu perfil de Office 365.
Propiedade: OnSelect
Valor: código para engadir ao usuario a unha colección a nivel de aplicación e, a continuación, seleccionar o usuario:Concurrent( Set( _selectedUser, ThisItem ), Reset( TextSearchBox ), If( Not( ThisItem.UserPrincipalName in MyPeople.UserPrincipalName ), Collect( MyPeople, ThisItem ) ) )
Seleccionar este control fai tres cousas ao mesmo tempo:
- Configura a variable selectedUser para o elemento seleccionado.
- Restablece o termo de busca en TextSearchBox.
- Engade o elemento seleccionado á colección MyPeople, unha colección de todos os usuarios seleccionados que a pantalla de correo electrónico usa como un conxunto de destinatarios.
Galería de Enviar correo electrónico a persoas
Propiedade: Items
Valor:MyPeople
Esta é a colección das persoas iniciadas ou engadidas ao seleccionar o control PeopleBrowseGallery.
Propiedade: Altura
Valor: Lóxico para establecer a altura, en función do número de elementos que hai actualmente na galería:Min( ( EmailPeopleGallery.TemplateHeight + EmailPeopleGallery.TemplatePadding * 2) * RoundUp(CountRows(EmailPeopleGallery.AllItems) / 2, 0 ), 304 )
A altura desta galería axústase ao número de elementos da galería, cunha altura máxima de 304.
Ten
TemplateHeight + TemplatePadding * 2
como altura total dunha única fila de EmailPeopleGallery e, despois, multiplícase polo número de filas. DendeWrapCount = 2
, o número de filas verdadeiras éRoundUp(CountRows(EmailPeopleGallery.AllItems) / 2, 0)
.Propiedade: ShowScrollbar
Valor:EmailPeopleGallery.Height >= 304
Cando a altura da galería chega a 304, a barra de desprazamento é visible.
Control do título de Galería de Enviar correo electrónico a persoas
Propiedade: OnSelect
Valor:Set(_selectedUser, ThisItem)
Configura a variable _selectedUser para o elemento seleccionado en EmailPeopleGallery.
Control iconRemove da Galería de Enviar correo electrónico a persoas
Propiedade: OnSelect
Valor:Remove( MyPeople, LookUp( MyPeople, UserPrincipalName = ThisItem.UserPrincipalName ) )
Busca o rexistro na colección MyPeople, onde UserPrincipalName coincide co UserPrincipalName do elemento seleccionado e, a continuación, elimina ese rexistro da colección.
Icona de correo
Propiedade: OnSelect
Valor: Lóxica para enviar a mensaxe de correo electrónico do usuario:Set( _emailRecipientString, Concat( MyPeople, Mail & ";" ) ); 'Office365'.SendEmail( _emailRecipientString, TextEmailSubject.Text, TextEmailMessage.Text, { Importance:"Normal" } ); Reset( TextEmailSubject ); Reset( TextEmailMessage ); Clear( MyPeople )
Para enviar unha mensaxe de correo electrónico necesítase unha cadea de enderezos de correo electrónico separada por punto e coma. No código anterior:
A primeira liña de código toma o campo Correo de todas as filas da colección MyPeople, concaténaos nunha única cadea de enderezos de correo electrónico separados por puntos e coma e establece a variable _emailRecipientString no valor desa cadea.
A continuación, usa a operación Office365.SendEmail para enviar o correo electrónico aos destinatarios. A operación ten tres parámetros necesarios, Para, Asunto e Corpo e un parámetro opcional--Importancia. No código anterior, estes son _emailRecipientString, TextEmailSubject.Text, TextEmailMessage.Text e Normal respectivamente.
Finalmente, restablece os controis TextEmailSubject e TextEmailMessage e borra a colección MyPeople.
Propiedade: DisplayMode
Valor:If( Len( Trim( TextEmailSubject.Text ) ) > 0 && !IsEmpty( MyPeople ), DisplayMode.Edit, DisplayMode.Disabled )
Para que se envíe un correo electrónico, a liña de asunto de correo electrónico debe ter texto e a colección do destinatario (MyPeople) non debe estar baleira.
Pasos seguintes
- Obter máis información sobre esta pantalla
- Máis información acerca do conector de Outlook de Office 365 en Power Apps
- Máis información acerca do conector de usuarios de Office 365 en Power Apps
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).
Comentarios
https://aka.ms/ContentUserFeedback.
Proximamente: Ao longo de 2024, retiraremos gradualmente GitHub Issues como mecanismo de comentarios sobre o contido e substituirémolo por un novo sistema de comentarios. Para obter máis información, consulte:Enviar e ver os comentarios