Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introducción
¿Qué es PowerApps?
Registrarse para obtener una versión de evaluación de 30 días
Suscribirse al plan de la comunidad
Novedades
Buscar y ejecutar aplicaciones
En un explorador
En un teléfono (lienzo)
En un teléfono (controlado por modelos)
En una página de SharePoint Online (lienzo)
En Microsoft Teams (lienzo)
Desde AppSource
Usar aplicaciones controladas por modelos
Información general
Interfaz unificada
Navegación y conceptos básicos
Información general
Ver su perfil
Búsqueda del administrador o encargado de soporte técnico
Establecimiento de la opción personal
Usar el lector de pantalla
Métodos abreviados de teclado
Trabajar con registros
Creación de un registro
Agregar actividades a la escala de tiempo
Preguntas más frecuentes acerca de actividades
Uso del campo de búsqueda en un registro
Vista de una tarjeta de perfil
Asignar o compartir registros
Compartir registros con Access Team
Agregar un rol de conexión
Desactivar cuentas o contactos
Realizar un seguimiento del progreso con gráficos y paneles
Agregar paneles de Power BI
Colaboración con SharePoint
Buscar registros
Comparación de las opciones de búsqueda
Buscar registros
Usar la búsqueda avanzada
Importar y exportar datos
Importar datos
Exportar datos a Excel Online
Exportar datos a Excel
Exportar a una hoja de cálculo dinámica
Exportar a una hoja de cálculo estática
Exportar a una tabla dinámica de Excel
Combinación de registros duplicados
Informes
Trabajo con los informes
Creación de los informes mediante el Asistente para informes
Adición de un informe existente
Edición del filtro predeterminado de un informe
Solución de problemas con los informes
Automatizar procesos
Trabajar con procesos de negocio
Usar flujos
Usar Dynamics 365 App for Outlook
Crear aplicaciones
Información general
Inicio de sesión en PowerApps
Aplicaciones de lienzo
¿Qué son las aplicaciones de lienzo?
¿Qué son las aplicaciones de lienzo?
Requisitos del sistema, límites y configuración
Métodos abreviados de teclado
Explorar las aplicaciones de ejemplo
Creación de una aplicación de lienzo a partir de una muestra
Aplicación de informe de gastos
Aplicación de servicio de asistencia
Aplicación Meeting Capture
Crear su primera aplicación
1 - Crear una aplicación a partir de datos
Desde Common Data Service
Desde SharePoint
Desde Excel
Desde Azure SQL Database
2 - Crear personalizaciones básicas
1 - Galerías
2 - Formularios
3 - Tarjetas
3 - Crear una aplicación personalmente
Desde Common Data Service
Desde Excel
Crear una aplicación a partir de una plantilla
Diseñar y crear una aplicación
Conectarse a datos
Lista de conexiones
Conectores populares
Common Data Service
Almacenamiento en la nube
Dynamics 365
Dynamics AX
Excel
Microsoft Translator
Office 365 Outlook
Usuarios de Office 365
Oracle Database
Power BI
SharePoint
SQL Server
Twitter
Agregar una conexión
Administrar conexiones
Preparación de datos de Excel
Delegación
Administrar puertas de enlace
Puertas de enlace
Orígenes de datos
Tablas y registros
Referencias de los registros
Diseñar la interfaz
Adición y configuración de controles
Adición y configuración de pantallas
Agregar una pantalla
Agregar una pantalla en desplazamiento
Configurar las pantallas de Office 365
Información general de la pantalla de calendario
Referencia de la pantalla de calendario
Información general de la pantalla de correo electrónico
Referencia de la pantalla de correo electrónico
Información general de la pantalla de reuniones
Referencia de la pantalla de reuniones
Información general de la pantalla de contactos
Referencia de la pantalla de contactos
Mostrar una tabla de elementos
Agregar una galería
Adición de galerías de alto variable
Agregar y configurar un formulario
Agregar un formulario
Información de los formularios
Información de la disposición de los formularios
Información de las tarjetas
Agregar una lista
Adición de un cuadro de lista, una lista desplegable o botones de selección
Creación de listas desplegables dependientes
Agregar un gráfico
Agregar elementos multimedia
Agregar datos de Power BI
Trabajo con la galería
Referencia de control
Lista de controles y propiedades
Agregar imagen
Datos adjuntos
Audio
Escáner de código de barras
Botón
Cámara
Tarjeta
Casilla
Gráfico de columnas
Columna
Cuadro combinado
Contenedor (experimental)
Tabla de datos
Selector de fecha
Mostrar formulario
Desplegable
Formulario de edición
Exportar
Galería
Texto HTML
Icono
Imagen
Importar
Gráfico de líneas
Cuadro de lista
Micrófono
Visor de PDF (experimental)
Entrada manuscrita
Gráfico circular
Icono de Power BI
Radio
Clasificación
Editor de texto enriquecido
Pantalla
Forma
Control deslizante
Etiquetas
Entrada de texto
Temporizador
Alternancia
Vídeo
Escáner de código de barras web (experimental)
Propiedades comunes
Accesibilidad
Color y borde
Núcleo
Imagen
Tamaño y ubicación
Text
Configurar la funcionalidad de una aplicación
Introducción a las fórmulas
Variables
Información sobre las fórmulas de comportamiento
Mostrar fechas y horas
Crear una colección
Mostrar el usuario actual
Conectar listas mediante búsquedas
Agregar un flujo
Creación de una regla en aplicaciones de lienzo
Referencia sobre fórmulas
Información general
Abs
Acceleration
Acos
Acot
AddColumns
And
App
Asin
AsType
Atan
Atan2
Average
Back
Blank
Calendar
Char
Choices
Clear
ClearCollect
Clock
Coalesce
Collect
Color
ColorFade
ColorValue
Compass
Concat
Concatenate
Concurrent
Connection
Count
Cos
Cot
CountA
CountIf
CountRows
Tipos de datos
DataSourceInfo
Date
DateAdd
DateDiff
DateTimeValue
DateValue
Day
Defaults
Degrees
Disable
Distinct
Download
DropColumns
EditForm
Enable
EndsWith
Errors
EncodeUrl
Exit
Exp
Filtro
Find
First
FirstN
ForAll
GroupBy
GUID
HashTags
Hour
If
IfError
IsBlank
IsEmpty
IsMatch
IsNumeric
IsToday
IsType
JSON
Language
Last
LastN
Launch
Left
Len
Ln
LoadData
Location
LookUp
Lower
Match
MatchAll
Max
Mid
Min
Minute
Mod
Month
Navigate
NewForm
Not
Notify
Now
Operators
Or
Param
Patch
Pi
PlainText
Power
Proper
Radians
Rand
Refresh
Relate
Remove
RemoveIf
RenameColumns
Replace
Reset
ResetForm
Revert
RGBA
Right
Round
RoundDown
RoundUp
SaveData
Search
Second
Select
Set
SetFocus
ShowColumns
Shuffle
Sin
Sort
SortByColumns
Split
Sqrt
StartsWith
StdevP
Substitute
SubmitForm
Sum
Switch
Table
Tan
Text
Time
TimeValue
TimeZoneOffset
Today
Trim
TrimEnds
Ungroup
Unrelate
Update
UpdateContext
UpdateIf
Upper
User
Validate
Value
VarP
ViewForm
Weekday
Con
Year
Crear una aplicación en una solución
Creación de una aplicación con datos relacionales
Instalación de los datos
Información general sobre las aplicaciones de lienzo
1. Creación de la galería de órdenes
2. Creación del formulario de resumen
3. Creación de la galería de detalles
Crear una aplicación global
Hacer que una aplicación sea accesible
Crear una aplicación accesible
Buscar problemas de accesibilidad
Usar el color para la accesibilidad
Mostrar u ocultar el contenido de las tecnologías de asistencia
Anunciar cambios dinámicos con las regiones activas
Características experimentales y de versión preliminar
Guardar y publicar una aplicación
Dependencias de una aplicación y uso compartido
Compartir una aplicación
Compartir datos de Excel
Compartir los recursos de la aplicación
Insertar una aplicación en Power BI
Insertar una aplicación en Teams
Administrar una aplicación
Editar una aplicación
Eliminar una aplicación
Restaurar una versión anterior
Cambiar el nombre y el icono de la aplicación
Administración de pantallas
Cambiar el tamaño y la orientación de la pantalla
Creación de un diseño dinámico
Personalizar un formulario de lista de SharePoint
Realización de cambios básicos
Comprensión de la integración de formularios de SharePoint
Integrar con otras tecnologías
SharePoint Online
Información general
Configurar listas de SharePoint Online
Generar una aplicación
Crear un flujo para aprobaciones
Crear una aplicación desde cero
Crear un informe de Power BI
Publicar el informe de Power BI
Insertar un informe de Power BI
Crear un flujo para alertas
Recorrer el escenario finalizado
Cognitive Services
Transformación de Formularios de InfoPath a PowerApps
Para desarrolladores
Aplicaciones de lienzo para desarrolladores empresariales, asociados y fabricantes
de software independientes
Compilación y certificación de conectores personalizados
Integrar con sitios web y otras tecnologías
Desarrollar aplicaciones que puedan ejecutarse sin conexión
Permitir que los clientes prueben las versiones de las aplicaciones
Crear un componente
Información general
Fórmulas de comportamiento
Incrustación de aplicaciones de lienzo en otras aplicaciones
Aplicaciones controladas por modelos
¿Qué son las aplicaciones basadas en modelos?
Explorar las aplicaciones de ejemplo
Crear su primera aplicación
Diseñar y crear una aplicación
Información de componentes de aplicación controlados por modelos
Definir datos para una aplicación
Propiedades de campo común
Información general de propiedades de campo especial
Traducir texto localizable
Diseñar la interfaz
Usar el diseñador de aplicaciones para crear una aplicación
Crear una aplicación
Crear un mapa del sitio para una aplicación
Agregar o editar componentes de una aplicación
Adición de la entidad de equipo como una opción de búsqueda
Trabajar con fórmulas
Usar el nuevo diseñador de formularios
Crear o editar formularios
Adición, desplazamiento o eliminación de campos
Agregar, mover o eliminar componentes
Adición, desplazamiento o eliminación de secciones
Adición, desplazamiento o eliminación de pestañas
Configuración de las propiedades de encabezado
Agregar y configurar el componente de subcuadrícula
Agregar y configurar el componente de vista rápida
Configurar componente de búsqueda
Uso de la vista de árbol
Tipo de formularios
Crear o editar un formulario principal
Crear o editar formularios de creación rápida
Crear un formulario de vista rápida
Creación de un formulario de tarjeta
Información general del editor de formularios
Información general de las propiedades de formulario
Información general de las propiedades de cuadrícula secundaria
Información general de las propiedades de pestaña
Consideraciones de diseño para formularios principales
Cómo aparecen los formularios principales
Controlar el acceso a los formularios
Agregar un campo a un formulario
Mostrar u ocultar elementos de un formulario
Cambiar la navegación en un formulario
Agregar navegación de formularios para entidades relacionadas
Guías de procedimientos: Formularios
Cómo usar el formulario principal y sus componentes
Cómo abrir el editor de formularios
Cómo agregar iFrames a formularios
Cómo optimizar el rendimiento de un formulario
Cómo trabajar con secciones de un formulario
Cómo configurar mapas de Bing en un formulario
Cómo asignar el orden de un formulario
Cómo configurar controladores de eventos en un formulario
Cómo deshabilitar el guardado automático en un formulario
Cómo agregar una pestaña para los documentos de SharePoint
Inserción de una aplicación de lienzo en un formulario controlado por modelos
Adición de una aplicación de lienzo insertada
Edición de una aplicación de lienzo insertada
Personalización del tamaño y la orientación de la pantalla
Acciones predefinidas en el formulario de host
Control ModelDrivenFormIntegration
Compartir una aplicación de lienzo insertada
Instrucciones para aplicaciones de lienzo insertadas
Migración de lienzos insertados a partir de la versión preliminar pública
Inserción de un informe de Power BI en un formulario
Trabajar con vistas
Crear o editar una vista
Acceder a una definición de vista
Crear y editar vistas
Elegir y configurar columnas en vistas
Guías de procedimientos: Vistas
Cómo hacer que las cuadrículas sean editables
Cómo ordenar los registros en una vista
Cómo editar los criterios de filtros y el criterio de ordenación
Cómo configurar propiedades administradas para vistas
Cómo especificar una vista predeterminada
Cómo eliminar o desactivar una vista
Aplicar lógica de negocios en una aplicación
Crear una regla de negocios para un formulario
Aplicar visualizaciones de datos en una aplicación
Crear un gráfico del sistema
Crear o editar paneles
Configurar paneles de experiencia interactivos
Establecer las propiedades de un gráfico o una lista
Usar los controles del sistema para visualizaciones de datos
Configurar el control de notas
Propiedades de control de vista rápida
Controles adicionales para Dynamics 365 para teléfonos y tabletas
Información general del control de temporizador
Usar controles personalizados para visualizaciones de datos
Uso de plantillas de Excel y Word
Utilizar temas para aplicar la marca de organización
Creación de recursos de ayuda guiados para su aplicación
Adición de informes a una aplicación
Consideraciones sobre los informes
Espacio aislado de RDL
Uso de Power BI
Personalización de paquetes de contenido de Power BI
Validar y publicar una aplicación
Compartir una aplicación
Administrar una aplicación
Administrar propiedades de una aplicación
Especificar propiedades de aplicaciones de interfaz unificada
Eliminar una aplicación
Personalización y creación de aplicaciones avanzadas
Privilegios para la personalización
Crear o editar recursos web
Propiedades de recursos web
Cambiar iconos de una entidad personalizada
Distribuir una aplicación con soluciones
Habilitación de recursos de ayuda personalizables
Creación de ayuda interactiva
Transición a una interfaz unificada
Introducción rápida a transiciones
Introducción rápida al uso de un entorno existente para la transición
Cuaderno de estrategias de interfaz unificada
Enfoque de una transición de interfaz unificada
Lista de comprobación: Transición a la interfaz unificada
Preguntas más frecuentes: Transición a la interfaz unificada
Accesibilidad en el diseñador de aplicaciones de PowerApps
Personalizar Dynamics 365 App for Outlook
Para desarrolladores
Portals
¿Qué son los portales de PowerApps?
Diseño y compilación de un portal
Plantillas de portal
Creación de un portal de inicio
Creación de un portal con un entorno de Dynamics 365
Aprovisionamiento de un portal mediante el complemento de portal anterior
Anatomía del estudio de los portales de PowerApps
Exploradores web compatibles con el diseñador de portales
Creación y administración de páginas web
Creación de una página
Uso de plantillas
Edición de CSS
Administración de portales existentes
Administración avanzada del portal
Información general
Detalles del portal
Descarga de la clave pública del portal
Visualización de los registros de errores del portal
Restablecimiento de un portal
Cambio de la dirección URL base de un portal
Activación del modo de mantenimiento
Adición de un nombre de dominio personalizado
Importación de la traducción de los metadatos
Integración con Power BI
Configuración de la integración con Power BI
Agregar un informe o panel de Power BI a una página web en el portal
Ejecución del comprobador del portal
Renovación de la clave de autenticación del portal
Configuración de la restricción de direcciones IP
Actualización al dominio de portales de PowerApps
Borrar la memoria caché del lado servidor
Migración de la configuración del portal
Acerca del ciclo de vida del portal
Actualización de un portal
Configuración avanzada del portal
Información general
Configuración del sitio
Autenticación del portal
Configuración de la autenticación del portal
Establecimiento de la identidad de autenticación
Configuración del proveedor de Azure AD B2C para portales
Configuración de los valores del proveedor de OAuth2
Configuración de los valores del proveedor de OpenID
Configuración de los valores del proveedor de WS-Federation
Configuración de los valores del proveedor de SAML 2.0
Migración de los proveedores de identidades a Azure AD B2C
Search
Acerca de la búsqueda
Mejora de la búsqueda mediante la búsqueda por facetas
Búsqueda en datos adjuntos de archivos
Habilitación de la compatibilidad con varios idiomas
Creación y administración de sitios web
Administración de vínculos web
Creación y administración de plantillas de página
Administración de fragmentos de contenido
Creación de un URI de redireccionamiento
Uso de accesos directos para colocar nodos secundarios
Comportamiento y formato del campo de fecha y hora
Visualización de registros de correo electrónico en la escala de tiempo del portal
Clasificación de una página web
Activación del almacenamiento en caché para la salida del encabezado y pie de
página en un portal
Adición de un gráfico en una página web del portal
Trabajo con formularios de entidad
Trabajo con listas de entidades
Administración de sitios web
Creación y administración de enlaces de sitios web
Trabajo con formularios web
Definición de propiedades de formularios web
Pasos de formularios web
Definición de los pasos de formularios web
Definición de un formulario de carga y de un tipo de paso de pestaña de carga
Adición de un tipo de paso de redireccionamiento
Adición de un tipo de paso condicional
Adición de JavaScript personalizado
Configuración de metadatos de formularios web
Configuración de una subcuadrícula de formularios web
Adición de geolocalización
Implementación del RGPD en los portales
Personalización avanzada del portal
Trabajar con plantillas de Liquid
Información general
Almacenar contenido mediante plantillas web
Descripción de los operadores de Liquid
Tipos de Liquid disponibles
Operadores condicionales de Liquid disponibles
Objetos de Liquid disponibles
Etiquetas de Liquid disponibles
Etiquetas de Liquid disponibles
Etiquetas de flujo de control
Etiquetas de iteración
Etiquetas variables
Etiquetas de plantilla
Etiquetas de entidad de PowerApps Common Data Service
Filtros de Liquid disponibles
Crear plantillas avanzadas
Crear una plantilla de página personalizada
Usar la navegación híbrida para representar la jerarquía de páginas
Representar la lista de entidades de una página
Representar una fuente RSS mediante una plantilla de página personalizada
Representar un encabezado de sitio y una barra de navegación principal
Flujo de concesión implícita de OAuth 2.0
Administración de páginas web
Administración de usuarios y seguridad en el portal
Configuración de contactos
Invitación a contactos
Creación de roles web
Administración de permisos de entidad
Control de acceso a páginas web
Creación de permisos de acceso a sitios web
Almacenamiento de documentos en portales
Configuración de notas
Almacenamiento de Azure
Habilitación del almacenamiento de Azure
Adición del recurso web de Azure Storage a una forma
Administración de documentos de SharePoint
Problemas conocidos
Preguntas más frecuentes sobre los portales de PowerApps
Common Data Service
¿Qué es Common Data Service?
Trabajar con entidades
Información general sobre las entidades
Crear una entidad
Crear una entidad personalizada que tiene componentes
Entidades y metadatos
Tipos de entidades
Crear y editar entidades
Editar una entidad
Crear y editar entidades virtuales
Proveedor de datos de entidad virtual OData v4
Definir claves alternativas mediante el portal de PowerApps
Definir claves alternativas mediante el Explorador de soluciones
Guías de procedimientos: Entidad
Cómo crear entidades mediante el portal de PowerApps
Cómo crear entidades mediante el Explorador de soluciones
Cómo importar o exportar datos
Cómo abrir datos de entidades en Excel
Cómo definir claves alternativas
Cómo definir transiciones de razón para el estado
Cómo eliminar una entidad personalizada
Cómo mostrar iconos personalizados
Cómo editar mensajes de entidad del sistema
Cómo configurar una entidad para las clasificaciones y comentarios
Proveedor de datos de la API de SQL de Azure Cosmos DB
Cómo trabajar con entidades virtuales
Trabajar con relaciones de entidades
Información general de relaciones de entidades
Información general de creación de relaciones de entidades de uno a varios
Información general de creación de relaciones de entidades de varios a varios
Crear una relación de entidades
Crear relaciones de entidades de uno a varios
Crear relaciones de entidades de uno a varios mediante el Explorador de soluciones
Crear relaciones de entidades de uno a varios mediante el portal de PowerApps
Establecer propiedades administradas para relaciones de entidades
Visualizar datos jerárquicos
Definir datos relacionados jerárquicamente y realizar consultas en ellos
Configurar roles de conexión
Guías de procedimientos: Relaciones
Cómo crear relaciones de varios a varios mediante el portal de PowerApps
Cómo crear relaciones de varios a varios mediante el Explorador de soluciones de
PowerApps
Cómo establecer propiedades administradas para relaciones
Cómo visualizar datos relacionados jerárquicamente y realizar consultas en ellos
Cómo definir datos relacionados jerárquicamente y realizar consultas en ellos
Cómo configurar roles de conexión
Trabajar con campos
Tipos de campos
Información general de conjuntos de opciones globales
Campo de autonumeración
Establecimiento de las propiedades administradas de campos
Comportamiento y formato del campo Fecha y hora
Guías de procedimientos: Campos
Cómo crear campos
Cómo administrar campos
Cómo crear campos mediante el portal de PowerApps
Cómo crear campos mediante el Explorador de soluciones de PowerApps
Cómo crear un conjunto de opciones mediante el portal de PowerApps
Cómo crear un conjunto de opciones global mediante el Explorador de soluciones
Cómo definir campos calculados
Cómo definir campos consolidados
Cómo asignar campos de entidades
Cómo eliminar campos
Aplicar la lógica de negocios
Crear una regla de negocios para una entidad
Trabajar con soluciones
Usar soluciones
Usar la solución predeterminada de Common Data Service
Importar, actualizar y exportar soluciones
Navegación a una solución específica
Crear una solución
Uso de variables de entorno
Visualización de las capas de la solución
Visualización del historial de la solución
Usar el comprobador de la solución
Problemas y soluciones habituales: comprobador de la solución
Usar soluciones segmentadas
Cambiar el prefijo del editor de soluciones
Establecer propiedades administradas en metadatos
Publicar cambios
Procedimientos recomendados
Trabajo con flujos de datos
Creación y uso de flujos de datos
Agregar datos a una entidad con Power Query
Conexión a Azure Data Lake para el almacenamiento de flujos de datos
Uso de una puerta de enlace de datos local
Requisitos de licencia para entidades
Entidades complejas y licencias
Entidades restringidas que requieren licencias de Dynamics 365
Integración de SharePoint, OneNote y OneDrive
Crear un informe de Power BI
Traducir texto de campos y entidades personalizado
Importar texto de campos y entidades traducido a una aplicación
Seguridad de Common Data Service
Información general sobre los límites de API
Para desarrolladores
Generador de IA
Uso del generador de IA en PowerApps
Aprender de otros
Seminarios web
Blog
Foros
Solución de problemas
Sugerencias de rendimiento de las aplicaciones de lienzo
Sugerencias de rendimiento de las aplicaciones de lienzo
Problemas y resoluciones habituales
Obtener un id. de aplicación o de sesión
Solución de problemas de inicio de PowerApps
Solucionar problemas de Power Query
Soporte técnico
¿Qué es PowerApps?
15/11/2019 • 5 minutes to read • Edit Online
Para crear una aplicación en PowerApps, necesitará uno de los distintos tipos de licencias que proporcionan
diferentes niveles de funcionalidad. Ya tiene una licencia para PowerApps si la organización ha comprado
cualquiera de las versiones de Office 365 o Dynamics 365 para usted, o bien si ha comprado licencias del
Plan 1 o Plan 2 de PowerApps para usted.
NOTE
Si es un administrador, vea Compra de PowerApps para la organización o PowerApps in your organization Q&A
(Preguntas y respuestas sobre PowerApps en la organización).
Puede averiguar qué licencias incluye PowerApps y lo que ofrecen. Si todavía no está seguro de si ya tiene
una licencia, abra el sitio de PowerApps y, después, haga clic en Iniciar sesión.
Si no tiene una licencia o si quiere más funcionalidad de la que ofrece la licencia actual, puede registrarse
para una evaluación gratuita del Plan 2 de PowerApps. Esta licencia ofrece toda la funcionalidad de
PowerApps pero expira después de 30 días.
En el cuadro de diálogo que aparece, escriba o pegue la dirección de correo electrónico profesional o
educativa, y pulse o haga clic en Enviar.
IMPORTANT
No se admiten direcciones de servicios de correo electrónico de consumidor, proveedores de telecomunicaciones,
gubernamentales y militares, lo que incluye:
outlook.com, hotmail.com, gmail.com, etc.
.gov y .mil
Si intenta suscribirse con una dirección de correo electrónico personal, recibirá un mensaje que indica que debe usar
una dirección profesional o educativa.
Si PowerApps reconoce su organización, puede iniciar sesión con sus credenciales para esa organización (y
omitir el resto de estas instrucciones).
En el mensaje de correo electrónico, haga clic en el vínculo para comprobar su dirección de correo
electrónico y (si se le solicita) proporcionar más información.
Cuando aparezca este cuadro de diálogo, haga clic en Iniciar y, después, empiece a usar PowerApps.
NOTE
Si quiere más tiempo para evaluar PowerApps, puede solicitar la ampliación del período de evaluación gratuita por
otros 30 días.
En la lista completa de conectores, los conectores Premium se muestran con una notificación:
Direcciones de correo electrónico personales (por PowerApps no admite las direcciones de correo electrónico
ejemplo, nancy@gmail.com) proporcionadas por proveedores de telecomunicaciones o
servicios de correo electrónico de consumidor.
Recibe un mensaje similar al siguiente durante la
suscripción: Para completar la suscripción, inténtelo de nuevo con una
dirección de correo electrónico asignada por su trabajo o
You entered a personal email address: Please institución educativa.
enter your work email address so we can securely
store your company's data.
O bien
Direcciones de correo electrónico .gov o .mil PowerApps no admite direcciones .gov o .mil en este
momento.
Recibe un mensaje similar al siguiente durante la
suscripción:
O bien
Si desea desarrollar habilidades y obtener información sobre PowerApps, Microsoft Flow y Common Data
Service, el Plan de la comunidad de PowerApps es el plan adecuado para usted. El Plan de la comunidad de
PowerApps le ofrece un entorno de desarrollo gratuito para uso individual en el que puede:
Aprender a crear aplicaciones empresariales y flujos de trabajo con la funcionalidad completa de PowerApps y
Microsoft Flow.
Conectar a cualquier origen de datos mediante alguno de nuestros más de cien conectores listos para su uso o
creando sus propios conectores personalizados.
Explorar cómo utilizar Common Data Service para crear aplicaciones de negocio con el modelo de datos
común y el SDK.
Exportar las soluciones creadas en su entorno individual y mostrarlas en AppSource para que los clientes
puedan usar una versión de prueba.
Características principales
Compartir aplicaciones* No
Conectividad
Crear conectores personalizados para conectarse a sus Sí. Puede crear un número ilimitado de conectores
propios sistemas personalizados
Administración
*No puede compartir aplicaciones, flujos, conexiones, etc. con otros usuarios del inquilino. Tampoco puede
agregar a otro usuario como administrador o creador del entorno, ni a los roles de la base de datos del centro de
administración.
**La creación de una base de datos con Common Data Service no está disponible actualmente en un entorno
individual, y estará disponible de nuevo próximamente. Si creó una base de datos en un momento anterior, podrá
seguir usándola sin ningún problema.
File Storage 2 GB
No se puede aplicar complementos a las cantidades que se incluyen. Si se alcanzan los límites de capacidad, se
recomienda adquirir PowerApps Plan 2. Puede obtener información en la página de precios de PowerApps.
NOTE
La capacidad del entorno individual, tanto si se utiliza como si no, no contribuye a la cuota total de su empresa.
Publicación en AppSource
¿Tiene una aplicación que le gustaría compartir con los clientes? Ahora se admiten soluciones de versión de
prueba de PowerApps en AppSource.com como un medio de compartir aplicaciones y flujos con los clientes, y
generar clientes potenciales para su empresa. Para más información, consulte Proporcionar a los clientes una
versión de prueba de las aplicaciones en AppSource.
CAPACIDAD
File Storage 2 GB
Si alcanza uno o varios límites de capacidad, se recomienda la adquisición de un plan que admita su uso en
producción. Obtenga información sobre los planes y sus límites en la página de precios de PowerApps.
P: ¿Puedo transferir las aplicaciones, flujos y otros recursos que se crean en el entorno individual a otro entorno?
R: Sí, podrá exportar los recursos de este entorno a otros entornos. Para más información, consulte Migración de
aplicaciones entre entornos e inquilinos.
P: ¿Mi suscripción al Plan de la Comunidad de PowerApps nunca expira?
R: Puede usar su suscripción al Plan de la Comunidad de PowerApps perpetuamente de manera gratuita. Si está
utilizando activamente un entorno individual, no perderá el acceso a ninguno de los recursos o funcionalidades del
mismo. Sin embargo, quizás experimente un retraso al acceder a la base de datos de Common Data Service por
primera vez tras un largo período de inactividad. Este retraso no afecta a los datos o las entidades almacenadas en
Common Data Service.
P: ¿Puedo obtener o crear varios entornos individuales?
R: No, solo puede tener un entorno individual que PowerApps crea para usted al registrarse para obtener el Plan
de la Comunidad.
P: ¿Cuál es la diferencia entre Evaluación gratuita del Plan 2 de PowerApps y el Plan de la Comunidad de
PowerApps? ¿A cuál debería suscribirme?
R: Tanto PowerApps Plan 2 Trial como el Plan de la Comunidad de PowerApps son gratuitos, pero se han creado
con propósitos diferentes:
Evaluación gratuita del Plan 2 de PowerApps proporciona el Plan 2 de PowerApps durante 30 días. Está
pensado para probar PowerApps, Common Data Service y Microsoft Flow. Una vez que expire el período de
prueba, puede adquirir un plan. Si ya está utilizando PowerApps con Office 365 o Dynamics 365, este el plan
adecuado para probar las funcionalidades premium de PowerApps, que están disponibles con PowerApps Plan 2.
El Plan de la Comunidad de PowerApps proporciona acceso a las funcionalidades premium de PowerApps,
Common Data Service y Microsoft Flow para uso individual. Este plan está pensado principalmente para fines de
aprendizaje o para crear soluciones empresariales para distribuir como versión de prueba de AppSource. Este plan
está perpetuamente disponible, pero solo para aprendizaje y desarrollo de habilidades con PowerApps, Common
Data Services y Microsoft Flow.
P: ¿Puedo registrarme con mi cuenta personal?
R: No, solo se puede registrar con su cuenta profesional o educativa. Actualmente no se admite el registro con una
cuenta personal.
P: ¿Puedo eliminar mi entorno individual?
R: No puede eliminar este entorno usted mismo. El administrador del inquilino tiene permisos para eliminar el
entorno.
Novedades de PowerApps
08/11/2019 • 2 minutes to read • Edit Online
En este tema se proporcionan recursos donde puede obtener información sobre las nuevas características que se
han publicado recientemente, las características nuevas que se publicarán en los próximos meses y las limitaciones
conocidas.
Publicaciones semanales
Para obtener información sobre características nuevas, correcciones y mejoras publicadas en las últimas semanas,
vea Released versions for Microsoft PowerApps (Versiones publicadas de Microsoft PowerApps).
Para obtener más detalles sobre cómo buscar información en las notas de la versión semanales, lea esta entrada de
blog.
NOTE
Las versiones se implementan durante varios días. Es posible que las funcionalidades nuevas o actualizadas no se muestren
inmediatamente.
Plan de versión
Para información sobre las características nuevas que se van a publicar en los próximos meses y que puede usar
para el planeamiento, consulte:
Notas de la versión de abril de 2019
Plan de versión 2 de 2019
Limitaciones conocidas
Para más información sobre las limitaciones conocidas, consulte Problemas y resoluciones habituales.
¿Cómo se buscan y ejecutan las aplicaciones?
01/10/2019 • 3 minutes to read • Edit Online
No es necesario que realice las tareas manualmente. Con PowerApps, puede crear y usar una aplicación de lienzo
o basada en modelos para realizar el trabajo rápidamente. Una vez que haya creado una aplicación, podrá
compartirla con la organización.
Las aplicaciones de lienzo proporcionan un gran control sobre la experiencia del usuario de la aplicación. Un
creador de aplicaciones puede usar plantillas para crear una aplicación de lienzo o configurar la aplicación como
quiera. Una aplicación de lienzo es, como su nombre indica, un lienzo en blanco para crear una aplicación que
satisfaga las necesidades de los usuarios de una organización.
Como las aplicaciones de lienzo pueden usarse prácticamente para cualquier fin, no hay mucha documentación de
ayuda sobre cómo usar una aplicación una vez creada. Si necesita ayuda con el uso de una aplicación de lienzo,
póngase en contacto con el creador de la aplicación o con el administrador de PowerApps.
Las aplicaciones controladas por modelos usan la Interfaz unificada que proporciona un diseño dinámico y
accesible. Puede ejecutar la aplicación en un explorador web o en dispositivos móviles conocidos. La aplicación
tiene varios componentes, entre los cuales se incluyen los paneles, los formularios, las vistas, los gráficos y los
procesos empresariales, que contribuyen a facilitar el uso de la aplicación.
En esta sección se proporciona información acerca de cómo buscar y ejecutar aplicaciones de lienzo y controladas
por modelos desde diversos lugares. También se proporciona información sobre cómo navegar y trabajar en una
aplicación basada en modelos: Uso de aplicaciones controladas por modelos.
Cuando crea una aplicación o alguien comparte una aplicación con usted, puede ejecutar la aplicación en
Windows, iOS, Android o en un explorador web. En este tema aprenderá a ejecutar una aplicación de lienzo o
controlada por modelos en un explorador web desde la página principal de Dynamics 365.
Para seguir este inicio rápido, necesita:
Una licencia de PowerApps. Esta está disponible con un plan de PowerApps, como la versión de prueba del
Plan 2 de PowerApps, o cualquiera de los planes de Microsoft Office 365 o Dynamics 365 que incluyen
PowerApps.
Acceso a una aplicación que haya compilado o que otra persona haya compilado y compartido con usted.
Acceso a un explorador web y un sistema operativo compatibles.
Para las aplicaciones de Canvas, consulte: Requisitos del sistema, límites y valores de configuración
Para aplicaciones controladas por modelos, consulte: Exploradores Web y dispositivos móviles
compatibles
Pasos siguientes
En este tema ha aprendido a ejecutar una aplicación de lienzo o controlada por modelos en un explorador web.
Para obtener información sobre cómo:
ejecutar una aplicación de lienzo en un dispositivo móvil, consulte ejecutar una aplicación de lienzo en un
dispositivo móvil
ejecutar una aplicación controlada por modelos en un dispositivo móvil, consulte ejecutar una aplicación
controlada por modelos en un dispositivo móvil
usar una aplicación controlada por modelos, consulte uso de aplicaciones controladas por modelos
Ejecución de una aplicación de lienzo en un
dispositivo móvil
08/11/2019 • 6 minutes to read • Edit Online
Cuando crea una aplicación o alguien comparte una aplicación con usted, puede ejecutar la aplicación en
Windows, iOS, Android o en un explorador web. En este tema aprenderá a ejecutar una aplicación de lienzo en un
dispositivo móvil. Las aplicaciones que se ejecutan en un dispositivo móvil pueden aprovechar las
funcionalidades del dispositivo, como los servicios de ubicación y la cámara.
Para seguir este procedimiento, si no está registrado en PowerApps, regístrese gratuitamente antes de empezar y,
después, descargue PowerApps desde App Store o Google Play en dispositivos iPhone, iPad o Android que
ejecuten un sistema operativo compatible. Además, asegúrese de que tiene acceso a una aplicación de lienzo que
ha creado o que otra persona ha creado y compartido con usted.
Si tiene la aplicación Microsoft Authenticator instalada en el dispositivo móvil, simplemente escriba el nombre de
usuario cuando se le solicite y, después, apruebe la notificación enviada al dispositivo.
Buscar la aplicación
Para que sea más fácil encontrar la aplicación, abra el menú PowerApps y, después, seleccione un filtro.
Los siguientes filtros están disponibles:
Todas las aplicaciones: todas las aplicaciones a las que tiene acceso, incluidas las aplicaciones que creó y
las que otros compartieron con usted.
Mis aplicaciones: las aplicaciones que ha ejecutado al menos una vez.
Aplicaciones de ejemplo: aplicaciones de ejemplo de Microsoft que muestran escenarios de aplicaciones
reales con datos ficticios para ayudar a explorar las posibilidades de diseño.
Favoritos: muestra las aplicaciones que se han marcado haciendo clic en los puntos suspensivos (...) en el
icono de la aplicación y, después, en Favoritos. Para quitar una aplicación de esta lista, pulse los puntos
suspensivos (...) en el icono de la aplicación y, después, pulse Quitar de Favoritos.
Después de filtrar las aplicaciones, puede ordenar la lista filtrada por la fecha de la última vez que se abrieron o
modificaron, o bien alfabéticamente por nombre. Estas preferencias se conservan cuando cierra y vuelve a abrir
PowerApps.
Si conoce el nombre de la aplicación que quiere ejecutar, pulse el icono de búsqueda en la parte superior de
Powerapps y, después, escriba parte del nombre en el cuadro de búsqueda.
Dar consentimiento
Si una aplicación requiere una conexión a un origen de datos o permiso para usar las funcionalidades del
dispositivo (como la cámara o los servicios de ubicación), debe dar su consentimiento antes de usar la aplicación.
Habitualmente, solo se le solicitará la primera vez.
Pasos siguientes
En este tema ha aprendido a ejecutar una aplicación de lienzo en un dispositivo móvil. También puede ejecutar
aplicaciones controladas por modelos en un dispositivo móvil.
Ejecución de una aplicación controlada por modelos en un dispositivo móvil
Ejecutar una aplicación controlada por modelos en
un dispositivo móvil
08/11/2019 • 2 minutes to read • Edit Online
Después de crear la aplicación y de compartirla con usted, puede ejecutarla en una serie de dispositivos móviles
conocidos, como Windows, iOS, Android o en un explorador web. En este tema aprenderá a ejecutar una
aplicación controlada por modelos en un dispositivo móvil.
Para seguir este procedimiento, si no está registrado en PowerApps, regístrese gratuitamente antes de empezar.
Asegúrese también de que tiene acceso a una aplicación que haya creado o que otra persona haya creado y
compartido con usted.
Puede agregar una aplicación de lienzo de PowerApps a una página de SharePoint Online mediante el elemento
web de PowerApps. Después los usuarios podrán ejecutar la aplicación desde la página de SharePoint Online. Más
información: Office Usar el elemento Web de PowerApps
Adición de una aplicación a Microsoft Teams
08/11/2019 • 3 minutes to read • Edit Online
Microsoft Teams es una plataforma de colaboración basada en chat creada sobre tecnologías de Office 365. Se
puede personalizar la experiencia de Teams mediante la adición de aplicaciones de lienzo de PowerApps a los
canales de Teams. En este tema aprenderá a agregar la aplicación de ejemplo Presentación de productos a un canal
de Teams y abrirla luego desde ese canal.
Requisitos previos
Para seguir este procedimiento, necesita una suscripción a Office 365 y un canal en Teams.
3. En el cuadro de diálogo Add a tab (Agregar una pestaña), haga clic en PowerApps.
NOTE
Debe compartir sus propias aplicaciones antes de agregarlas a Teams (las aplicaciones de ejemplo se comparten de forma
predeterminada).
Abrir una aplicación
1. En Microsoft Teams, seleccione el equipo y el canal que contiene la aplicación.
Problemas conocidos
En la aplicación de escritorio de Microsoft Teams:
Las aplicaciones tienen que cargar contenido, como imágenes y archivos .pdf a través de una conexión segura
(https).
No todos los sensores, como Aceleración, Brújula, y Ubicación, son compatibles.
Se admiten únicamente estos formatos de audio: AAC, H264, OGG Vorbis y WAV.
Limpiar los recursos
Para quitar la aplicación del canal, haga clic en la pestaña Presentación de productos > Quitar.
Pasos siguientes
En este tema ha agregado la aplicación de ejemplo Presentación de productos a un canal de Teams y luego la ha
abierto en ese canal. Para obtener más información sobre PowerApps, continúe con los tutoriales de PowerApps.
Tutoriales de PowerApps
Detectar aplicaciones a través de AppSource
08/11/2019 • 2 minutes to read • Edit Online
Las aplicaciones que se crean y publican con PowerApps se detectan y utilizan en Dynamics 365 en la Web.
Muestra todas las aplicaciones: las que haya decidido usar específicamente (es decir, al iniciarlas desde un correo
electrónico compartido o abrirlas desde AppSource) o las que un administrador haya aprovisionado para su uso.
Esto incluye todas las aplicaciones de PowerApps, así como las de Dynamics 365 de Microsoft. Puede buscar
aplicaciones, filtrar por entorno y anclar las aplicaciones que use con más frecuencia a la parte superior de la
página.
Una aplicación controlada por modelos tiene varios componentes, como paneles, formularios, vistas, gráficos y
procesos empresariales, que juntos ayudan a facilitar el uso de la aplicación. En esta sección se proporciona
información sobre cómo navegar en una aplicación controlada por modelos, trabajar con registros, importar y
exportar datos, y automatizar procesos con Power Automatic.
IMPORTANT
Dado que las aplicaciones de canvas proporcionan mucho control sobre la experiencia del usuario y, en esencia, pueden ser
cualquier cosa, no hay mucha documentación de ayuda sobre cómo usar una aplicación de lienzo. Si necesita ayuda con el
uso de una aplicación de lienzo, póngase en contacto con el creador de la aplicación o con el administrador de PowerApps.
Temas relacionados
Experiencia de usuario mejorada con la interfaz unificada
Navegación básica en una aplicación controlada por modelos
Vea también
Búsqueda y ejecución de aplicaciones
¿Qué es una aplicación controlada por modelos?
¿Qué es una aplicación de lienzo?
Experiencia de usuario mejorada con la interfaz
unificada para aplicaciones controladas por modelos
08/11/2019 • 5 minutes to read • Edit Online
La interfaz unificada para aplicaciones controladas por modelos proporciona una experiencia de usuario coherente
y accesible en todos los dispositivos, ya sea en un equipo de escritorio, portátil, tableta o teléfono. Las aplicaciones
se escalan mediante el reflujo de los componentes en la pantalla. El diseño con capacidad de respuesta se adapta a
su entorno en función del tamaño de la pantalla, por lo que se puede mostrar más información en el espacio
disponible.
Para obtener información general sobre la interfaz unificada en las aplicaciones controladas por modelos, vea este
vídeo: Introducción a la interfaz unificada
NOTE
El cliente web heredado quedará en desuso y los clientes deben pasar a la interfaz unificada antes del 1 de octubre de 2020.
Para obtener más información, consulte blog: presentación de la escala de tiempo para pasar a la interfaz unificada. Para
obtener más información sobre cómo realizar la transición, consulte Inicio rápido de la transición.
Explora
Las opciones de menú permiten navegar rápidamente por las diferentes aplicaciones del sistema. Proporcionan
acceso rápido a los registros vistos recientemente y a los favoritos anclados.
1. El mapa del sitio se expande y se mantiene de forma predeterminada.
2. El área en la que se encuentra actualmente se resalta para indicar dónde se encuentra en la aplicación.
3. Las secciones Recientes y Anclados se muestran en la parte superior para su comodidad.
4. Utilice el selector de área para cambiar de aplicación.
5. Los iconos tienen colores únicos en la barra de comandos para poder distinguir los comandos.
Para obtener más información, vea navegación básica en una aplicación controlada por modelos.
Paneles y gráficos
Puede tener acceso a todos los paneles del sistema y del usuario desde las aplicaciones de interfaz unificadas. Los
paneles interactivos ahora están disponibles para todos los tipos de registros con capacidades de panel interactivo
más enriquecidas. Para obtener más información, vea realizar un seguimiento del progreso con paneles y gráficos.
Proceso empresarial
El mecanismo de acoplamiento ha mejorado el flujo de procesos empresariales. Puede acoplar la fase de proceso
empresarial en la pantalla para ayudarle a centrarse en la tarea a mano en el flujo del proceso empresarial. Esto es
especialmente útil cuando la fase del proceso tiene pasos complejos para completar. Para obtener más
información, vea trabajar con procesos empresariales.
Consejos
La experiencia de accesibilidad mejorada le permite usar lectores de pantalla para traducir información en pantalla
en sonido audible e imprimir en un lector de Braille para que más personas puedan usar la aplicación. Para
obtener más información, vea usar un lector de pantalla.
Use la barra de navegación para acceder a su área de trabajo, crear un registro, buscar elementos o realizar otras
tareas en una aplicación controlada por modelos.
Para obtener más información sobre el panel de referencias, vea este vídeo:
Notificaciones
Hay tres tipos de notificaciones que se muestran en un formulario: informativo, ADVERTENCIA y error. Las
notificaciones siempre están disponibles en la parte superior del formulario, justo encima del encabezado.
Al seleccionar la notificación de error, se le llevará al campo del formulario en el que se produjo el error.
Si solo hay una notificación, verá una única línea.
Si hay más de una notificación, verá el número de notificaciones. Seleccione el botón de contenido adicional para
ver cada mensaje.
Cuadrículas
Las cuadrículas de la interfaz unificada se han mejorado para aumentar la cantidad de datos que pueden verse en
la pantalla. Las cuadrículas también tienen opciones de filtrado mejoradas que incluyen recordar el último filtro y
ordenar el orden.
Cuando el área de cuadrículas recupere datos, verá un indicador de carga que le permite saber que el sistema está
trabajando en la recuperación de datos.
La Página principal de la cuadrícula recuerda el filtro, la ordenación y el estado de la página al navegar hacia
delante y hacia atrás. Esto incluye la búsqueda rápida, el filtrado de columnas, el número de página, etc. La
navegación fuera de la página se abre con el estado inicial.
La barra de saltos usa el primer campo ordenado. Si no se ha realizado ningún cambio de ordenación, la barra de
saltos utiliza el campo principal.
Puede filtrar el campo tipo de actividad y seleccionar varios tipos de filtrado. Además, se pueden filtrar los
campos de entidad relacionados como el propietario, el estado y el motivo.
Al seleccionar el icono de jerarquía, se desplazará al formulario de jerarquía.
También puede abrir el campo principal y los campos de búsqueda en una nueva pestaña o ventana.
26/07/2019 • 2 minutes to read • Edit Online
En ocasiones, es posible que se ejecuten varios problemas que requieran consulta al administrador. Si no sabe
quién es el administrador, puede usar la búsqueda avanzada para buscar el administrador.
1. Abra la aplicación.
2. En la barra de comandos, seleccione el botón búsqueda avanzada .
3. En la página Búsqueda avanzada, en la lista Buscar , seleccione usuarios.
4. Seleccione seleccionary, a continuación, seleccione roles de seguridad en la lista.
5. En campos, seleccione nombres.
6. Escriba Administrador del sistema en el cuadro que indica escribir texto. En este punto, la pantalla debe
ser similar a la siguiente:
Cambie la configuración de pantalla de una aplicación para que se adapte a sus preferencias. Por ejemplo, puede
elegir la página que desea ver en cuanto inicie sesión en la aplicación. También puede personalizar muchas otras
opciones, como el idioma, la moneda y la zona horaria.
Registros por página Seleccione el número máximo de registros que desea ver en
una lista de una página. Puede establecer un valor entre 25 y
250.
Modo de búsqueda avanzada De forma predeterminada, cada vez que se abre el cuadro de
diálogo modo de búsqueda avanzada , se ocultan los
detalles de la consulta. Para ver los detalles de la consulta cada
vez, seleccione detallado.
Zona horaria Seleccione la zona horaria que desea mostrar para la región.
OPCIONES DESCRIPCIÓN
Habilitar contraste alto Active esta casilla para habilitar los niveles de contraste alto en
la pantalla de la aplicación. Sugerencia: Establezca esta opción
si usa una configuración de contraste alto en el explorador o
en el sistema operativo.
Habilitar el prefijo de código de país o región Active esta casilla para habilitar el código de llamada
predeterminado para su región.
Prefijo de código de país o región Escriba el valor del código de llamada de su región en el
cuadro de texto. Por ejemplo, escriba + 1 en el Estados
Unidos.
Ver la información de usuario Seleccione este vínculo para ver los detalles. Estos detalles se
muestran a toda la organización e incluyen la información de
contacto y el rol de seguridad. Para obtener más información,
vea su perfil de usuario.
complementa Elija los registros que se van a sincronizar entre Dynamics 365
y Dynamics 365 para Outlook o Exchange (mediante la
sincronización del lado servidor).
campos sincronizados Vea los campos que se sincronizan entre Dynamics 365 y
Dynamics 365 para Outlook, de modo que pueda ver de
dónde proceden los datos.
filtros sin conexión Elija un subconjunto de datos de Dynamics 365 con los que
desea trabajar cuando se desconecta con Dynamics 365 para
Outlook.
Vista predeterminada
Formatos actuales
Personalizar Elija esta opción para agregar una nueva región y formatos.
Vista previa del formato Muestra la región actual y sus formatos de número, moneda,
horay fecha.
Nuevo Cree una firma de correo electrónico para ahorrar tiempo y ser
coherente en las respuestas. El propietario de una firma de
correo electrónico puede ser un usuario o un equipo.
Permitir a otros usuarios enviar correo electrónico en su Seleccione esta opción para permitir que otros usuarios de
nombre. Dynamics 365 envíen correo electrónico en su nombre.
PRECAUCIÓN: Si selecciona esta opción, otros usuarios
pueden enviar correo electrónico en su nombre con o sin su
consentimiento. El nombre de correo electrónico aparecerá
como remitente.
Opciones:
Configurar reglas de seguimiento de carpetas Configure carpetas para que realicen un seguimiento
automático del correo electrónico entrante.
Mostrar correos electrónicos como conversación en la escala Seleccione esta lista para mostrar los mensajes de correo
de tiempo electrónico en un subproceso de conversación, la forma en
que muchas aplicaciones de correo electrónico funcionan al ver
los mensajes de correo electrónico en una conversación.
Ver el buzón de correo Seleccione este vínculo para ver los detalles del buzón.
OPCIONES DESCRIPCIÓN
Idioma de la interfaz de usuario Seleccione el idioma que desea ver para las etiquetas y los
cuadros de diálogo en la interfaz de usuario de Dynamics 365.
Los lectores de pantalla hacen que las aplicaciones controladas por modelos estén accesibles para personas con
poca o ninguna visión o que necesiten soporte adicional para un escenario temporal, como la fatiga ocular. Se
admiten lectores de pantalla de uso frecuente como narrador, JAWS y NVDA.
Más información sobre cómo trabajar con el narrador de Microsoft
Más información sobre cómo trabajar con JAWS
Más información sobre cómo trabajar con NVDA
NOTE
Debe tener instalada la actualización más reciente de Windows 10 para tener todas las características de accesibilidad
disponibles para los gráficos.
Los métodos abreviados de teclado proporcionan una forma alternativa de realizar tareas comunes en lugar de
usar el mouse o pulsar con el dedo. Ayudan en la navegación sin problemas de la interfaz. Los siguientes métodos
abreviados de teclado se aplican a todas las aplicaciones.
NOTE
Los métodos abreviados de teclado que se describen aquí hacen referencia a la Estados Unidos distribución del teclado. Es
posible que las teclas de otras distribuciones del teclado no se correspondan exactamente con las teclas de un teclado
estadounidense.
Guardar Ctrl + S
Abrir el menú de búsqueda con los elementos usados más Flecha abajo
recientemente en orden alfabético
Desplazarse entre las opciones de una lista abierta o entre las Teclas de dirección
opciones de un grupo de opciones
Cuando el foco esté en las celdas, desplácese al siguiente Tecla de flecha derecha (→)
campo.
Cuando el foco esté en las celdas, desplácese al campo Tecla de flecha izquierda (←)
anterior
Moverse a la celda siguiente Tecla flecha abajo (↓) o entrar, cuando la celda no está en
modo de edición
Ir al modo de edición para los campos de texto, número y Escriba el valor directamente para sobrescribir el valor
simple cuando el foco está en un campo existente o la barra espaciadora para seguir modificando el
valor existente o F2 para seleccionar el valor existente.
Ir al modo de edición para los campos de fecha y hora Escriba el valor directamente o F4 o Alt + ↓ para mostrar el
selector de fecha y hora.
Ir al modo de edición para los campos desplegables Barra espaciadora para abrir la lista
(búsqueda, conjunto de opciones)
TASK INTERFAZ UNIFICADA
Ir al modo de edición para dos campos de opciones Barra espaciadora para cambiar entre las dos opciones o F4 o
Alt + ↓ para abrir la lista
Desplazarse entre las entradas de una lista desplegable abierta Teclas de dirección de arriba/abajo (↑/↓)
Vaya a y abra el registro de búsqueda. Entrar cuando el foco está activado (→)
Activar un elemento de panel (simular clic con el botón Entrar o barra espaciadora
primario)
Moverse al elemento anterior dentro de un elemento de panel Tecla de dirección arriba (↑)
Activar el botón ordenar por campo y abrir el control Tecla de dirección de entrar o barra espaciadora (↓)
flotante
Controles comunes
Métodos abreviados de gráficos
TASK INTERFAZ UNIFICADA
Moverse al siguiente punto de datos Tecla de dirección derecha (→) o flecha abajo (↓)
Moverse al punto de datos anterior Tecla de dirección izquierda (←) o tecla de dirección arriba (↑)
Retroceder desde el botón Ver más hasta las etiquetas de un Mayús + Tab
gráfico de etiquetas
Abrir el control flotante de selector de fecha Tecla de dirección de entrar o barra espaciadora (↓)
Moverse de la lista de vistas disponibles a los resultados de la Tecla de dirección izquierda (←)
búsqueda
IMPORTANT
Varias áreas de la interfaz de usuario (UI) tienen integrada la función de contracción automática para los menús. Esto incluye
la barra de navegación y la navegación de formularios. Ambos se expanden cuando se seleccionan, pero después de 30
segundos de inactividad, se contraen los elementos.
NOTE
El nombre del proceso es un icono situado en la parte inferior de la página, no en la parte superior.
Métodos abreviados de teclado en Windows: Si usa el sistema operativo Windows, seleccione el vínculo
siguiente y elija el número de versión en la lista desplegable. Puede ver todos los métodos abreviados que
se aplican a un entorno de Windows. Vea métodos abreviados de teclado de Windows.
Métodos abreviados de teclado en Mac: Si usa un sistema operativo Mac, seleccione el siguiente vínculo
para ver todos los métodos abreviados que se aplican a un entorno Mac. Vea métodos abreviados de
teclado de Mac.
Creación de un registro
04/11/2019 • 3 minutes to read • Edit Online
NOTE
La opción creación rápida solo está disponible para los registros habilitados por el administrador.
2. Rellene los campos y seleccione Guardar y cerrar. O bien, para guardar y crear otro registro, seleccione la
flecha hacia abajo y, a continuación, seleccione guardar & crear nuevo.
NOTE
Un de asterisco obligatorio situado junto al campo en la pantalla significa que el campo es obligatorio. Si selecciona
Guardar y cerrar antes de especificar los campos obligatorios, se mostrará un mensaje de error, mientras que si ha
agregado la información y selecciona Cancelar, se mostrará una advertencia.
Un botón de de signo más situado junto al campo en la pantalla significa que su organización recomienda que rellene el
campo.
3. Rellene los detalles adecuados para nuevo contacto y, a continuación, seleccione Guardar y cerrar.
NOTE
Si tiene cambios sin guardar e intenta ir a otro registro o formulario, aparecerá un cuadro de diálogo cambios no
guardados . Si selecciona Guardar y continuar, se intentará guardar la información y abrir la página a la que desea
ir. Si decide guardar y continuar y hay un error en un campo, el cuadro de diálogo se cerrará y permanecerá en la
página para corregir el error antes de salir.
Agregue una actividad de cita, correo electrónico,
llamada telefónica, nota o tarea a la escala de
tiempo.
08/11/2019 • 10 minutes to read • Edit Online
Agregue Actividades al muro de la Escala de tiempo para realizar un seguimiento de todas las comunicaciones
con un cliente o un contacto. Por ejemplo, puede tomar notas, agregar publicaciones, agregar una tarea, enviar un
correo electrónico, agregar detalles de llamada telefónica o fijar citas. El sistema automáticamente agrega una
marca de tiempo a cada actividad y muestra quién la creó. Usted y otras personas de su equipo pueden
desplazarse por las actividades para ver el historial mientras trabajan con un cliente.
Las actividades que agregue desde un registro aparecen en el muro de la escala de tiempo del registro.
Si está configurado el campo Referente a de una actividad, la actividad aparece en el registro con el que
está asociada.
También puede elegir el panel de filtro para filtrar las actividades por tipo de registro y fecha.
Cuando se crea una nueva actividad, obtendrá una notificación sobre lo que se perdió en el muro de la
escala de tiempo.
Se mostrará un mensaje de correo electrónico con una imagen adjunta insertada con el cuerpo del correo
electrónico.
Adición de una actividad desde la barra de navegación
La forma más rápida de agregar una actividad es usar el acceso directo en la barra de navegación y, a
continuación, vincularla a un registro. Por ejemplo, puede crear una actividad de llamada telefónica y, luego,
vincularla a un contacto en el sistema mediante el campo Referente a.
NOTE
Para enumerar los correos electrónicos en una vista de conversación, vaya a configuración > configuración de
personalización > pestaña correo electrónico y, a continuación, seleccione Mostrar correo electrónico como
conversación en escala de tiempo. Para obtener más información sobre la configuración personal, consulte set
personal Options. Una vez habilitada, puede abrir cualquier formulario que tenga una escala de tiempo y los correos
electrónicos se agruparán en subprocesos de conversación con el correo electrónico más reciente en la parte superior.
Adición de una cita
Para agregar una actividad de cita a un registro, primero debe guardar el registro al que está agregando la
actividad.
NOTE
No se admiten citas recurrentes en la aplicación Dynamics 365 para Outlook, Dynamics 365 para teléfonos y, al ejecutar el
cliente web de aplicaciones controladas por modelos en el explorador Web del teléfono móvil.
1. Abra el registro al que desea agregar la actividad. Por ejemplo, un registro de contacto.
2. En el muro de la escala de tiempo, seleccione signo más > Cita.
3. Use la información sobre herramientas para completar la información requerida.
4. Cuando haya terminado de rellenar el formulario, seleccione Guardar para guardar la cita.
Agregar notas
También puede agregar notas fácilmente en el área de actividades.
1. Abra el registro al que desea agregar la actividad. Por ejemplo, un registro de contacto.
2. En el muro de la escala de tiempo, empiece a escribir sus notas. Use Agregar un archivo adjunto para
agregar datos adjuntos a la nota.
3. Cuando haya terminado de rellenar el formulario, seleccione Agregar nota para guardar la nota.
NOTE
También puede agregar una nota con el signo más en la sección superior del muro de la escala de tiempo.
Una vez que se haya agregado la nota, puede eliminarla o editarla.
Una vez que guarde la publicación, aparecerá en la parte superior del muro de la escala de tiempo.
Administración de actividades
Administre actividades directamente desde el muro de la escala de tiempo, incluida la asignación de una actividad
a otra persona, la eliminación o el cierre de una actividad, la adición de una actividad a una cola, la apertura un
registro asociado o la edición de notas y publicaciones.
Preguntas frecuentes sobre las actividades y la pared
de escala de tiempo
26/07/2019 • 3 minutes to read • Edit Online
La búsqueda le ayuda a elegir registros de una entidad relacionada. Cuando se selecciona una entidad relacionada
y se especifican los criterios de búsqueda, como un nombre o una dirección de correo electrónico, la búsqueda
comienza automáticamente a resolver el texto parcial y muestra los registros coincidentes. Si no se muestra ningún
registro después de escribir el texto completo de los criterios de búsqueda, se muestra un mensaje que especifica
que no hay registros.
Por ejemplo, puede buscar el nombre Adrian Dumitrascu. Cuando escribe ad, los posibles registros coincidentes
se rellenan y se muestran automáticamente.
NOTE
Un administrador puede definir los criterios que utiliza la búsqueda para resolver el texto de búsqueda parcial.
Además, puede crear un nuevo registro seleccionando el botón nuevo . Debe tener los permisos necesarios para
ver el botón nuevo y crear un registro. Al seleccionar el campo de búsqueda, los cinco registros usados más
recientemente se muestran junto con cinco registros favoritos. Los registros que se muestran dependen del
historial de vistas y de los favoritos que haya anclado.
Por ejemplo, si solo tiene tres registros en el historial, la búsqueda mostrará los tres, junto con siete de sus
registros favoritos. Si no ha anclado ningún favorito, solo se mostrarán los registros que se hayan visto más
recientemente.
Tipos de búsquedas
Las búsquedas se clasifican en lo siguiente:
Búsqueda simple: Seleccione un único registro en un campo de una sola entidad.
Campos de tipo PartyList: Se usa para seleccionar varios registros de varias entidades en una búsqueda.
Use los campos de tipo PartyList para seleccionar varios registros. Esto le permite agregar cada registro
realizando una nueva búsqueda, varias veces. Cada vez que seleccione un registro, podrá realizar una nueva
búsqueda de otro registro.
Campos de tipo con respecto: Se usa para seleccionar un solo registro de varias entidades en una
búsqueda.
Buscar en un campo de búsqueda
Para buscar una búsqueda, seleccione el cuadro de texto y escriba los criterios de búsqueda. Si los registros
recientes están habilitados para su búsqueda, se mostrarán los registros recientes cuando seleccione el cuadro de
texto.
NOTE
El resultado de búsqueda predeterminado para búsqueda de búsqueda es, comienza por. Esto significa que los resultados
incluyen registros que comienzan con una palabra específica. Por ejemplo, si desea buscar Alpine Ski House, escriba Alp en
el cuadro de búsqueda; Si escribe Ski, el registro no se mostrará en el resultado de la búsqueda.
Para una búsqueda con caracteres comodín, use asteriscos: por ejemplo, escriba * ski o * Ski.
NOTE
Los registros recientes no se filtran por término de búsqueda o vista seleccionada.
IMPORTANT
La opción cambiar vista no estará visible si el administrador no ha configurado la opción para que aparezca en las vistas.
No contraído:
Ver la tarjeta de Perfil de un contacto o usuario
08/11/2019 • 4 minutes to read • Edit Online
Use la tarjeta de perfil para obtener información rápida sobre un contacto o un usuario. Al seleccionar un campo de
contacto o de usuario en las aplicaciones controladas por modelos en Dynamics 365, como Dynamics 365 sales y
Dynamics 365 Customer Service, puede encontrar información relacionada con ellos en su tarjeta de perfil. Para
obtener más información acerca de las tarjetas de perfil, consulte tarjetas de perfil en Office 365.
NOTE
La tarjeta de perfil está disponible para la entidad contacto y usuario . Para obtener más información, consulte Habilitar
la tarjeta de perfil (para administradores).
La tarjeta de Perfil de Common Data Service no se muestra si la autenticación multifactor está activada para el servicio de
Office Delve en Azure Active Directory.
+
¿Dónde puedo ver las tarjetas de perfil en Dynamics 365?
Las tarjetas de perfil pueden verse en registros de contactos y usuarios. Solo se pueden ver cuando se encuentran
en una búsqueda.
¿De dónde procede la información que se muestra en la tarjeta de perfil?
La información que se muestra en la tarjeta de Perfil de contacto se captura de Common Data Service (y no de
Microsoft Exchange). Esto significa que los detalles de contacto provienen de Dynamics 365.
La información que se muestra en la tarjeta de Perfil de usuario se captura de Office 365 (Azure Active Directory).
Para obtener más información, vea tarjetas de perfil en Office 365 (sección de administración).
¿Cómo puedo personalizar los campos que se muestran en la tarjeta de perfil?
Actualmente, la lista de campos que se muestra en la tarjeta de perfil no está abierta para la personalización.
¿Por qué está deshabilitada la opción iniciar chat en la tarjeta de perfil (atenuada)?
Las opciones iniciar chat y Enviar correo electrónico de la tarjeta de perfil abrirán las aplicaciones de correo
electrónico y mensajes instantáneos predeterminadas. La opción iniciar chat está habilitada si la persona a la que
está intentando ponerse en contacto en el mismo entorno de Azure Active Directory que usted o es un contacto
federado.
Asignar o compartir registros
26/07/2019 • 3 minutes to read • Edit Online
Si desea que otra persona de su organización controle un registro de cliente, puede asignar el registro a esa
persona. También puede asignar un registro a un equipo o a usted mismo.
Use la opción compartir si desea mantener la propiedad del registro pero deje que otra persona trabaje con él.
1. En el panel de navegación izquierdo, seleccione un tipo de registro. Por ejemplo, contactos.
2. En la lista de registros, seleccione el registro que desea reasignar.
3. En la barra de comandos, seleccione asignar.
NOTE
Si desea mantener la propiedad del registro pero dejar que otra persona trabaje con él, seleccione compartir. A
continuación, use la información sobre herramientas para guiarle a través de la opción de uso compartido .
Si selecciona usuario o equipo, en el cuadro buscar registros , escriba el nombre del usuario o equipo. Si
necesita crear un nuevo registro, seleccione + nuevo.
5. Cuando haya terminado, seleccione asignar.
2. En la lista de registros, seleccione los registros que desea reasignar y, a continuación, seleccione la opción
asignar.
4. En el cuadro de diálogo reasignar registros , elija cómo desea reasignar todos los registros y, después,
seleccione Aceptar.
NOTE
La opción reasignar registros reasignará todos los registros independientemente de su estado. Los registros inactivos y
activos se reasignarán al otro usuario o equipo.
Compartir registros con Access Team
26/07/2019 • 2 minutes to read • Edit Online
La característica de equipos de acceso concede acceso a registros mediante el uso compartido de registros. Los
miembros del equipo de acceso tienen privilegios definidos por sus roles de seguridad individuales y por los roles
de los equipos de los que son miembros.
NOTE
Para compartir registros mediante el equipo de acceso, el administrador deberá configurar una plantilla del equipo de acceso.
Para obtener más información, consulte Acerca de las plantillas de equipo.
1. Para conceder a un usuario permiso para acceder a un registro, seleccione el tipo de registro en el mapa del
sitio. Por ejemplo, Cuentas.
2. En la lista de registros, abra el registro al que desea proporcionar acceso a otro usuario.
3. En la sección de los miembros del equipo de acceso, seleccione Más comandos ( … ) > Agregar usuario.
4. En el cuadro de búsqueda, escriba el nombre de usuario para buscarlo y, a continuación, seleccione Agregar.
Las conexiones le permiten asociar fácilmente usuarios, contactos, ofertas, pedidos de ventas y muchos otros
registros de entidad entre sí. A los registros de la asociación se les pueden asignar roles concretos que ayuden a
definir el propósito de la relación.
Es una forma rápida de crear varias conexiones y roles para un registro determinado. Por ejemplo, un contacto
puede tener muchas relaciones con otros contactos, cuentas o contratos. En cada relación, un contacto puede
desempeñar un rol diferente.
Los roles de conexión se asocian directamente a una conexión. Para usar un rol de conexión, primero debe agregar
una conexión al registro.
Para poder agregar roles de conexión, debe habilitarlo el administrador. Para obtener más información, vea
configurar roles de conexión.
1. Para agregar o administrar conexiones, seleccione el registro que desea administrar como una oportunidad.
2. Seleccione la pestaña relacionado y, a continuación, seleccione conexión. Se abrirá la cuadrícula de
conexión con la lista de conexiones del registro.
NOTE
Si ha especificado la información antes de crear un nuevo rol de conexión, se mostrará un cuadro de diálogo de
advertencia en el que se le preguntará si desea cancelar y seguir trabajando en la conexión o continuar y salir del
registro actual en el que está trabajando.
6. Para crear un nuevo rol de conexión, en la pantalla nuevo rol de conexión escriba un nombre y, a
continuación, elija una categoría de rol de conexión.
7. Cuando haya terminado, seleccione guardar & cerrar.
En una aplicación controlada por modelos, puede desactivar una cuenta o un contacto en lugar de eliminarla. Esto
garantiza la integridad de la pista de auditoría asociada a ese registro.
Una cuenta o contacto desactivado se vuelve inactivo, lo que significa que no se puede editar ni usar para
establecer nuevas relaciones con otros registros. Sin embargo, todas las relaciones creadas con el elemento
desactivado seguirán estando disponibles.
Si más adelante necesita reactivar una cuenta desactivada, es fácil hacerlo.
Los paneles toman una colección de datos de la aplicación y proporcionan información para mostrar indicadores
clave de rendimiento (KPI) y otros datos importantes en gráficos y gráficos interactivos fáciles de leer. Los paneles
están disponibles para todos los tipos de registros.
del panel
Para ver un diseño de panel diferente, seleccione la flecha hacia abajo situada junto al nombre del panel y, a
continuación, seleccione el diseño que desee.
Para elegir un panel predeterminado, abra el panel que desee y, a continuación, seleccione establecer
como predeterminado en la parte superior de la pantalla.
![Agregar o cambiar]el panel(media/add_dashboard.png "Agregar o cambiar") el panel
Usar gráficos
Los gráficos proporcionan una vista rápida de cómo se realiza el seguimiento de los objetivos. También son
interactivas, por lo que puede hacer clic o pulsar en un área de un gráfico para obtener más información.
Mantenga el mouse sobre el gráfico para ver una información sobre herramientas que proporciona
información rápida sobre esa área del gráfico.
Haga clic en el área de un gráfico para ver una vista de cuadrícula con más detalles sobre los datos del
gráfico.
Para expandir un gráfico, haga clic en el botón expandir gráfico expandir![vista]del gráfico expandir
vista(media/expandviewbutton.png "del gráfico.")
Para ver los registros del gráfico o actualizar el gráfico, seleccione comandos y, a continuación, elija
una acción: Actualizar o Ver registros.
![Vista de gráficos en]la(media/ViewOfCharts.png "vista de powerapps de gráficos en powerapps")
Cambiar la vista del gráfico
Al cambiar la vista de gráfico, se muestra un desglose diferente de los datos, como oportunidades abiertas en un
período de tiempo concreto. Puede cambiar una vista de gráfico seleccionando el selector de vistas en la página de
cuadrícula.
Por ejemplo, seleccione "todas las oportunidades" y, a continuación, seleccione una vista diferente, y se
actualizarán tanto el gráfico como la cuadrícula.
Problemas conocidos
En el diseñador de gráficos, no se admite la adición de un order by en determinados campos calculados y se
producirá un error. Los campos calculados que lo hacen es usar otros campos calculados, un campo de entidad
relacionado o un campo local en la entidad.
Agregar o editar Power BI visualizaciones en el panel
19/10/2019 • 8 minutes to read • Edit Online
Cree informes completos e interactivos y visualizaciones en tiempo real con Power BI paneles e iconos que
agregue a los paneles personales.
NOTE
Para agregar Power BI visualizaciones a los paneles personales de la aplicación controlada por modelos, debe:
Habilite las visualizaciones de Power BI para su organización en configuración > Administración > configuración del
sistema > pestañainformes > permitir la incrustación de visualizaciones Power BI.
Tener una cuenta de Power BI y tener acceso al menos a un panel de Power BI.
Evite agregar Power BI visualizaciones a los paneles del sistema; no se admite.
4. En el cuadro de diálogo Power BI icono , seleccione el área de trabajo y, a continuación, seleccione el icono
de Power BI que desea mostrar en el panel. Seleccione Habilitar para dispositivos móviles si desea que
el icono esté disponible para Dynamics 365 para tabletas y Dynamics 365 para teléfonos.
Seleccione otra área del panel y repita este paso para agregar otro Power BI icono u otro componente, como
un gráfico o una lista, al panel.
5. Seleccione Guardar para guardar el panel.
Cosas que puede hacer con Power BI iconos insertados en los paneles personales
Para mostrar las características disponibles con una visualización de Power BI, mantenga el mouse sobre la parte
superior derecha de la visualización para mostrar las siguientes funcionalidades.
1. Seleccione el botón actualizar botón para actualizar los datos del informe subyacente del icono.
2. Seleccione el botón abrir en Power BI para abrir el panel de Power BI que contiene la visualización en
una nueva pestaña del explorador.
Aviso de privacidad
Al habilitar la inserción de mosaicos y paneles de Power BI, cuando un usuario inserta un mosaico o un panel de
Power BI, ese símbolo de autorización de Azure Active Directory del cliente para Common Data Service se usa con
el fin de autenticarse en el servicio de Power BI con una concesión implícita, que proporciona una experiencia de
"inicio de sesión único" perfecta para el usuario final.
Los administradores pueden deshabilitar la inserción de mosaicos y paneles de Power BIen cualquier momento
para dejar de usar el símbolo de autorización de Dynamics 365 con el fin de autenticarse en el servicio de Power
BI. Los mosaicos o los paneles existentes detendrán la representación para el usuario final.
En la siguiente sección se describe el componente o servicio de Azure involucrado en la inserción de mosaicos de
Power BI.
Nota: Para obtener más información acerca de otras ofertas de servicios de Azure, consulta el Centro de confianza
de Microsoft Azure.
Azure Active Directory
Este servicio proporciona el símbolo de autenticación intercambiado con el servicio de Power BI para la
autenticación de la API y la interfaz de usuario.
Comparar las opciones de búsqueda y búsqueda en
Common Data Service
04/10/2019 • 4 minutes to read • Edit Online
NOTE
La búsqueda rápida en varias entidades también se denomina búsqueda por categorías.
En la tabla siguiente se proporciona una breve comparación de las cuatro opciones disponibles.
Ámbito de búsqueda No está disponible en Disponible en una Disponible en una Disponible en una
de una sola entidad una cuadrícula de cuadrícula de cuadrícula de cuadrícula de
entidades. Puede entidades. entidades. entidades.
filtrar los resultados
de la búsqueda por
una entidad en la
página de resultados.
Ámbito de búsqueda No hay ningún límite Busca hasta 10 Busca hasta 10 Búsqueda de varias
de varias entidades máximo en el número entidades, agrupadas entidades, agrupadas entidades no
de entidades que se por una entidad. por una entidad. disponible.
pueden buscar. Nota:
Aunque no hay
ningún límite máximo
en el número de
entidades que se
pueden buscar, el
filtro de tipo de
registro solo muestra
datos de 10
entidades.
BÚSQUEDA DE BÚSQUEDA RÁPIDA DE
FUNCTIONAL RELEVANCIA TEX TO COMPLETO BÚSQUEDA RÁPIDA BÚSQUEDA AVANZADA
Campos de búsqueda Campos de texto Todos los campos de Todos los campos de Todos los campos de
como una sola línea búsqueda. búsqueda. búsqueda.
de texto, varias líneas
de texto, búsquedas y
conjuntos de
opciones. No admite
la búsqueda en
campos de tipos de
datos numéricos o de
fecha.
Resultados de la Devuelve los En el caso de una sola En el caso de una sola Devuelve los
búsqueda resultados de la entidad, devuelve los entidad, devuelve los resultados de la
búsqueda en orden resultados de la resultados de la búsqueda del tipo de
de relevancia, en una búsqueda en una búsqueda en una registro seleccionado
sola lista. cuadrícula de cuadrícula de con las columnas
entidades. En el caso entidades. En el caso especificadas, en el
de varias entidades, de varias entidades, criterio de ordenación
devuelve los devuelve los que ha configurado.
resultados de la resultados de la
búsqueda agrupados búsqueda agrupados
por categorías, como por categorías, como
cuentas, contactos o cuentas, contactos o
clientes potenciales. clientes potenciales.
Puede buscar registros en varias entidades mediante la búsqueda por relevancia o la búsqueda por categorías en
Common Data Service.
La búsqueda de relevancia ofrece resultados rápidos y completos en varias entidades, en una sola lista,
ordenadas por relevancia. Utiliza un servicio de búsqueda dedicado externo a Common Data Service (con
tecnología Azure) para mejorar el rendimiento de la búsqueda.
La búsqueda por categorías devuelve los resultados de la búsqueda agrupados por tipos de entidad, como
cuentas, contactos o clientes potenciales.
Normalmente, la búsqueda por categorías es la opción de búsqueda predeterminada. Sin embargo, si la
organización habilita la búsqueda de relevancia, se convierte en la experiencia de búsqueda predeterminada.
NOTE
El uso de un carácter comodín al principio de la consulta de búsqueda de búsqueda rápida (de una o varias entidades)
puede dar lugar a un rendimiento más lento.
Búsqueda de relevancia
La búsqueda de relevancia está disponible además de otras búsquedas Common Data Service en las que ya está
familiarizado. Puede seguir usando la búsqueda rápida de una sola entidad en la cuadrícula de entidades o la
búsqueda rápida de varias entidades (denominada búsqueda por categorías, si tiene habilitada la búsqueda de
relevancia). Para obtener resultados más detallados y más rápidos, se recomienda usar la búsqueda de relevancia.
La búsqueda de relevancia ofrece las siguientes mejoras y ventajas:
Mejora el rendimiento con indexación externa y Azure tecnología de búsqueda.
Busca coincidencias con cualquier palabra del término de búsqueda en cualquier campo de la entidad. Las
coincidencias pueden incluir palabras con inflexión como Stream, streamingo streaming.
Devuelve los resultados de todas las entidades que se pueden buscar en una única lista ordenada por
relevancia, en función de factores como el número de palabras coincidentes o su proximidad entre sí en el
texto.
Resalta las coincidencias en la lista de resultados.
Encontrará los resultados de la búsqueda de texto en un documento que está almacenado en Common Data
Service, incluido texto en notas, datos adjuntos de correo electrónico o citas. Los siguientes formatos de
archivo son compatibles con la búsqueda: PDF, Microsoft Office documentos, HTML, XML, ZIP, EML, texto
sin formato y JSON.
Puede buscar los registros que se comparten con usted y los registros que posee.
NOTE
No se admiten los modelos de seguridad jerárquica. Incluso si ve una fila en Common Data Service porque tiene
acceso a ella a través de la seguridad jerárquica, no verá el resultado en la búsqueda de relevancia.
También puede buscar conjuntos de opciones y búsquedas. Por ejemplo, supongamos que desea buscar una
cuenta de tienda que tenga farmacéuticos en el nombre. Al buscar una venta al por menor, verá el
resultado porque hay una coincidencia con el campo del sector, que es un conjunto de opciones de
búsqueda.
Dado que los resultados pueden incluir una combinación de entidades, puede restringir los resultados de la
búsqueda a una entidad específica seleccionando una entidad en la lista desplegable filtrar con . Al filtrar
por un tipo de registro específico, puede incluir actividades y notas relacionadas con el registro seleccionado
en los resultados de la búsqueda. Para ello, active la casilla buscar actividades y notas para los registros
seleccionados a la derecha de la lista desplegable filtrar con . La casilla se activa después de seleccionar
un registro en la lista desplegable filtrar con . se desactiva si no seleccionó una entidad en la lista filtrar
con . Las actividades y las notas se devuelven como resultados de nivel superior.
NOTE
La búsqueda de relevancia está deshabilitada de forma predeterminada. El administrador debe habilitarla para la
organización. Después de habilitar la búsqueda de relevancia, es posible que tenga que esperar hasta una hora o
más, en función del tamaño de la organización, antes de empezar a ver los resultados de la búsqueda de relevancia
para las aplicaciones. Los cambios más pequeños en los datos indizados pueden tardar hasta 15 minutos en
aparecer en el sistema.
La habilitación de la búsqueda de relevancia permite a todos los usuarios de la organización utilizarla.
La búsqueda de relevancia está basada en texto y solo puede buscar en campos de tipo una línea de texto, varias
líneas de texto, conjuntos de opciones o búsquedas. No admite la búsqueda en campos de tipos de datos
numéricos o de fecha.
Aunque la búsqueda de relevancia encuentra coincidencias con cualquier palabra del término de búsqueda en
cualquier campo de una entidad, en la búsqueda rápida—incluso con la búsqueda de texto completo habilitada—
todas las palabras del término de búsqueda se deben encontrar en un campo.
En la búsqueda de relevancia, cuanto mejor sea la coincidencia, más alta aparecerá en los resultados. Una
coincidencia tiene una mayor relevancia si se encuentran más palabras del término de búsqueda en estrecha
proximidad entre sí. Cuanto menor sea la cantidad de texto donde se encuentren las palabras de búsqueda, mayor
será la relevancia. Por ejemplo, si encuentra las palabras de búsqueda en el nombre y la dirección de la empresa,
podría ser una mejor coincidencia que las mismas palabras que se encuentran en un artículo grande, separadas
entre sí. Dado que los resultados se devuelven en una sola lista, puede ver una combinación de registros
mostrados uno después de otro, como cuentas, oportunidades, clientes potenciales, etc. Se resaltan las palabras
coincidentes de la lista.
Use la sintaxis en el término de búsqueda para obtener los resultados que desee. Por ejemplo, escriba Car Silver
2-Door para incluir coincidencias de cualquier palabra en el término de búsqueda en los resultados de la
búsqueda. Escriba Car + Silver +2-Door para buscar solo coincidencias que incluyan las tres palabras. Escriba
Car|Silver|2-Door para obtener resultados que contengan coches o Silver o de 2 puertas, o las tres palabras.
Más información sobre la sintaxis que puede usar en las consultas de búsqueda: Sintaxis de consulta simple en
Azure Search
NOTE
Verá los resaltados de aciertos cuando el término de búsqueda coincide con un término de la aplicación. Los resaltados de
aciertos aparecen como texto en negrita y en cursiva en los resultados de la búsqueda. A menudo se devuelven como parte
del valor completo en un campo, ya que solo se resaltan los términos coincidentes.
Los resultados de la búsqueda que se encuentran en datos adjuntos de correo electrónico o entidades de cita se
muestran en los resultados de búsqueda bajo su registro primario, ya sea correo electrónico o cita.
Al refinar por tipo de registro, el ámbito de la faceta cambia a la entidad seleccionada y se muestran hasta cuatro
facetas que son específicas de la entidad. Por ejemplo, si selecciona la entidad cuenta, verá la faceta contacto
principal además de las facetas globales.
En el cuadro de diálogo establecer opciones personales , también puede elegir otras caras de las que el
administrador del sistema o el cliente han puesto a su disposición. La configuración de usuario invalida la
configuración predeterminada. Más información: configurar las caras y los filtros de la búsqueda
Aspectos basados en texto
Todas las búsquedas, los conjuntos de opciones y los tipos de registro son aspectos basados en texto. Por ejemplo,
el propietario de la faceta basada en texto se compone de una lista de valores de campo y sus recuentos
correspondientes.
Los filtros de estas caras se ordenan en orden descendente por recuento. De forma predeterminada, se muestran
los cuatro valores principales de faceta. Cuando haya más de cuatro valores de faceta, verá un vínculo Mostrar
más que puede seleccionar para expandir la lista y ver hasta 15 valores de faceta superior. Seleccione cada valor
para filtrar los resultados de la búsqueda y mostrar solo los registros en los que el campo tenga el valor
seleccionado. Por ejemplo, si selecciona Kim Alberti, los resultados de la búsqueda mostrarán todos los registros
en los que el propietario es Kim Alberti. Al seleccionar un valor de faceta búsqueda o conjunto de opciones, los
resultados de la búsqueda se filtran para incluir solo los registros con el valor especificado.
Aspectos de fecha y hora
Al igual que otras caras, puede usar las caras de fecha y hora para filtrar y ver los resultados de la búsqueda para
un momento concreto. Para seleccionar un intervalo de valores, arrastre el control deslizante o seleccione una de
las columnas verticales.
Configurar las caras y los filtros de la búsqueda
Las caras y los filtros permiten profundizar y explorar los resultados de la búsqueda actual sin tener que refinar el
término de búsqueda repetidamente. Configure las caras y los filtros que desee en el cuadro de diálogo establecer
opciones personales .
NOTE
El personalizador del sistema puede establecer la experiencia predeterminada para todas las entidades, pero puede configurar
sus propias caras y filtros.
NOTE
Si un Personalizador del sistema elimina un campo o hace que ya no se puede buscar y ha guardado una faceta
para ese campo, ya no aparecerá como una faceta.
Solo verá los campos que existen en la solución predeterminada y que están configurados como que el
personalizador del sistema puede buscar.
Crear, editar o guardar una búsqueda avanzada
26/07/2019 • 2 minutes to read • Edit Online
Busque los registros que desee en la aplicación mediante la opción búsqueda avanzada. También puede usar la
búsqueda avanzada para preparar los datos para la exportación a Office Excel, de modo que pueda analizar,
resumir o agregar datos, o crear tablas dinámicas para ver los datos de diferentes perspectivas.
1. En la barra de comandos, haga clic en el botón búsqueda avanzada .
2. Especifique lo que se va a buscar.
a. En la lista Buscar , seleccione un tipo de registro.
b. Haga clic en seleccionar para definir criterios de búsqueda: campo (por ejemplo, nombre de cuenta
o ciudad), el operador relacional de consulta (parte de una expresión como "es igual a" o "contiene"
que define cómo se debe comparar un atributo especificado con un valor). valores que se van a
buscar (por ejemplo, "Seattle" o "correo electrónico").
Puede seleccionar los campos del tipo de registro actual o de los registros relacionados. Por ejemplo,
una cuenta podría tener muchos registros de contactos relacionados.
En la parte inferior de la lista de selección , la sección relacionada muestra los tipos de registro
relacionados. Por ejemplo, la mayoría de los tipos de registros tienen un tipo de registro de notas
relacionado. Para seleccionar los campos de un tipo de registro relacionado, seleccione campo y
aparece un nuevo vínculo seleccionar .
3. Especifique las columnas que se van a incluir en los resultados de la búsqueda.
a. Seleccione Editar columnasy, a continuación, seleccione Agregar columnas.
b. Seleccione el tipo de registro que incluye las columnas que desea agregar.
c. Seleccione las columnas que desea agregar y, a continuación, seleccione Aceptar.
4. Especifique el criterio de ordenación.
a. Seleccione Editar columnas.
b. Seleccione configurar ordenación.
c. Especifique la columna por la que desea ordenar, especifique el criterio de ordenación y, a
continuación, haga clic en Aceptar.
d. Seleccione Aceptar.
5. Seleccione resultados.
Importar datos
26/07/2019 • 5 minutes to read • Edit Online
Si sus datos están almacenados en una hoja de cálculo, en el teléfono o en un programa de correo electrónico, en
este artículo sabrá cómo importar los datos en su aplicación. Por ejemplo, importar su lista de contactos de clientes
desde una hoja de cálculo de Excel en la aplicación para poder realizar un seguimiento de toda la información de
los clientes en un mismo lugar.
WARNING
Si la hoja de cálculo no incluye todos los nombres de columna enumerados, es correcto. Sin embargo, si hay un
nombre de columna, debe coincidir exactamente con el nombre correspondiente en la lista; si no, la importación no
funcionará. Los espacios son obligatorios. Tenga en cuenta que la palabra "Email" no contiene un guión.
Nombre
Segundo nombre
Apellidos
Teléfono móvil
NOMBRE DE COLUMNA EN LA HOJA DE CÁLCULO (LA ORTOGRAFÍA DEBE COINCIDIR EXACTAMENTE)
Puesto
Ciudad de trabajo
3. Guarde el archivo.
Exportación de datos desde el teléfono
Utilice un cable USB o una aplicación para exportar datos, como los contactos, desde el teléfono a su equipo.
Para buscar los pasos específicos sobre cómo exportar los contactos de su marca de teléfono, busque "exportar
contactos de mi teléfono" en su motor de búsqueda favorito (como Bing).
Para buscar una aplicación, busque en la tienda en línea del teléfono.
2. Vaya a la carpeta donde guardó el archivo que contiene la exportación de los contactos. Seleccione el
archivo, elija Abrir y, a continuación, seleccione Siguiente.
TIP
Solo puede importar un archivo a la vez. Para importar más archivos, vuelva a ejecutar al asistente más tarde.
3. Revise el nombre de archivo y compruebe que los delimitadores de campos y datos son correctos mediante
la opción Revisar asignación. Si todo parece correcto, seleccione Finalizar importación.
Puede realizar rápidamente un análisis ad hoc de los datos que se encuentra en la aplicación mediante la
exportación de los datos de la aplicación a Excel online.
Cuando realice cambios en los datos en Excel online, puede guardar la información actualizada en la aplicación.
Recuerde mantener el formato existente de las celdas de Excel para evitar problemas durante la importación.
Cualquier información que se agregue a la hoja de cálculo, como gráficos, gráficos o colores, no se guardará.
Requisitos previos
Esta característica requiere que tenga una suscripción a Office 365 o una suscripción a un servicio en línea
como SharePoint Online o Exchange Online.
Necesita una cuenta de Microsoft.
NOTE
Los datos actualizados en una aplicación no se reflejarán inmediatamente en Excel online si la misma vista se abrió en los
últimos dos minutos en Excel online. Después de ese período de tiempo, los datos actualizados deben mostrarse en Excel
online.
Para abrir una lista de registros en una aplicación, en la barra de comandos Seleccione el menú exportar a Excel
y, a continuación, seleccione abrir en Excel online.
¿Necesita analizar los datos y convertirlos en elementos procesables que le ayuden a impulsar más ventas? Ahora
puede hacerlo al exportar los datos a Excel o Excel online. Además, el análisis de grandes conjuntos de datos no es
un problema, ya que puede exportar hasta 100.000 filas de datos.
Puede optar por exportar las hojas de cálculo estáticas o las hojas de cálculo dinámicas, que puede volver a
importar en la aplicación. Si necesita funciones más avanzadas, puede exportar una tabla dinámica dinámica, lo
que facilita la organización y el Resumen de los datos.
Puede exportar datos a un archivo de Excel estándar que puede usar en cualquier dispositivo, como el teléfono, la
tableta o el equipo de escritorio. Los datos se exportan en el mismo formato que se ve en la aplicación. El texto
seguirá siendo texto, los números permanecerán en números y las fechas permanecerán en las fechas. Sin
embargo, cuando se exportan datos de la aplicación a Excel, algunos formatos de celda pueden cambiar. En la tabla
siguiente se resume cómo verá los datos en las aplicaciones y cómo cambia el formato de celda al exportar los
datos a Excel.
Texto, símbolo de marca de graduación, teléfono, conjunto de Muestra como texto y conjunto de opciones se convierte en
opciones y búsqueda una lista desplegable
Realice un análisis ad hoc o What if sin modificar los datos de Exportar a Excel online
la aplicación. O bien, realizar una edición en masa rápida en
varios registros.
TAREA MÁS INFORMACIÓN
Obtenga una instantánea de los datos en los datos y la hora Exportar a una hoja de cálculo estática de Excel
actuales, o bien si desea compartirlo con otros usuarios.
Obtenga la información más actualizada y podrá actualizarla Exportar a una hoja de cálculo dinámica de Excel
en Excel y coincidir con lo que ve en la aplicación en cualquier
momento.
Ver datos de la aplicación en una tabla dinámica. Exportar a una tabla dinámica de Excel
Cuando se exportan datos en Excel (formato. xlsx) y, después, se agregan o modifican columnas, no se pueden
volver a importar los datos en Dynamics 365. Esto no se admite para el formato de archivo. xlsx.
Si utiliza Excel 2010, es posible que reciba este mensaje de error al exportar datos desde el área cuentas:
The file is corrupt and cannot be opened.
El mensaje de error se produce debido a un valor de configuración de en Excel. Para solucionar el problema, haga
lo siguiente:
1. Abra Excel 2010.
2. Vaya a archivo > Opciones.
3. Vaya a laconfiguración del centro de confianzadel centro > de confianza.
4. Seleccione vista protegida y, a continuación, desactive las casillas de las dos primeras opciones.
5. Seleccione Aceptar y, a continuación, cierre el cuadro de diálogo Opciones .
Exportar a una hoja de cálculo dinámica de Excel
26/07/2019 • 6 minutes to read • Edit Online
Exporte los datos de la aplicación a una hoja de cálculo de Office Excel para que los usuarios puedan tener la
información más reciente. Imagine que el CEO de su empresa obtiene la información crítica que necesitan sin
tener que navegar en una aplicación, sino simplemente abrir el vínculo de Excel en el escritorio. Puede exportar
hasta 100.000 registros a la vez.
NOTE
Si va a editar el archivo de datos más adelante, se recomienda que guarde el archivo antes de abrirlo. De lo contrario,
podría obtener este mensaje de error: Excel no puede abrir o guardar más documentos porque no hay
suficiente memoria disponible o espacio en disco.
Para solucionar el problema:
1. Abra Excel y vaya a archivo > Opciones > centro de confianza configuración centro configuración > vista
protegida.
2. En vista protegida, desactive los tres elementos.
3. Seleccione Aceptar > Aceptar.
Todavía se recomienda encarecidamente guardar y abrir el archivo de datos en lugar de deshabilitar la vista protegida,
lo que podría poner el equipo en riesgo.
5. Abra Excel y, a continuación, abra el archivo. xlsx que guardó en el paso anterior.
6. Si ve la advertencia de seguridad se han deshabilitado las conexiones de datos externos, seleccione
Habilitar contenido.
7. Para actualizar los datos del archivo, en la pestaña datos , seleccione actualizar desde PowerApps.
NOTE
Si tiene un número de teléfono que empieza por + o – (por ejemplo, + 1-123-456-7890), al actualizar la hoja de
cálculo dinámica, el campo número de teléfono no mostrará el número correctamente.
Para evitar el problema, use un espacio o paréntesis () , de la siguiente forma: + 1 123-456-7890 o + 1 (123)-456-
7890.
Recomendaciones
Puede enviar por correo electrónico un archivo de Excel dinámico o almacenarlo como un archivo
compartido si los destinatarios están en el mismo dominio que usted. Cuando los destinatarios abren el
archivo dinámico, verán los datos que tienen permiso para verlos en la aplicación, por lo que los datos que
ven pueden ser diferentes de lo que ve.
Algunas vistas del sistema, como las cuentas: Ninguna actividad de la campaña en los últimos 3 meses, solo
se puede exportar a una hoja de cálculo de Excel estática.
En PowerApps, los valores de moneda se exportan a Excel como números. Para dar formato a los datos
como moneda después de completar la exportación, vea el tema de ayuda de Excel titulado "Mostrar
números como moneda".
Los valores de fecha y hora que se ven en la aplicación solo se muestran como fecha al exportar el archivo a
Excel, pero la celda realmente muestra la fecha y la hora.
Si va a realizar cambios y vuelve a importar el archivo de datos en la aplicación, recuerde que los campos
seguros, calculados y compuestos (como el nombre completo) son de solo lectura y no se pueden importar
en la aplicación. Podrá editar estos campos en Excel, pero al importar los datos de nuevo en la aplicación,
estos campos no se actualizarán. Si desea actualizar estos campos, como el nombre de un contacto, se
recomienda que use esa vista para exportar los datos, actualizarlos en Excel y volver a importarlos en la
aplicación para ver si hay cambios.
Exportar a una hoja de cálculo estática de Excel
26/07/2019 • 6 minutes to read • Edit Online
Si quiere presentar información sobre los datos de la aplicación a una persona que no tiene acceso a la aplicación,
o tiene datos que no cambian con frecuencia, considere la posibilidad de exportar los datos de la aplicación a una
hoja de cálculo estática de Office Excel.
Puede exportar hasta 100.000 registros a la vez. De forma predeterminada, una aplicación controlada por modelos
muestra hasta 50 registros por página. Elija las flechas de la Página en la parte inferior de la lista para ver las
páginas adicionales.
NOTE
Si va a editar el archivo de datos más adelante, se recomienda que guarde el archivo antes de abrirlo. De lo contrario,
podría obtener este mensaje de error: Excel no puede abrir o guardar más documentos porque no hay
suficiente memoria disponible o espacio en disco.
Para solucionar el problema, haga lo siguiente:
1. Abra Excel y vaya a archivo > Opciones > Centro > de confianzaconfiguración centro configuración > vista
protegida.
2. En vista protegida, desactive los tres elementos.
3. Seleccione Aceptar > Aceptar.
Todavía se recomienda encarecidamente guardar y abrir el archivo de datos en lugar de deshabilitar la vista protegida,
lo que podría poner el equipo en riesgo.
4. Abra Excel y, a continuación, abra el archivo. xlsx que guardó en el paso anterior.
De forma predeterminada, una hoja de cálculo exportada incluye los campos que se muestran en la lista,
con el mismo orden de campo, ordenación y ancho de campo.
Recomendaciones
Puede enviar por correo electrónico una hoja de cálculo de exportación estática a cualquier persona o
almacenarla en un archivo compartido. Cualquier persona que abra el archivo verá todos los datos en el
archivo.
No se pueden cambiar las columnas de una vista del sistema, como todas las cuentas activas. Debe
personalizar la vista, que requiere el rol de seguridad Administrador del sistema o Personalizador del
sistema, o bien usar búsqueda avanzada para crear su propia vista basada en la vista actual.
En las aplicaciones controladas por modelos, los valores de moneda se exportan a Excel como números.
Después ha completado la exportación, vea el tema de ayuda de Excel "Mostrar números como moneda"
para dar formato de moneda a los datos.
Los valores de fecha y hora que se ven en la aplicación solo se muestran como fecha al exportar el archivo a
Excel, pero la celda realmente muestra la fecha y la hora.
Si va a realizar cambios y vuelve a importar el archivo de datos en la aplicación, recuerde que los campos
seguros, calculados y compuestos (como el nombre completo) son de solo lectura y no se pueden importar
en la aplicación. Podrá editar estos campos en Excel, pero al importar los datos de nuevo en la aplicación,
estos campos no se actualizarán. Si desea actualizar estos campos, como el nombre de un contacto, se
recomienda que use esa vista para exportar los datos, actualizarlos en Excel y volver a importarlos en la
aplicación para ver si hay cambios.
Exportar a una tabla dinámica de Excel
26/07/2019 • 5 minutes to read • Edit Online
Puede exportar los datos de la aplicación a una tabla dinámica de Office Excel para ver los patrones y las
tendencias de los datos. Una tabla dinámica de Excel es una excelente manera de resumir, analizar, explorar y
presentar los datos de la aplicación. Puede exportar hasta 100.000 registros a la vez.
NOTE
Si va a editar el archivo de datos más adelante, se recomienda que guarde el archivo antes de abrirlo. De lo contrario,
podría obtener este mensaje de error: Excel no puede abrir o guardar más documentos porque no hay
suficiente memoria disponible o espacio en disco.
Para solucionar el problema:
1. Abra Excel y vaya a File > Options > Trust Center.
2. Seleccione configuración del centro de confianza y, a continuación, vista protegida.
3. En vista protegida, desactive las casillas de los tres elementos.
4. Seleccione Aceptar > Aceptar.
Todavía se recomienda encarecidamente guardar y abrir el archivo de datos en lugar de deshabilitar la vista protegida,
lo que podría poner el equipo en riesgo.
4. Abra Excel y, a continuación, abra el archivo. xlsx que guardó en el paso anterior.
5. Si ve la advertencia de seguridad se han deshabilitado las conexiones de datos externos, seleccione
Habilitar contenido.
6. Para actualizar los datos del archivo, en la pestaña datos , seleccione actualizar desde PowerApps.
7. Arrastre los campos de la lista de campos de la tabla dinámica a la tabla dinámica. Para obtener más
información, vea la ayuda de Excel.
Recomendaciones
En PowerApps, los valores de moneda se exportan a Excel como números. Después de completar la
exportación, vea el tema de ayuda de Excel "Mostrar números como moneda" para dar formato de moneda
a los datos.
Los valores de fecha y hora que se ven en la aplicación solo se muestran como fecha al exportar el archivo a
Excel, pero la celda realmente muestra la fecha y la hora.
Si va a realizar cambios y vuelve a importar el archivo de datos en la aplicación, recuerde que los campos
seguros, calculados y compuestos (como el nombre completo) son de solo lectura y no se pueden importar
en la aplicación. Podrá editar estos campos en Excel, pero al importar los datos de nuevo en la aplicación,
estos campos no se actualizarán. Si desea actualizar estos campos, como el nombre de un contacto, se
recomienda que use esa vista para exportar los datos, actualizarlos en Excel y volver a importarlos en la
aplicación para los cambios.
Combinación de registros duplicados
08/11/2019 • 3 minutes to read • Edit Online
Los registros duplicados pueden trasentrarse en los datos cuando usted u otros usuarios escriben datos
manualmente o importan datos de forma masiva. Common Data Service le ayuda a solucionar posibles duplicados
proporcionando la detección de duplicados para registros activos como cuentas y contactos. Al combinar un
registro, también se combinarán los registros relacionados o secundarios. El administrador también puede
configurar reglas de detección de duplicados para otras situaciones.
Por ejemplo, supongamos que escribe un registro de contacto, Jim Glynn, junto con un número de teléfono móvil.
La regla de detección de duplicados detecta que ya tiene un registro similar y muestra este cuadro de diálogo.
No está seguro de si se trata de un nuevo registro (uno que tiene el mismo nombre que un contacto existente) o un
duplicado, por lo que selecciona omitir y guardar.
A continuación, vaya a la lista todos los contactos y vea que ahora tiene dos registros con el mismo nombre.
Después de revisar los registros, determinará que son duplicados que deben combinarse.
Common Data Service incluye reglas de detección de duplicados para cuentas y contactos. Estas reglas se activan
automáticamente, por lo que no tiene que hacer nada para configurar la detección de duplicados para estos tipos
de registro.
NOTE
Si está disponible en el sistema, también puede comprobar si hay duplicados de otros tipos de registros, además de contactos
y cuentas. Consulte con el administrador del sistema. Busque el administrador o el personal de soporte técnico
2. En el cuadro de diálogo combinar registros , seleccione el registro maestro (el que desea conservar) y, a
continuación, seleccione los campos del nuevo registro que desee fusionar mediante combinación en el
registro maestro. Los datos de estos campos pueden invalidar los datos existentes en el registro maestro.
Seleccione Aceptar.
NOTE
Existen algunas situaciones en las que se pueden encontrar duplicados:
Cuando se crea o se actualiza un registro.
Cuando use Dynamics 365 para Outlook y pase de sin conexión a en línea.
Al importar datos mediante el Asistente para la importación de datos.
No se detectan duplicados al combinar registros, guardar una actividad como completada o cambiar el estado de un
registro, como la activación o reactivación de un registro.
Trabajo con los informes
26/07/2019 • 3 minutes to read • Edit Online
Los informes le ayudan a supervisar su progreso hacia sus objetivos de negocio ayudando a ver cómo lo está
haciendo. También puede realizar un seguimiento de las tendencias, lo que le ofrece una ventaja sobre sus
competidores.
Para obtener más información sobre la organización y creación de informes, vea: Personalizar y organizar
informes.
Ejecutar un informe
1. En el panel de navegación izquierdo, seleccione el área informes.
2. Elija el informe que desea > Ejecutar Informe.
NOTE
En el cuadro de diálogo visor de informes , puede dejar los criterios de búsqueda tal cual o cambiarlos según sea
necesario.
6. Elija seleccionar para agregar el registro de usuario o de equipo al cuadro registros seleccionados y,
después, seleccione Agregar.
7. En el cuadro de diálogo compartir Informe , seleccione el tipo de acceso de recurso compartido que
desee. Los permisos disponibles son: Lectura, escritura, eliminación, anexión, asignación o uso compartido.
Esto agregará el registro de usuario o de equipo al cuadro registros seleccionados .
Descargar un informe
1. En el panel de navegación izquierdo, seleccione el área informes.
2. En la lista de informes, seleccione el informe que desea compartir.
3. En la barra de comandos, seleccione seleccionar Editar.
4. En el menú acciones , seleccione Descargar Informe.
El archivo RDL contiene el fetchXML en el que se basa el informe.
5. Abra el informe una vez completada la descarga.
Vea también
Crear un informe mediante el Asistente para informes
Agregar un informe existente
Editar filtro de informe
Solucionar problemas de datos que no se muestran en un informe
Creación de los informes mediante el Asistente para
informes
30/07/2019 • 3 minutes to read • Edit Online
Use el Asistente para informes para crear informes con gráficos y tablas que le permitan analizar fácilmente los
datos.
Todos los informes que se crean mediante el Asistente para informes son informes basados en Fetch. Tenga en
cuenta que todos los informes generados con el Asistente para informes se imprimen en modo horizontal.
3. Un Informe: aparecerá la pantalla nuevo informe. En tipo de informe , deje la selección predeterminada
en, Informe del Asistente para informes y seleccione el botón Asistente para informes .
4. En la siguiente pantalla, deje las selecciones predeterminadas y, a continuación, seleccione siguiente.
5. En la pantalla propiedades del informe , escriba un nombre para el informe y, a continuación, elija el
registro que desea incluir en el informe y, a continuación, seleccione siguiente.
6. En la pantalla seleccionar los registros que se van a incluir en el informe , elija los filtros para
determinar qué registros se incluyen en el informe. Por ejemplo, si solo desea ver los resultados de los
registros modificados en los últimos 60 días, puede establecer ese filtro en esta pantalla. Si no desea filtrar
los datos, seleccione Borrar.
7. En la pantalla diseñar campos , elija el diseño del informe. Seleccione haga clic aquí para agregar una
agrupación y elija cómo desea agrupar los datos.
8. Seleccione el tipo de registro y la columna de los datos que desea que se agrupen en el informe. Cuando
haya terminado de realizar las selecciones, haga clic en Aceptar.
de
agrupación
9. Seleccione haga clic aquí para agregar una columna a las columnas de datos relacionadas con el tipo
de registro que eligió en el paso anterior.
de agrupación
10. En la pantalla Agregar columna , elija los datos que desea que aparezcan para la columna y, a
continuación, seleccione Aceptar.
11. Repita el paso anterior para las columnas adicionales que desee agregar. Cuando haya terminado, en la
pantalla diseñar campos , seleccione siguiente.
12. En la pantalla formato de informe , elija cómo desea dar formato a un informe y, a continuación,
seleccione siguiente.
13. Revise el resumen del informe y seleccione siguiente y, a continuación, seleccione Finalizar. Ahora puede
ver este informe en la lista de informes del sistema.
Vea también
Trabajar con informes
Agregar un informe existente
Editar filtro de informe
Solucionar problemas de datos que no se muestran en un informe
Agregar un informe desde fuera de PowerApps
19/10/2019 • 3 minutes to read • Edit Online
Si ha creado un informe personalizado fuera del sistema, puede agregarlo fácilmente a PowerApps.
Para obtener información sobre cómo crear un informe personalizado, consulte la Guía de informes y análisis.
1. En el panel de navegación izquierdo, seleccione el área informes.
2. En la barra de comandos, seleccione nuevo.
Agregar un archivo creado en otra aplicación
a. En la sección origen , en el cuadro tipo de informe , seleccione archivo existente.
existente
b. En el cuadro Ubicación del archivo , escriba la ruta de acceso y el nombre del archivo que desea
agregar, o elija examinar para buscar el archivo.
Puede cargar muchos otros tipos de archivo, como un archivo de Excel, pero para que se ejecute
como un informe SQL Server Reporting Services informe o un asistente para informes creado, el
archivo debe ser un. Archivo RDL. Para obtener más información, vea entorno de escritura de
informes mediante SQL Server Data Tools.
O bien
Agregar un vínculo a una página web
a. En la sección origen , en el cuadro tipo de informe , seleccione vincular a página web.
b. En el cuadro dirección URL de la página web , escriba la dirección URL de la Página Web.
3. Especifique las propiedades del informe.
a. En la sección de detalles , especifique un nombre descriptivo y una descripción para el informe.
b. El cuadro de texto Informe primario muestra el informe primario del informe actual, si existe.
c. Categorías. Elija el botón de botón de puntos(media/ellipsis-button.png "suspensivos") del !
[botón]de puntos suspensivos para este campo y, a continuación, especifique las categorías que
desea incluir en este informe.
d. Tipos de registro relacionados. Para que el informe aparezca en la lista de informes en una página
para tipos de registros específicos, elija el botón de puntos suspensivos del botón de
puntos(media/ellipsis-button.png "suspensivos") de los ![puntos suspensivos] para este campo y, a
continuación, seleccione tipos de registro.
e. Mostrar en. Para especificar dónde deben estar visibles los informes, elija el botón
de(media/ellipsis-button.png "puntos suspensivos") de los puntos suspensivos del ![botón]
seleccionar o cambiar los valores de este campo y, a continuación, seleccione una o varias de las
opciones.
Si no se selecciona ningún valor, el informe no será visible para los usuarios finales.
4. Elija Guardar o Guardar y cerrar.
Vea también
Trabajar con informes
Crear un informe mediante el Asistente para informes
Editar filtro de informe
Solucionar problemas de datos que no se muestran en un informe
Edición del filtro predeterminado de un informe
26/07/2019 • 4 minutes to read • Edit Online
Cuando un informe es un informe de SQL Server Reporting Services, está habilitado para la prefiltrado y tiene un
filtro predeterminado, puede cambiar el filtro predeterminado para mostrar los datos que espera ver en el
informe. Este filtro se utiliza cada vez que un usuario ejecuta el informe.
1. En el panel de navegación izquierdo, seleccione el área informes.
2. Elija un informe y, en la barra commbar, seleccione Editar filtro predeterminado.
TIP
Para borrar todos los criterios y volver a empezar, en la barra de herramientas del filtro, seleccione Borrary, a
continuación, seleccione confirmar.
Para eliminar una fila, seleccione el botón de menú opciones de esa fila y, a continuación, seleccione eliminar.
Hay varias razones posibles por las que los datos que espera que aparezcan en un informe no aparecen:
Permisos de seguridadinsuficientes. Si no tiene permiso en Common Data Service para ver un registro,
no aparecerá en el informe.
No se especifican los datos. La persona que escribe los datos puede haber dejado campos vacíos.
Los datos no coinciden con los criterios del informe. Muchos informes incluyen un filtro
predeterminado que muestra solo los registros activos, o bien puede haber seleccionado criterios que no
tienen ningún registro coincidente. Intente cambiar el filtro del informe. Para obtener más información, vea
editar el filtro predeterminado de un informe .
Es posible que esté viendo una copia almacenada en caché del informe. De forma predeterminada,
los datos de Common Data Service informes se extraen de la base de datos cada vez que se ejecuta un
informe. Sin embargo, es posible que el administrador del sistema haya cambiado un informe para que se
ejecute desde la memoria caché. Si los datos que ha escrito recientemente no se incluyen en el informe, es
posible que tenga una versión anterior del informe de la memoria caché. Para actualizar el informe, en la
barra de herramientas de informe, seleccione el botón Actualizar .
Es posible que no tenga permiso para leer registros en un subinforme. Si no tiene permiso para leer
los tipos de registro que se incluyen en un subinforme, recibirá un mensaje de error que indica que no se
pudo mostrar el subinforme.
La configuración de privacidad de Microsoft Internet Explorer puede bloquear las cookies
necesarias. En el caso de los informes de gráficos, si en lugar de ver el gráfico, verá una letra roja X, es
posible que la configuración de privacidad esté bloqueando una cookie necesaria para el control de gráfico.
Para corregir este problema, en el explorador, habilite las cookies para el servidor que ejecuta Reporting
Services.
Vea también
Trabajar con informes
Crear un informe mediante el Asistente para informes
Agregar un informe existente
Editar filtro de informe
Trabajar con procesos de negocio
26/07/2019 • 2 minutes to read • Edit Online
Los flujos de procesos empresariales proporcionan una guía para que los usuarios trabajen de forma eficiente.
Estos le ayudan a indicar datos de forma coherente y a seguir los mismos pasos cada vez que trabaje con un
registro.
Para el ejemplo, a medida que trabaja en un nuevo registro de cliente, el flujo de proceso empresarial le ayuda a
ver los pasos que debe seguir para crear un registro y completar la información necesaria según el proceso
empresarial de su organización.
La barra de procesos se puede acoplar a la parte derecha de la pantalla para poder consultarla fácilmente mientras
trabaja con un registro de cliente.
Para obtener más información sobre cómo crear y administrar flujos de proceso de negocio, vea Introducción a los
flujos de proceso de negocio.
Power Automatic permite crear procesos automatizados entre sus aplicaciones y servicios favoritos. Desde dentro
de la aplicación, puede ejecutar un flujo en uno o más registros.
Además, puede abrir Power Automate desde su aplicación para ver, editar o crear nuevos flujos. Más información:
Introducción a Power Automatic
NOTE
Para administrar y ejecutar Power Automatic desde la aplicación, debe habilitar la opción de automatización de energía en la
configuración del sistema de la organización. Más información: flujos de la organización
Use la aplicación Dynamics 365 para Outlook para administrar los datos de Dynamics 365 con Outlook en el
escritorio, la web o el teléfono. Cuando se instala la aplicación Dynamics 365 para Outlook, en función de la
versión de la aplicación que haya instalado, verá un Common Data Service panel o ventana junto a un mensaje de
correo electrónico de Outlook seleccionado, o bien al redactar un mensaje de correo electrónico o al configurar una
reunión o Agenda.
PowerApps es una plataforma de desarrollo de gran productividad para aplicaciones de negocio y tiene cuatro
componentes principales:
Las aplicaciones de lienzo comienzan con la experiencia del usuario, diseñando una interfaz muy personalizada
con la potencia de un lienzo en blanco y conectándola a uno de los 200 orígenes de datos para elegir. Se
pueden compilar aplicaciones de lienzo para aplicaciones web, móviles y de tableta.
Las aplicaciones controladas por modelos empiezan con el modelo de datos y se compilan a partir de la forma
de los datos y procesos de negocio fundamentales en Common Data Service para crear formularios, vistas y
otros componentes. Las aplicaciones controladas por modelos generan automáticamente una interfaz de
usuario excelente con capacidad de respuesta en todos los dispositivos.
Los portales comienzan a crear sitios web orientados hacia el exterior que permiten a los usuarios ajenos a la
organización iniciar sesión con una amplia variedad de identidades, crear y ver datos en Common Data Service,
o incluso examinar contenido de forma anónima.
Common Data Service es la plataforma de datos que viene con PowerApps y que permite almacenar y modelar
los datos de negocio. Es la plataforma en la que se compilan las aplicaciones de Dynamics 365; si es un cliente
de Dynamics, los datos ya están en Common Data Service.
Intentar la creación de la primera aplicación es fácil. Tenemos un plan de evaluación de 30 días y un plan de la
comunidad gratuito; obtenga más información sobre cuál es mejor para usted y empiece a trabajar.
Aplicaciones de lienzo
Las aplicaciones de lienzo proporcionan la flexibilidad de organizar la experiencia del usuario y la interfaz de la
forma que se quiera. Permita que el sentido creativo y empresarial le guíe a obtener el aspecto que quiere para las
aplicaciones.
Se puede empezar a compilar la aplicación desde las herramientas de Microsoft donde se encuentren los datos,
por ejemplo:
Desde una lista de SharePoint
Desde un panel de Power BI
Crear una aplicación de lienzo es fácil; con PowerApps, se puede buscar o crear la aplicación de varias maneras:
Desde datos
Desde un ejemplo
Desde un origen de Common Data Service
Desde un lienzo en blanco
A través de AppSource
Conexiones Lienzo
Después de compilar la aplicación, se puede compartir con los miembros del equipo.
Inicio de sesión en PowerApps por primera vez
09/11/2019 • 7 minutes to read
Cuando inicie sesión en PowerApps, el sitio ofrece diversas opciones para que cree sus propias aplicaciones, abra
las aplicaciones que usted u otros usuarios hayan creado y realice tareas relacionadas. Estas tareas van desde las
más sencillas, como la identificación de la licencia o licencias que le proporcionan acceso, hasta funcionalidades
más avanzadas, como la creación de conexiones personalizadas para orígenes de datos específicos.
Puede seleccionar opciones en tres áreas generales:
El encabezado de la parte superior de la página
Para obtener mejores resultados, asegúrese de que la página principal se establece en el entorno adecuado.
Selección de un entorno
Tanto si va a crear una aplicación, un flujo, una conexión de datos o una entidad en Common Data Service, gran
parte de lo que se hace en PowerApps se encuentra en un entorno específico. Los entornos crean límites entre
distintos tipos de trabajo; por ejemplo, una organización podría tener entornos independientes para distintos
departamentos. Muchas organizaciones usan entornos para separar aplicaciones que aún están en desarrollo de
las que están listas para su uso generalizado. Puede que tenga acceso a varios entornos o solo a uno y, si cuenta
con los permisos adecuados, tal vez pueda crear sus propios entornos.
Para comprobar en qué entorno se encuentra, busque el selector de entornos junto al margen derecho del
encabezado.
Si crea una aplicación en un entorno, no podrá verla desde otro entorno. Además, las personas que quieran
ejecutar la aplicación habrán de tener acceso al entorno en el que se creó.
IMPORTANT
Asegúrese de que se encuentra en el entorno adecuado antes crear una aplicación, un flujo o un componente similar. No
resulta fácil mover componentes de un entorno a otro.
Para más información, consulte Environments overview (Información general de los entornos).
También puede buscar una aplicación escribiendo uno o más caracteres en la barra de búsqueda que aparece cerca
de la esquina superior derecha. Cuando encuentre la aplicación que quiera, seleccione el icono de banner para
iniciar o modificar la aplicación.
Más información
Hay dos formas de encontrar más información sobre las aplicaciones de lienzo o las aplicaciones controladas por
modelos:
En la barra de navegación izquierda, seleccione Más información.
En el encabezado, seleccione el icono de signo de interrogación.
Ambas opciones muestran vínculos a este conjunto de documentación, la comunidad de PowerApps (donde puede
compartir información con usuarios de otras organizaciones) y el blog de PowerApps (donde se anuncian las
características más recientes).
Diseñe y compile una aplicación empresarial desde un lienzo en Microsoft PowerApps sin escribir código en un
lenguaje de programación tradicional como C#. Diseñe la aplicación arrastrando y colocando elementos en un
lienzo, como si diseñara una diapositiva de PowerPoint. Cree expresiones de estilo de Excel para especificar la
lógica y trabajar con datos. Cree aplicaciones que integren datos empresariales de una gran variedad de orígenes
de Microsoft y terceros. Comparta la aplicación para que los usuarios puedan ejecutarla en un explorador o en un
dispositivo móvil, e insértela para que la puedan ejecutar en SharePoint, Power BI o Teams.
Si no necesita un diseño personalizado y los datos están en Common Data Service, puede generar
automáticamente una aplicación controlada por modelos a partir de los datos y procesos empresariales. Este tipo
de aplicación puede modelar formularios, vistas y otros componentes, y la interfaz de usuario predeterminada se
ajusta de manera automática a teléfonos, equipos portátiles y otros dispositivos. Para obtener más información
sobre este tipo de aplicación, vea Información general sobre la compilación de una aplicación controlada por
modelos.
Más información
Explorar los temas de referencia, conceptuales y paso a paso en el panel de navegación de la izquierda.
Consulte los seminarios web a los que puede acceder a petición, ya que pueden ayudarle a sacar provecho de
las características y funciones de PowerApps.
Revise los estándares de codificación para maximizar el rendimiento de la aplicación y mantener las
aplicaciones más fáciles de mantener.
Compartir la experiencia
Leer y publicar en la comunidad de PowerApps, donde todos los usuarios de PowerApps pueden publicar una
pregunta y otros usuarios responderla. Antes de publicar una pregunta, busque en la comunidad para ver si ya
se ha respondido.
Envíe una idea sobre cómo podemos mejorar PowerApps en PowerApps Ideas (Ideas para PowerApps).
Cree una incidencia de soporte técnico para obtener asistencia técnica. Si es un administrador de PowerApps
de la organización, también puede abrir una incidencia de soporte técnico en el Centro de administración de
PowerApps.
Pasos siguientes
Registro para obtener una licencia gratuita.
Inicio de sesión en PowerApps.
Abrir una aplicación de ejemplo.
Requisitos del sistema, límites y valores de
configuración para aplicaciones de lienzo
27/11/2019 • 9 minutes to read
Este tema contiene los requisitos de plataforma de dispositivo y explorador web, así como los límites y los valores
de configuración para PowerApps.
Windows 8.1 o posterior (solo para PC) Windows 10 Fall Creators Update con al menos 8 GB de RAM
NOTE
Actualmente no se admiten nuevas características en la plataforma de Windows para la aplicación de PowerApps. En esta
plataforma no están disponibles características como la opción de Common Data Service mejorada y el acceso de invitado.
Se recomienda usar un reproductor Web en Windows para aprovechar todo el conjunto de funcionalidades. Las
actualizaciones de la plataforma de aplicaciones de PowerApps para Windows se anunciarán en el futuro.
Límites de solicitudes
Estos límites se aplican a todas y cada una de las solicitudes de salida:
NOMBRE LÍMITE
Número de reintentos 4
NOTE
El valor de reintento puede variar. Para ciertas condiciones de error, no es necesario volver a intentarlo.
Direcciones IP
Las solicitudes de PowerApps usan direcciones IP que dependen de la región del entorno en que se encuentra la
aplicación. No publicamos los nombres de dominio completos disponibles para los escenarios de PowerApps.
Las llamadas realizadas desde una API conectada a través de una aplicación (por ejemplo, la API de SQL o la API
de SharePoint) proceden de la dirección IP que se especificará más adelante en este mismo tema.
Estas direcciones se deben usar si, por ejemplo, se deben incluir en la lista de direcciones IP permitidas de una
instancia de Azure SQL Database.
IMPORTANT
Si tiene configuraciones existentes, actualícelas tan pronto como sea posible antes del 30 de septiembre de 2018 para que
incluyan y coincidan con las direcciones IP de esta lista para las regiones donde existen las aplicaciones de PowerApps.
REGIÓN IP DE SALIDA
Servicios requeridos
Esta lista identifica todos los servicios con los que PowerApps Studio se comunica y sus usos. La red no debe
bloquear estos servicios.
management.azure.com https RP
NOTE
Si usa una VPN, se debe configurar para excluir localhost de la tunelización para PowerApps Mobile.
Límites de tamaño
Puede encontrar información sobre los límites de tamaño en el texto, los hipervínculos, las imágenes y los
elementos multimedia en los tipos de datos.
NOTE
La deshabilitación del plan por aplicación está actualmente disponible solo para las aplicaciones de canvas. Las aplicaciones
controladas por modelos y los portales tendrán esta capacidad en el futuro.
La capacidad de controlar la asignación por plan de aplicación para una aplicación solo está disponible para las aplicaciones
que se encuentran en un entorno que tiene planes por aplicación asignados en el centro de administración de la plataforma
de energía.
Configuración de la aplicación
Asignación de paso
Métodos abreviados de teclado para aplicaciones de
Canvas
07/10/2019 • 4 minutes to read
NOTE
Los métodos abreviados pueden variar en función de la distribución del teclado.
Filesystem
CONTEX TUAL ACTUAR
Cable
CONTEX TUAL ACTUAR
Modifica
CONTEX TUAL ACTUAR
Ctrl + X Límite.
Ctrl + C Copiar.
CONTEX TUAL ACTUAR
Ctrl + V Copiar.
Vista previa
CONTEX TUAL ACTUAR
Lienzo
CONTEX TUAL ACTUAR
Vista de árbol
NOTE
Estos métodos abreviados requieren que el panel de vista de árbol tenga el foco.
CONTEX TUAL ACTUAR
Cambiar el tamaño
CONTEX TUAL ACTUAR
Formato de texto
CONTEX TUAL ACTUAR
Distinta
CONTEX TUAL ACTUAR
Mayús + F10 Abra un menú contextual en, por ejemplo, la vista de árbol.
Alt o Ctrl + Mayús Oculte los elementos de diseño para que pueda interactuar
con los controles como si la aplicación estuviera en ejecución.
Creación de una aplicación de lienzo a partir de un
ejemplo en PowerApps
05/11/2019 • 4 minutes to read
En este tutorial, creará una aplicación de lienzo a partir de un ejemplo para poder explorar las posibilidades de
diseño y detectar los conceptos que se pueden aplicar a medida que desarrolla aplicaciones de lienzo propias.
En cada ejemplo se presenta un escenario real pero se usan datos ficticios. Para almacenar estos datos, necesitará
una cuenta de almacenamiento en la nube, como Dropbox, Google Drive o OneDrive.
Si no tiene una licencia para PowerApps, puede registrarse gratuitamente.
3. Pulse o haga clic en el icono del teléfono para crear una versión de la aplicación para dispositivos móviles
(o deje seleccionado el icono de la tableta) y, después, pulse o haga clic en Crear esta aplicación.
4. En PowerApps Studio, pulse o haga clic en Make my own app (Crear mi propia aplicación) en el banner
situado cerca de la parte superior central de la pantalla.
5. Especifique la cuenta de almacenamiento en la nube donde quiere almacenar los datos ficticios para esta
aplicación y, después, proporcione las credenciales para esa cuenta.
6. Para abrir el modo de vista previa, presione F5 (o haga clic o pulse en el icono de reproducción situado
cerca de la esquina superior derecha).
En cada ejemplo se representa un escenario diferente con una variedad de pantallas y otros controles. Si
abrió el ejemplo Programa de estimación de costos, puede usar la aplicación predeterminada para realizar
estas tareas:
Crear una cita para estimar el costo de la instalación de un producto para suelos en una sala de un
tamaño determinado.
Capture detalles como la dirección y los metros cuadrados, y calcule el precio en función de los
descuentos y los tipos impositivos.
Filtre una lista de citas para que se muestren solo aquellas para las que se han creado las estimaciones,
o aquellas para las que no se han creado, o todas las citas.
7. Cuando termine de explorar la aplicación, para cerrar el modo de vista previa, presione Esc (o pulse o haga
clic en el icono Cerrar situado cerca de la esquina superior derecha, debajo de la barra de título de
PowerApps).
Guardar la aplicación
1. Cerca de la esquina superior izquierda, pulse o haga clic en la pestaña Archivo.
2. En la página Configuración de la aplicación, revise la configuración predeterminada.
Pasos siguientes
En este tutorial, ha creado su propia aplicación en función de un ejemplo en el que se usan datos ficticios
almacenados en la cuenta en la nube. Para obtener más información sobre cómo crear una aplicación, también
puede generar automáticamente una aplicación basada en datos de otros orígenes como Common Data Service,
SharePoint o Excel.
Generar una aplicación
Instalar y configurar el ejemplo de informe de gastos
en aplicaciones de lienzo en PowerApps
05/11/2019 • 19 minutes to read
Instrucciones paso a paso para instalar y configurar el ejemplo de informe de gastos. También puede obtener una
vista previa de la aplicación de ejemplo aquí.
Tiempo estimado para completar estos pasos: 10-15 minutos
TIP
Vea este vídeo para una demostración sobre cómo usar la aplicación de ejemplo de informe de gastos.
Realice un seguimiento de los informes de gastos desde el envío hasta la aprobación. Los elementos de línea de
recuento como gastos individuales se acumulan y envían para su aprobación cuando están listos. Esta aplicación
requiere un mínimo de configuración para personalizarla.
TIP
Vea este vídeo para aprender a usar el ejemplo de informe de gastos.
Requisitos previos
Inicie sesión en PowerApps.
IMPORTANT
Si elige otro nombre para la lista, anótelo, ya que tendrá que sustituirlo en todos los casos por Gastos durante el
proceso de instalación y configuración.
Crear conexiones
1. En un explorador Web, vaya a make.powerapps.com.
2. Inicie sesión con las mismas credenciales que utilizó para suscribirse.
3. En el menú de la izquierda, seleccione Conexiones.
Creación de una conexión de aprobaciones
1. Haga clic en + Nueva conexión.
2. En el cuadro de búsqueda Buscar, escriba Aprobaciones.
3. Seleccione Aprobaciones en la lista.
4. Haga clic en Crear.
Creación de una conexión de Office 365 Outlook
1. Haga clic en + Nueva conexión.
2. En el cuadro de búsqueda Buscar, escriba Office 365 Outlook.
3. Seleccione Office 365 Outlook en la lista.
4. Haga clic en Crear.
5. En la ventana emergente, seleccione la cuenta con la que inició sesión.
Creación una conexión de SharePoint
1. Haga clic en + Nueva conexión.
2. En el cuadro de texto Buscar, escriba SharePoint.
3. Seleccione SharePoint en la lista.
4. Haga clic en Crear.
5. En la ventana emergente, seleccione la cuenta con la que inició sesión.
Importación de la aplicación
1. En un explorador web, vaya a https://make.powerapps.com.
2. Inicie sesión con las mismas credenciales que utilizó para suscribirse.
3. En la barra de navegación izquierda, seleccione Aplicaciones e Importar paquete (versión preliminar) .
4. Seleccione Cargar y, después, el paquete que ha descargado anteriormente.
5. Para los tipos de recurso Aplicación y Flujo, establezca IMPORTAR CONFIGURACIÓN en Crear como
nueva.
6. Para las conexiones SharePoint y Outlook, establezca IMPORTAR CONFIGURACIÓN en Seleccionar
durante la importación.
9. Seleccione Guardar.
10. Seleccione el icono rojo correspondiente a la conexión de aprobación.
11. En la lista de conexiones, seleccione el elemento que tenga su nombre de usuario.
TIP
Cuando haya terminado, tendrá un aspecto similar al siguiente:
16. Seleccione Importar y espere hasta que finalice el proceso.
TIP
Si el sitio no aparece en la lista, escriba o pegue la dirección URL al sitio de SharePoint en el cuadro de texto y
seleccione Ir.
TIP
Si el sitio no aparece en la lista, escriba o pegue la dirección URL al sitio de SharePoint en el cuadro de texto y
seleccione Ir.
TIP
No es necesario que se escriban manualmente, se pueden seleccionar en las listas desplegables.
7. Expanda la Condición.
8. Expanda la sección En caso positivo.
9. Expanda la acción Cambiar estado de elemento a Aprobado.
10. Modifique los campos Dirección del sitio y Nombre de lista para que coincidan con la lista Gastos que
ha creado en SharePoint.
TIP
No es necesario que se escriban manualmente, se pueden seleccionar en las listas desplegables.
TIP
No es necesario que se escriban manualmente, se pueden seleccionar en las listas desplegables.
Reproducir la aplicación
1. En el explorador web, seleccione Aplicaciones.
2. Seleccione los puntos suspensivos (...) situados junto a la aplicación de informe de gastos y seleccione Abrir.
Pasos siguientes
Personalizar un formulario de lista de SharePoint
Agregar y configurar un control
Editar y administrar permisos para una lista de SharePoint o una biblioteca
Instalar y configurar el ejemplo de servicio de
asistencia de PowerApps
05/11/2019 • 14 minutes to read
Instrucciones paso a paso para instalar y configurar en PowerApps el ejemplo de servicio de asistencia en
aplicaciones de lienzo.
Tiempo estimado para completar estos pasos: 10-15 minutos
TIP
En este vídeo puede ver una demostración de este proceso.
TIP
Vea este vídeo para aprender a usar el ejemplo de Help Desk de PowerApps.
Requisitos previos
Inicie sesión en PowerApps.
Debe tener una licencia de SharePoint Online válida y permiso para crear listas.
Crear la lista de SharePoint de Help Desk
Esta lista almacena los vales del servicio Help Desk.
1. Abra un explorador web y vaya a https://admin.microsoft.com.
2. Inicie sesión con una cuenta que tenga permiso para crear listas de SharePoint.
3. Desplácese a la colección de sitios en la que quiera alojar la lista de Help Desk.
4. Haga clic en el icono de engranaje situado en la parte superior derecha de la página web.
5. Haga clic en Agregar una aplicación.
6. En el cuadro de texto Buscar una aplicación, escriba Personalizado.
7. Haga clic en el icono de búsqueda.
8. Haga clic en la aplicación Lista personalizada.
9. En el cuadro de texto Nombre, escriba HelpDesk.
IMPORTANT
Si elige otro nombre para la lista, asegúrese de anotarlo ya que tendrá que sustituirlo en todos los casos por
HelpDesk durante el proceso de instalación y configuración.
Descarga de la aplicación
1. Descargue el paquete PowerApps y guárdelo en su equipo.
Crear conexiones
1. En un explorador Web, vaya a make.powerapps.com.
2. Inicie sesión con las mismas credenciales que utilizó para suscribirse.
3. En el menú de la izquierda, seleccione Datos y luego Conexiones.
Crear una conexión de Outlook de Office 365
1. Haga clic en + Nueva conexión.
2. En el cuadro de búsqueda Buscar, escriba Office 365 Outlook.
3. Seleccione Office 365 Outlook en la lista.
4. Haga clic en Crear.
5. En la ventana emergente, seleccione la cuenta con la que inició sesión.
Crear una conexión de SharePoint
1. Haga clic en + Nueva conexión.
2. En el cuadro de texto Buscar, escriba SharePoint.
3. Seleccione SharePoint en la lista.
4. Haga clic en Crear.
5. En la ventana emergente, seleccione la cuenta con la que inició sesión.
Crear una conexión a Usuarios de Office 365
1. Haga clic en + Nueva conexión.
2. En el cuadro de búsqueda Buscar, escriba Usuarios de Office 365.
3. Seleccione Usuarios de Office 365 en la lista.
4. Haga clic en Crear.
5. En la ventana emergente, seleccione la cuenta con la que inició sesión.
Importación de la aplicación
1. En un explorador web, vaya a https://make.powerapps.com.
2. Inicie sesión con las mismas credenciales que utilizó para suscribirse.
3. En el menú de la izquierda, seleccione Aplicaciones.
4. Haga clic en Importar paquete (versión preliminar) .
5. Haga clic en el botón Cargar y seleccione el paquete de PowerApps que descargó en pasos anteriores.
6. Para los tipos de recurso Aplicación y Flujo, establezca IMPORTAR CONFIGURACIÓN en Crear como
nueva.
7. Para las conexiones SharePoint y Outlook, establezca IMPORTAR CONFIGURACIÓN en Seleccionar
durante la importación.
8. Haga clic en el icono rojo correspondiente a la conexión de SharePoint.
9. En la lista de conexiones, haga clic en el elemento que tenga su nombre de usuario.
TIP
Cuando haya terminado, tendrá un aspecto similar al siguiente.
TIP
Si el sitio no aparece en la lista, escriba o pegue la dirección URL al sitio de SharePoint en el cuadro de texto y
seleccione Ir.
5. Seleccione Archivo > Guardar > Publicar > Publicar esta versión.
TIP
No es necesario que se escriban manualmente, se pueden elegir en las listas desplegables.
7. Expanda Cambiar.
8. Expanda la caja SIN INICIAR.
9. Expanda la acción Caso no iniciado.
10. Cambie el campo Para de modo que coincida con la dirección de correo electrónico del administrador de
Help Desk.
11. Haga clic en Actualizar flujo.
Reproducir la aplicación
1. En el explorador web, haga clic en Aplicaciones.
2. Haga clic en los puntos suspensivos (...) junto a la aplicación del Departamento de soporte técnico.
3. Haga clic en Abrir.
TIP
Vea este vídeo para aprender a usar el ejemplo de Help Desk de PowerApps.
Pasos siguientes
Personalizar un formulario de lista de SharePoint
Agregar y configurar un control
Editar y administrar permisos para una lista de SharePoint o una biblioteca
Configuración y más información sobre la plantilla de
ejemplo Meeting Capture en PowerApps
30/10/2019 • 2 minutes to read
Información general
En PowerApps, la plantilla de ejemplo Meeting Capture es una herramienta todo en uno para capturar información
de las reuniones a medida que se producen. Si ejecuta la aplicación, puede ver los detalles de la reunión, capturar
notas, tomar fotografías de pizarras, dibujar diagramas y asignar tareas. También puede exportar todos estos
elementos, enviarlos a todos los asistentes y programar reuniones de seguimiento rápida y fácilmente.
Pasos siguientes
Referencia sobre fórmulas
Referencia sobre controles
Generar una aplicación de lienzo desde Common
Data Service en PowerApps
05/11/2019 • 4 minutes to read
En PowerApps, genere automáticamente una aplicación de lienzo basada en una lista de cuentas de ejemplo en
Common Data Service. En esta aplicación, puede examinar todas las cuentas, mostrar detalles de una sola
cuenta y crear, actualizar o eliminar una cuenta.
Si no está registrado para PowerApps, regístrese gratuitamente antes de empezar.
Requisitos previos
Para seguir esta guía de inicio rápido, debe tener asignado el rol de seguridad creador de entorno y debe
cambiar a un entorno en el que se haya creado una base de datos de Common Data Service, contenga datos y
permita actualizaciones. Si no existe ningún entorno de este tipo y tiene privilegios administrativos, puede
crear un entorno que cumpla este requisito.
Guardar la aplicación
Probablemente le interesará realizar más cambios antes de usar esta aplicación o compartirla con otros
usuarios. Como procedimiento recomendado, guarde el trabajo realizado hasta el momento antes de continuar.
1. Cerca de la esquina superior izquierda, seleccione la pestaña Archivo.
2. En la página Configuración de la aplicación, establezca el nombre de la aplicación en AppGen,
cambie el color de fondo a rojo profundo y el icono a una marca de verificación.
3. Cerca del borde izquierdo, seleccione Guardar y, a continuación, en la esquina inferior izquierda,
seleccione Guardar.
Pasos siguientes
En esta guía de inicio rápido, ha creado una aplicación para administrar datos de ejemplo sobre cuentas en
Common Data Service. En el paso siguiente, personalizará la galería y otros elementos de la pantalla de
exploración predeterminada para que se ajuste mejor a sus necesidades.
Personalización de una galería
Generación de una aplicación de lienzo en
PowerApps a partir de una lista de SharePoint
05/11/2019 • 6 minutes to read
En este tema utilizará PowerApps para generar automáticamente una aplicación de lienzo basada en elementos
de una lista de SharePoint. Puede generar la aplicación en PowerApps o SharePoint Online. En PowerApps, puede
generar la aplicación a partir de una lista en un sitio de SharePoint local si se conecta al sitio a través de una
puerta de enlace de datos.
La aplicación que se genere contendrá tres pantallas:
En la pantalla de exploración, puede desplazarse por todos los elementos de la lista.
En la pantalla de detalles, puede mostrar toda la información sobre un solo elemento de la lista.
En la pantalla de edición, puede crear un elemento o actualizar información sobre un elemento existente.
Puede aplicar los conceptos y las técnicas de este tema a cualquier lista de SharePoint. Para seguir exactamente
los pasos:
1. En un sitio de SharePoint Online, cree una lista llamada SimpleApp.
2. En la columna de nombre Título, cree entradas para Vainilla, Chocolate y Fresa.
Los principios para generar una aplicación no cambiarán aunque cree una lista mucho más compleja con muchas
columnas de diversos tipos tales como texto, fechas, números y moneda.
IMPORTANT
PowerApps no admite todos los tipos de datos de SharePoint. Para más información, consulte Problemas conocidos.
5. En Conectar a un sitio de SharePoint, escriba o pegue la dirección URL para el sitio de SharePoint
Online y, después, haga clic en Ir.
Incluya solo la dirección URL del sitio (no el nombre de la lista), como en este ejemplo:
https://microsoft.sharepoint.com/teams/Contoso
Aparece una nueva pestaña en el explorador web que muestra la aplicación generada automáticamente
basada en la lista de SharePoint. La aplicación aparece en PowerApps Studio, donde se puede personalizar.
3. (opcional) Actualice la pestaña del explorador para su lista de SharePoint (seleccionándola y presionando,
por ejemplo, F5), y luego siga estos pasos para ejecutar o administrar la aplicación:
Para ejecutar la aplicación (en una pestaña independiente del explorador), seleccione Abrir.
Para permitir que otros usuarios de la organización ejecuten la aplicación, seleccione Hacer pública
esta vista.
Para permitir que otros usuarios editen la aplicación, compártala con permisos Puede editar.
Para quitar la vista de SharePoint, seleccione Quitar esta vista.
Para quitar la aplicación de PowerApps, elimine la aplicación.
NOTE
Las aplicaciones creadas desde la lista de SharePoint no se muestran actualmente en PowerApps Mobile.
Pasos siguientes
En este tema ha creado una aplicación para administrar datos en una lista de SharePoint. El siguiente paso es
generar una aplicación a partir de una lista más compleja y, después, personalizar la aplicación (empezando por la
pantalla de exploración) para que se ajuste mejor a las necesidades.
Personalizar una pantalla de exploración predeterminada
Generar una aplicación desde Excel en PowerApps
05/11/2019 • 4 minutes to read
En este tema, generará automáticamente su primera aplicación de lienzo en PowerApps con los datos de una
tabla de Excel. Podrá seleccionar un archivo de Excel, generar una aplicación y, después, ejecutar la aplicación
que genere. En todas las aplicaciones generadas se incluyen pantallas para examinar los registros, mostrar
detalles de los registros y crear o actualizar registros. Mediante la generación de una aplicación, se puede
obtener rápidamente una aplicación en funcionamiento con datos de Excel y, después, se puede personalizar
para ajustarla mejor a las necesidades.
El archivo de Excel debe estar en una cuenta de almacenamiento en la nube, como OneDrive, Google Drive o
Dropbox. En este tema se usa OneDrive para la Empresa.
Si no tiene una licencia para PowerApps, puede registrarse gratuitamente.
Requisitos previos
Para seguir este tema con exactitud, descargue el archivo Flooring Estimates en Excel y guárdelo en la cuenta
de almacenamiento en la nube.
IMPORTANT
Puede usar su propio archivo de Excel, pero los datos deberán tener formato de tabla. Para obtener más información, vea
Dar formato a una tabla.
Generar la aplicación
1. Inicie sesión en PowerApps.
2. En Cree su propia aplicación, mantenga el puntero sobre Iniciar a partir de datos y seleccione Crear
esta aplicación.
3. En Comenzar con los datos, pulse o haga clic en Diseño de teléfono en el icono de la cuenta de
almacenamiento en la nube.
4. Si se le solicita, pulse o haga clic en Conectar y proporcione las credenciales para esa cuenta.
5. En Choose an Excel file (Elegir un archivo de Excel), vaya a FlooringEstimates.xlsx y haga clic o
pulse en él.
6. En Elegir una tabla, haga clic o pulse en FlooringEstimates y, a continuación, haga clic o pulse
Conectar.
Ejecutar la aplicación
1. Para abrir la vista previa, presione F5 (o haga clic o pulse en el icono de reproducción situado cerca de la
esquina superior derecha).
2. Alterne el criterio de ordenación pulsando o haciendo clic en el icono Ordenar cerca de la esquina
superior derecha.
3. Para filtrar la lista, escriba o pegue uno o varios caracteres en el cuadro de búsqueda.
Por ejemplo, escriba o pegue miel para mostrar el único registro para el que aparece esa cadena en el
nombre, la categoría o la información general del producto.
4. Agregar un registro:
a. Seleccione el icono de signo más.
b. Agregue los datos que desee y, a continuación, seleccione el icono de marca de verificación para
guardar los cambios.
5. Editar un registro:
a. Seleccione la flecha del registro que desea editar.
c. Actualice uno o varios campos y, a continuación, seleccione el icono de marca de verificación para
guardar los cambios.
Como alternativa, seleccione el icono Cancelar para descartar los cambios.
6. Eliminar un registro:
a. Seleccione la flecha siguiente para el registro que desea eliminar.
Pasos siguientes
Personalice la pantalla de exploración predeterminada para que se ajuste mejor a sus necesidades. Por ejemplo,
puede ordenar y filtrar la lista por nombre de producto, no por categoría o por introducción.
Personalizar una pantalla de exploración predeterminada.
Vista previa: cree una aplicación de lienzo desde
Azure SQL Database
05/11/2019 • 9 minutes to read
IMPORTANT
Se trata de una característica de vista previa.
Una característica de vista previa puede tener una disponibilidad limitada y una funcionalidad restringida. Una
característica de vista previa está disponible antes de una versión oficial para que los clientes puedan obtener acceso
temprano y proporcionar comentarios.
Requisitos previos
El explorador debe tener habilitados los elementos emergentes.
Necesita una suscripción de Azure.
Si no tiene una suscripción a Azure, cree una cuenta gratuita.
Necesita acceso a un SQL Database existente.
Si no tiene un SQL Database existente, cree una nueva base de datos.
Debe permitir que las direcciones IP de la región de PowerApps o los servicios de Azure tengan acceso a SQL
Database en la configuración del firewall.
La tabla SQL Database debe tener al menos una columna con el tipo de datos texto.
Necesita una licencia de PowerApps válida o regístrese para obtener una licencia de prueba de 30 días.
4. Escriba un nombre para la aplicación como "inspección del sitio", "recaudador" o "seguimiento de
presupuesto".
5. Escriba una contraseña de autenticación de SQL y, si es necesario, cambie el nombre de usuario.
6. Seleccione una tabla de la lista desplegable que desea usar para crear la aplicación.
7. Seleccione Crear.
El PowerApps Studio se abre en una nueva pestaña. Si el elemento emergente está bloqueado, actualice el
explorador para permitir elementos emergentes e inténtelo de nuevo. Una vez creada, tendrá una aplicación
de tres páginas con datos del SQL Database.
Acceder a la aplicación
Para acceder a la aplicación creada de nuevo, vaya a make.powerapps.com.
IMPORTANT
Si deja el control establecido en activado, el servidor de Azure SQL Database acepta la comunicación desde cualquier subred
dentro del límite de Azure, que se origina en una de las direcciones IP que se reconocen como las que se encuentran dentro
de los intervalos definidos para los centros de datos de Azure. Si se mantiene el control establecido en ON, podría ser un
acceso excesivo desde un punto de vista de seguridad.
Límite
El nombre de la aplicación solo puede incluir letras, números, guiones, paréntesis o caracteres de subrayado.
PowerApps requiere la autenticación de SQL para conectarse a SQL Database.
Puede seleccionar solo una tabla mientras crea una aplicación de lienzo desde el Azure Portal. Personalice la
aplicación después de crear la aplicación si desea agregar más tablas y otros orígenes de datos agregando más
conexiones de datos.
PowerApps no puede conectarse a SQL Database mediante puntos de conexión de servicio de red virtual. Para
obtener más información, consulte permitir el acceso a través de puntos de conexión de servicio de red virtual.
Otras consideraciones
El acceso de la aplicación a SQL Database se comparte implícitamente con todos los usuarios con los que se
comparte esta aplicación . Asegúrese de que las credenciales de autenticación de SQL tienen el acceso
adecuado para leer y escribir datos.
Por ejemplo, puede crear una aplicación independiente que se conecte al mismo SQL Database con distintas
credenciales de autenticación de SQL para separar el acceso de lectura y escritura.
Revise los límites de limitación, las funciones y operaciones que se deben delegar, los problemas conocidos y las
limitaciones del conector de SQL Database que usa esta característica para las consideraciones de rendimiento.
Cree una aplicación a partir de make.powerapps.com cuando necesite crear una aplicación para un entorno no
predeterminado y una región distinta para el inquilino con datos de SQL Database.
Pasos siguientes
En esta guía de inicio rápido, ha creado una aplicación con datos de su SQL Database mediante el Azure Portal.
Como paso siguiente, personalice la aplicación con controles, imágenes y lógica para satisfacer mejor sus
necesidades empresariales.
Diseño de la interfaz de la aplicación Canvas en PowerApps
Vea también
Compartir una aplicación de lienzo en PowerApps
Incorporación de una conexión de datos a una aplicación de lienzo en PowerApps
Microsoft Learn: personalización de una aplicación de lienzo en PowerApps
Tutorial: Personalización de una galería en
PowerApps
05/11/2019 • 8 minutes to read
En este tutorial, podrá personalizar una lista de registros, denominada galería, y realizar otros cambios en una
aplicación que se generó automáticamente en Microsoft PowerApps. Los usuarios pueden administrar datos de
la aplicación incluso si no realiza estos cambios, pero la aplicación será más fácil de usar si se personaliza de
acuerdo con las necesidades de su organización.
Por ejemplo, la galería para este tutorial coincide con este gráfico de forma predeterminada. La dirección de
correo electrónico destaca más que otros tipos de datos, y los usuarios pueden ordenar y filtrar la galería en
base a texto en dicha dirección:
Sin embargo, los usuarios podrían estar más interesados en el nombre de cuenta más que en la dirección de
correo electrónico, por lo que deberá volver a configurar la galería para que resalte, ordene y filtre en función de
los datos clave de su organización. Además, podrá cambiar el título de la pantalla predeterminada para
diferenciarlo de las otras pantallas en la aplicación.
También agregará una barra de desplazamiento para que los usuarios que no tienen pantallas táctiles o ruedas
de mouse puedan examinar toda la galería.
Cambio del diseño de la galería
Cambio del tipo de datos que aparecen en la galería
Cambio de las columnas que los usuarios pueden utilizar para ordenar y buscar los datos
Cambio del título de pantalla
Mostrar una barra de desplazamiento
Este tutorial comienza con una aplicación que se generó a partir de un origen de datos específico. Pero se
aplican los mismos conceptos a cualquier aplicación que se genere en PowerApps, sea desde una lista de
SharePoint, una tabla de Excel o cualquier otro origen de datos.
Si no está registrado para PowerApps, regístrese gratuitamente antes de empezar.
Requisitos previos
Genere una aplicación a partir de la entidad accounts de Common Data Service.
Cambiar el diseño
1. En el panel de navegación izquierdo, seleccione BrowseGallery1.
Cuando se haya seleccionado la galería, aparecerá un cuadro de selección con indicadores alrededor.
2. En la pestaña propiedades del panel derecho, abra la lista de opciones en diseñoy, a continuación,
seleccione la opción que muestra solo un título.
3. Junto a campos, seleccione Editary, a continuación, seleccione la flecha hacia abajo del cuadro título.
El nombre de este control finalizará en un valor numérico, como Título1, pero el número puede diferir
en función de otras acciones que haya realizado.
4. En la lista de opciones, seleccione nombre de cuentay, a continuación, cierre el panel datos .
La galería muestra el nombre de cada cuenta.
Cambiar el orden y buscar en columnas
1. Seleccione la galería como se describe en la sección anterior.
2. Cerca de la esquina superior izquierda, confirme que la lista de propiedades muestra Elementos.
El valor de esta propiedad aparece en la barra de fórmulas. Establezca esta propiedad para especificar no
solo el origen de datos de la galería, sino también las columnas mediante las cuales los usuarios pueden
ordenar y buscar los datos.
3. Copie esta fórmula y, a continuación, péguela en la barra de fórmulas.
SortByColumns(Search(Accounts; TextSearchBox1.Text; "name"); "name"; If(SortDescending1; Descending;
Ascending))
2. Cerca de la esquina superior derecha de la pantalla de exploración, seleccione el icono de ordenación una
o varias veces para cambiar el orden alfabético de ordenación entre ascendente y descendente.
3. En el cuadro de búsqueda, escriba k para mostrar solo los nombres que contengan la letra que ha escrito.
4. Quite todo el texto de la barra de búsqueda y cierre el modo de vista previa; para ello, presione Esc (o
seleccione el icono de cerrar cerca de la esquina superior derecha).
2. Asegúrese de que la lista de propiedades muestra Texto y luego, en la barra de fórmulas, reemplace
Cuentas por Examinar (manteniendo las comillas dobles).
Pasos siguientes
En este tutorial, ha personalizado la galería y realizado otros cambios en la pantalla predeterminada para
examinar registros en una aplicación generada. También puede personalizar las pantallas predeterminadas para
mostrar detalles y crear o actualizar cuentas. Como la pantalla de exploración contiene una galería, las otras dos
pantallas en la aplicación contienen formularios. Se pueden cambiar, por ejemplo, qué tipos de datos de los
formularios se muestran y en qué orden.
Personalizar formularios
Personalizar un formulario de aplicación de lienzo en
PowerApps
05/11/2019 • 5 minutes to read
En una aplicación de lienzo, personalice un control Mostrar formulario y un control Editar formulario para que
muestren los datos más importantes y en el orden más intuitivo para ayudar a los usuarios a comprender y
actualizar los datos fácilmente.
Cada formulario consta de una o más tarjetas, cada una de las cuales muestra datos de una columna determinada
del origen de datos. Siga los pasos descritos en este tema para especificar qué tarjetas aparecen en un formulario
y subir o bajar las tarjetas dentro de un formulario.
Si no está familiarizado con Canvas-PPS, consulte ¿Qué son las aplicaciones de lienzo?.
Requisitos previos
Generar una aplicación desde Common Data Service y, después, personalizar la galería en esa aplicación.
3. En la pestaña Propiedades del panel del lateral derecho, seleccione Editar campos para abrir el panel
Campos.
4. Oculte un campo, como la Descripción, manteniendo el puntero sobre él, seleccionando los puntos
suspensivos (...) que aparece y, a continuación, seleccionando quitar.
5. Para mostrar un campo, seleccione Agregar campo, escriba o pegue las primeras letras del nombre del
campo en el cuadro de búsqueda, active la casilla del campo y, a continuación, seleccione Agregar.
Ejecutar la aplicación
1. En la barra de navegación izquierda, escriba o pegue br en la barra de búsqueda y, a continuación,
seleccione BrowseScreen1 para seleccionarlo.
2. Para abrir el modo de vista previa, presione F5 (o seleccione el icono de vista previa situado cerca de la
esquina superior derecha).
3. En la esquina superior derecha, seleccione el icono de signo más para agregar un registro en EditScreen1.
4. Agregue los datos que desee y, a continuación, seleccione el icono de marca de verificación en la esquina
superior derecha para guardar los cambios y volver a BrowseScreen1.
de registro
5. Seleccione la flecha del elemento que acaba de crear para mostrar los detalles de ese elemento en
DetailScreen1.
6. En la esquina superior derecha, seleccione el icono de edición para actualizar el registro en EditScreen1.
de registro
7. Cambie la información de uno o varios campos y, a continuación, active la marca de verificación situada en
la esquina superior derecha para guardar los cambios y volver a DetailScreen1.
8. Cerca de la esquina superior derecha, seleccione el icono de la papelera para eliminar el registro que acaba
de actualizar y volver a BrowseScreen1.
9. Cierre el modo de vista previa presionando ESC (o seleccionando el icono cerrar situado cerca de la
esquina superior izquierda).
Pasos siguientes
Guardar y publicar la aplicación.
Personalizar una tarjeta en la aplicación.
Personalización de una tarjeta en una aplicación de
lienzo
23/11/2019 • 2 minutes to read
Realice una personalización básica (sin desbloquear una tarjeta), por ejemplo, cambiando su control. Realizar una
personalización avanzada mediante el desbloqueo de la tarjeta y, por ejemplo, agregar un control que no está
disponible para esa tarjeta de forma predeterminada.
Para obtener información general, consulte Introducción a las tarjetas de datos.
Requisitos previos
Aprenda a agregar y configurar controles.
Puede revisar este tema solo para ver los conceptos generales, o bien puede seguirlo paso a paso si
primero completa los procedimientos de estos temas:
1. Generar una aplicación.
2. Personalizar su galería.
3. Personalizar sus formularios.
2. En la pestaña Opciones avanzadas del panel derecho, seleccione el icono de candado para desbloquear la
tarjeta.
Pasos siguientes
Ahora que tiene un conocimiento básico de cómo generar una aplicación y personalizar una galería, un formulario
y una tarjeta, puede generar su propia aplicación desde cero.
Creación de una aplicación de lienzo desde cero
con Common Data Service
05/11/2019 • 8 minutes to read
Compile una aplicación de lienzo para administrar datos almacenados en Common Data Service mediante
entidades estándar (que están integradas), entidades personalizadas (creadas por la organización) o ambas.
Al compilar una aplicación desde Common Data Service, no es necesario crear una conexión desde
PowerApps, como ocurre con orígenes de datos como SharePoint, Dynamics 365 o Salesforce. Solo deberá
especificar las entidades que quiere mostrar o administrar en la aplicación.
Requisitos previos
Antes de crear una aplicación desde cero, familiarícese con los conceptos básicos de PowerApps mediante
la generación de una aplicación y, después, personalice la galería, formularios y tarjetas de esa aplicación.
Cambie a un entorno en el que se haya creado una base de datos con datos de ejemplo. Si tiene una
licencia apropiada, puede crear un entorno para satisfacer esta necesidad.
Para crear una aplicación, debe estar asignado al rol de seguridad Creador de entorno.
3. Establezca el diseño de la galería para que solo se muestre el nombre de cada cuenta y configure la
barra de título para mostrar la palabra Examinar, como se describe en Personalizar una galería.
4. En la barra de navegación izquierda, pase el mouse sobre Screen1, seleccione el botón de puntos
suspensivos (...) y seleccione Eliminar.
5. En la barra de navegación izquierda, pase el mouse sobre Screen2, seleccione el botón de puntos
suspensivos (...) y seleccione Cambiar nombre.
6. Escribe o pegue BrowseScreen y, después, cambie el nombre de la galería en esa pantalla por
BrowseGallery.
3. En la pestaña propiedades del panel derecho, seleccione Editar campos para abrir el panel campos .
4. Seleccione Agregar campo y seleccione las casillas para estos campos:
Nombre de cuenta
Dirección 1: calle 1
Dirección 1: City
Dirección 1: código postal
Número de empleados
Ingresos anuales
NOTE
Fuera de este escenario, puede crear un campo personalizado seleccionando nuevo campo, proporcionando la
información necesaria y, a continuación, seleccionando listo. Más información: crear un campo.
5. Seleccione Agregar.
6. Establezca la propiedad Text de la barra de título para que muestre Crear/Editar.
La pantalla refleja los cambios.
Configurar iconos
1. En BrowseScreen, establezca la propiedad OnSelect del icono circular de la parte superior de la
pantalla en esta fórmula:
Refresh(Accounts)
3. Establezca la propiedad OnSelect de la primera flecha que apunta a la derecha en esta fórmula:
EditForm(EditForm1);; Navigate(FormScreen; ScreenTransition.None)
Probar la aplicación
1. En la barra de navegación izquierda, seleccione BrowseScreen y abra el modo de vista previa
presionando F5 (o seleccionando el icono de reproducción situado en la esquina superior derecha).
2. Alterne la lista entre los criterios de ordenación ascendente y descendente y fíltrela por uno o más
caracteres en el nombre de cuenta.
3. Agregue una cuenta, modifíquela, empiece a actualizarla pero cancele los cambios y, después, elimine
la cuenta.
Pasos siguientes
Vincule esta aplicación a una solución para poder, por ejemplo, implementarla en un entorno distinto o
publicarla en AppSource.
Abra una o varias aplicaciones de ejemplo y explore los distintos tipos de aplicaciones que se pueden crear.
Creación de una aplicación de lienzo desde cero a
partir de datos de Excel
05/11/2019 • 15 minutes to read
Cree su propia aplicación de lienzo desde cero a partir de datos de Excel, en formato de tabla, y agregue luego
datos de otros orígenes si quiere. Si sigue este tutorial, creará una aplicación que contiene dos pantallas. En
una pantalla, los usuarios pueden navegar a través de un conjunto de registros. En la otra pantalla, los
usuarios pueden crear un registro, actualizar uno o varios campos de un registro o eliminar todo un registro.
Este enfoque requiere más tiempo que la creación de una aplicación automáticamente, pero los creadores que
tengan más experiencia pueden usarlo para crear aplicaciones mejor adaptadas a sus necesidades.
Requisitos previos
Para seguir exactamente los pasos de este tutorial, primero cree un archivo de Excel con estos datos de
ejemplo.
1. Copie estos datos y péguelos en un archivo de Excel.
2. Dé a los datos un formato de tabla, llamada Programa, para que PowerApps pueda analizar la
información.
Para obtener más información, vea Dar formato a una tabla en Excel.
3. Guarde el archivo con el nombre eventsignup. xlsx, ciérrelo y, a continuación, cárguelo en una cuenta
de almacenamiento en la nube, como OneDrive.
IMPORTANT
Para conocer los conceptos generales, puede utilizar su propio archivo de Excel y seguir este tutorial. No obstante, los
datos del archivo de Excel deben tener formato de tabla. Para obtener más información, vea Dar formato a una tabla en
Excel.
Conectarse a datos
1. En el centro de la pantalla, seleccione Conectarse a datos.
2. En el panel Datos, seleccione la conexión de su cuenta de almacenamiento en la nube, si aparece. De lo
contrario, siga estos pasos para agregar una conexión:
a. Seleccione Nueva conexión, seleccione el icono de la cuenta de almacenamiento en la nube y, a
continuación, seleccione Crear.
b. Si se le solicita, proporcione las credenciales para esa cuenta.
3. En Elegir un archivo de Excel, escriba o pegue las primeras letras de eventsignup para filtrar la lista
y, a continuación, seleccione el archivo que ha cargado.
4. En Elegir una tabla, active la casilla de Programa y, a continuación, seleccione Conectar.
5. Cierre el panel Datos mediante el icono de cierre (X) que encontrará en la esquina superior derecha.
4. En la pestaña Propiedades del panel del lateral derecho, seleccione la flecha abajo del menú Diseño.
SortByColumns(
Search(
Schedule;
TextSearchBox1.Text;
"Volunteer"
);
"Volunteer";
If(
SortDescending1;
SortOrder.Descending;
SortOrder.Ascending
)
)
8. En la pestaña Propiedades del panel del lateral derecho, seleccione Editar, junto a la etiqueta
Campos.
9. En el cuadro Title2 , seleccione voluntarios, en el cuadro Subtitle2 , seleccione StartDayy, en el
cuadro cuerpo1 , seleccione startTime.
10. Cierre el panel Datos mediante el icono de cierre (X) que encontrará en la esquina superior derecha.
Los usuarios pueden ordenar y filtrar la galería por nombre de voluntario tomando como base las funciones
SortByColumns y Search en esa fórmula.
Si un usuario escribe al menos una letra en el cuadro de búsqueda, la galería mostrará únicamente
aquellos registros en los que el campo Volunteer contenga el texto escrito por el usuario.
Si el usuario selecciona el botón de ordenación (entre el de actualización y el "más" de la barra de títulos),
la galería mostrará los registros en orden ascendente o descendente, dependiendo de cuántas veces
seleccione el botón el usuario, tomando como referencia el campo Volunteer.
Para obtener más información sobre estas y otras funciones, vea la referencia de fórmulas.
7. Cierre el panel Campos mediante el icono de cierre (X) que encontrará en la esquina superior derecha.
8. Para establecer la propiedad Elemento del formulario, escriba o pegue la expresión en la barra de
fórmulas:
BrowseGallery1.Selected
9. En la parte superior de la pantalla, seleccione el control Label y luego reemplace [Title] (Título) por
Change records (Cambiar registros).
2. Seleccione los puntos suspensivos (...) para Screen2, seleccione Cambiar nombre y, a continuación,
escriba o pegue ViewScreen.
3. Seleccione los puntos suspensivos (...) para Screen3, seleccione Cambiar nombre y, a continuación,
escriba o pegue ChangeScreen.
Cuando el usuario seleccione este icono, los datos de Programa se actualizarán desde el archivo de
Excel.
Para obtener más información sobre estas y otras funciones, vea la referencia de fórmulas.
3. En la esquina superior derecha de ViewScreen, seleccione el icono del signo más.
4. Establezca la propiedad OnSelect para ese icono en esta fórmula:
NewForm(EditForm1);;Navigate(ChangeScreen;ScreenTransition.None)
Cuando el usuario selecciona este icono, aparece la pantalla ChangeScreen con los campos vacíos, de
forma que el usuario puede crear un registro más fácilmente.
5. Seleccione la flecha que apunta a la derecha para el primer registro de la galería.
Cuando el usuario selecciona este icono, ChangeScreen aparece con cada campo que muestra los
datos para el registro seleccionado, por lo que el usuario puede editar o eliminar el registro más
fácilmente.
Cuando el usuario selecciona este icono, los cambios realizados en esta pantalla por el usuario se
descartan y se abre la pantalla de vista.
3. En la esquina superior derecha, seleccione el icono de marca de verificación.
Cuando el usuario selecciona este icono, los cambios realizados en esta pantalla por el usuario se
guardan y se abre la pantalla de vista.
5. En la pestaña Insertar, seleccione Iconos y, a continuación, el icono Papelera.
6. Establezca la propiedad Color del nuevo icono en Blanco y mueva el nuevo icono para que aparezca
junto al icono de la marca de verificación.
7. Establezca la propiedad Visible para el icono de papelera en esta fórmula:
EditForm1.Mode = FormMode.Edit
Este icono solo aparecerá si el formulario está en el modo Editar, no en el modo Nuevo.
8. Establezca la propiedad OnSelect para el icono de papelera en esta fórmula:
Remove(Schedule; BrowseGallery1.Selected);; Navigate(ViewScreen; ScreenTransition.None)
Cuando el usuario selecciona este icono, el registro seleccionado se elimina del origen de datos y se
abre la pantalla de vista.
Probar la aplicación
1. Seleccione ViewScreen y abra el modo de vista previa presionando F5 o mediante el icono de Vista
previa cerca de la esquina superior derecha.
2. Escriba o pegue una o varias letras en el cuadro de búsqueda para filtrar la lista en función del nombre
del voluntario.
3. Seleccione el icono de ordenación una o varias veces para mostrar los datos en orden ascendente o
descendente, según el nombre del voluntario.
4. Agregue un registro.
5. Actualice el registro que ha agregado y, a continuación, guarde los cambios.
6. Actualice el registro que ha agregado y, a continuación, cancele los cambios.
7. Elimine el registro que ha agregado.
8. Cierre el modo de vista previa presionando Esc (o seleccionando el icono de cerrar de la esquina
superior derecha).
Pasos siguientes
Presione Ctrl-S para guardar la aplicación en la nube para que se pueda ejecutar desde otros dispositivos.
Comparta la aplicación para que otras personas puedan ejecutarla.
Obtenga más información sobre funciones como Revisión, que puede usar para administrar los datos sin
necesidad de crear un formulario estándar.
Vincule esta aplicación a una solución para poder, por ejemplo, implementarla en un entorno distinto o
publicarla en AppSource.
Crear una aplicación a partir de una plantilla en
PowerApps
05/11/2019 • 4 minutes to read
Cree automáticamente una aplicación de lienzo a partir de una plantilla para un escenario concreto, como el
seguimiento de presupuestos y la programación de vacaciones, y luego ejecute la aplicación para reconocer su
comportamiento predeterminado.
Para crear una aplicación a partir de una plantilla, se necesita una cuenta de almacenamiento en la nube (por
ejemplo, DropBox, OneDrive o Google Drive) para almacenar los datos de ejemplo de la plantilla.
Si no tiene una licencia para PowerApps, puede registrarse gratuitamente.
3. En el icono Plantillas de aplicación, pulse o haga clic en Diseño de teléfono o Diseño de tableta.
4. En la lista de plantillas, haga clic o pulse en una plantilla y, a continuación, haga clic o pulse en Usar (cerca
de la esquina inferior derecha).
Ejecutar la aplicación
Una aplicación creada a partir de una plantilla se abre en el área de trabajo predeterminada en la que pasará la
mayor parte del tiempo personalizándola. Antes de realizar cualquier cambio en la aplicación, explore cómo
funciona la aplicación en el modo Vista previa.
1. Presione F5 (o haga clic o pulse en la flecha derecha situada en la esquina superior derecha) para abrir la
aplicación en modo de vista previa.
La aplicación se rellena con datos de ejemplo para demostrar su funcionalidad. Por ejemplo, la aplicación
Cost Estimator contiene datos para crear citas y estimar el costo de la instalación de un producto
específico para suelos en una sala de un tamaño determinado.
2. Explore el comportamiento predeterminado de la aplicación mediante la creación, actualización y
eliminación de datos de ejemplo y, después, compruebe que los datos de la cuenta de almacenamiento en
la nube reflejan los cambios.
Por ejemplo, concierte una cita y cree una estimación del costo en la aplicación Cost Estimator.
3. Presione Esc para volver al área de trabajo predeterminada (o pulse o haga clic en el icono X situado cerca
de la esquina superior derecha).
Pasos siguientes
1. Presione Ctrl-S, proporcione un nombre a su aplicación y, a continuación, haga clic o pulse Guardar para
guardar la aplicación en la nube.
2. Comparta su aplicación con otras personas de su organización.
IMPORTANT
Antes de compartir una aplicación, asegúrese de que las personas con quienes la comparta tengan acceso a los datos. Por
ejemplo, quiere compartir una hoja de Excel u otro archivo en una cuenta de almacenamiento en la nube.
Introducción a los conectores para aplicaciones de
lienzo de PowerApps
21/11/2019 • 8 minutes to read
Los datos están el núcleo de la mayoría de las aplicaciones, entre las que se incluyen las que se compilan en
PowerApps. Los datos se almacenan en un origen de datos y para enviarlos a una aplicación se crea una
conexión. La conexión utiliza un conector concreto para comunicarse con el origen de datos. PowerApps tiene
conectores para muchos de los servicios y orígenes de datos locales más usados, como SharePoint, SQL
Server, Office 365, Salesforce y Twitter. Para empezar a agregar datos a una aplicación de lienzo, vea Adición
de una conexión de datos en PowerApps.
Un conector puede proporcionar tablas de datos o acciones. Algunos conectores solo ofrecen tablas,
algunos solo ofrecen acciones y otros ofrecen ambas. Además, el conector puede ser un conector estándar o
personalizado.
Tablas
Si el conector ofrece tablas, agregue el origen de datos y luego seleccione la tabla en el origen de datos que
quiere administrar. PowerApps recupera los datos de la tabla en la aplicación y actualiza automáticamente los
datos en el origen de datos. Por ejemplo, puede agregar un origen de datos que contenga una tabla
denominada Lecciones y luego establecer la propiedad Items de un control, como una galería o un
formulario, en este valor en la barra de fórmulas:
Puede especificar los datos que recupera la aplicación personalizando la propiedad elementos del control
que muestra los datos. Retomando el ejemplo anterior, puede ordenar o filtrar los datos de la tabla
Lecciones utilizando ese nombre como argumento para las funciones Search y SortByColumn. En este
gráfico, la fórmula en la que se establece la propiedad Items especifica que los datos se ordenan y filtran
según el texto de TextSearchBox1.
Para obtener más información sobre cómo personalizar la fórmula con tablas, vea estos temas:
Información acerca de los orígenes de datos en PowerApps
Creación de una aplicación a partir de datos de Excel
Crear una aplicación desde cero
Información sobre tablas y registros de PowerApps
NOTE
Para conectarse a datos en un libro de Excel, este ha de estar hospedado en un servicio de almacenamiento en la nube
como OneDrive. Para más información, consulte Conexiones de almacenamiento en la nube.
Operaciones
Si el conector facilita acciones, tiene que seleccionar el origen de datos del mismo modo que antes. En lugar
de seleccionar una tabla como siguiente paso, conecte manualmente un control a una acción editando la
propiedad Items del control que va a mostrar los datos. La fórmula en la que se establece la propiedad
Items especifica la acción que recupera los datos. Por ejemplo, la aplicación no recuperará los datos si se
conecta a Yammer y luego establece la propiedad Items en el nombre del origen de datos. Para rellenar un
control con datos, especifique una acción como GetMessagesInGroup(5033622).messages.
Si tiene que controlar actualizaciones de datos personalizadas con conectores de acción, cree una fórmula
que incluya la función Patch. En la fórmula, identifique la acción y los campos que quiere enlazar a la acción.
Para obtener más información sobre cómo personalizar la fórmula para las actualizaciones personalizadas,
vea estos temas:
Patch
Collect
Update
NOTE
PowerApps no funciona con el esquema dinámico. La frase esquema dinámico hace referencia a la posibilidad de
que la misma acción pueda devolver una tabla diferente con columnas diferentes. Entre otras, las condiciones que
pueden hacer que las columnas de las tablas difieran son los parámetros de entrada de la acción, el usuario o el rol que
ejecuta la acción y el grupo en el que está trabajando el usuario. Por ejemplo, SQL Server procedimientos almacenados
pueden devolver diferentes columnas si se ejecutan con diferentes entradas. En el caso de las acciones con esquema
dinámico, la documentación del conector muestra que las salidas de esta operación son dinámicas. como valor
devuelto. Por el contrario, Power automatizate funciona con el esquema dinámico y podría proporcionar una solución
alternativa para su escenario.
Conectores populares
La tabla siguiente contiene vínculos a más información sobre nuestros conectores más utilizados. Para ver
una lista completa de conectores, consulte el apartado Todos los conectores.
Common Data \ ** de
Service almacenamiento
en la nube
Excel Microsoft
Translator
Oracle Power BI
SharePoint SQL Server
* * Se aplica a Azure BLOB, Box, Dropbox, Google Drive, OneDrive y OneDrive para la empresa
Puede almacenar de forma segura los datos empresariales en Common Data Service y compilar aplicaciones
enriquecidas en PowerApps para que los usuarios puedan administrar los datos. También puede integrar los datos
en soluciones que incluyen Power Automatic, Power BI y datos de Dynamics 365.
De forma predeterminada, el conector de Common Data Service se conecta a los datos del entorno actual de la
aplicación. Si la aplicación se mueve a otro entorno, el conector se conecta a los datos en el nuevo entorno. Este
comportamiento funciona bien para una aplicación que usa un solo entorno o una aplicación que sigue un proceso
ALM para pasar del desarrollo a la prueba a producción.
Al agregar un origen de datos con el conector de Common Data Service, puede cambiar el entorno y, a
continuación, seleccionar una o más entidades. De forma predeterminada, la aplicación se conecta a los datos del
entorno actual y la interfaz de usuario muestra (actual) en la lista de entidades.
Si selecciona cambiar, puede especificar un entorno diferente para extraer datos de él en lugar de o además del
entorno actual.
PowerApps ofrece varias conexiones de almacenamiento en la nube. Con cualquiera de estas conexiones, puede
almacenar un archivo de Excel y usar la información almacenada en él en toda la aplicación. Estas conexiones
incluyen las siguientes:
ONEDRIVE
AZURE BLOB BOX DROPBOX GOOGLE DRIVE ONEDRIVE PARA LA EMPRESA
Requisitos previos
Tener acceso a PowerApps
Agregar la conexión
Crear una aplicación con una plantilla, utilizando datos, o partiendo de cero
Un archivo de Excel con datos con formato de tabla:
1. Abra el archivo de Excel y seleccione cualquier celda de los datos que desea utilizar.
2. En la pestaña Insertar, seleccione Tabla.
3. En el cuadro de diálogo Guardar como tabla, active la casilla La tabla tiene encabezados y
seleccione Aceptar.
4. Guarde los cambios.
NOTE
El primer cuadro es en realidad un control de imagen. Si no tiene ninguna imagen en la tabla de Excel, puede eliminar el
control de imagen y agregar una etiqueta en su lugar. Agregar y configurar controles es un buen recurso.
Comprender las tablas y los registros ofrece más detalles y algunos ejemplos.
Limitaciones conocidas
Si aparece un mensaje de tipo de datos no admitido o no tiene el formato de tabla cuando intenta utilizar
una conexión de Excel en la aplicación, dé formato a los datos como tabla.
Si los datos de Excel incluyen una columna calculada, no podrá utilizarlo para crear la aplicación y no podrá
agregar datos a una aplicación existente.
Uso compartido de tablas de Excel
Para compartir datos en un archivo de Excel:
En OneDrive para la Empresa, comparta el archivo en sí.
En OneDrive, comparta la carpeta que contiene el archivo y especifique las rutas de acceso al archivo, no las
direcciones URL, para todos los soportes físicos.
En Dropbox o Google Drive, comparta el archivo o la carpeta.
Vínculos útiles
Consulte todas las conexiones disponibles.
Aprenda a agregar conexiones y orígenes de datos a sus aplicaciones.
Comprenda las tablas y los registros con orígenes de datos tabulares.
Algunos recursos de la galería adicionales incluyen la posibilidad de mostrar una lista de elementos y de
mostrar texto e imágenes de una galería.
Conexión a Dynamics 365 desde PowerApps
12/11/2019 • 7 minutes to read
PowerApps le permite generar, personalizar, compartir y ejecutar rápidamente aplicaciones móviles con poco o
ningún código. Mediante el conector de Dynamics 365, puede crear útiles aplicaciones móviles para compartir con
su organización en tan solo unos minutos.
Si sigue los pasos descritos en este tema, creará una aplicación en la que los usuarios podrán examinar, agregar,
eliminar y realizar actualizaciones en los contactos de Dynamics 365. Los usuarios pueden ejecutar la aplicación en
un explorador o en un dispositivo móvil, como un teléfono.
Requisito previo
Para seguir este tutorial, necesita una cuenta de Microsoft Office 365 que incluye una suscripción a Dynamics 365.
6. En el cuadro de diálogo Iniciar sesión en la cuenta, indique sus credenciales para el inquilino Dynamics
365 (en línea).
Se crea una conexión.
2. En Comenzar con los datos, haga clic en Diseño de teléfono en el icono Dynamics 365.
3. En Conexiones, seleccione la conexión que desee y, después, elija un conjunto de datos, que se
corresponde a la instancia de Dynamics 365 que va a administrar en la aplicación.
4. En Elegir una tabla, haga clic en Contactos y, después, haga clic en Conectar.
5. En la barra de navegación izquierda, haga clic o pulse en uno de los iconos de la esquina superior derecha
para cambiar a la vista en miniatura.
PowerApps genera una aplicación de tres pantallas basada en los registros de contactos.
ExaminarPantalla1. Esta pantalla aparece de forma predeterminada cuando los usuarios abren la aplicación.
En la barra de navegación izquierda, se muestra una vista en miniatura de esta pantalla sobre las otras dos
pantallas.
PantallaDetalles1. Esta pantalla aparece cuando los usuarios hacen clic en un elemento de
ExaminarPantalla1. En la barra de navegación izquierda, se muestra una vista en miniatura de
PantallaDetalles1 sobre las otras dos pantallas.
EditarPantalla1. Esta pantalla aparece cuando los usuarios hacen clic en el icono de edición de un elemento en
PantallaDetalles1. En la barra de navegación izquierda, se muestra una vista en miniatura de EditarPantalla1
sobre las otras dos pantallas.
Puede ejecutar la aplicación en su estado inicial, pero podemos hacerla más útil si perfeccionamos la información
en cada pantalla.
Personalizar ExaminarPantalla1
En este procedimiento, va a configurar ExaminarPantalla1 para mostrar los nombres y apellidos de cada
contacto. Los datos se ordenarán alfabéticamente por apellido e incluyen imágenes en una cuadrícula de dos
columnas.
1. En ExaminarPantalla1, seleccione la galería haciendo clic en cualquier registro, excepto en el primero.
2. En el panel de la derecha, pulse o haga clic en la pestaña Datos.
3. En la lista de diseños, pulse o haga clic en el diseño que muestra imágenes y texto en una cuadrícula de dos
columnas.
Puede que necesite desplazarse hacia abajo para mostrar esta opción.
4. Copie esta fórmula y, después, con la galería aún seleccionada, pegue la fórmula en la barra de fórmulas (a
la derecha del botón fx):
SortByColumns(Search(Filter(Contacts;statuscode=1); TextSearchBox1.Text; "lastname"); "lastname";
If(SortDescending1; Descending; Ascending))
5. En el panel derecho, establezca la lista desplegable superior en firstname y la lista desplegable central en
lastname.
6. (opcional) En el menú Archivo, haga clic en Guardar como, escriba un nombre para la aplicación y haga
clic en Guardar.
De forma predeterminada, la aplicación se guardará en la nube. Haga clic en Este equipo para guardar la
aplicación localmente.
3. En el panel derecho, haga clic en el icono de ojo de cada campo para mostrarlo.
4. Haga clic en cualquier lugar bajo la barra de título para seleccionar Formulario1.
5. En el panel derecho, haga clic en el icono de ojo para cada uno de estos campos, por lo que la pantalla
mostrará una imagen (si la tabla contiene una) y otros cuatro campos para cada contacto:
entityimage
firstname
lastname
mobilephone
emailaddress1
El panel derecho debe ser similar a este gráfico:
Pasos siguientes
Pruebe la aplicación en modo de vista previa haciendo clic en ExaminarPantalla1 en la barra de navegación
izquierda y, después, presione F5 o haga clic cerca de la esquina superior derecha.
Comparta la aplicación.
Agregue un segundo origen de datos.
Conexión de Microsoft PowerApps a Dynamics AX
07/10/2019 • 2 minutes to read
Utilice esta conexión para crear fácilmente aplicaciones que leen, actualizan y eliminan datos desde estas versiones
de Dynamics AX:
• Dynamics AX actualización 1 + artículo de KB de revisión
• Dynamics AX actualización 2 y versiones posteriores
Para más información sobre cómo crear una aplicación, consulte Generar una aplicación automáticamente o Crear
una aplicación desde cero. Estos temas se escribieron para Excel, pero los mismos principios se aplican a Dynamics
AX.
Para más información acerca de cómo agregar datos de Dynamics AX a una aplicación existente, consulte Agregar
una conexión de datos.
Consulte la lista de conexiones disponibles y obtenga información acerca de cómo administrar conexiones en
PowerApps.
Pasos siguientes
Más información sobre cómo mostrar datos a partir de un origen de datos.
Más información sobre cómo ver detalles y crear o actualizar registros.
Conexión a Excel desde PowerApps
07/10/2019 • 2 minutes to read
Excel es una variante de una conexión. Para mostrar los datos de Excel en la aplicación:
1. Dé formato a los datos de Excel como una tabla.
2. Almacene el archivo de Excel en una cuenta de almacenamiento en la nube, como Box, Dropbox, Google Drive,
OneDrive o OneDrive para la Empresa.
3. Conéctese a la cuenta de almacenamiento en la nube y, después, agregue la tabla de Excel como origen de
datos.
4. Para mostrar esta información en la aplicación, genere una aplicación automáticamente o agregue y configure,
por ejemplo, un control Galería.
NOTE
Cuando se conecta a la tabla de Excel desde PowerApps, se crea una columna denominada _PowerAppsId_ con un
identificador único para cada fila de la tabla de Excel.
La introducción a la conexión de almacenamiento en la nube muestra cómo agregar la conexión, agregar una tabla
de Excel como origen de datos y usar los datos de Excel en la aplicación.
Para más información sobre cómo conectarse a otros tipos de datos, consulte la lista de conexiones para
PowerApps.
Limitaciones conocidas
Para más información sobre cómo compartir datos de Excel en su organización, repase estas limitaciones.
Conexión a Microsoft Translator desde PowerApps
08/10/2019 • 7 minutes to read
Agregue el conector de Microsoft Translator para que muestre el texto traducido en un control Etiqueta de la
aplicación. Por ejemplo, puede crear un cuadro de texto de entrada que solicite al usuario que escriba algún texto
para traducir. En otra etiqueta, puede mostrar el texto traducido.
En este tema se muestra cómo utilizar la conexión de Microsoft Translator, cómo usar la conexión de Microsoft
Translator en una aplicación y cómo enumerar las funciones disponibles.
NOTE
Este conector se limita a 150 llamadas por usuario y día.
Requisitos previos
Tener acceso a PowerApps
Agregar la conexión
Crear una aplicación con una plantilla, utilizando datos, o partiendo de cero
2. En el panel derecho, pulse o haga clic en la pestaña Datos y, después, en Agregar origen de datos.
3. Seleccione Nueva conexión y, después, Microsoft Translator:
4. Seleccione Conectar. La conexión aparecerá bajo Orígenes de datos:
Utilice la conexión de Microsoft Translator en su aplicación
Traducir texto
1. En el menú Insert (Insertar), seleccione Text (Texto) y luego seleccione Text input (Entrada de texto).
Cambie el nombre del control de entrada de texto a Origen:
2. Agregar una lista desplegable (menú Insertar > Controles), cambie su nombre a TargetLang y muévalo
debajo de Origen.
3. Establezca la propiedad Elementos de TargetLang a la fórmula siguiente:
MicrosoftTranslator.Languages()
4. Agregue una etiqueta, muévalo debajo de TargetLang y establezca su propiedad Texto en la fórmula
siguiente:
MicrosoftTranslator.Translate(Source.Text; TargetLang.Selected.Value)
5. Escriba algún texto en Origen y seleccione un idioma en TargetLang. La etiqueta muestra el texto que
escribió en el idioma elegido:
Pronunciar texto traducido
Si no lo ha hecho ya, siga los pasos descritos en la sección anterior para traducir el texto. Los pasos siguientes
utilizan los mismos controles.
1. Establezca la propiedad Elementos de la lista desplegable TargetLang en la fórmula siguiente:
MicrosoftTranslator.SpeechLanguages()
4. Presione F5 o seleccione el botón Vista previa ( ). Escriba algún texto en Origen, seleccione un idioma
en TargetLang y seleccione el botón Reproducir en el control de audio.
La aplicación reproduce una versión de audio del texto que ha escrito en el idioma elegido.
5. Presione Esc para volver al área de trabajo predeterminada.
Detectar el idioma de origen
Los pasos siguientes utilizan la misma entrada de texto Origen y los controles de texto Destino. Puede crear
nuevos controles si lo prefiere, solo tiene que actualizar los nombres en la fórmula.
1. Seleccione el control de texto Destino y establezca la propiedad Texto en la fórmula siguiente:
MicrosoftTranslator.Detect(Source.Text).Name
Código string No
Nombre string No
Traducir
Traducir texto: Traduce el texto a un idioma especificado mediante Microsoft Translator.
Propiedades de entrada
Propiedades de salida
Ninguna
Detectar
Detectar idioma: Detecta el idioma de origen del texto proporcionado.
Propiedades de entrada
Propiedades de salida
Código string No
Nombre string No
SpeechLanguages
Obtener idiomas de voz: Recupera los idiomas disponibles para síntesis de voz.
Propiedades de entrada
Ninguna
Propiedades de salida
Código string No
Nombre string No
TextToSpeech
Texto a voz: Convierte un texto proporcionado en voz como una secuencia de audio en formato de onda.
Propiedades de entrada
Propiedades de salida
Ninguna
Vínculos útiles
Consulte todas las conexiones disponibles.
Aprenda a agregar conexiones a sus aplicaciones.
Conexión a Office 365 Outlook desde PowerApps
08/10/2019 • 7 minutes to read
Si se conecta a Office 365 Outlook, puede mostrar, enviar, eliminar y responder a mensajes de correo electrónico,
además de otras tareas.
Puede agregar controles para realizar estas funciones en la aplicación. Por ejemplo, puede agregar controles de
entrada de texto para solicitar el destinatario, asunto y cuerpo del correo electrónico, y agregar un control de
botón para enviar el correo.
En este tema se muestra cómo agregar Office 365 Outlook como una conexión, agregar Office 365 Outlook
como origen de datos a su aplicación y cómo utilizar estos datos en distintos controles.
IMPORTANT
En el momento de redacción este documento, la operación del calendario no admite eventos recurrentes.
Requisitos previos
Tener acceso a PowerApps
Agregar la conexión
Crear una aplicación con una plantilla, utilizando datos, o partiendo de cero
2. Seleccione Connect (Conectar) y, si se pide que inicie sesión, escriba su cuenta profesional.
La conexión con Office 365 Outlook se ha creado y agregado a la aplicación. Ahora, está lista para utilizarse.
Presentación de mensajes
1. En el menú Insertar, seleccione Galería y seleccione un control de la galería con texto.
2. Establezca su propiedad Elementos en la fórmula siguiente:
Office365.GetEmails({fetchOnlyUnread:false})
Envío de un mensaje
1. En el menú Insert (Insertar), seleccione Text (Texto) y luego seleccione Text input (Entrada de texto).
2. Repita el paso anterior dos veces más, con lo que tendrá tres casillas y organícelas en una columna:
5. Mueva el botón para que aparezca en todos los demás controles y establezca su propiedad Texto en
"Enviar correo electrónico" .
6. Presione F5 o seleccione el botón Vista previa ( ). Escriba una dirección de correo electrónico válida en
entradaPara y escriba el nombre que desee en los otros dos controles Entrada de texto.
7. Seleccione Enviar correo electrónico para enviar el mensaje. Presione Esc para volver al área de trabajo
predeterminada.
NOTE
La propiedad @odata.type se puede especificar para un solo archivo adjunto y se puede establecer en una cadena vacía.
Eliminación de un mensaje
1. En el menú Insertar, seleccione Galería y seleccione un control de la galería con texto.
2. Establezca su propiedad Elementos en la fórmula siguiente:
Office365.GetEmails({fetchOnlyUnread:false})
5. Seleccione la tercera etiqueta de la galería y agregue un botón (menú Insertar). Establezca la propiedad
AlSeleccionar del botón en la fórmula siguiente:
Office365.DeleteEmail(EmailID.Text)
6. Presione F5 o seleccione el botón Vista previa ( ). Seleccione uno de los correos electrónicos de la
galería y haga clic en el botón.
NOTE
Así se elimina el correo electrónico seleccionado de la Bandeja de entrada. Por lo tanto, tenga cuidado al elegirlos.
2. Presione F5 o seleccione el botón Vista previa ( ). Seleccione uno de los mensajes de correo
electrónico no leídos y haga clic en el botón.
3. Presione Esc para volver al área de trabajo predeterminada.
Vínculos útiles
Para obtener una lista de todas las funciones y sus parámetros, consulte la referencia de Office 365 Outlook.
Consulte todas las conexiones disponibles.
Más información sobre cómo administrar las conexiones.
Conectarse a la conexión de los usuarios de Office
365 desde PowerApps
07/10/2019 • 14 minutes to read
Usuarios de Office 365 le permite acceder a los perfiles de usuario de su organización mediante su cuenta de
Office 365. Puede realizar diversas acciones, como obtener su perfil, el perfil de un usuario o el administrador y
los subordinados directos de un usuario.
Puede mostrar esta información en una etiqueta en la aplicación. Puede mostrar una función, varias funciones o
incluso combinar funciones diferentes. Por ejemplo, puede crear una expresión que combine el nombre de
usuario y el número de teléfono y luego mostrar esta información en la aplicación.
En este tema se muestra cómo agregar Usuarios de Office 365 como una conexión y como un origen de datos a
su aplicación y cómo utilizar datos de tabla en un control de la galería.
Requisitos previos
Tener acceso a PowerApps
Agregar la conexión
Crear una aplicación con una plantilla, utilizando datos, o partiendo de cero
2. Seleccione Connect (Conectar) y, si se pide que inicie sesión, escriba su cuenta profesional.
La conexión de Usuarios de Office 365 se ha creado y agregado a la aplicación. Ahora, está lista para utilizarse.
Uso de la conexión en la aplicación
Mostrar información sobre el usuario actual
1. En el menú Insertar, seleccione Etiqueta.
2. En la barra de funciones, establezca su propiedad Text en cualquiera de las siguientes fórmulas:
Office365Users.MyProfile().City
Office365Users.MyProfile().CompanyName
Office365Users.MyProfile().Country
Office365Users.MyProfile().Department
Office365Users.MyProfile().DisplayName
Office365Users.MyProfile().GivenName
Office365Users.MyProfile().Id
Office365Users.MyProfile().JobTitle
Office365Users.MyProfile().Mail
Office365Users.MyProfile().MailNickname
Office365Users.MyProfile().mobilePhone
Office365Users.MyProfile().OfficeLocation
Office365Users.MyProfile().PostalCode
Office365Users.MyProfile().Surname
Office365Users.MyProfile().TelephoneNumber
Office365Users.MyProfile().UserPrincipalName
Office365Users.MyProfile().AccountEnabled
Office365Users.MyProfile().BusinessPhones
2. En InfoAbout, escriba o pegue una dirección de correo electrónico de un usuario de su organización. Por
ejemplo, escriba yourName@yourCompany.com.
3. Agregue una etiqueta (menú Insertar) y establezca su propiedad Texto en alguna de las siguientes
fórmulas:
Para mostrar información sobre otro usuario:
Office365Users.UserProfile(InfoAbout.Text).City
Office365Users.UserProfile(InfoAbout.Text).CompanyName
Office365Users.UserProfile(InfoAbout.Text).Country
Office365Users.UserProfile(InfoAbout.Text).Department
Office365Users.UserProfile(InfoAbout.Text).DisplayName
Office365Users.UserProfile(InfoAbout.Text).GivenName
Office365Users.UserProfile(InfoAbout.Text).Id
Office365Users.UserProfile(InfoAbout.Text).JobTitle
Office365Users.UserProfile(InfoAbout.Text).Mail
Office365Users.UserProfile(InfoAbout.Text).MailNickname
Office365Users.UserProfile(InfoAbout.Text).mobilePhone
Office365Users.UserProfile(InfoAbout.Text).OfficeLocation
Office365Users.UserProfile(InfoAbout.Text).PostalCode
Office365Users.UserProfile(InfoAbout.Text).Surname
Office365Users.UserProfile(InfoAbout.Text).TelephoneNumber
Office365Users.UserProfile(InfoAbout.Text).UserPrincipalName
Office365Users.UserProfile(InfoAbout.Text).AccountEnabled
Office365Users.UserProfile(InfoAbout.Text).BusinessPhones
La etiqueta muestra la información que ha escrito sobre el usuario especificado o sobre el administrador de ese
usuario.
NOTE
Si va a desarrollar una aplicación basada en una entidad en Common Data Service, puede especificar un usuario basado en
el id. en lugar de la dirección de correo electrónico.
Por ejemplo, puede crear una aplicación automáticamente, agregar una pantalla que contenga un control
Etiqueta y establecer la propiedad Texto del control en esta fórmula:
Office365Users.UserProfile(BrowseGallery1.Selected.CreatedByUser).DisplayName
Si crea un contacto y lo selecciona en la pantalla de exploración de la aplicación, el control Etiqueta mostrará su
nombre para mostrar.
Mostrar los subordinados directos de otro usuario
1. Agregue un control Entrada de texto (menú Insert [Insertar] > Text [Texto]) y cambie su nombre por
InfoAbout.
2. En InfoAbout, escriba la dirección de correo electrónico de un usuario de su organización. Por ejemplo,
escriba yourManagersName@yourCompany.com.
3. Agregue una galería With text (Con texto) (menú Insert [Insertar] > Gallery [Galería]) y establezca su
propiedad Items en la siguiente fórmula:
Office365Users.DirectReports(InfoAbout.Text)
La galería muestra información sobre los subordinados directos del usuario especificado.
Con la galería seleccionada, el panel derecho muestra opciones para esa galería.
4. En la segunda lista, seleccione JobTitle. En la tercera lista, seleccione DisplayName. La galería se
actualiza para mostrar estos valores.
NOTE
El primer cuadro es en realidad un control de imagen. Si no tiene ninguna imagen, puede eliminar el control de imagen y
agregar una etiqueta en su lugar. Agregar y configurar controles es un buen recurso.
Búsqueda de usuarios
1. Agregue un control Entrada de texto (menú Insert [Insertar] > Text [Texto]) y cambie su nombre por
SearchTerm. Escriba un nombre para buscar. Por ejemplo, escriba su nombre.
2. Agregue una galería With text (Con texto) (menú Insert [Insertar] > Gallery [Galería]) y establezca su
propiedad Items en la siguiente fórmula:
Office365Users.SearchUser({searchTerm: SearchTerm.Text})
La galería muestra los usuarios cuyo nombre contiene el texto de búsqueda que ha escrito.
Con la galería seleccionada, el panel derecho muestra opciones para esa galería.
3. En la segunda lista, seleccione Mail. En la tercera lista, seleccione DisplayName.
La segunda y tercera etiqueta de la galería se actualizan.
MyProfile
Obtener mi perfil: Recupera el perfil del usuario actual.
Propiedades de entrada
Ninguna
Propiedades de salida
UserProfile
Obtener Perfil de usuario: Recupera un perfil de usuario específico.
Propiedades de entrada
Propiedades de salida
NOMBRE DE LA PROPIEDAD TIPO DESCRIPCIÓN
Manager
Obtener administrador: Recupera el perfil de usuario para el administrador del usuario especificado.
Propiedades de entrada
Propiedades de salida
DirectReports
Obtener informes directos: Obtener informes directos.
Propiedades de entrada
Propiedades de salida
SearchUser
Buscar usuarios: Recupera los resultados de búsqueda de los perfiles de usuario.
Propiedades de entrada
Propiedades de salida
Vínculos útiles
Consulte todas las conexiones disponibles.
Aprenda a agregar conexiones a sus aplicaciones.
Conectarse a una instancia de Oracle Database
desde PowerApps
09/11/2019 • 6 minutes to read
Enumere tablas y cree, lea, actualice y elimine filas de una tabla en una instancia de Oracle Database después de
crear una conexión y compilar una aplicación en PowerApps. La conexión de Oracle Database admite la delegación
completa del filtrado, ordenación y otras funciones, pero no los desencadenadores ni los procedimientos
almacenados.
Requisitos previos
Oracle 9 y versiones posteriores
Software cliente de Oracle 8.1.7 y versiones posteriores
Instalación de una puerta de enlace de datos local
Instalación del SDK de cliente de Oracle
Instalar una puerta de enlace de datos local
Para instalar una puerta de enlace, siga los pasos de este tutorial.
Una puerta de enlace de datos local actúa como un puente, proporcionando una transferencia de datos rápida y
segura entre los datos locales (datos que no están en la nube) y los servicios Power BI, Power Automatic, Logic
Apps y PowerApps. Puede usar la misma puerta de enlace con varios servicios y orígenes de datos. Para más
información, consulte Puertas de enlace.
Instalar el cliente de Oracle
En el mismo equipo que la puerta de enlace de datos local, instale 64-bit ODAC 12c Release 4 (12.1.0.2.4) for
Windows x64. De lo contrario, aparecerá un error si intenta crear o usar la conexión, como se describe en la lista de
problemas conocidos.
6. Pulse o haga clic en la puerta de enlace que desea usar o instale una.
Si la puerta de enlace no aparece después de instalarla, haga clic en Actualizar lista de puertas de enlace.
PowerApps crea una aplicación que tiene tres pantallas y muestra los datos de la tabla que ha seleccionado:
BrowseScreen1, que enumera todas las entradas de la tabla.
DetailScreen1, que proporciona más información acerca de una sola entrada.
EditScreen1, en la que los usuarios pueden actualizar o crear una entrada.
Pasos siguientes
Para guardar la aplicación que acaba de generar, presione Ctrl-S.
Para personalizar la pantalla BrowseScreen1 (que aparece de forma predeterminada), consulte Personalizar un
diseño.
Para personalizar DetailsScreen1 o EditScreen1, consulte Personalizar un formulario.
Requisitos previos
Registrarse
Agregar la conexión de Power BI
Crear una aplicación a partir de una plantilla, de datos o desde el principio
La galería se actualizará con la lista de alertas. Para cada alerta, recibirá su nombre, número identificador e id. del
espacio de trabajo del grupo en el que se configuró la alerta. Necesitará el id. de la alerta para obtener más
información sobre ella.
Visualización del estado de una alerta
Para ver el estado de la alerta, llame a la función CheckAlertStatus con el id. de alerta obtenido en el paso anterior.
El identificador de la alerta se puede pasar como una cadena literal (por ejemplo, "1234") o como una referencia a
una sección de la galería que se rellena mediante la llamada GetAlerts () (por ejemplo, Gallery1. Selected. alertId)
Para continuar, agregue una etiqueta y establezca su propiedad Texto en una de estas fórmulas:
PowerBI.CheckAlertStatus( /* alert ID that you received from GetAlert */ ).alertTitle
PowerBI.CheckAlertStatus( /* alert ID that you received from GetAlert */ ).currentTileValue
PowerBI.CheckAlertStatus( /* alert ID that you received from GetAlert */ ).alertThreshold
PowerBI.CheckAlertStatus( /* alert ID that you received from GetAlert */ ).isAlertTriggered
GetAlerts
Muestra las alertas que ha configurado en el servicio Power BI.
Propiedades de entrada
Ninguna
Propiedades de salida
CheckAlertStatus
Comprueba el estado de una alerta.
NOTE
Las solicitudes que se realicen a este punto de conexión se limitarán por alerta si se llama con demasiada frecuencia.
Propiedades de entrada
Propiedades de salida
Vínculos útiles
Consulte todas las conexiones disponibles.
Aprenda a agregar conexiones a sus aplicaciones.
Conectarse a SharePoint desde una aplicación de
lienzo
05/11/2019 • 13 minutes to read
Conéctese a un sitio de SharePoint para generar una aplicación automáticamente a partir de una lista
personalizada o cree una conexión antes de agregar datos a una aplicación existente o de crear una aplicación
desde cero.
Dependiendo de dónde residan los datos, puede realizar uno de estos métodos o ambos:
Mostrar datos de una lista personalizada en un sitio de SharePoint Online o en un sitio local.
Mostrar imágenes y reproducir archivos de vídeo o audio en una biblioteca (solo SharePoint Online).
NOTE
Si la lista de SharePoint contiene una columna de elección, búsqueda, o persona o grupo , vea Mostrar datos en una
galería más adelante en este tema.
Se crea la conexión y puede agregar datos a una aplicación existente o crear una aplicación desde
cero.
Para conectarse a un sitio local, seleccione conectar con la puerta de enlace de datos local.
Especifique Windows como tipo de autenticación y, después, especifique sus credenciales. (Si las
credenciales incluyen un nombre de dominio, especifíquelo como dominio\alias).
En elegir una puerta de enlace, seleccione la puerta de enlace que desea usar y, después,
seleccione crear.
NOTE
Si no tiene una puerta de enlace de datos local instalada, Instale unay, después, seleccione el icono para
actualizar la lista de puertas de enlace.
Se crea la conexión y puede agregar datos a una aplicación existente o crear una aplicación desde
cero.
No todos los tipos de listas aparecen de forma predeterminada. PowerApps admite listas personalizadas,
no listas basadas en plantillas. Si el nombre de la lista que desea usar no aparece, desplácese hasta la parte
inferior y, a continuación, escriba el nombre de la lista en el cuadro que contiene el nombre de la tabla
personalizada.
NOTE
En el caso de una columna CreatedBy , especifique ThisItem. Author. DisplayName para mostrar los nombres
para mostrar de los usuarios que han creado elementos en la lista. Para una columna ModifiedBy, especifique
ThisItem.Editor.DisplayName para mostrar los nombres de los usuarios que han modificado elementos en la lista.
Para una columna de metadatos administrados , especifique ThisItem. ColumnName . Etiqueta para
mostrar los datos de esa columna.
Por ejemplo, especifique ThisItem.Languages.Label si tiene una columna Metadatos administrados
denominada Idiomas.
NOTE
De forma predeterminada, esta aplicación muestra las advertencias de delegación, pero puede omitirlas si la biblioteca
contiene menos de 500 elementos.
En esta aplicación de una pantalla, la lista de la esquina inferior izquierda muestra todos los archivos de la
biblioteca.
Puede buscar un archivo escribiendo o pegando uno o más caracteres en el cuadro de búsqueda cerca de la
parte superior.
Si la biblioteca contiene carpetas, puede filtrar la lista de archivos; para ello, seleccione un icono de filtro en la
lista de carpetas situada justo debajo de la barra de título.
Cuando encuentre el archivo que desea, selecciónelo para mostrarlo en el control de vídeo, imageno audio a lo
largo del lado derecho.
Problemas conocidos
Coge
PowerApps puede leer nombres de columna que contienen espacios, pero los espacios se sustituyen por el código
de escape hexadecimal "_x0020_" . Por ejemplo, el "Nombre de columna" en SharePoint aparecerá como
"Nombre_x0020_de_columna" en PowerApps cuando se muestre en el diseño de datos o se use en una
fórmula.
No se admiten todos los tipos de columnas y no todos los tipos de columnas admiten todos los tipos de tarjetas.
Resultado de la tarea No
Datos externos No
Clasificación No
Libre
No se pueden cargar archivos desde PowerApps a una biblioteca.
No se pueden mostrar archivos PDF de una biblioteca en un control de PDF Viewer.
PowerApps Mobile no es compatible con la función de descarga .
Si los usuarios van a ejecutar la aplicación en PowerApps Mobile o en la aplicación de Windows 10, use la
función Launch para mostrar el contenido de la biblioteca en una galería.
Pasos siguientes
Más información sobre cómo mostrar datos a partir de un origen de datos.
Más información sobre cómo ver detalles y crear o actualizar registros.
Consulte otros tipos de orígenes de datos a los que se puede conectar.
Conexión a SQL Server desde PowerApps
05/11/2019 • 10 minutes to read
Conéctese a SQL Server, bien en Azure o en una base de datos local, para poder mostrar la información del
servidor en PowerApps.
Requisitos previos
Regístrese en PowerApps y, luego, inicie sesión con las mismas credenciales que usó para registrase.
Recopile la siguiente información para una base de datos que contenga al menos una tabla con una clave
principal:
el nombre de la base de datos
el nombre del servidor donde se aloja la base de datos
un nombre de usuario válido y una contraseña para conectarse a la base de datos
el tipo de autenticación necesaria para conectarse a la base de datos
Si no tiene esta información, solicítela al administrador de la base de datos que desea usar.
Para una base de datos local, identifique una puerta de enlace de datos que se haya compartido con usted
(o cree una).
NOTE
Las puertas de enlace y las conexiones locales solo se pueden crear y usar en el entorno predeterminado del usuario.
2. En Comenzar con los datos, pulse o haga clic en la flecha derecha al final de la fila de conectores.
3. Si ya tiene una conexión a la base de datos que desea usar, pulse o haga clic en ella y, después, vaya al paso
7 de este procedimiento.
4. Pulse o haga clic en Nueva conexión y, después, pulse o haga clic en SQL Server.
5. Realice uno de estos pasos:
Especifique Conectar directamente (servicios en la nube) y, después, escriba o pegue el nombre
del servidor, el nombre de la base de datos, el nombre de usuario y la contraseña de la base de datos
que desea usar.
Especifique Conectar mediante una puerta de enlace de datos local, escriba o pegue el nombre
del servidor, el nombre de la base de datos, el nombre de usuario y la contraseña de la base de datos
que desea usar, y especifique el tipo de autenticación y la puerta de enlace.
NOTE
Si no tiene una puerta de enlace, instálelay, después, haga clic o pulse Actualizar lista de puertas de
enlace.
Especifique Conectar mediante una puerta de enlace de datos local, escriba o pegue el nombre
del servidor, el nombre de la base de datos, el nombre de usuario y la contraseña de la base de datos
que desea usar, y especifique el tipo de autenticación y la puerta de enlace.
NOTE
Si no tiene una puerta de enlace, instálelay, después, haga clic o pulse el icono del reloj para actualizar la lista.
4. Pulse o haga clic en Nueva conexión, pulse o haga clic en SQL Server y, finalmente, pulse o haga clic en
Conectar.
5. Realice uno de estos pasos:
Especifique Conectar directamente (servicios en la nube) y, después, escriba o pegue el nombre
del servidor, el nombre de la base de datos, el nombre de usuario y la contraseña de la base de datos
que desea usar.
Especifique Conectar mediante una puerta de enlace de datos local, escriba o pegue el nombre
del servidor, el nombre de la base de datos, el nombre de usuario y la contraseña de la base de datos
que desea usar, y especifique el tipo de autenticación y la puerta de enlace.
NOTE
Si no tiene una puerta de enlace, instálelay, después, haga clic o pulse el icono circular para actualizar la lista.
Pasos siguientes
Más información sobre cómo mostrar datos a partir de un origen de datos.
Más información sobre cómo ver detalles y crear o actualizar registros.
Consulte otros tipos de orígenes de datos a los que se puede conectar.
Comprenda las tablas y los registros con orígenes de datos tabulares.
Conectar al Twitter desde PowerApps
12/11/2019 • 19 minutes to read
Twitter le permite enviar tweets y obtener tweets, cronologías, amigos y seguidores desde su cuenta de Twitter.
Puede mostrar esta información en una etiqueta en la aplicación. Por ejemplo, puede agregar un cuadro de texto
de entrada, pedir al usuario que escriba en algún tweet y, después, agregar un botón que "publique" el tweet.
Puede usar métodos similares para obtener o buscar un tweet y mostrar el texto de un control en un control de
galería o etiqueta en la aplicación.
En este tema se muestra cómo utilizar la conexión de Twitter, cómo usar la conexión de Twitter en una aplicación y
cómo enumerar las funciones disponibles.
Requisitos previos
Tener acceso a PowerApps
Agregar la conexión
Crear una aplicación con una plantilla, utilizando datos, o partiendo de cero
Conexión a Twitter
1. Abra PowerApps, seleccione Nuevo y cree una aplicación vacía. Elija el diseño de teléfono o tableta. El
diseño de tableta le ofrece más área de trabajo:
2. En el panel derecho, pulse o haga clic en la pestaña Datos y, después, en Agregar origen de datos.
3. Seleccione Conexión nueva y, después, Twitter:
4. Seleccione Conectar, escriba sus credenciales de inicio de sesión de Twitter y seleccione Autorizar
aplicación.
5. Seleccione Agregar origen de datos. La conexión aparecerá bajo Orígenes de datos:
La conexión de Twitter se ha creado y se ha agregado a la aplicación. Ahora, está lista para utilizarse.
Para mostrar la cronología de otro usuario, establezca la propiedad Elementos de la galería en las
fórmulas siguientes:
Twitter.UserTimeline( *TwitterHandle* ).TweetText
Introduzca un identificador de Twitter con dobles comillas o un valor equivalente. Por ejemplo,
escriba "satyanadella" o "powerapps" directamente en la expresión de la fórmula.
Agregue un control de entrada de texto denominado Tweep y establezca su propiedad
predeterminada en Tweep.Text . En el cuadro de texto Tweep, escriba un identificador de Twitter
como satyanadella (sin las comillas y sin el símbolo @).
En el control de galería, establezca la propiedad Elementos en la fórmula siguiente:
Twitter.UserTimeline(Tweep.Text; {maxResults:5}).TweetText
El control de galería muestra automáticamente los tweets del identificador de Twitter que ha escrito.
TIP
Algunas de estas fórmulas utilizan el argumento maxResults para mostrar el número x de tweets más
recientes en una escala de tiempo.
Para mostrar los seguidores de otro usuario, establezca la propiedad Elementos de la galería en la
siguiente fórmula:
Twitter.Followers( *TwitterHandle* )
Introduzca un identificador de Twitter con dobles comillas o un valor equivalente. Por ejemplo,
escriba "satyanadella" o "powerapps" directamente en la expresión de la fórmula.
Agregue un control de entrada de texto denominado Tweep y establezca su propiedad
predeterminada en Tweep.Text . En el cuadro de texto Tweep, escriba un identificador de Twitter
como satyanadella (sin las comillas y sin el símbolo @).
En el control de galería, establezca la propiedad Elementos en la fórmula siguiente:
Twitter.Followers(Tweep.Text; {maxResults:5})
El control de galería muestra automáticamente quién está siguiendo el identificador de Twitter que
ha escrito.
TIP
Algunas de estas fórmulas utilizan el argumento maxResults para mostrar el número x de tweets más
recientes en una escala de tiempo.
Para mostrar los usuarios que siguen a otro usuario, establezca la propiedad Items de la galería en la
siguiente fórmula:
Twitter.Following( *TwitterHandle* )
Introduzca un identificador de Twitter con dobles comillas o un valor equivalente. Por ejemplo,
escriba "satyanadella" o "powerapps" directamente en la expresión de la fórmula.
Agregue un control de entrada de texto denominado Tweep y establezca su propiedad
predeterminada en Tweep.Text . En el cuadro de texto Tweep, escriba un identificador de Twitter
como satyanadella (sin las comillas y sin el símbolo @).
En el control de galería, establezca la propiedad Elementos en la fórmula siguiente:
Twitter.Following(Tweep.Text; {maxResults:5})
El control de galería muestra automáticamente los otros identificadores que está siguiendo.
Con la galería seleccionada, el panel derecho muestra opciones para esa galería.
2. Seleccione Descripción en la lista Cuerpo1, NombreUsuario en la lista Título1 y NombreCompleto en
la lista Subtítulo1.
La galería ahora muestra los valores de las propiedades que haya elegido.
Mostrar información sobre un usuario
Agregue una etiqueta y luego establezca su propiedad Texto en una de estas fórmulas:
twitter.User( *TwitterHandle* ).Description
twitter.User( *TwitterHandle* ).FullName
twitter.User( *TwitterHandle* ).Location
twitter.User( *TwitterHandle* ).UserName
twitter.User( *TwitterHandle* ).FollowersCount
twitter.User( *TwitterHandle* ).FriendsCount
twitter.User( *TwitterHandle* ).Id
twitter.User( *TwitterHandle* ).StatusesCount
Introduzca un identificador de Twitter con dobles comillas o un valor equivalente. Por ejemplo, escriba
"satyanadella" o "powerapps" directamente en la expresión de la fórmula.
O bien, puede utilizar un control de texto de entrada para escribir un identificador de Twitter, tal y como se dispone
a lo largo de este tema.
Buscar tweets
1. Agregue una galería Con texto y establezca su propiedad Elementos en la siguiente fórmula:
Twitter.SearchTweet( *SearchTerm* ).TweetText
Escriba un término de búsqueda entre comillas dobles o haciendo referencia a un valor equivalente. Por
ejemplo, escriba "PowerApps" o "microsoft" directamente en la fórmula.
O bien, puede utilizar un control Entrada de texto para escribir un término de búsqueda, tal y como se
dispone a lo largo de este tema.
TIP
Muestre los cinco primeros resultados mediante maxResults:
Twitter.SearchTweet(SearchTerm.Text; {maxResults:5}).TweetText
3. Presione F5 o seleccione el botón Vista previa ( ). Escriba algún texto en MyTweet y seleccione el botón
para enviar en un tweet el texto que ha escrito.
4. Presione Esc para volver al área de trabajo predeterminada.
Tweet El tweet
UserTimeline
Obtener cronología del usuario: recupera una colección de los tweets más recientes enviados por el usuario
especificado.
Propiedades de entrada
Propiedades de salida
TweetText string Sí
TweetId string No
CreatedAt string No
RetweetCount integer Sí
TweetedBy string Sí
MediaUrls array No
HomeTimeline
Obtener la cronología de inicio: recupera los tweets y retweets más recientes enviados por mí y mis seguidores.
Propiedades de entrada
Propiedades de salida
TweetText string Sí
TweetId string No
CreatedAt string No
RetweetCount integer Sí
TweetedBy string Sí
MediaUrls array No
SearchTweet
Buscar tweet: recupera una colección de tweets pertinentes que coinciden con una consulta especificada.
Propiedades de entrada
Propiedades de salida
TweetText string Sí
TweetId string No
CreatedAt string No
RetweetCount integer Sí
TweetedBy string Sí
NOMBRE DE LA PROPIEDAD TIPO DE DATOS REQUERIDO DESCRIPCIÓN
MediaUrls array No
Seguidores
Obtener seguidores: recupera los usuarios que siguen al usuario especificado.
Propiedades de entrada
Propiedades de salida
FullName string Sí
Location string Sí
Identificador integer No
NombreUsuario string Sí
FollowersCount integer No
Descripción string Sí
StatusesCount integer No
FriendsCount integer No
MyFollowers
Obtener mis seguidores: recupera los usuarios que me siguen.
Propiedades de entrada
Propiedades de salida
FullName string Sí
Location string Sí
NOMBRE DE LA PROPIEDAD TIPO DE DATOS REQUERIDO DESCRIPCIÓN
Identificador integer No
NombreUsuario string Sí
FollowersCount integer No
Descripción string Sí
StatusesCount integer No
FriendsCount integer No
Siguiendo
Obtener seguimiento: recupera los usuarios a los que está siguiendo el usuario especificado.
Propiedades de entrada
Propiedades de salida
FullName string Sí
Location string Sí
Identificador integer No
NombreUsuario string Sí
FollowersCount integer No
Descripción string Sí
StatusesCount integer No
FriendsCount integer No
Siguiendo
Obtener mi seguimiento: recupera los usuarios a los que estoy siguiendo.
Propiedades de entrada
NOMBRE TIPO DE DATOS REQUERIDO DESCRIPCIÓN
Propiedades de salida
FullName string Sí
Location string Sí
Identificador integer No
NombreUsuario string Sí
FollowersCount integer No
Descripción string Sí
StatusesCount integer No
FriendsCount integer No
Usuario
Obtener usuario: recupera los detalles sobre el usuario especificado (ejemplo: nombre de usuario, descripción,
número de seguidores, etc.).
Propiedades de entrada
Propiedades de salida
FullName string Sí
Location string Sí
Identificador integer No
NombreUsuario string Sí
FollowersCount integer No
Descripción string Sí
StatusesCount integer No
NOMBRE DE LA PROPIEDAD TIPO DE DATOS REQUERIDO DESCRIPCIÓN
FriendsCount integer No
El tweet
Enviar un nuevo tweet: Tweet
Propiedades de entrada
Propiedades de salida
TweetId string Sí
OnNewTweet
Cuando aparece un nuevo tweet: desencadena un flujo de trabajo cuando se envía un nuevo tweet que coincide
con la consulta de búsqueda.
Propiedades de entrada
Propiedades de salida
value array No
Vínculos útiles
Consulte todas las conexiones disponibles.
Aprenda a agregar conexiones a sus aplicaciones.
Agregar una conexión de datos a una aplicación
de lienzo en PowerApps
05/11/2019 • 5 minutes to read
En PowerApps, agregue una conexión de datos a una aplicación de lienzo existente o a una que se cree desde
cero. La aplicación puede conectarse a SharePoint, Common Data Service, Salesforce, OneDrive o muchos
otros orígenes de datos.
Tras este artículo, el próximo paso será mostrar y administrar la información del origen de datos de la
aplicación, como en estos ejemplos:
Conéctese a OneDrive y administre datos en un libro de Excel en su aplicación.
Conéctese a Twilio y envíe un mensaje SMS desde la aplicación.
Conéctese a Common Data Service y actualice una entidad desde la aplicación.
Conéctese a SQL Server y actualice una tabla desde la aplicación.
Requisitos previos
Regístrese en PowerApps y, luego, inicie sesión con las mismas credenciales que usó para registrase.
5. En la barra de búsqueda, escriba o pegue las primeras letras de la conexión que desee y, a
continuación, seleccione la conexión cuando aparezca.
2. Para mostrar más información acerca del origen de datos o para cambiarlo, seleccione la flecha hacia
abajo situada junto a su nombre.
Aparece más información sobre el origen de datos actual y puede seleccionar o crear otro origen.
Pasos siguientes
Para mostrar y actualizar datos en un origen como Excel, SharePoint, Common Data Service o SQL
Server, agregue una galeríay agregue un formulario.
Para datos de otros orígenes, utilice funciones específicas de conectores como los de Office 365 Outlook,
Twitter y Microsoft Translator.
Administración de conexiones de aplicaciones de
lienzo en PowerApps
05/11/2019 • 5 minutes to read
En powerapps.com, cree una conexión con uno o varios orígenes de datos, elimine una conexión o actualice
las credenciales.
La conexión de datos de la aplicación de lienzo puede establecerse con SharePoint, SQL Server, Office 365,
OneDrive para la Empresa, Salesforce, Excel y muchos otros orígenes de datos.
Lo siguiente que haremos en este artículo es mostrar y administrar la información del origen de datos de la
aplicación, como en estos ejemplos:
Conéctese a OneDrive para la Empresa y administre los datos de un libro de Excel en la aplicación.
Actualice una lista en un sitio de SharePoint.
Conéctese a SQL Server y actualice una tabla desde la aplicación.
Envíe correo electrónico en Office 365.
Envíe un tweet.
Conéctese a Twilio y envíe un mensaje SMS desde la aplicación.
Requisitos previos
1. Inicie sesión en PowerApps.
2. Inicie sesión en powerapps.com con las mismas credenciales que utilizó para suscribirse.
4. Pulse o haga clic en un conector de la lista que aparece y siga las instrucciones.
Para actualizar las credenciales de una conexión, pulse o haga clic en el icono con forma de llave y
especifique las credenciales de dicha conexión.
Para eliminar la conexión, pulse o haga clic en el icono de papelera.
Pulse o haga clic en el icono de información para ver los detalles de la conexión.
Dar formato a una tabla en Excel y sugerencias de
nomenclatura
07/10/2019 • 2 minutes to read
En PowerApps, solo puede crear una aplicación de lienzo basada en datos de Excel si tienen formato de tabla. En
este artículo se muestra cómo dar formato a una tabla en Excel y se ofrecen algunas sugerencias de asignación de
nombres de columnas de Excel.
Para que le resulte fácil encontrar la tabla, vaya a Diseño en Herramientas de tabla y cambie el nombre de la
tabla. Resulta práctico asignarle a la tabla un nombre descriptivo, sobre todo si un mismo archivo de Excel
contiene varias tablas.
Pasos siguientes
Generar una aplicación desde Excel en PowerApps según una tabla especificada. La aplicación tendrá tres
pantallas de forma predeterminada: una para examinar registros, para mostrar detalles acerca de un registro y
crear o actualizar un registro.
Crear una aplicación desde el principio mediante la tabla a la que ha aplicado formato de Excel. Puede crear y
personalizar manualmente la aplicación para mostrar, examinar o modificar los datos de la tabla.
Descripción de la delegación en una aplicación
de lienzo
08/10/2019 • 19 minutes to read
PowerApps incluye un eficaz conjunto de funciones para filtrar, ordenar y dar forma a tablas de datos en
una aplicación de lienzo: Filtre , ordene y AddColumns funciones para nombrar solo algunas. Con estas
funciones puede proporcionar a los usuarios acceso a la información que necesitan. Para quienes
conozcan bien las bases de datos, el uso de estas funciones es como escribir una consulta de base de
datos.
La clave para compilar aplicaciones eficientes es minimizar la cantidad de datos que debe contener el
dispositivo. Quizás necesite solo unos pocos registros de un mar de millones o que un único valor
agregado pueda representar miles de registros. O quizás solo se pueda recuperar el primer conjunto de
registros, y el resto se trae cuando el usuario indica que desea más. De esta forma se puede reducir
drásticamente la potencia de procesamiento, la memoria y el ancho de banda de red que necesita la
aplicación, lo que conlleva menores tiempos de respuesta para los usuarios, incluso en teléfonos
conectados a través de una red móvil.
La delegación es el lugar en el que la expresividad de las fórmulas de PowerApps cubre la necesidad de
minimizar la cantidad de datos que se mueven a través de la red. En resumen, PowerApps delega el
procesamiento de los datos al origen de los mismos, en lugar de moverlos a la aplicación para que los
procese localmente.
Esto se complica, y el motivo por el que existe este artículo, porque no todo lo que se puede expresar en
una fórmula de PowerApps puede delegarse a todos los orígenes de datos. El lenguaje de PowerApps
imita el lenguaje de fórmulas de Excel, que se está diseñado con acceso completo e instantáneo a un libro
completo en la memoria, con una amplia variedad de funciones numéricas y de manipulación de texto.
Como consecuencia, el lenguaje de PowerApps es mucho complejo de lo que la mayoría de orígenes de
datos pueden admitir, incluidos motores de base de datos eficaces como SQL Server.
El trabajo con grandes conjuntos de datos requiere que se usen orígenes de datos y fórmulas
que se puedan delegar. Es la única manera de que la aplicación funcione correctamente y de tener la
certeza de que los usuarios pueden acceder a toda la información que necesitan. Preste atención a las
advertencias de delegación que identifiquen lugares donde esta no es posible. Si trabaja con conjuntos de
datos pequeños (menos de 500 registros), puede usar cualquier origen de datos y cualquier fórmula, ya
que la aplicación puede procesar datos en local si la fórmula no se puede delegar.
NOTE
Anteriormente las advertencias de delegación se marcaban en PowerApps como sugerencias de "punto azul", pero
desde entonces las sugerencias de delegación se han reclasificado como advertencias. Si los datos del origen de
datos superan los 500 registros y no se puede delegar una función, quizás PowerApps no pueda recuperar todos
los datos y la aplicación pueda tener resultados incorrectos. Las advertencias de delegación permiten administrar la
aplicación para que tenga resultados correctos.
AddColumns( Products;
"Supplier Name";
LookUp( Suppliers; Suppliers.ID = Product.SupplierID ).Name
)
Aunque los productos y proveedores pueden ser orígenes de datos delegables y lookup es una función
delegables, la salida de la función AddColumns no es delegables. El resultado de la fórmula completa se
limita a la primera parte del origen de datos Products . Dado que la función LookUp y su origen de datos
se pueden delegar, se puede encontrar una coincidencia con Suppliers en cualquier lugar del origen de
datos, aunque sea grande.
Si utiliza AddColumns de esta manera, la búsqueda debe realizar llamadas independientes en el origen
de datos para cada uno de esos primeros registros de productos, lo que provoca una gran cantidad de
chatter de red. Si los proveedores son lo suficientemente pequeños y no cambian a menudo, puede
llamar a la función Collect en OnStart para almacenar en caché el origen de datos en la aplicación
cuando se inicia. Como alternativa, puede reestructurar la aplicación para que extraiga los registros
relacionados solo cuando el usuario los solicite.
Funciones no delegables
Las demás funciones no admiten la delegación, incluidas estas importantes funciones:
Primero , FirstN , Último , LastN
Choices
Concat
Recopilar , ClearCollect
CountIf , RemoveIf , UpdateIf
GroupBy , Desagrupar
Límites no delegables
Las fórmulas que no se pueden delegar se procesan localmente. Esto permite usar todo el espectro del
lenguaje de fórmulas de PowerApps. Pero esto tiene un precio: primero deben pasarse todos los datos al
dispositivo, lo que podría implicar la recuperación de una gran cantidad de datos a través de la red. Esta
operación puede tardar un tiempo, lo que daría la impresión de que la aplicación se ejecuta con lentitud, o
incluso que está bloqueada.
Para evitarlo, PowerApps impone un límite en la cantidad de datos que se pueden procesar localmente:
500 registros de forma predeterminada. Elegimos este número para que tuviera acceso completo a los
conjuntos de datos pequeños y pudiera pueda refinar su uso de conjuntos de datos grandes viendo los
resultados parciales.
Obviamente, si se usa este recurso, es preciso tener cuidado, ya que puede confundir a los usuarios. Por
ejemplo, imagine una función Filter con una fórmula de selección que no se puede delegar en lugar de un
origen de datos que contiene un millón de registros. Dado que el filtrado se realiza localmente, solo se
examinan los primeros 500 registros. Si el registro deseado es el 501, o el 500 001, Filter no lo tiene en
cuenta o no lo devuelve.
Las funciones de agregado también pueden provocar confusión. Tome Average en lugar de una columna
de ese mismo origen de datos de un millón de registros. Average aún no se puede delegar, así que solo se
obtiene el promedio de los primeros 500 registros. Si no tiene cuidado, algún usuario de la aplicación
podría malinterpretar una respuesta parcial como una respuesta completa.
Advertencias de delegación
Para que sea más fácil saber qué se delega y qué no, PowerApps proporciona una advertencia (triángulo
amarillo) cuando se crea una fórmula que contiene algo que no se puede delegar.
Las advertencias de delegación solo aparecen en las fórmulas que operan en orígenes de datos
delegables. Si no ve una advertencia y cree que la fórmula no se delega correctamente, compruebe el tipo
de origen de datos en la lista anterior de orígenes de datos que se pueden delegar de este tema.
Ejemplos
En este ejemplo se genera automáticamente una aplicación de tres pantallas basada en una tabla de SQL
Server denominada [dbo].[Fruit] . Para obtener información sobre cómo generar la aplicación, puede
aplicar principios similares en el tema sobre Common Data Service a SQL Server.
La propiedad Items de la galería está establecida en una fórmula que contiene las funciones
SortByColumns y Search, que se pueden delegar.
En el cuadro de búsqueda, escriba "Apple" .
Una fila de puntos aparece momentáneamente junto a la parte superior de la pantalla mientras la
aplicación se comunica con SQL Server para procesar la solicitud de búsqueda. Aparecen todos los
registros que cumplen los criterios de búsqueda, aunque el origen de datos contenga millones de
registros.
Los resultados de búsqueda incluyen "Apples" , "Crab apples" y "Pineapple" , porque la función
Search busca por todas las partes de un columna de texto. Si solo quiere buscar los registros que
contienen el término de búsqueda al principio del nombre de la fruta, puede usar otra función delegable,
Filter, con un término de búsqueda más complicado. (Por motivos de simplicidad, quite la llamada a
SortByColumns).
Los nuevos resultados incluyen "Apples" , pero no "Crab apples" ni "Pineapple" . Pero aparece un
triángulo amarillo junto a la galería (y en la miniatura de pantalla si la barra de navegación izquierda
muestra miniaturas) y una línea ondulada azul debajo de una parte de la fórmula. Cada uno de estos
elementos indica una advertencia. Si mantiene el puntero sobre el triángulo amarillo junto a la galería,
aparece este mensaje:
SQL Server es un origen de datos delegable y Filter es una función delegable, pero Mid y Len no se
pueden delegar a cualquier origen de datos.
Pero ha funcionado, ¿no? Bueno, más o menos. Por eso es una advertencia y no un subrayado ondulado
rojo.
Si la tabla contiene menos de 500 registros, la fórmula ha funcionado perfectamente. Todos los
registros se han pasado al dispositivo y Filter se ha aplicado localmente.
Si la tabla contiene más de 500 registros, la fórmula no devuelve los registros desde el 501, aun
cuando cumplan los criterios.
Administración de una puerta de enlace de datos
local en PowerApps
05/11/2019 • 5 minutes to read
Instale una puerta de enlace de datos local para transferir datos de manera rápida y segura entre una aplicación
de lienzo integrada en PowerApps y un origen de datos que no esté en la nube, como una base de datos local de
SQL Server o un sitio de SharePoint local. Vea todas las puertas de enlace para las que tiene permisos
administrativos y administre los permisos y las conexiones para estas puertas de enlace.
Con una puerta de enlace, puede conectarse a datos locales a través de estas conexiones:
SharePoint
SQL Server
Oracle
Informix
Filesystem
DB2
Requisitos previos
El nombre de usuario y la contraseña que usó para registrarse en PowerApps.
Los permisos administrativos de una puerta de enlace. De forma predeterminada, tiene estos permisos para
cada puerta de enlace que instala, y un administrador de otra puerta de enlace puede concederle estos
permisos para esa puerta de enlace.
Una licencia que permite el acceso a los datos locales mediante una puerta de enlace local. Para más
información, consulte la sección "Conectividad" de la página de precios.
Las puertas de enlace y las conexiones locales solo se pueden crear y usar en el entorno predeterminado del
usuario.
NOTE
Solo puede compartir algunos tipos de conexiones, como SQL Server. Para más información, consulte Share app
resources (Uso compartido de recursos de la aplicación).
Para más información sobre cómo administrar una conexión, consulte Administración de conexiones.
Pasos siguientes
Instale la puerta de enlace de datos local.
Cree una aplicación que se conecte a un origen de datos local, como SQL Server o SharePoint.
Comparta una aplicación que permita conectarse a un origen de datos local.
¿Qué es una puerta de enlace de datos local?
09/11/2019 • 3 minutes to read
La puerta de enlace de datos local actúa como un puente para proporcionar una transferencia de datos rápida y
segura entre los datos locales (datos que no están en la nube) y varios servicios en la nube de Microsoft. Estos
servicios en la nube incluyen Power BI, PowerApps, Power Automatic, Azure Analysis Services y Azure Logic
Apps. Mediante el uso de una puerta de enlace, las organizaciones pueden mantener bases de datos y otros
orígenes de datos en sus redes locales, pero usar los datos locales de forma segura en los servicios en la nube.
Para obtener más información sobre cómo funciona la puerta de enlace, consulte arquitectura de puerta de
enlace de datos local.
Pasos siguientes
Instalación de la puerta de enlace de datos local
Comprender los orígenes de datos para
aplicaciones de lienzo en PowerApps
07/10/2019 • 23 minutes to read
NOTE
En los orígenes de datos de SharePoint y Excel que contengan nombres de columna con
espacios, PowerApps los sustituirá por "_x0020_" . Por ejemplo, "Nombre de columna" en
SharePoint o Excel aparecerá como "Nombre_x0020_de_columna" en PowerApps cuando se
muestre en el diseño de datos o se use en una fórmula.
Colecciones
Las colecciones son un tipo especial de origen de datos. Se encuentran en la propia aplicación y
no tienen el respaldo de una conexión a un servicio en la nube, por lo que la información no se
puede compartir entre los distintos dispositivos de un mismo usuario ni entre usuarios.
Funcionan como cualquier otro origen de datos, con algunas excepciones:
Las colecciones se pueden crear dinámicamente con la función Recopilar . No es preciso
establecerse con antelación, como debe hacerse con orígenes de datos basados en conexión.
Las columnas de una colección pueden modificarse en cualquier momento mediante la
función Recopilar .
Las recopilaciones permiten duplicar registros. En una colección puede haber más de una
copia del mismo registro. Las funciones como Quitar operarán en la primera coincidencia
que encuentran, salvo que se haya usado el argumento Todos.
Puede usar las funciones SaveData y LoadData para guardar y volver a cargar una copia
de la colección. La información se almacena en una ubicación privada a la que no pueden
acceder otros usuarios, aplicaciones o dispositivos.
Puede usar los controles Export e Import para guardar y volver a cargar una copia de la
colección en un archivo con el que el usuario puede interactuar.
Para más información acerca de cómo trabajar con una colección como origen de datos,
consulte Create and update a collection in your app (Creación y actualización de una colección
en una aplicación).
Las colecciones se usan normalmente para almacenar el estado global de la aplicación. Para
conocer las opciones disponibles para administrar el estado, consulte Trabajar con variables.
Comprender las tablas y los
registros de aplicaciones de lienzo
en PowerApps
08/10/2019 • 34 minutes to read
Tabla
Una tabla consta de uno o varios registros, cada uno con varios campos que
tienen nombres coherentes entre los registros.
Cualquier tabla almacenada en un origen de datos o en un colección tiene un
nombre, que se usa para hacer referencia a la tabla y para pasarlo a funciones
que consideran las tablas como argumentos. Las tablas también pueden
resultar de una función o de una fórmula.
Como en el ejemplo siguiente, puede expresar una tabla en una fórmula
mediante la utilización de la función Tabla con un conjunto de registros, que
se expresa entre llaves:
Table( { Value: "Strawberry" }; { Value: "Vanilla" } )
También puede definir una tabla de una sola columna entre corchetes. Una
manera equivalente de escribir lo anterior:
[ "Strawberry"; "Vanilla" ]
Fórmulas de tabla
En Excel y PowerApps, las fórmulas se usan para manipular números y
cadenas de texto de formas similares:
En Excel, escriba un valor, como 42, en la celda A1 y después escriba una
fórmula, como A1+2, en otra celda para mostrar el valor de 44.
En PowerApps, establezca la propiedad Valor predeterminado de
Slider1 en 42, y defina la propiedad Texto de una etiqueta en
Slider1.Value + 2 para mostrar el valor de 44.
En ambos casos, el valor calculado cambia automáticamente si modifica los
valores de los argumentos (por ejemplo, el número de la celda A1 o el valor
de Slider1).
Del mismo modo, puede usar fórmulas para acceder a datos de tablas y
registros y manipularlos. Puede usar nombres de tablas como argumentos en
algunas fórmulas, como Min(Catálogo; Precio) , para mostrar el valor
mínimo en la columna Precio de la tabla Catálogo. Otras fórmulas
proporcionan tablas completas como valores devueltos, como
CambiarNombreColumnas(Catálogo; "Precio"; "Coste") , que devuelve
todos los registros de la tabla Catálogo, pero cambia el nombre de la
columna Precio a Coste.
Al igual que con los números, las fórmulas relacionadas con tablas y registros
se recalculan automáticamente a medida que el registro o la tabla
subyacentes cambian. Si el coste de un producto de la tabla Catálogo está
muy por debajo del mínimo anterior, el valor devuelto de la fórmula Min
cambiará automáticamente para establecer la coincidencia.
Se van a analizar algunos ejemplos sencillos.
1. Cree una aplicación en blanco para un teléfono y agregue un control
Galería vertical que contenga otros controles.
De forma predeterminada, la pantalla muestra texto de marcador de
posición de una tabla denominada CustomGallerySample. La
propiedad Items del control Galería de la pantalla se establece
automáticamente en esa tabla.
NOTE
Algunos controles se han reorganizado y ampliado con fines meramente
ilustrativos.
Fórmulas de comportamiento
Otras funciones están diseñadas específicamente para modificar datos y
tienen efectos secundarios. Dado que estas funciones no son puras, debe
crearlas con cuidado y no pueden participar en el recálculo automático de los
valores de la aplicación. Estas funciones solo se pueden usar dentro de
fórmulas de comportamiento.
Collect , Clear , ClearCollect crea colecciones, las borra y les agrega
datos.
Patch : modifica uno o varios campos de un registro.
Actualizar , ActualizarSi : actualiza registros que reúnen uno o varios
criterios especificados.
Eliminar , EliminarSi : elimina registros que reúnen uno o varios criterios
especificados.
Fórmulas de registro
También puede generar una fórmula que calcula los datos de un registro
individual, considera un registro individual como un argumento y
proporciona un registro individual como un valor devuelto. Al volver al
ejemplo anterior de la galería, se usa la propiedad Galería1.Seleccionada
para mostrar información de cualquier registro que el usuario selecciona en la
galería.
1. Agregue un botóny establezca su propiedad alseleccionar en esta
fórmula:
Recopilar( RegistroSeleccionado; Galería1.Seleccionada )
2. Mientras mantiene presionada la tecla Alt, seleccione el botón.
3. En el menú Archivo, seleccione Colecciones.
Esta fórmula devuelve un registro que incluye no solo los datos del registro
que está seleccionado actualmente en la galería, sino también cada control de
dicha galería. Por ejemplo, el registro contiene una columna SampleText que
coincide con la columna SampleText de la tabla original y una columna
Subtitle1 que representa la etiqueta que muestra los datos de esa columna.
Seleccione el icono de tabla de la columna Subtitle1 para profundizar en
esos datos.
NOTE
La columna Subtitle1 podría llamarse Subtitle2 o similar si se han agregado
elementos distintos a los que se especifican en este tema.
Set( Products;
Table(
{ Product: "Widget"; 'Quantity Requested': 6; 'Quantity
Available': 3 };
{ Product: "Gadget"; 'Quantity Requested': 10; 'Quantity
Available': 20 };
{ Product: "Gizmo"; 'Quantity Requested': 4; 'Quantity
Available': 11 };
{ Product: "Apparatus"; 'Quantity Requested': 7; 'Quantity
Available': 6 }
)
)
Para determinar si alguno de estos productos tenía más solicitado que el que
está disponible:
Filter( Products; 'Quantity Requested' > 'Quantity Available' )
AddColumns(
Filter( Products; 'Quantity Requested' > 'Quantity Available' );
"Quantity To Order"; 'Quantity Requested' - 'Quantity Available'
)
Por último, podemos reducir la tabla de resultados a solo las columnas que
queremos:
ShowColumns(
AddColumns(
Filter( Products; 'Quantity Requested' > 'Quantity Available' );
"Quantity To Order"; 'Quantity Requested' - 'Quantity Available'
);
"Product";
"Quantity To Order"
)
Tenga en cuenta que en la fórmula anterior, se han usado comillas dobles (")
en algunos casos y comillas simples (') en otros. Las comillas simples son
necesarias cuando se hace referencia al valor de un objeto, como un campo o
una tabla, donde el nombre del objeto contiene un espacio. Las comillas
dobles se usan cuando no se hace referencia al valor de un objeto, sino que se
habla de él, sobre todo en situaciones en que el objeto todavía no existe,
como en el caso de AgregarColumnas.
Anulación de ambigüedades
Los nombres de campo agregados con el ámbito de registro anulan los
mismos nombres de los restantes lugares de la aplicación. Cuando esto
sucede, para acceder a los valores desde fuera del ámbito de registro hay que
utilizar el operador @ de anulación de ambigüedades:
Para acceder a valores de ámbitos de registro anidados, use el operador @
con el nombre de la tabla en la que opera mediante este modelo:
Table [@ FieldName ]
Para acceder a valores globales, como orígenes de datos, colecciones y
variables de contexto, use el modelo [@ ObjectName ] (sin designación de
tabla).
Si la tabla en la que se opera es una expresión, como Filter( Table , ... ) , no se
puede usar el operador de desambiguación. Solo el ámbito de registro más
interno puede acceder a los campos de esta expresión de tabla, pero sin usar
el operador de anulación de ambigüedades.
Por ejemplo, imagine que tiene una colección X:
Ungroup(
ForAll( X;
ForAll( Y;
Y[@Value] & Text( X[@Value] ) & [@Value]
)
);
"Value"
)
Ungroup(
ForAll( X;
ForAll( Y;
Value & Text( X[@Value] ) & [@Value]
)
);
"Value"
)
Para una alternativa más corta, especifique TABLE. Column, que extrae la
tabla de una sola columna de la columna solo de la tabla. Por ejemplo, esta
fórmula produce exactamente el mismo resultado que el uso de
mostrarcolumnas.
Products.Product
Registros en línea
Exprese registros con el uso de llaves que contienen valores de campo con
nombre. Por ejemplo, puede expresar el primer registro en la tabla al inicio de
este tema mediante la utilización de la fórmula:
{ Name: "Chocolate"; Price: 3,95; 'Quantity on Hand': 12; 'Quantity on
Order': 10 }
Tablas insertadas
Puede crear una tabla mediante la utilización de la función Tabla y un
conjunto de registros. Puede expresar la tabla al inicio de este tema mediante
la utilización de la fórmula:
Table(
{ Name: "Chocolate"; Price: 3,95; 'Quantity on Hand': 12; 'Quantity on
Order': 10 };
{ Name: "Bread"; Price: 4,95; 'Quantity on Hand': 34; 'Quantity on
Order': 0 };
{ Name: "Water"; Price: 4,95; 'Quantity on Hand': 10; 'Quantity on
Order': 0 }
)
Table(
{ Name: "Chocolate";
'Quantity History': Table( { Quarter: "Q1"; OnHand: 10; OnOrder: 10
};
{ Quarter: "Q2"; OnHand: 18; OnOrder: 0 }
)
}
)
Al escribir un documento de investigación en School, es probable que haya proporcionado una lista de las
referencias al final. No incluyó una copia del material de fondo real que usó, sino un vínculo Web, un título de
libro y un autor u otra información para que alguien pueda realizar un seguimiento del origen original. Ha
mezclado distintos tipos de orígenes en una sola lista, artículos de periódicos junto a grabaciones de audio, cada
uno con sus propios detalles específicos para una cita adecuada. Por ejemplo, los artículos de Wikipedia suelen
incluir una larga lista de referencias.
En las aplicaciones de lienzo, a menudo se trabaja con copias de registros descargados de orígenes de datos. Use
las funciones de búsqueda y filtrado y la propiedad seleccionada del control Galería para identificar el registro
específico que desea. Todos los registros de Filter o selected serán del mismo tipo de entidad, por lo que puede
usar campos con un simple. Notación de campo . Estas copias suelen incluir información de referencia, por lo que
puede usar la función patch para actualizar el origen original.
Las aplicaciones de lienzo también admiten referencias de registros. De forma muy parecida a una referencia en
papel de investigación, una referencia de registro hace referencia a un registro sin incluir una copia completa del
mismo. Una referencia de este tipo puede hacer referencia a un registro de cualquier entidad. Además de las
referencias de papel de investigación, puede mezclar registros de diferentes entidades en una sola columna.
Muchas operaciones en las referencias de registro son idénticas a trabajar con registros. Puede comparar
referencias de registro entre sí y con registros completos. Puede establecer el valor de una referencia de registro
con la función patch tal como lo haría con una búsqueda con un registro completo.
Hay una diferencia de uso importante: no puede acceder directamente a los campos de una referencia de registro
sin tener que establecer primero la entidad a la que hace referencia. Esto se debe a que las aplicaciones de lienzo
requieren que se conozcan todos los tipos al escribir fórmulas. Dado que no conoce el tipo de una referencia de
registro hasta que se ejecuta la aplicación, no puede usar la sencilla. Notación de campo directamente. Primero
debe determinar dinámicamente el tipo de entidad con la función IsType y, a continuación, usar. Notación de
campo en el resultado de la función astype .
El tipo de entidad hace referencia al esquema de cada registro de una entidad. Cada entidad tiene un conjunto
único de campos con nombres y tipos de datos diferentes. Cada registro de la entidad hereda esa estructura; dos
registros tienen el mismo tipo de entidad si proceden de la misma entidad.
Búsquedas polimórficas
Common Data Service admite relaciones entre los registros. Cada registro de la entidad cuentas tiene un campo
principal de búsqueda de contactos en un registro de la entidad contactos . La búsqueda solo puede hacer
referencia a un registro de contactos y no puede hacer referencia a un registro en, por ejemplo, la entidad
equipos . Este último detalle es importante porque siempre sabe qué campos estarán disponibles para la
búsqueda.
Common Data Service también admite búsquedas polimórficas, que pueden hacer referencia a un registro de
cualquier entidad de un conjunto. Por ejemplo, el campo propietario puede hacer referencia a un registro de la
entidad usuarios o de la entidad equipos . El mismo campo de búsqueda en distintos registros podría hacer
referencia a los registros de entidades diferentes. En este caso, no siempre sabe qué campos estarán disponibles.
Las referencias de los registros de Canvas se diseñaron para trabajar con búsquedas polimórficas en Common
Data Service. También puede utilizar las referencias de registros fuera de este contexto, que es la diferencia entre
los dos conceptos.
En la siguiente sección, comenzará a explorar estos conceptos trabajando con la búsqueda de propietario .
Este campo de búsqueda puede hacer referencia a un registro de la entidad equipos o de la entidad usuarios .
No todos los registros de estas entidades tienen permiso para ser propietarios; Compruebe los roles admitidos
si surge un problema.
En este gráfico se muestra una sencilla Galería de cuentas, donde la entidad cuentas se ha agregado a la
aplicación como un origen de datos:
IMPORTANT
En este tema, los gráficos muestran algunos nombres y otros valores que no forman parte de los datos de ejemplo que se
suministran con Common Data Service. Los pasos demuestran con precisión cómo configurar controles para un resultado
determinado, pero su experiencia variará en función de los datos de su organización.
Para mostrar el propietario de cada cuenta en la galería, es posible que se sienta tentado a usar la fórmula
ThisItem.Owner.Name. Sin embargo, el campo Nombre de la entidad equipo es nombre del equipoy el
campo Nombre de la entidad usuario es nombre completo. La aplicación no puede conocer el tipo de
búsqueda con el que está trabajando hasta que ejecute la aplicación y puede variar entre los registros de la
entidad cuentas .
Necesita una fórmula que se pueda adaptar a esta varianza. También debe agregar los orígenes de datos para los
tipos de entidad que el propietario podría ser (en este caso, usuarios y equipos). Agregue estos tres orígenes
de datos a la aplicación:
Con estos orígenes de datos en su lugar, use esta fórmula para mostrar el nombre de un usuario o un equipo:
IfError(
"Team: " & AsType( ThisItem.Owner; [@Teams] ).'Team Name';
"User: " & AsType( ThisItem.Owner; [@Users] ).'Full Name' )
Para filtrar la galería por un usuario específico seleccionado en este cuadro combinado, establezca la propiedad
elementos de la galería en esta fórmula:
No es necesario usar IsType o astype porque está comparando las referencias de registros con otras referencias
de registros o con registros completos. La aplicación conoce el tipo de entidad de ComboBox1. seleccionado
porque se deriva de la entidad usuarios . Las cuentas para las que el propietario es un equipo no coinciden con el
criterio de filtro.
Puede obtener un poco más elegante si admite el filtrado por parte de un usuario o un equipo.
1. Para colocar espacio cerca de la parte superior de la pantalla, cambie el tamaño de la galería y mueva el
cuadro combinado, inserte un control radio sobre la galería y, a continuación, establezca estas propiedades
para el nuevo control:
Elementos: [ "All"; "Users"; "Teams" ]
Diseño: Layout.Horizontal
2. En el caso del control de cuadro combinado , establezca esta propiedad (si el cuadro combinado
desaparece, seleccione usuarios en el control de radio):
Visible: Radio1.Selected.Value = "Users"
3. Copie y pegue el control de cuadro combinado , mueva la copia directamente sobre la original y, a
continuación, establezca estas propiedades para la copia:
Elementos: Teams
Visible: Radio1.Selected.Value = "Teams"
La aplicación solo mostrará un cuadro combinado cada vez, en función del estado del control de radio.
Como están directamente encima de otras, parecerá que son el mismo control que cambia su contenido.
4. Por último, establezca la propiedad elementos del control Galería en esta fórmula:
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)
)
Con estos cambios, puede mostrar todos los registros o filtrarlos en función de un usuario o un equipo:
La fórmula es totalmente delegables. La parte que compara los valores del botón de radio es una constante en
todos los registros y se evalúa antes de que se envíe el resto del filtro a Common Data Service.
Si desea filtrar según el tipo del propietario, puede usar la función IsType , pero todavía no se delegables.
Actualizar el propietario mediante el uso de patch
Puede actualizar el campo propietario de la misma manera que cualquier otra búsqueda. Para establecer el
propietario de la cuenta seleccionada actualmente en el primer equipo:
Este enfoque no difiere de una búsqueda normal porque la aplicación conoce el tipo de primero (equipos) . Si
desea el primer usuario en su lugar, reemplace esa parte con el primero (usuarios) . La función patch sabe que
el campo Owner se puede establecer en cualquiera de estos dos tipos de entidad.
Para agregar esta funcionalidad a la aplicación:
1. En el panel de vista de árbol , seleccione el control de radio y los dos controles de cuadro combinado al
mismo tiempo.
2. En el menú de puntos suspensivos, seleccione copiar estos elementos.
3. En el mismo menú, seleccione pegar.
6. En el control radio , seleccione usuarios para que el control de cuadro combinado que muestra los
usuarios esté visible.
7. Seleccione el control de cuadro combinado visible y, a continuación, establezca la propiedad
DefaultSelectedItems en esta fórmula:
11. Inserte un control de botón , muévalo debajo del control de cuadro combinado y, a continuación,
establezca la propiedad Text del botón en "Patch Owner" .
12. Establezca la propiedad alseleccionar del botón en esta fórmula:
Los controles de radio y de cuadro combinado copiados muestran el propietario de la cuenta seleccionada
actualmente en la galería. Con los mismos controles, puede establecer el propietario de la cuenta en cualquier
equipo o usuario seleccionando el botón:
4. En la pestaña propiedades situada cerca del lado derecho de la pantalla, seleccione Editar campos.
5. En el panel campos , seleccione los puntos suspensivos y, a continuación, seleccione Agregar una tarjeta
personalizada.
La nueva tarjeta aparece en la parte inferior del control de formulario.
6. Cambie el tamaño de la tarjeta según sea necesario para mostrar todo el texto.
Puede agregar más campos de búsqueda de clientes a una entidad seleccionando el tipo de datos Customer
para un campo nuevo.
Los campos de búsqueda de clientes pueden hacer referencia a un registro de la entidad accounts o de la
entidad Contacts . Usará las funciones IsType y astype con estas entidades, por lo que ahora es un buen
momento para agregarlas como orígenes de datos (puede dejar los equipos y los usuarios en su lugar).
El tratamiento de los campos cliente y propietario es tan similar que puede copiar literalmente la aplicación
(archivo > Guardar comoy, a continuación, especificar un nombre diferente) y realizar estos reemplazos
sencillos:
Propiedad filtrar elementos de radio [ "todos"; "usuarios"; "equipos" ] [ "todas"; "cuentas"; "contactos" ]
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)
)
Dos diferencias importantes entre Customer y Owner requieren una actualización de las fórmulas dentro de la
galería y el formulario:
1. Las relaciones uno a varios entre cuentas y contactos tienen prioridad cuando se hace referencia a estos
tipos de entidad por nombre. En lugar de cuentas, use [cuentas de @] ; en lugar de contactos, use
[@contactos] . Mediante el operador de desambiguación global, asegúrese de que hace referencia al tipo
de entidad en IsType y astype. Este problema solo existe en el contexto de registro de la galería y los
controles de formulario.
2. El campo propietario debe tener un valor, pero los campos de cliente pueden estar en blanco. Para
mostrar el resultado correcto sin un nombre de tipo, pruebe este caso con la función esblanco y muestre
una cadena de texto vacía en su lugar.
Ambos de estos cambios están en la misma fórmula, que aparece en la tarjeta personalizada en el formulario, así
como en la propiedad texto del control etiqueta de la Galería:
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'
)
Con estos cambios, puede ver y cambiar el campo nombre de la compañía en la entidad contactos .
De nuevo, tendrá que agregar un origen de datos: esta vez para faxes. En la pestaña Ver , seleccione orígenes de
datos:
Una diferencia importante con respecto a es que no se limita a las cuentas y los contactos. De hecho, la lista de
entidades es extensible con entidades personalizadas. La mayoría de la aplicación puede acomodar este punto sin
modificaciones, pero debe actualizar la fórmula de la etiqueta en la galería y el formulario:
Todas las entidades de actividad y las entidades de tarea-tarea tienen una relación implícita. Si cambia el filtro a
todo en la parte superior de la pantalla, selecciona la entidad faxes y, a continuación, selecciona la pestaña
relaciones , se mostrarán todas las entidades que pueden ser un destino de una búsqueda relacionada .
Si muestra las relaciones de la entidad cuentas , aparecen todas las entidades que pueden ser un origen de un
campo de búsqueda referente a.
¿Qué significa todo?
Al escribir fórmulas, debe tener en cuenta que la lista de entidades de actividad no es fija y puede crear la suya
propia. La fórmula debe administrar correctamente una entidad de actividad que no se esperaba.
Las actividades y tareas de actividad tienen una relación de uno a varios. Puede solicitar fácilmente todos los
faxes relacionados con una cuenta.
Para explorar este concepto en la aplicación:
1. Agregue otra pantalla.
5. Agregue una segunda galería, cambie su tamaño y, a continuación, muévala al lado derecho de la pantalla.
6. Establezca la propiedad elementos de la nueva galería en Gallery2.Selected.Faxes .
Este paso devuelve la lista filtrada de faxes para una cuenta determinada.
7. Establezca el diseño de la galería en título y subtítuloy, a continuación, establezca el campo título para
mostrar el campo asunto (que puede estar en minúsculas).
A medida que selecciona un elemento en la lista de cuentas, la lista de faxes solo muestra faxes para esa cuenta.
Entidad de actividad
Como se describe en la sección anterior, puede mostrar todos los faxes de una cuenta. Sin embargo, también
puede mostrar todas las actividades de una cuenta, incluidos los faxes, mensajes de correo electrónico, llamadas
telefónicas y otras interacciones.
En el segundo escenario, se usa la entidad de actividad . Puede mostrar esta entidad activando todo en la
esquina superior derecha para quitar el filtro de la lista de entidades.
La entidad de actividad es especial. Siempre que se agrega un registro a la entidad faxes , el sistema también
crea un registro en la entidad actividad con los campos que son comunes a todas las entidades de actividad. De
esos campos, el asunto es uno de los más interesantes.
Puede mostrar todas las actividades cambiando solo una línea en el ejemplo anterior. Reemplace
Gallery2.Selected.Faxes por Gallery2.Selected.Activities .
Los registros provienen de la entidad de actividad , pero puede usar la función IsType para identificar el tipo de
actividad que son. De nuevo, antes de utilizar IsType con un tipo de entidad, debe agregar el origen de datos.
Con esta fórmula, puede mostrar el tipo de registro en un control etiqueta dentro de la Galería:
Entidad de notas
Hasta ahora, todos los ejemplos relacionados se basaban en actividades, pero la entidad notas representa otro
caso.
Al crear una entidad, puede habilitar los datos adjuntos.
Si activa la casilla para habilitar los datos adjuntos, creará una relación relacionada con la entidad notas , como
se muestra en este gráfico para la entidad cuentas :
Aparte de esta diferencia, se usa la búsqueda relacionada de la misma manera en que se usan las actividades.
Las entidades que están habilitadas para los datos adjuntos tienen una relación de uno a varios con las notas,
como en este ejemplo:
First( Accounts ).Notes
NOTE
En el que se redactó este documento, la búsqueda relacionada no está disponible para la entidad notas . No se puede leer
ni filtrar según el campo referente a y no se puede establecer el campo mediante patch.
Sin embargo, la relación inverso de notas de uno a varios está disponible, por lo que puede filtrar una lista de notas para un
registro habilitado para los datos adjuntos. También puede usar la función Relate para agregar una nota a la tabla de notas
de un registro, pero primero se debe crear la nota, como en este ejemplo:
Relate( ThisItem.Notes; Patch( Notes; Defaults( Notes ); { Title: "A new note" } ) )
Entidades de actividad
En el que se redactó este documento, las aplicaciones de lienzo no admiten las entidades de actividad.
Agregar y configurar un control de aplicación
de lienzo en PowerApps
05/11/2019 • 10 minutes to read
Requisitos previos
1. Si aún no tiene una licencia de PowerApps, Regístresey, a continuación, inicie sesión.
2. En crear su propia aplicación, mantenga el mouse sobre la aplicación Canvas en
blancoy, a continuación, seleccione crear esta aplicación.
3. Si se le pide que realice el paseo introductorio, seleccione siguiente para familiarizarse con
las áreas clave de la interfaz de PowerApps (o seleccione omitir).
Siempre puede realizar el paseo más adelante seleccionando el icono de signo de
interrogación situado cerca de la esquina superior derecha de la pantalla y, a continuación,
seleccionando realizar el paseo introductorio.
La nueva pantalla se denomina Screen2 y aparece en el panel de navegación izquierdo. Este panel
muestra una lista jerárquica de los controles de la aplicación para que pueda encontrar y seleccionar
cada control fácilmente.
Para demostrar cómo funciona esta lista, seleccione etiqueta en la pestaña Insertar . El nuevo
control aparece en Screen2 en la lista jerárquica.
En la pantalla, un cuadro con seis controladores rodea la etiqueta de forma predeterminada. Ese tipo
de cuadro rodea el control que está seleccionado. Si selecciona la pantalla haciendo clic o pulsando
en ella (pero fuera de la etiqueta), el cuadro desaparece de la etiqueta. Para volver a seleccionar la
etiqueta, puede hacer clic o pulsar en ella, o puede hacer clic o pulsar en su nombre en la lista
jerárquica de controles.
IMPORTANT
Siempre debe seleccionar un control antes de poder configurarlo.
Eliminar un control
En la lista jerárquica de controles, mantenga el mouse sobre el control que desea eliminar, seleccione
el botón de puntos suspensivos que aparece y, a continuación, seleccione eliminar. Para eliminar un
control que no es una pantalla, también puede seleccionar el control en el lienzo y, a continuación,
presionar la tecla Supr.
Cambiar el orden de las pantallas
En la lista jerárquica de controles, mantenga el mouse sobre una pantalla que desea mover hacia
arriba o hacia abajo, seleccione el botón de puntos suspensivos que aparece y, a continuación,
seleccione subir o bajar.
NOTE
Cuando se abre la aplicación, la pantalla situada en la parte superior de la lista jerárquica de controles suele
aparecer en primer lugar. Pero puede especificar una pantalla diferente si establece la propiedad OnStart en
una fórmula que incluya la función Navigate .
Para cambiar el tamaño de un control, selecciónelo, mantenga el mouse sobre cualquier controlador
en el cuadro de selección para que aparezca la flecha de dos puntas y, a continuación, arrastre el
controlador.
NOTE
Como se describe más adelante en este tema, también puede moverse y cambiar el tamaño de un control
modificando cualquier combinación de sus propiedades X , y , height y width en la barra de fórmulas.
NOTE
Como se describe más adelante en este tema, también puede cambiar este texto modificando su propiedad
texto en la barra de fórmulas.
Una expresión no incluye una función y a menudo se basa en una propiedad de otro
control. Screen1. Height es una expresión que muestra el alto de Screen1.
Una fórmula incluye una o más funciones. La función Now devuelve la fecha y hora
actuales de la zona horaria local y la función de texto da formato a valores como
fechas, horas y monedas.
Las fórmulas suelen ser mucho más complejas que este ejemplo para que puedan
actualizar los datos, ordenarlos, filtrarlos y realizar otras operaciones. Para obtener
más información, vea la referencia de fórmulas.
Pasos siguientes
Busque procedimientos paso a paso para configurar controles comunes como pantallas, listas,
galerías, formulariosy gráficos.
Busque información de referencia sobre cada tipo de control en la referencia de control.
Agregar una pantalla a una aplicación de lienzo y
navegar por diferentes pantallas
07/05/2019 • 2 minutes to read
Cree una aplicación con varias pantallas e incorpore mecanismos que permitan a los usuarios desplazarse por
ellas.
2. (Opcional) Mueva la flecha hasta que aparezca en la esquina inferior derecha de la pantalla.
3. Con la flecha aún seleccionada, seleccione el acción pestaña y, a continuación, seleccione Navigate.
La propiedad AlSeleccionar de la flecha se establece automáticamente en la función Navegar.
5. Mientras mantiene presionada la tecla Alt, alternar entre pantallas seleccionando la flecha en cada
pantalla.
Más información
Referencia de control de pantalla
Agregar una pantalla de desplazamiento a una
aplicación de lienzo en PowerApps
25/10/2019 • 3 minutes to read
En una aplicación de lienzo, cree una pantalla por la que puedan desplazarse los usuarios para ver diferentes
elementos. Por ejemplo, cree una aplicación de teléfono que muestre datos en varios gráficos, que los usuarios
podrán ver al desplazarse.
Cuando se agregan varios controles en una sección, estos mantienen su posición relativa en dicha sección tanto si
se trata de una aplicación para el teléfono como de una aplicación para la tableta. Tenga en cuenta que el tamaño y
la orientación de la pantalla pueden determinar la organización de las secciones.
Requisitos previos
1. Suscríbase a PowerApps.
2. Inicie sesión en con las mismas credenciales que usó para registrarse.
3. En Crear su propia aplicación, pase el puntero por la ventana Aplicación de lienzo desde cero, seleccione
el icono de teléfono y, a continuación, seleccione Crear esta aplicación.
4. Aprenda a agregar y configurar controles.
2. En la pestaña Inicio, pulse o haga clic en Diseños y en la opción que permite agregar un lienzo de
desplazamiento infinito:
Se agrega el lienzo:
Agregar elementos
Ahora, vamos a agregar algunos controles al lienzo para ver cómo funciona la pantalla de desplazamiento.
1. En el lienzo que acaba de agregar, pulse o haga clic en Agregar un elemento desde la pestaña Insertar.
4. Mueva el control de entrada manuscrita hasta situarlo bajo el gráfico y cambie su tamaño para que ocupe la
parte inferior de la tarjeta:
Agregar una sección
Ahora, vamos a agregar una nueva tarjeta con otro control.
1. En la parte inferior de la pantalla, pulse o haga clic en Agregar sección:
2. Con la tarjeta seleccionada, vaya a la pestaña Insertar y pulse o haga clic en Gráficos y en Gráfico de
líneas.
El nuevo gráfico es demasiado grande y no puede aparecer en la pantalla con los demás controles:
3. Para abrir el modo de vista previa, presione F5 (o haga clic o pulse en el icono de reproducción situado cerca
de la esquina superior derecha).
4. Desplácese hacia abajo para ver el nuevo gráfico de líneas.
Información general de la plantilla de pantalla
calendario para aplicaciones de Canvas
05/11/2019 • 19 minutes to read
En una aplicación de lienzo, agregue una pantalla de calendario que muestre los eventos próximos a los usuarios
de sus cuentas de Office 365 Outlook. Los usuarios pueden seleccionar una fecha de un calendario y desplazarse
por una lista de eventos de ese día. Puede cambiar los detalles que aparecen en la lista, agregar una segunda
pantalla que muestre más detalles sobre cada evento, mostrar una lista de asistentes para cada evento y hacer
otras personalizaciones.
También puede agregar otras pantallas basadas en plantillas que muestren datos diferentes de Office 365, como
el correo electrónico, las personas de una organización y la disponibilidad de personas que los usuarios quieran
invitar a una reunión.
Esta información general le enseña:
Cómo usar la pantalla calendario predeterminada.
Cómo modificarlo.
Cómo integrarlo en una aplicación.
Para profundizar más en la funcionalidad predeterminada de esta pantalla, consulte la referencia de la pantalla
calendario.
Requisito previo
Está familiarizado con cómo agregar y configurar pantallas y otros controles a medida que crea una aplicación en
PowerApps.
Funcionalidad predeterminada
Para agregar una pantalla de calendario desde la plantilla:
1. Inicie sesión en PowerApps y, después, cree una aplicación o abra una aplicación existente en PowerApps
Studio.
En este tema se muestra una aplicación de teléfono, pero los mismos conceptos se aplican a una aplicación
de Tablet PC.
2. En la pestaña Inicio de la cinta de opciones, seleccione nueva pantalla > calendario.
De forma predeterminada, la pantalla tiene un aspecto similar al siguiente:
3. Para Mostrar datos, seleccione una opción en la lista desplegable situada cerca de la parte superior de la
pantalla.
Modificar la pantalla
Puede modificar la funcionalidad predeterminada de esta pantalla de varias maneras comunes:
Especifique el calendario.
Mostrar detalles diferentes sobre un evento.
Ocultar eventosde no bloqueo.
Si desea modificar la pantalla con más detalle, use la referencia de la pantalla calendario como guía.
Especificar el calendario
Si ya sabe qué calendario deben ver los usuarios, puede simplificar la pantalla especificando ese calendario antes
de publicar la aplicación. Este cambio elimina la necesidad de la lista desplegable de calendarios, por lo que puede
quitarlo.
1. Establezca la propiedad OnStart de la pantalla predeterminada de la aplicación en esta fórmula:
Set( _userDomain; Right( User().Email; Len( User().Email ) - Find( "@"; User().Email ) ) );;
Set( _dateSelected; Today() );;
Set( _firstDayOfMonth; DateAdd( Today(); 1 - Day( Today() ); Days ) );;
Set( _firstDayInView;
DateAdd( _firstDayOfMonth; -( Weekday( _firstDayOfMonth) - 2 + 1 ); Days )
);;
Set( _lastDayOfMonth; DateAdd( DateAdd( _firstDayOfMonth; 1; Months ); -1; Days ) );;
Set( _calendarVisible; false );;
Set( _myCalendar;
LookUp( Office365.CalendarGetTables().value; DisplayName = "{YourCalendarNameHere}" )
);;
Set( _minDate;
DateAdd( _firstDayOfMonth; -( Weekday(_firstDayOfMonth) - 2 + 1 ); Days )
);;
Set( _maxDate;
DateAdd(
DateAdd( _firstDayOfMonth; -( Weekday(_firstDayOfMonth) - 2 + 1 ); Days );
40;
Days
)
);;
ClearCollect( MyCalendarEvents;
Office365.GetEventsCalendarViewV2( _myCalendar.Name;
Text( _minDate; UTC );
Text( _maxDate; UTC )
).value
);;
Set( _calendarVisible; true )
NOTE
Esta fórmula se edita ligeramente desde el valor predeterminado de la propiedad alseleccionar de la lista
desplegable para seleccionar un calendario. Para obtener más información sobre ese control, vea su sección en la
referencia de la pantalla calendario.
2. Reemplace {YourCalendarNameHere} , incluidas las llaves, por el nombre del calendario que desea mostrar
(por ejemplo, calendario).
IMPORTANT
En los pasos siguientes se supone que ha agregado solo una pantalla de calendario a la aplicación. Si ha agregado
más de uno, los nombres de control (por ejemplo, iconCalendar1) terminarán con un número diferente y tendrá
que ajustar las fórmulas según corresponda.
SortByColumns(
Filter(
MyCalendarEvents;
Text( Start; DateTimeFormat.ShortDate ) =
Text( _dateSelected; DateTimeFormat.ShortDate );
ShowAs <> "Free"
);
"Start"
)
En esta fórmula, la función Filter oculta no solo los eventos que están programados para una fecha distinta
de la seleccionada, sino también los eventos para los que la disponibilidad está establecida en Free.
2. En el calendario, establezca la propiedad visible del control de círculo en esta fórmula:
CountRows(
Filter(
MyCalendarEvents;
DateValue( Text(Start) ) = DateAdd( _firstDayInView; ThisItem.Value; Days );
ShowAs <> "Free"
)
) > 0 && !Subcircle1.Visible && Title2.Visible
Esta fórmula contiene los mismos filtros que la fórmula anterior. Por lo tanto, el círculo del indicador de
eventos aparece en una fecha solo si tiene uno o varios eventos que se encuentran en la fecha seleccionada
y cuya disponibilidad no está establecida en libre.
NOTE
En este procedimiento se muestran los detalles de los eventos en una galería con contenido dinámico, pero puede obtener
resultados similares si toma otros enfoques. Por ejemplo, puede obtener más control de diseño mediante una serie de
etiquetas en su lugar.
1. Agregue una pantalla en blanco, denominada EventDetailsScreen, que contenga una galería de alto
flexible en blanco y un botón que vuelva a la pantalla de calendario.
2. En la galería de alto flexible, agregue un control etiqueta y un control texto html y establezca la
propiedad autoheight de ambos en true.
NOTE
PowerApps recupera el cuerpo del mensaje de cada evento como texto HTML, por lo que debe mostrar el contenido
en un control de texto HTML .
4. Ajuste las propiedades adicionales según sea necesario para ajustarse a sus necesidades de estilo.
Por ejemplo, puede que desee agregar una línea de separación debajo del control de texto HTML .
5. Establezca la propiedad Items de la galería de alto flexible en esta fórmula:
Table(
{ Title: "Subject"; Value: _selectedCalendarEvent.Subject };
{
Title: "Time";
Value: _selectedCalendarEvent.Start & " - " & _selectedCalendarEvent.End
};
{ Title: "Body"; Value: _selectedCalendarEvent.Body }
)
Esta fórmula crea una galería de datos dinámicos que se establece en los valores de campo de
_selectedCalendarEvent, que se establece cada vez que el usuario selecciona un evento en el control
CalendarEventsGallery . Puede extender esta galería para incluir más campos agregando más etiquetas,
pero este conjunto proporciona un buen punto de partida.
6. Con los elementos de la galería en su lugar, establezca la propiedad texto del control etiqueta en
ThisItem.Title y la propiedad HtmlText del control de texto HTML en ThisItem.Value .
NOTE
En lugar de usar la variable _selectedCalendarEvent , en su lugar podría usar CalendarEventsGallery.
Seleccionadas.
Esta fórmula concatena los asistentes necesarios y opcionales en una sola cadena y, a continuación, divide
esa cadena en direcciones individuales en cada punto y coma. A continuación, la fórmula filtra los valores
en blanco de ese conjunto y agrega los demás valores en una colección denominada
AttendeeEmailsTemp.
ClearCollect (AttendeeEmails)
ClearCollect( AttendeeEmails;
AddColumns( AttendeeEmailsTemp;
"InOrg";
Upper( _userDomain ) = Upper( Right( Result; Len(Result) - Find("@"; Result) ) )
)
);;
Sin embargo, esta fórmula coincide con las direcciones de correo electrónico como
Jane@NotTheContosoCompany.com con un _userDomain como contoso.com, y esas personas no
trabajan en la misma empresa.
ClearCollect (mis personas)
ClearCollect( MyPeople;
ForAll( AttendeeEmails;
If( InOrg;
Office365Users.UserProfile( Result )
)
)
);;
Collect( MyPeople;
ForAll( AttendeeEmails;
If( !InOrg;
{
DisplayName: Result;
Id: "";
JobTitle: "";
UserPrincipalName: Result
}
)
)
);;
Para recuperar los perfiles de Office 365, debe usar la operación Office365Users. userprofile o
Office365Users. UserProfileV2 . Estas operaciones primero reúnen todos los perfiles de Office 365 para los
asistentes que se encuentran en la organización del usuario. A continuación, las operaciones agregan
algunos campos a los asistentes desde fuera de la organización. Estos dos elementos se separan en
operaciones distintas porque el bucle forall no garantiza el orden. Por lo tanto, forall podría recopilar
primero un asistente de fuera de la organización. En este caso, el esquema de mis personas solo contiene
displayName, ID, JobTitley UserPrincipalName. Sin embargo, las operaciones de UserProfile
recuperan datos mucho más completos que. Por lo tanto, se obliga a la colección People a agregar perfiles
de Office 365 antes que a los demás perfiles.
NOTE
Puede lograr el mismo resultado con una sola función ClearCollect :
ClearCollect( MyPeople;
ForAll(
AddColumns(
Filter(
Split(
ThisItem.RequiredAttendees & ThisItem.OptionalAttendees;
";"
);
!IsBlank( Result )
);
"InOrg"; _userDomain = Right( Result; Len( Result ) - Find( "@"; Result ) )
);
If( InOrg;
Office365Users.UserProfile( Result );
{
DisplayName: Result;
Id: "";
JobTitle: "";
UserPrincipalName: Result;
Department: "";
OfficeLocation: "";
TelephoneNumber: ""
}
)
)
)
Para finalizar este ejercicio:
1. Agregue una pantalla que contenga una galería para la que la propiedad Items esté establecida en People.
2. En la propiedad alseleccionar del control title en CalendarEventsGallery, agregue una función
Navigate a la pantalla que creó en el paso anterior.
Pasos siguientes
Vea la documentación de referencia de esta pantalla.
Obtenga más información sobre el conector de Office 365 Outlook.
Obtenga más información sobre el conector de usuarios de Office 365.
Información de referencia sobre la plantilla de
pantalla calendario para aplicaciones de Canvas
26/11/2019 • 24 minutes to read
En el caso de las aplicaciones de canvas en PowerApps, comprenda cómo contribuye cada control significativo de
la plantilla de pantalla calendario a la funcionalidad predeterminada general de la pantalla. Esta profundización
presenta las fórmulas de comportamiento y los valores de otras propiedades que determinan cómo responden
los controles a los datos proporcionados por el usuario. Para obtener una descripción de alto nivel de la
funcionalidad predeterminada de esta pantalla, consulte la información generalde la pantalla de calendario.
En este tema se resaltan algunos controles significativos y se explican las expresiones o fórmulas en las que se
establecen varias propiedades (como Items y alseleccionar) de estos controles:
Lista desplegable de calendario (dropdownCalendarSelection)
Icono de calendario (iconCalendar)
Cheurón anterior (iconPrevMonth)
Botón de contenido adicional del mes siguiente (iconNextMonth)
Galería de calendarios (MonthDayGallery) (+ controles secundarios)
Galería de eventos (CalendarEventsGallery)
Requisito previo
Está familiarizado con cómo agregar y configurar pantallas y otros controles a medida que crea una aplicación en
PowerApps.
Propiedad: elementos
Valor: Office365.CalendarGetTables().value
Este valor es una operación de conector que recupera los calendarios de Outlook del usuario de la
aplicación. Puede ver el valor que recupera esta operación.
Propiedad: onchange
Valor: Select(dropdownCalendarSelection)
Cuando el usuario selecciona una opción en la lista, se ejecuta la función de la propiedad alseleccionar
del control.
Propiedad: Alseleccionar
Value: una función If , que aparece en el siguiente bloque de código, y varias funciones adicionales, que
aparecen en el bloque de código después de eso.
Esta parte de la fórmula se ejecuta solo la primera vez que el usuario selecciona una opción en la lista
desplegable después de abrir la aplicación:
Icono de calendario
Propiedad: Alseleccionar
Valor: cuatro funciones de conjunto que restablecen la galería de calendario en la fecha de hoy:
El código anterior restablece todas las variables de fecha necesarias para mostrar la vista de calendario
adecuada:
_dateSelected se restablece a hoy.
_firstDayOfMonth se restablece al primer día del mes de hoy.
_firstDayInView se restablece al primer día visible cuando se selecciona el mes de hoy.
_lastDayOfMonth se restablece en el último día del mes de hoy.
En la sección desplegable calendario de este tema se explican estas variables con más detalle.
Propiedad: Alseleccionar
Valor: cuatro funciones de conjunto y una función If que muestran el mes anterior en la galería de
calendario:
Set( _firstDayOfMonth; DateAdd( _firstDayOfMonth; -1; Months ) );;
Set( _firstDayInView;
DateAdd( _firstDayOfMonth; -(Weekday( _firstDayOfMonth ) - 2 + 1); Days )
);;
Set( _lastDayOfMonth; DateAdd(DateAdd( _firstDayOfMonth; 1; Months ); -1; Days ) );;
If( _minDate > _firstDayOfMonth;
Collect( MyCalendarEvents;
'Office365'.GetEventsCalendarViewV2( _myCalendar.Name;
Text( _firstDayInView; UTC );
Text( DateAdd( _minDate; -1; Days ); UTC )
).value
);;
Set( _minDate; _firstDayInView )
)
NOTE
Las definiciones de _firstDayOfMonth, _FirstDayInViewy _lastDayOfMonth son casi idénticas a las de la sección
desplegable calendario de este tema.
Las tres primeras líneas del código anterior se ejecutan cada vez que el usuario selecciona el botón de
contenido adicional del mes anterior. El código establece las variables necesarias para mostrar la vista de
calendario adecuada. El código restante se ejecuta solo si el usuario no ha seleccionado previamente este
mes para el calendario seleccionado.
En este caso, _minDate es el primer día que aparece cuando se muestra el mes anterior. Antes de que el
usuario seleccione el icono, _minDate tiene un valor mínimo posible de la 23 del mes actual. (Cuando el 1
de marzo cae en sábado, _firstDayInView para marzo es el 23 de febrero). Esto significa que, si un
usuario no ha seleccionado este mes, _minDate es mayor que el nuevo _firstDayOfMonthy la función If
devuelve true. El código se ejecuta y se actualiza una colección y una variable:
MyCalendarEvents recupera eventos del calendario seleccionado con la operación Office365.
GetEventsCalendarViewV2 . El intervalo de fechas se encuentra entre las _fecha firstDayInView y
_minDate -1. Dado que MyCalendarEvents ya contiene eventos en la fecha de _minDate , 1 se
resta de esa fecha para el valor máximo de este nuevo intervalo de fechas.
_minDate se establece en el _firstDayInView actual, ya que se trata de la primera fecha para la
que se han recuperado eventos. Si un usuario vuelve a esta fecha seleccionando el botón de
contenido adicional del mes anterior, la función If devuelve false. el código no se ejecuta porque los
eventos de esta vista ya están almacenados en caché en MyCalendarEvents.
Propiedad: Alseleccionar
Valor: cuatro funciones de conjunto y una función If que muestran el mes siguiente en la galería de
calendario:
Set( _firstDayOfMonth; DateAdd( _firstDayOfMonth; 1; Months ) );;
Set( _firstDayInView;
DateAdd( _firstDayOfMonth; -(Weekday( _firstDayOfMonth ) - 2 + 1); Days ) );;
Set( _lastDayOfMonth; DateAdd( DateAdd( _firstDayOfMonth; 1; Months ); -1; Days ) );;
If( _maxDate < _lastDayOfMonth;
Collect( MyCalendarEvents;
'Office365'.GetEventsCalendarViewV2( _myCalendar.Name;
Text( DateAdd( _maxDate; 1; Days ); UTC );
DateAdd( _firstDayInView; 40; Days )
).value
);;
Set( _maxDate; DateAdd( _firstDayInView; 40; Days) )
)
NOTE
Las definiciones de _firstDayOfMonth, _FirstDayInViewy _lastDayOfMonth son casi idénticas a las de la sección
desplegable calendario de este tema.
Las tres primeras líneas del código anterior, que se ejecutan cuando el usuario selecciona el botón de
contenido adicional del mes siguiente, establezca las variables necesarias para mostrar la vista de
calendario adecuada. El código restante se ejecuta solo si el usuario no ha seleccionado previamente este
mes para el calendario seleccionado.
En ese caso, _maxDate es el último día que aparece cuando se muestra el mes anterior. Antes de que el
usuario seleccione el botón de contenido adicional del mes siguiente, _maxDate tiene un valor máximo
posible del decimotercer del mes siguiente. (Cuando el 1 de febrero cae en un domingo de año no bisiesto,
_maxDate es el 13 de marzo, que es _firstDayInView + 40 días). Esto significa que, si un usuario no ha
seleccionado este mes, _maxDate es mayor que el nuevo _lastDayOfMonthy la función If devuelve true.
El código se ejecuta y se actualiza una colección y una variable:
MyCalendarEvents recupera eventos del calendario seleccionado con la operación Office365.
GetEventsCalendarViewV2 . El intervalo de fechas se encuentra entre _maxDate + 1 día y
_firstDayInView + 40 días. Dado que MyCalendarEvents ya contiene eventos en la fecha de
_minDate , se agrega 1 a esa fecha para el valor mínimo de este nuevo intervalo de fechas.
_firstDayInView + 40 es la fórmula de _maxDate, por lo que la segunda fecha del intervalo es
simplemente la nueva _maxDate.
_maxDate se establece en _firstDayInView + 40 días, ya que se trata del último día para el que se
han recuperado eventos. Si un usuario vuelve a esta fecha seleccionando el botón de contenido
adicional del mes siguiente, la función If devuelve false. el código no se ejecuta porque los eventos
de esta vista ya están almacenados en caché en MyCalendarEvents.
Galería de calendarios
Propiedad: elementos
Valor:
[0;1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;
20;21;22;23;24;25;26;27;28;29;30;31;32;33;34;35;36;37;38;39;40;41]
El conjunto de 0 a 41 se usa para los elementos de la galería de calendarios porque, en el peor de los
casos, la vista de calendario tendrá que mostrar 42 días completos. Esto sucede cuando el primer día del
mes se produce el sábado y el último del mes se produce el domingo. En este caso, el calendario muestra
seis días del mes anterior de la fila que contiene el primero del mes y seis días desde el mes siguiente en la
fila que contiene la última del mes. Se trata de valores únicos 42, de los cuales 30 son para el mes
seleccionado.
Propiedad: WrapCount
Valor: 7
Este valor refleja una semana de siete días.
Control de título en la galería de calendarios
Propiedad: texto
Valor: Day( DateAdd( _firstDayInView; ThisItem.Value; Days ) )
Recuerde que _firstDayInView se define como ( _firstDayOfMonth -su valor de día de la semana) + 1.
Esto indica que _firstDayInView siempre es domingo y _firstDayOfMonth siempre está en la primera
fila de MonthDayGallery. Debido a estos dos hechos, _firstDayInView siempre está en la primera celda
de MonthDayGallery. ThisItem. Value es el número de esa celda en la propiedad del elemento
MonthDayGallery . Por lo tanto, al tomar _firstDayInView como punto de partida, cada celda muestra
el incremento de _firstDayInView + su valor de celda respectivo.
Propiedad: Fill
Valor: una función If :
NOTE
Puede comprobar la validez de esta última comparación para sí mismo insertando un control etiqueta en la galería
y estableciendo su propiedad texto en este valor:
Abs(Title.Text - ThisItem.Value) .
Propiedad: visible
Valor
!(
DateAdd( _firstDayInView; ThisItem.Value; Days ) -
Weekday( DateAdd( _firstDayInView; ThisItem.Value;Days ) ) + 1
> _lastDayOfMonth
)
La instrucción anterior comprueba si la celda está en una fila en la que no se producen días del mes
seleccionado actualmente. Recuerde que si se resta el valor de día de la semana de cualquier día de su
valor de fecha y se agrega 1 siempre se devuelve el primer elemento de la fila en la que vive el día. Por lo
tanto, esta instrucción comprueba si el primer día de la fila es posterior al último día del mes visible. Si es
así, no aparecerá porque la fila completa contiene días del mes siguiente.
Propiedad: Alseleccionar
Valor: una función set que establece la variable _dateSelected en la fecha de la celda seleccionada:
Propiedad: visible
Valor: una fórmula que determina si los eventos están programados para la fecha seleccionada y si los
controles de título y subcírculo están visibles:
CountRows(
Filter( MyCalendarEvents;
DateValue( Text( Start ) ) = DateAdd( _firstDayInView; ThisItem.Value; Days )
)
) > 0 && !Subcircle.Visible && Title.Visible
El control de círculo es visible si el campo de Inicio de cualquier evento es equivalente a la fecha de esa
celda, si el control de título está visible y si el control de subcírculo no está visible. En otras palabras, este
control es visible cuando se produce al menos un evento en este día y este día no está seleccionado. Si está
seleccionada, los eventos de ese día se muestran en el control CalendarEventsGallery .
Control de subcírculo en la galería de calendarios
Propiedad: visible
Valor
Propiedad: elementos
Valor: una fórmula que ordena y filtra la galería de eventos:
SortByColumns(
Filter( MyCalendarEvents;
Text( Start; DateTimeFormat.ShortDate ) = Text( _dateSelected; DateTimeFormat.ShortDate )
);
"Start"
)
La colección MyCalendarEvents contiene todos los eventos entre _MinDate y _maxDate. Para mostrar
los eventos solo para la fecha seleccionada, se aplica un filtro en MyCalendarEvents para mostrar los
eventos que tienen una fecha de inicio equivalente a \ _dateSelected. A continuación, los elementos se
ordenan por sus fechas de inicio para colocarlos en orden secuencial.
Pasos siguientes
Más información acerca de esta pantalla
Más información sobre el conector de Office 365 Outlook en PowerApps
Más información sobre el conector de usuarios de Office 365 en PowerApps
Información general de la plantilla de pantalla de
correo electrónico para las aplicaciones de Canvas
12/11/2019 • 8 minutes to read
En una aplicación de lienzo, agregue una pantalla de correo electrónico que permita a los usuarios enviar un
correo electrónico desde su cuenta de Office 365 Outlook. Los usuarios pueden buscar destinatarios en sus
organizaciones y agregar también direcciones de correo electrónico externas. Puede Agregar compatibilidad con
datos adjuntos de imagen, cambiar los datos de usuario que aparecen en la galería de búsquedas y realizar otras
personalizaciones.
También puede agregar otras pantallas basadas en plantillas que muestren datos diferentes de Office 365, como
el calendariode un usuario, las personas de una organización y la disponibilidad de las personas a las que los
usuarios quieran invitar a una reunión.
Esta información general le enseña:
Cómo usar la pantalla de correo electrónico predeterminada.
Cómo modificarlo.
Cómo integrarlo en una aplicación.
Para profundizar más en la funcionalidad predeterminada de esta pantalla, consulte la referencia de la pantalla de
correo electrónico.
Requisito previo
Está familiarizado con cómo agregar y configurar pantallas y otros controles a medida que crea una aplicación en
PowerApps.
Funcionalidad predeterminada
Para agregar una pantalla de correo electrónico desde la plantilla:
1. Inicie sesión en PowerApps y, después, cree una aplicación o abra una aplicación existente en PowerApps
Studio.
En este tema se muestra una aplicación de teléfono, pero los mismos conceptos se aplican a una aplicación
de Tablet PC.
2. En la pestaña Inicio de la cinta de opciones, seleccione nueva pantalla > correo electrónico.
De forma predeterminada, la pantalla tiene un aspecto similar al siguiente:
Algunas notas útiles:
Para buscar usuarios en la organización, empiece a escribir su nombre en el cuadro de entrada de texto que
aparece debajo de "a".
Al buscar personas, solo se devolverán los 15 resultados principales.
Para agregar direcciones de correo electrónico a los destinatarios de correo electrónico fuera de la
organización, escriba la dirección de correo electrónico completa y válida y seleccione el icono "+" que aparece
a la derecha.
Debe agregar al menos una persona como destinatario y proporcionar un asunto para enviar un correo
electrónico.
Después de enviar el correo electrónico, se borrarán todos los contenidos de la línea de asunto y el cuerpo del
mensaje, así como la lista de destinatarios.
Modificar la pantalla
Puede modificar la funcionalidad predeterminada de esta pantalla de varias maneras comunes:
Agregar compatibilidad con datos adjuntos de imagen
Mostrar datos diferentes para las personas
Si desea modificar la pantalla con más detalle, use la referencia de la pantalla de correo electrónico como guía.
IMPORTANT
En los pasos siguientes se supone que ha agregado solo una pantalla de correo electrónico a la aplicación. Si ha agregado
más de uno, los nombres de control (por ejemplo, iconMail1) terminarán con un número diferente y tendrá que ajustar las
fórmulas según corresponda.
Min(
( EmailPeopleGallery1.TemplateHeight + EmailPeopleGallery1.TemplatePadding * 2 ) *
RoundUp( CountRows( EmailPeopleGallery1.AllItems ) / 2; 0 );
304
)
Esto impide que el alto máximo Inserte el control AddMediaWithImage fuera de la página.
7. Cambie la propiedad alseleccionar del control iconMail a esta fórmula:
Esta fórmula comprueba si hay una imagen cargada. Si no hay ninguno, usa la misma operación
Office365.SendEmail que antes. Si hay una imagen, se agrega como datos adjuntos en la tabla de datos
adjuntos. Después de enviar el correo electrónico, se realiza una operación de restablecimiento adicional
en AddMediaButton para quitar la imagen cargada.
NOTE
Para agregar más de un archivo adjunto a un correo electrónico, agregue registros a la tabla de datos adjuntos.
NOTE
Al enviar este correo electrónico se enviará un correo electrónico independiente del evento real en Outlook.
Pasos siguientes
Vea la documentación de referencia de esta pantalla.
Obtenga más información sobre el conector de usuarios de Office 365 en PowerApps.
Vea todas las conexiones disponibles en PowerApps.
Información de referencia sobre la plantilla de
pantalla de correo electrónico para las aplicaciones
de Canvas
08/10/2019 • 9 minutes to read
En el caso de las aplicaciones de canvas en PowerApps, comprenda cómo contribuye cada control significativo de
la plantilla de pantalla de correo electrónico a la funcionalidad predeterminada general de la pantalla. Esta
profundización presenta las fórmulas de comportamiento y los valores de otras propiedades que determinan
cómo responden los controles a los datos proporcionados por el usuario. Para obtener una descripción de alto
nivel de la funcionalidad predeterminada de esta pantalla, consulte la información general de la pantalla de correo
electrónico.
En este tema se resaltan algunos controles significativos y se explican las expresiones o fórmulas en las que se
establecen varias propiedades (como Items y alseleccionar) de estos controles:
Cuadro de búsqueda de texto
Agregar icono
Galería de exploración de personas
Galería de personas de correo electrónico (+ controles secundarios)
Icono correo
Requisito previo
Está familiarizado con cómo agregar y configurar pantallas y otros controles a medida que crea una aplicación en
PowerApps.
Algunos otros controles de la pantalla tienen una dependencia en el control cuadro de búsqueda de texto :
Si un usuario comienza a escribir texto, aparece PeopleBrowseGallery .
Si un usuario escribe una dirección de correo electrónico válida, aparece AddIcon .
Cuando un usuario selecciona una persona dentro de PeopleBrowseGallery, se restablece el contenido de la
búsqueda.
Icono Agregar
El control Agregar icono permite a los usuarios de la aplicación agregar personas que no existen dentro de su
organización a la lista de destinatarios del correo electrónico que se está creando.
Propiedad Estarán
Valor Lógica para mostrar el control solo cuando un usuario escribe una dirección de correo electrónico
válida en el cuadro de búsqueda:
Línea por línea, el bloque de código anterior indica que el control de icono Agregar solo será visible si:
TextSearchBox contiene texto.
El texto de TextSearchBox es una dirección de correo electrónico válida.
El texto de TextSearchBox ya no existe en la colección People .
Propiedad Alseleccionar
Valor Al seleccionar esta opción, se agrega la dirección de correo electrónico válida a la colección People .
La pantalla usa esta colección como la lista de destinatarios:
Collect( MyPeople;
{
DisplayName: TextSearchBox.Text;
UserPrincipalName: TextSearchBox.Text;
Mail: TextSearchBox.Text
}
);;
Reset( TextSearchBox )
Este bloque de código agrega una fila a la colección People y rellena tres campos con el texto en
TextSearchBox. Estos tres campos son displayName, UserPrincipalNamey mail. A continuación,
restablece el contenido de TextSearchBox.
Los elementos de esta galería se rellenan con los resultados de búsqueda de la operación Office365.
SearchUser . La operación toma el texto de Trim(TextSearchBox) como término de búsqueda y devuelve
los 15 resultados principales en función de la búsqueda.
TextSearchBox está encapsulado en una función Trim() porque un usuario que busca espacios no es
válido. La operación Office365Users.SearchUser se encapsula en una función
If(!IsBlank(Trim(TextSearchBox.Text)) ... ) , lo que significa que la operación se realiza solo si el cuadro
de búsqueda contiene texto escrito por el usuario. Esto mejora el rendimiento.
Control de título de la galería de exploración de personas
Propiedad Texto
Valor: ThisItem.DisplayName
Muestra el nombre para mostrar de la persona de su perfil de Office 365.
Propiedad Alseleccionar
Valor Código para agregar el usuario a una colección de nivel de aplicación y, a continuación, seleccione el
usuario:
Concurrent(
Set( _selectedUser; ThisItem );
Reset( TextSearchBox );
If( Not( ThisItem.UserPrincipalName in MyPeople.UserPrincipalName );
Collect( MyPeople; ThisItem )
)
)
Propiedad Elementos
Valor: MyPeople
Esta es la colección de personas inicializadas o agregadas a seleccionando el control de título
PeopleBrowseGallery .
Propiedad Alto
Valor Lógica para establecer el alto, en función del número de elementos que se encuentran actualmente
en la Galería:
Min(
( EmailPeopleGallery.TemplateHeight + EmailPeopleGallery.TemplatePadding * 2) *
RoundUp(CountRows(EmailPeopleGallery.AllItems) / 2; 0 );
304
)
El alto de esta galería se ajusta al número de elementos de la galería, con un alto máximo de 304.
Toma TemplateHeight + TemplatePadding * 2 como el alto total de una sola fila de EmailPeopleGalleryy, a
continuación, lo multiplica por el número de filas. Como WrapCount = 2 , el número de filas verdaderas es
RoundUp(CountRows(EmailPeopleGallery.AllItems) / 2; 0) .
Propiedad ShowScrollbar
Valor: EmailPeopleGallery.Height >= 304
Propiedad Alseleccionar
Valor: Set(_selectedUser; ThisItem)
Establece la variable _selectedUser en el elemento seleccionado en EmailPeopleGallery.
Control iconRemove de la galería de personas de correo electrónico
Propiedad Alseleccionar
Valor: Remove( MyPeople; LookUp( MyPeople; UserPrincipalName = ThisItem.UserPrincipalName ) )
Icono correo
Propiedad Alseleccionar
Valor Lógica para enviar el mensaje de correo electrónico del usuario:
El envío de un mensaje de correo electrónico requiere una cadena separada por punto y coma de
direcciones de correo electrónico. En el código anterior:
1. La primera línea de código toma el campo mail de todas las filas de la colección People , los
concatena en una sola cadena de direcciones de correo electrónico separadas por punto y coma, y
establece la variable _emailRecipientString en esa cadena. valor.
2. A continuación, usa la operación Office365. sendEmail para enviar el correo electrónico a los
destinatarios. La operación tiene tres parámetros necesarios, para, asuntoy cuerpo, y un
parámetro opcional--importancia. En el código anterior, se trata de _emailRecipientString,
TextEmailSubject. Texto, TextEmailMessage. Texto y normal, respectivamente.
3. Por último, restablece los controles TextEmailSubject y TextEmailMessage y borra la colección
People .
Propiedad DisplayMode
Valor
If( Len( Trim( TextEmailSubject.Text ) ) > 0 && !IsEmpty( MyPeople ); DisplayMode.Edit;
DisplayMode.Disabled )
para enviar un correo electrónico, la línea de asunto del correo electrónico debe tener texto y la colección
de destinatarios (mispersonas) no debe estar vacía.
Pasos siguientes
Más información acerca de esta pantalla
Más información sobre el conector de Office 365 Outlook en PowerApps
Más información sobre el conector de usuarios de Office 365 en PowerApps
Información general de la plantilla de pantalla de
reunión para las aplicaciones de Canvas
12/11/2019 • 4 minutes to read
En una aplicación de lienzo, agregue una pantalla de reunión que permita a los usuarios crear y enviar
convocatorias de reunión desde sus cuentas de Office 365 Outlook. Los usuarios pueden buscar asistentes en su
organización y agregar direcciones de correo electrónico externas. Si el inquilino tiene salas de reuniones
integradas en Outlook, los usuarios también pueden seleccionar una ubicación.
También puede agregar otras pantallas basadas en plantillas que muestren datos diferentes de Office 365, como
el correo electrónico, las personas de una organización y el calendariode un usuario.
Esta información general le enseña la funcionalidad de alto nivel de la pantalla.
Para profundizar más en la funcionalidad predeterminada de esta pantalla, consulte la referenciade la pantalla de
la reunión.
Requisito previo
Está familiarizado con cómo agregar y configurar pantallas y otros controles a medida que crea una aplicación en
PowerApps.
Funcionalidad predeterminada
Para agregar una pantalla de reunión desde la plantilla:
1. Inicie sesión en PowerApps y, después, cree una aplicación o abra una aplicación existente en PowerApps
Studio.
En este tema se muestra una aplicación de teléfono, pero los mismos conceptos se aplican a una aplicación
de Tablet PC.
2. En la pestaña Inicio de la cinta de opciones, seleccione nueva pantalla > reunión.
Cuando se rellena, ambas pestañas de la pantalla de la reunión tienen un aspecto similar al siguiente:
Algunas notas útiles:
La pantalla de la reunión permite a un usuario de la aplicación crear una reunión en Outlook. Los usuarios
pueden buscar y agregar asistentes y, opcionalmente, agregar una sala de reuniones a la reunión.
Para buscar un usuario en su organización, empiece a escribir su nombre en el cuadro de entrada de texto en
"asistentes".
Al buscar personas, solo se devuelven los 15 resultados principales.
Para agregar direcciones de correo electrónico para los asistentes fuera de la organización, escriba la dirección
de correo electrónico completa y válida y seleccione el icono "+" que aparece a la derecha de la dirección de
correo electrónico.
Para crear una reunión, debe agregar al menos una persona como asistente, proporcionar un asunto y
seleccionar una hora de reunión en la pestaña programación .
Después de enviar la solicitud de reunión, se borra toda la información de la reunión.
La instrucción alseleccionar del icono de envío (esquina superior derecha) contiene esta fórmula:
Set( _myCalendarName;
LookUp( 'Office365'.CalendarGetTables().value; DisplayName = "Calendar" ).Name
);;
"Calendar" es el nombre para mostrar predeterminado de la mayoría de los calendarios del usuario de Office,
pero su organización puede ser diferente. Si es así, puede cambiar "Calendar" por el término adecuado para
su organización.
Recibirá un error si intenta programar una reunión que se produzca en el pasado o agregar más de 20
personas a una reunión.
Pasos siguientes
Vea la documentación de referencia de esta pantalla.
Obtenga más información sobre el conector de Office 365 Outlook.
Obtenga más información sobre el conector de usuarios de Office 365.
Información de referencia sobre la plantilla de
pantalla de reunión para las aplicaciones de Canvas
08/10/2019 • 36 minutes to read
En el caso de las aplicaciones de canvas en PowerApps, comprenda cómo contribuye cada control significativo de
la plantilla de pantalla de reunión a la funcionalidad predeterminada general de la pantalla. Esta profundización
presenta las fórmulas de comportamiento y los valores de otras propiedades que determinan cómo responden los
controles a los datos proporcionados por el usuario. Para obtener una descripción de alto nivel de la funcionalidad
predeterminada de esta pantalla, consulte información general sobre la pantallade la reunión.
En este tema se resaltan algunos controles significativos y se explican las expresiones o fórmulas en las que se
establecen varias propiedades (como Items y alseleccionar) de estos controles:
Pestaña invitar (LblInviteTab)
Pestaña programación (LblScheduleTab)
Cuadro de búsqueda de texto
Icono Agregar (AddIcon)
Galería de exploración de personas (+ controles secundarios)
Galería de personas de la reunión (+ controles secundarios)
Selector de fecha de reunión (MeetingDateSelect)
Lista desplegable duración de la reunión (MeetingDurationSelect)
Buscar la galería de horas de reunión (+ controles secundarios)
Galería de exploración de salón (+ controles secundarios)
Cheurón atrás (RoomsBackNav) (puede que no esté visible si el inquilino no tiene listas de salones)
Icono de envío
Requisito previo
Está familiarizado con cómo agregar y configurar pantallas y otros controles a medida que crea una aplicación en
PowerApps.
Pestaña invitar
Propiedad Color
Valor: If( _showDetails; LblRecipientCount.Color; RectQuickActionBar.Fill )
_showDetails es una variable que se usa para determinar si se ha seleccionado el control LblInviteTab o
el control LblScheduleTab . Si el valor de _showDetails es true, LblScheduleTab está seleccionado; Si el
valor es false, se selecciona LblInviteTab . Esto significa que si el valor de _showDetails es true (esta
pestaña no está seleccionada), el color de la pestaña coincide con el de LblRecipientCount. De lo
contrario, coincide con el valor de relleno de RectQuickActionBar.
Propiedad Alseleccionar
Valor: Set( _showDetails; false )
Establece la variable _showDetails en false, lo que significa que el contenido de la pestaña invite está
visible y el contenido de la pestaña Schedule está oculto.
Pestaña programación
Propiedad Color
Valor: If( !_showDetails; LblRecipientCount.Color; RectQuickActionBar.Fill )
_showDetails es una variable que se usa para determinar si se ha seleccionado el control LblInviteTab o
el control LblScheduleTab . Si es true, LblScheduleTab está seleccionado; Si es false, LblInviteTab es.
Esto significa que, si _showDetails es true (esta pestaña está seleccionada), el color de la pestaña coincide
con el valor de relleno de RectQuickActionBar. De lo contrario, coincide con el valor de color de
LblRecipientCount.
Propiedad Alseleccionar
Valor: Set( _showDetails; true )
Establece la variable _showDetails en true, lo que significa que el contenido de la pestaña programación
es visible y el contenido de la pestaña invite está oculto.
Icono Agregar
Este control permite a los usuarios agregar personas que no existen dentro de su organización a la lista de
asistentes para la reunión que se va a componer.
Propiedad Estarán
Valor Tres comprobaciones lógicas que deben evaluarse como true para que el control sea visible:
Línea por línea, este bloque de código indica que el control AddIcon solo está visible si:
TextSearchBox contiene texto.
El texto de TextSearchBox es una dirección de correo electrónico válida.
El texto de TextSearchBox ya no existe en la colección People .
Propiedad Alseleccionar
Valor Una instrucción Collect para agregar el usuario a la lista de asistentes, otra para actualizar las horas
de reunión disponibles y varios alternancias de variables:
Collect( MyPeople;
{
DisplayName: TextSearchBox.Text;
UserPrincipalName: TextSearchBox.Text;
Mail: TextSearchBox.Text
}
);;
Concurrent(
Reset( TextSearchBox );
Set( _showMeetingTimes; false );
UpdateContext( { _loadMeetingTimes: true } );
Set( _selectedMeetingTime; Blank() );
Set( _selectedRoom; Blank() );
Set( _roomListSelected; false );
ClearCollect( MeetingTimes;
AddColumns(
'Office365'.FindMeetingTimes(
{
RequiredAttendees: Concat(MyPeople; UserPrincipalName & ";")
MeetingDuration: MeetingDurationSelect.Selected.Minutes;
Start: Text( DateAdd( MeetingDateSelect.SelectedDate; 8; Hours ); UTC );
End: Text( DateAdd( MeetingDateSelect.SelectedDate; 17; Hours ); UTC );
MaxCandidates: 15;
MinimumAttendeePercentage:1;
IsOrganizerOptional: false;
ActivityDomain: "Work"
}
).MeetingTimeSuggestions;
"StartTime"; MeetingTimeSlot.Start.DateTime;
"EndTime"; MeetingTimeSlot.End.DateTime
)
)
);;
UpdateContext( { _loadingMeetingTimes: false } );;
Set( _showMeetingTimes; true )
Al seleccionar este control, se agrega la dirección de correo electrónico válida (solo es visible si se escribe
una dirección de correo electrónico válida en TextSearchBox) en la colección People (esta colección es la
lista de asistentes) y, a continuación, se actualizan las horas de reunión disponibles con la nueva entrada de
usuario.
En un nivel bajo, este bloque de código:
1. Recopila la dirección de correo electrónico en la colección People , recopilando la dirección de correo
electrónico en los campos displayName, UserPrincipalNamey mail .
2. Restablece el contenido del control TextSearchBox .
3. Establece la variable _showMeetingTimes en false. Esta variable controla la visibilidad de
FindMeetingTimesGallery, que muestra las horas abiertas que los asistentes seleccionados deben
cumplir.
4. Establece la variable de contexto _loadMeetingTimes en true. Esta variable establece un estado de
carga, que alterna la visibilidad de los controles de estado de carga como _LblTimesEmptyState para
indicar al usuario que se están cargando sus datos.
5. Establece _selectedMeetingTime en Blank () . _selectedMeetingTime es el registro seleccionado
del control FindMeetingTimesGallery . Está en blanco aquí porque la adición de otro asistente podría
significar que la definición anterior de _selectedMeetingTime no está disponible para ese asistente.
6. Establece _selectedRoom en Blank () . _selectedRoom es el registro de salón seleccionado de
RoomBrowseGallery. Las disponibilidades de salón se determinan a partir del valor de
_selectedMeetingTime. Con ese valor en blanco, el valor de _selectedRoom ya no es válido, por lo
que debe estar en blanco.
7. Establece _roomListSelected en false. Es posible que esta línea no sea aplicable a todos los usuarios.
En Office, puede agrupar sus salones por diferentes "listas de salones". Si tiene listas de salas, esta
pantalla cuenta para eso, lo que le permite seleccionar primero una lista de salas antes de seleccionar
una sala de esa lista. El valor de _roomListSelected es lo que determina si un usuario (en un inquilino
con listas de habitación solo) estará viendo los salones en una lista de salas o en el conjunto de listas de
salas. Se establece en false para obligar a los usuarios a volver a seleccionar una nueva lista de salones.
8. Usa la operación Office365. FindMeetingTimes para determinar y recopilar las horas de reunión
disponibles para los asistentes. Esta operación pasa:
El UserPrincipalName de cada usuario seleccionado en el parámetro RequiredAttendees .
MeetingDurationSelect. Seleccionado. minutes en el parámetro MeetingDuration .
MeetingDateSelect. SelectedDate + 8 horas en el parámetro de Inicio . Se agregan ocho horas
porque, de forma predeterminada, la fecha y hora completas del control de calendario es 12:00
A.M. de la fecha seleccionada. Probablemente quiera recuperar las disponibilidades en las horas
de trabajo normales. Una hora de inicio de trabajo normal sería de 8:00 A.M.
MeetingDateSelect. SelectedDate + 17 horas en el parámetro End . se agregan 17 horas
porque 12:00 AM + 17 = 5:00 PM. Una hora de finalización de trabajo normal sería 5:00 PM.
15 en el parámetro MaxCandidates . Esto significa que la operación devuelve solo las 15 horas
disponibles principales para la fecha seleccionada. Esto tiene sentido porque solo hay fragmentos
de 16 30 minutos en un día de trabajo de 8 horas y una reunión de 30 minutos es el mínimo que
se puede establecer en esta pantalla.
1 en el parámetro MinimumAttendeePercentage . Esencialmente, a menos que no haya ningún
asistente disponible, se recupera la hora de la reunión.
false en el parámetro IsOrganizerOptional . El usuario de la aplicación no es un asistente
opcional para esta reunión.
"Work" en el parámetro ActivityDomain . Esto significa que las horas recuperadas son solo las de
un período de tiempo de trabajo normal.
9. La función ClearCollect también agrega dos columnas: "StartTime" y "EndTime". Esto simplifica los
datos devueltos. El campo que contiene las horas de inicio y finalización disponibles es el campo
MeetingTimeSlot . Este campo es un registro que contiene los registros inicial y final, que contienen
los valores DateTime y TimeZone de su sugerencia correspondiente. En lugar de intentar recuperar
este anidamiento de registros, al agregar las columnas "StartTime" y "EndTime" a la colección
MeetingTimes , los valores Start > datetime y End > DateTime se convierten en la superficie de la
colección.
10. Una vez completadas todas estas funciones, la variable _loadingMeetingTimes se establece en false,
se quita el estado de carga y _showMeetingTimes se establece en true, lo que muestra
FindMeetingTimesGallery.
Los elementos de esta galería se rellenan con los resultados de búsqueda de la operación Office365. SearchUser .
La operación toma el texto de Trim(**TextSearchBox**) como término de búsqueda y devuelve los 15 resultados
principales en función de la búsqueda.
TextSearchBox está encapsulado en una función Trim porque un usuario que busca espacios no es válido. La
operación Office365Users.SearchUser se encapsula en una función If(!IsBlank(Trim(TextSearchBox.Text)) ... )
porque la recuperación de los resultados de la búsqueda antes de que un usuario haya buscado es un desperdicio
de rendimiento.
Título de la galería de exploración de personas
Propiedad Texto
Valor: ThisItem.DisplayName
Muestra el nombre para mostrar de la persona de su perfil de Office 365.
Propiedad Alseleccionar
Valor Una instrucción Collect para agregar el usuario a la lista de asistentes, otra para actualizar las horas
de reunión disponibles y varios alternancias de variables:
Concurrent(
Reset( TextSearchBox );
Set( _selectedUser; ThisItem );
If( Not( ThisItem.UserPrincipalName in MyPeople.UserPrincipalName );
Collect( MyPeople; ThisItem );;
Concurrent(
Set( _showMeetingTimes; false );
UpdateContext( { _loadMeetingTimes: true } );
Set( _selectedMeetingTime; Blank() );
Set( _selectedRoom; Blank() );
Set( _roomListSelected; false );
ClearCollect( MeetingTimes;
AddColumns(
'Office365'.FindMeetingTimes(
{
RequiredAttendees: Concat( MyPeople; UserPrincipalName & ";" );
MeetingDuration: MeetingDurationSelect.Selected.Minutes;
Start: Text( DateAdd( MeetingDateSelect.SelectedDate; 8; Hours ); UTC );
End: Text( DateAdd( MeetingDateSelect.SelectedDate; 17; Hours ); UTC );
MaxCandidates: 15;
MinimumAttendeePercentage: 1;
IsOrganizerOptional: false;
ActivityDomain: "Work"
}
).MeetingTimeSuggestions;
"StartTime"; MeetingTimeSlot.Start.DateTime;
"EndTime"; MeetingTimeSlot.End.DateTime
)
)
);;
UpdateContext( { _loadingMeetingTimes: false } );;
Set( _showMeetingTimes; true )
)
)
En un nivel alto, al seleccionar este control se agrega la persona a la colección People (el almacenamiento
de la aplicación de la lista de asistentes) y se actualizan las horas de reunión disponibles en función de la
nueva adición de usuarios.
La selección de este control es muy similar a la selección del control AddIcon . la única diferencia es que la
instrucción Set(_selectedUser; ThisItem) y el orden de ejecución de las operaciones. Como tal, este debate
no será tan profundo. Para obtener una explicación más completa, lea la sección sobre el control AddIcon .
Al seleccionar este control se restablece TextSearchBox. Después, si la selección no está en la colección
People , el control:
1. Establece el estado _loadMeetingTimes en true y el estado _showMeetingTimes en false, en blanco
las variables _selectedMeetingTime y _selectedRoom y actualiza el MeetingTimes colección con la
nueva adición a la colección People .
2. Establece el estado de _loadMeetingTimes en falsey establece _showMeetingTimes en true. Si la
selección ya está en la colección People , solo restablece el contenido de TextSearchBox.
Min(
76 * RoundUp( CountRows( MeetingPeopleGallery.AllItems ) / 2; 0 );
350
)
El alto de esta galería se ajusta al número de elementos de la galería, con un alto máximo de 350. La
fórmula toma 76 como alto de una sola fila de MeetingPeopleGalleryy, a continuación, lo multiplica por
el número de filas. La propiedad WrapCount se establece en 2, por lo que el número de filas verdaderas es
RoundUp(CountRows(MeetingPeopleGallery.AllItems) / 2; 0) .
Propiedad ShowScrollbar
Valor: MeetingPeopleGallery.Height >= 350
Cuando se alcanza el alto máximo de la galería (350), la barra de desplazamiento está visible.
Título de la galería de personas de reuniones
Propiedad Alseleccionar
Valor: Set(_selectedUser; ThisItem)
Propiedad Alseleccionar
Valor Una instrucción Remove para quitar el usuario de la lista de asistentes, una instrucción Collect para
actualizar las horas de reunión disponibles y varios alternancias de variables:
En un nivel alto, al seleccionar este control se quita la persona de la lista de asistentes y se actualizan las
horas de reunión disponibles en función de la eliminación de esta persona.
Después de la primera línea del código anterior, la selección de este control es casi idéntica a seleccionar el
control AddIcon . Como tal, este debate no será tan profundo. Para obtener una explicación más completa,
lea la sección sobre el control AddIcon.
En la primera línea de código, el elemento seleccionado se quita de la colección People . Después, el
código:
1. Restablece TextSearchBoxy, a continuación, quita la selección de la colección People .
2. Establece el estado _loadMeetingTimes en true y el estado _showMeetingTimes en false, en blanco
las variables _selectedMeetingTime y _selectedRoom y actualiza el MeetingTimes colección con la
nueva adición a la colección People .
3. Establece el estado de _loadMeetingTimes en falsey establece _showMeetingTimes en true.
Propiedad DisplayMode
Valor: If( IsEmpty(MyPeople); DisplayMode.Disabled; DisplayMode.Edit )
No se puede elegir una fecha para una reunión hasta que se haya agregado al menos un asistente a la
colección People .
Propiedad OnChange
Valor: Select( MeetingDateSelect )
En un nivel alto, al seleccionar este control se actualizan las horas de reunión disponibles. Es muy útil
porque, si un usuario cambia la fecha, las horas de reunión disponibles deben actualizarse para reflejar la
disponibilidad de los asistentes durante ese día.
A excepción de la instrucción Collect inicial, es idéntica a la funcionalidad alseleccionar del control
AddIcon . Como tal, este debate no será tan profundo. Para obtener una explicación más completa, lea la
sección sobre el control AddIcon .
Al seleccionar este control se restablece TextSearchBox. A continuación:
1. Establece el estado _loadMeetingTimes en true y el estado _showMeetingTimes en false, en blanco
las variables _selectedMeetingTime y _selectedRoom y actualiza el MeetingTimes colección con la
nueva selección de fecha.
2. Establece el estado de _loadMeetingTimes en falsey establece _showMeetingTimes en true.
Propiedad DisplayMode
Valor: If( IsEmpty(MyPeople); DisplayMode.Disabled; DisplayMode.Edit )
No se puede elegir una duración para una reunión hasta que al menos un asistente se haya agregado a la
colección de mis personas .
Propiedad OnChange
Valor: Select(MeetingDateSelect1)
Al cambiar la duración seleccionada, se desencadena el código de la propiedad alseleccionar del control
MeetingDateSelect para que se ejecute.
Propiedad Elementos
Valor: MeetingTimes
Colección de horas de reunión potenciales recuperada de la operación de Office365. FindMeetingTimes .
Propiedad Estarán
Valor: _showMeetingTimes && _showDetails && !IsEmpty( MyPeople )
Propiedad Texto
Valor Conversión de la hora de inicio que se va a mostrar en la hora local del usuario:
Text(
DateAdd(
DateTimeValue( ThisItem.StartTime );
- TimeZoneOffset();
Minutes
);
DateTimeFormat.ShortTime
)
El valor recuperado de startTime está en formato UTC. Para convertir la hora UTC a la hora local, se aplica
la función DateAdd . La función Text toma una fecha y hora como primer argumento y la da formato
según su segundo argumento. Le pasa la conversión de hora local de ThisItem. startTimey la muestra
como DateTimeFormat. ShortTime.
Propiedad Alseleccionar
Valor Varias instrucciones Collect para recopilar salas de reuniones y sus sugerencias de disponibilidad, así
como varias alternancias de variables:
En un nivel alto, este bloque de código recopila los salones disponibles para los usuarios que no tienen
listas de salones, en función de la fecha y hora seleccionadas para la reunión. De lo contrario, simplemente
recupera las listas de salones.
En un nivel bajo, este bloque de código:
1. Establece _selectedMeetingTime en el elemento seleccionado. Se usa para averiguar qué salones
están disponibles en ese momento.
2. Establece la variable de estado de carga _loadingRooms en true, lo que activa el estado de carga.
3. Si la colección RoomsLists está vacía, recupera las listas de salones de tenant's del usuario y las
almacena en la colección RoomsLists .
4. Si el usuario no tiene una lista de salones o una lista de salas:
a. La variable noRoomLists se establece en truey esta variable se usa para determinar los
elementos que se muestran en el control RoomBrowseGallery .
b. La operación Office365.GetRooms() se usa para recuperar las primeras 100 salas de su inquilino.
Estos se almacenan en la colección AllRooms .
c. La variable _allRoomsConcat se establece en una cadena separada por punto y coma de las 20
primeras direcciones de correo electrónico de los salones de la colección AllRooms . Esto se
debe a que Office365. FindMeetingTimes está limitado a buscar las horas disponibles de 20
objetos Person en una sola operación.
d. La colección RoomTimeSuggestions usa Office365. FindMeetingTimes para recuperar la
disponibilidad de los 20 primeros salones de la colección AllRooms , en función de los valores
de tiempo de la variable _selectedMeetingTime . Tenga en cuenta que el & "Z" se usa para dar
formato correctamente al valor DateTime .
e. Se crea la colección AvailableRooms . Esto es simplemente la colección
RoomTimeSuggestions de la disponibilidad de los asistentes con dos columnas adicionales
agregadas: "Address" y "Name". "Address" es la dirección de correo electrónico de la habitación y
"Name" es el nombre de la habitación.
f. A continuación, se crea la colección AvailableRoomsOptimal . Esta es solo la colección
AvailableRooms con las columnas "Availability" y "attendees" quitadas. Esto coincide con los
esquemas de AvailableRoomsOptimal y AllRooms. Esto le permite usar ambas colecciones en
la propiedad Items de RoomBrowseGallery.
g. _roomListSelected está establecido en false.
5. El estado de carga, _loadingRooms, se establece en false una vez que todo lo demás ha terminado de
ejecutarse.
Propiedad Elementos
Valor Se establece lógicamente en dos colecciones internas de esquema idéntico, en función de si el usuario
ha seleccionado una lista de salas o tiene listas de salones en su inquilino:
Search(
If( _roomListSelected || _noRoomLists; AvailableRoomsOptimal; RoomsLists );
Trim(TextMeetingLocation1.Text);
"Name";
"Address"
)
La Galería solo es visible si las tres instrucciones anteriores se evalúan como true.
Título de RoomBrowseGallery
Propiedad Alseleccionar
Valor Conjunto de instrucciones Collect y set enlazadas lógicamente, que pueden o no desencadenarse, en
función de si el usuario está viendo listas o salones de habitación:
UpdateContext( { _loadingRooms: true } );;
If( !_roomListSelected && !noRoomLists;
Set( _roomListSelected; true );;
Set( _selectedRoomList; ThisItem.Name );;
ClearCollect( AllRooms; 'Office365'.GetRoomsInRoomList( ThisItem.Address ).value );;
Set( _allRoomsConcat; Concat( FirstN( AllRooms; 20 ); Address & ";" ) );;
ClearCollect( RoomTimeSuggestions;
'Office365'.FindMeetingTimes(
{
RequiredAttendees: _allRoomsConcat;
MeetingDuration: MeetingDurationSelect.Selected.Minutes;
Start: _selectedMeetingTime.StartTime & "Z";
End: _selectedMeetingTime.EndTime & "Z";
MinimumAttendeePercentage: "1";
IsOrganizerOptional: "false";
ActivityDomain: "Unrestricted"
}
).MeetingTimeSuggestions
);;
ClearCollect( AvailableRooms;
AddColumns(
AddColumns(
Filter(
First( RoomTimeSuggestions ).AttendeeAvailability;
Availability = "Free"
);
"Address"; Attendee.EmailAddress.Address
);
"Name"; LookUp( AllRooms; Address = Attendee.EmailAddress.Address ).Name
)
);;
ClearCollect( AvailableRoomsOptimal;
DropColumns(
DropColumns( AvailableRooms; "Availability" )
);
"Attendee" )
);
Set( _selectedRoom; ThisItem )
);;
UpdateContext( {_loadingRooms: false} )
Las acciones que se producen cuando se selecciona este control dependen de si un usuario está viendo
actualmente un conjunto de listas de salas o un conjunto de salones. Si es el primero, al seleccionar este
control se recuperan los salones disponibles a la hora seleccionada de la lista de salones seleccionada. Si es
el último, al seleccionar este control se establece la variable _selectedRoom en el elemento seleccionado.
La instrucción anterior es muy similar a la instrucción Select para el título FindMeetingTimesGallery.
En un nivel bajo, el bloque de código anterior:
1. Activa el estado de carga de las salas estableciendo _loadingRooms en true.
2. Comprueba si se ha seleccionado una lista de salas y si el inquilino tiene listas de salones. En caso
afirmativo:
a. Establece _roomListSelected en true y establece _selectedRoomList en el elemento
seleccionado.
b. La variable _allRoomsConcat se establece en una cadena separada por punto y coma de las 20
primeras direcciones de correo electrónico de los salones de la colección AllRooms . Esto se
debe a que la operación Office365. FindMeetingTimes está limitada a la búsqueda de las horas
disponibles de 20 objetos Person en una sola operación.
c. La colección RoomTimeSuggestions usa la operación Office365. FindMeetingTimes para
recuperar las disponibilidades de los 20 primeros salones de la colección AllRooms , en función
de los valores de tiempo de _selectedMeetingTime variable. Tenga en cuenta que & "Z" se usa
para dar formato al valor DateTime correctamente.
d. Se crea la colección AvailableRooms . Esto es simplemente la colección
RoomTimeSuggestions de la disponibilidad de los asistentes con dos columnas adicionales
agregadas: "Address" y "Name". "Address" es la dirección de correo electrónico de la habitación y
"Name" es el nombre de la habitación.
e. A continuación, se crea la colección AvailableRoomsOptimal . Esta es solo la colección
AvailableRooms con las columnas "Availability" y "attendees" quitadas. Esto coincide con los
esquemas de AvailableRoomsOptimal y AllRooms. Esto le permite usar ambas colecciones en
la propiedad Items de RoomBrowseGallery.
f. _roomListSelected está establecido en false.
3. El estado de carga, _loadingRooms, se establece en false una vez que todo lo demás ha terminado de
ejecutarse.
Cheurón atrás
Propiedad Estarán
Valor: _roomListSelected && _showDetails
Este control solo es visible si se ha seleccionado una lista de sala y se selecciona la pestaña programación .
Propiedad Alseleccionar
Valor: Set( _roomListSelected; false )
Icono de envío
Propiedad DisplayMode
Valor Lógica para obligar al usuario a especificar determinados detalles de la reunión antes de que el icono
se vuelva editable.
El icono solo es seleccionable si el asunto de la reunión se rellena, hay al menos un asistente para la
reunión y se ha seleccionado una hora de reunión. De lo contrario, está deshabilitado.
Propiedad Alseleccionar
Valor Código para enviar la invitación de reunión a los asistentes seleccionados y borrar todos los campos
de entrada:
NOTE
En función de su región, es posible que el calendario que desee no tenga el nombre para mostrar "Calendar". Vaya a
Outlook para ver cuál es el título del calendario y realice el cambio adecuado en la aplicación.
Pasos siguientes
Más información acerca de esta pantalla
Más información sobre el conector de Office 365 Outlook en PowerApps
Más información sobre el conector de usuarios de Office 365 en PowerApps
Información general de la plantilla de pantalla
People para aplicaciones de Canvas
12/11/2019 • 8 minutes to read
En una aplicación de lienzo, agregue una pantalla de personas que permita a los usuarios buscar personas dentro
de sus organizaciones. Los usuarios pueden buscar, seleccionar y agregar personas a una recopilación. Puede
cambiar los tipos de datos que aparecen en la galería de resultados de la búsqueda, usar las selecciones de los
usuarios para enviar un correo electrónico y realizar otras personalizaciones.
También puede agregar otras pantallas basadas en plantillas que muestren datos diferentes de Office 365, como
el correo electrónico, el calendariode un usuario y la disponibilidad de personas que los usuarios quieran invitar
a una reunión.
Esta información general le enseña:
Cómo usar la pantalla usuarios predeterminados.
Cómo modificar la pantalla.
Cómo integrar la pantalla en aplicaciones.
Para profundizar más en la funcionalidad predeterminada de esta pantalla, consulte la referencia de la pantalla
People.
Requisito previo
Está familiarizado con cómo agregar y configurar pantallas y otros controles a medida que crea una aplicación en
PowerApps.
Funcionalidad predeterminada
Para agregar una pantalla de contactos de la plantilla:
1. Inicie sesión en PowerApps y, después, cree una aplicación o abra una aplicación existente en PowerApps
Studio.
En este tema se muestra una aplicación de teléfono, pero los mismos conceptos se aplican a una
aplicación de Tablet PC.
2. En la pestaña Inicio de la cinta de opciones, seleccione nueva pantalla > personas.
De forma predeterminada, la pantalla tiene un aspecto similar al siguiente:
3. Para iniciar la búsqueda de usuarios, seleccione el cuadro entrada de texto en la parte superior y comience
a escribir el nombre de un compañero de trabajo. Los resultados de la búsqueda aparecen debajo del
cuadro de entrada de texto:
4. Al seleccionar usuarios de los resultados de la búsqueda, se agregan a la colección People . Se restablece
el valor de entrada de la barra de búsqueda y se revela la colección de personas que ha seleccionado:
Modificar la pantalla
Puede modificar la funcionalidad predeterminada de esta pantalla mostrando datos diferentes para las personas.
Si desea modificar la pantalla con más detalle, use la referencia de la pantalla People como guía.
Mostrar datos diferentes para las personas
Esta pantalla usa la operación Office365Users. SearchUser para buscar usuarios en la organización. Proporciona
campos adicionales para cada evento más allá de lo que aparece en el control UserBrowseGallery . Agregar o
cambiar campos en la Galería es un proceso sencillo:
1. En UserBrowseGallery, seleccione una etiqueta para modificarla (o agréguela y manténgala
seleccionada).
2. Con su propiedad Text seleccionada, en la barra de fórmulas, reemplace el contenido por ThisItem.
Office365.SendEmail(
Concat( MyPeople; UserPrincipalName & ";" );
SubjectLine.Text;
MessageBody.Text
)
Aquí está usando el conector de Outlook para enviar un correo electrónico. Se pasa
Concat(MyPeople; UserPrincipalName & ";") como la lista de destinatarios. Esta fórmula concatena todas
las direcciones de correo electrónico de la colección People en una sola cadena con puntos y comas
separando. No es diferente de escribir una cadena de direcciones de correo electrónico separadas por
punto y coma en la línea "para" de su cliente de correo electrónico favorito.
Está pasando SubjectLine.Text como asunto del mensaje y MessageBody.Text como el cuerpo del
mensaje.
6. En la pantalla People, en la esquina superior derecha, inserte el icono mail . Cambie el color del icono a lo
que le convenga.
7. Establezca la propiedad alseleccionar de SendIcon en Navigate( EmailScreen; None ) .
Ahora tiene una aplicación de dos pantallas en la que puede seleccionar usuarios, crear un mensaje de
correo electrónico para ellos y, a continuación, enviarlo. No dude en probarlo, pero tenga cuidado, ya que
la aplicación envía mensajes de correo electrónico a todos los usuarios que agregue a la colección de mis
personas .
Pasos siguientes
Vea la documentación de referencia de esta pantalla.
Obtenga más información sobre el conector de Office 365 Outlook.
Obtenga más información sobre el conector de usuarios de Office 365.
Información de referencia sobre la plantilla de
pantalla People para aplicaciones de Canvas
08/10/2019 • 6 minutes to read
En el caso de las aplicaciones de canvas en PowerApps, comprenda cómo contribuye cada control significativo de
la plantilla de pantalla People a la funcionalidad predeterminada general de la pantalla. En esta profundización se
presentan las fórmulas de comportamiento y los valores de otras propiedades que determinan cómo responden
los controles a los datos proporcionados por el usuario. Para obtener una descripción de alto nivel de la
funcionalidad predeterminada de esta pantalla, consulte la información general de la pantalla People.
En este tema se resaltan algunos controles significativos y se explican las expresiones o fórmulas en las que se
establecen varias propiedades (como Items y alseleccionar) de estos controles:
Cuadro de búsqueda de texto
Galería de exploración de usuarios (+ controles secundarios)
Personalizó la Galería (+ controles secundarios)
Requisito previo
Está familiarizado con cómo agregar y configurar pantallas y otros controles a medida que crea una aplicación en
PowerApps.
Un par de otros controles interactúan o tienen una dependencia en el cuadro de búsqueda de texto:
Si un usuario comienza a escribir cualquier texto, UserBrowseGallery se vuelve visible.
Cuando un usuario selecciona una persona dentro de UserBrowseGallery, se restablece el contenido de la
búsqueda.
Los elementos de esta galería se rellenan con los resultados de búsqueda de la operación Office365. SearchUser .
La operación toma el texto de Trim(TextSearchBox) como término de búsqueda y devuelve los 15 resultados
principales en función de la búsqueda. TextSearchBox está encapsulado en una función Trim() porque un
usuario que busca espacios no es válido.
La operación Office365Users.SearchUser se encapsula en una función
If(!IsBlank(Trim(TextSearchBox.Text)) ... ) porque solo tiene que llamar a la operación cuando el cuadro de
búsqueda contiene texto escrito por el usuario. Esto mejora el rendimiento.
Control de título de UserBrowseGallery
Propiedad Texto
Valor: ThisItem.DisplayName
Muestra el nombre para mostrar de la persona de su perfil de Office 365.
Propiedad Alseleccionar
Valor Código para agregar el usuario a una colección de nivel de aplicación y, a continuación, seleccione el
usuario:
Concurrent(
Set( _selectedUser; ThisItem );
Reset( TextSearchBox );
If( Not( ThisItem.UserPrincipalName in MyPeople.UserPrincipalName );
Collect( MyPeople; ThisItem )
)
)
Propiedad Imagen
Valor Lógica para recuperar la foto de Perfil de un usuario.
El control de imagen recupera la imagen del usuario con la operación Office365Users. UserPhoto . Sin embargo,
antes de hacerlo, comprueba dos cosas:
Indica si el campo de ID. está vacío o no está vacío. Esto impide que el control de imagen intente recuperar
una foto de usuario antes de que se haya rellenado la galería con los resultados de la búsqueda.
Si el usuario tiene una foto (con la operación Office365Users. UserPhotoMetadata ). Esto evita que la
búsqueda Office365Users.UserPhoto devuelva una excepción si el usuario no tiene una imagen de perfil.
Tenga en cuenta que si no se recupera una imagen, el control de imagen está en blanco y el control iconUser
está visible en su lugar.
Propiedad Alseleccionar
Valor: Set( _selectedUser; ThisItem )
Propiedad Alseleccionar
Valor: Remove( MyPeople; LookUp( MyPeople; UserPrincipalName = ThisItem.UserPrincipalName ) )
Busca el registro en la colección People , donde UserPrincipalName coincide con el userPrincipalName del
elemento seleccionado y, a continuación, quita ese registro de la colección.
Pasos siguientes
Más información acerca de esta pantalla.
Obtenga más información sobre el conector de Office 365 Outlook.
Obtenga más información sobre el conector de usuarios de Office 365.
Mostrar una lista de elementos en PowerApps
26/11/2019 • 6 minutes to read
Muestre una lista de elementos de cualquier origen de datos agregando un control Galería a la aplicación de
lienzo. En este tema se utiliza Excel como origen de datos. Filtre la lista mediante la configuración del control
Galería para mostrar únicamente aquellos elementos que coinciden con el criterio de filtro en un control
Entrada de texto .
Requisitos previos
Aprenda a agregar y configurar un control en PowerApps.
Configure los datos de ejemplo:
1. Descargue este archivo de Excel, que contiene datos de ejemplo para este tutorial.
2. Cargue el archivo de Excel en una cuenta de almacenamiento en la nube, como OneDrive para la
Empresa.
Abra una aplicación en blanco:
1. Inicie sesión en PowerApps.
2. En Cree su propia aplicación, seleccione Aplicación de lienzo en blanco.
3. Especifique el nombre de la aplicación, seleccione Teléfono y, luego, Crear.
4. Si aparece el cuadro de diálogo de bienvenida a PowerApps Studio, seleccione Skip (Omitir).
5. Agregue una conexión a la tabla FlooringEstimates del archivo de Excel.
2. En la pestaña propiedades del panel derecho, abra la lista elementos y, a continuación, seleccione las
estimaciones de suelos.
3. opta En la lista diseño , seleccione una opción diferente.
2. Con la plantilla aún seleccionada, agregue un control Etiqueta y, después, muévalo y ajuste su tamaño
para que no se superponga con otros controles de la plantilla.
3. Seleccione la galería y, a continuación, seleccione Editar junto a campos en la pestaña propiedades del
panel derecho.
4. Seleccione la etiqueta que ha agregado en este procedimiento y abra la lista resaltada en el panel Data
(Datos).
Sort
(If
(IsBlank(TextSearchBox1.Text);
FlooringEstimates;
Filter(
FlooringEstimates;
TextSearchBox1.Text in Text(Name)
)
);
Name;
If(
SortDescending1;
SortOrder.Descending;
SortOrder.Ascending
)
)
Para más información acerca de las funciones de esta fórmula, consulte la referencia de las fórmulas.
2. Haga doble clic en el cuadro de búsqueda y, a continuación, escriba parte o todo el nombre del producto
en él.
Solo aparecen los elementos que cumplen el criterio de filtro.
3. Mientras presiona la tecla Alt, seleccione el icono de ordenación una o varias veces para cambiar el
criterio de ordenación.
Los registros alternan entre orden alfabético ascendente y descendente según el nombre del producto.
Pasos siguientes
Aprenda a trabajar con formularios y fórmulas.
Mostrar elementos de alturas diferentes en una
galería de PowerApps
07/10/2019 • 5 minutes to read
Si diferentes elementos del conjunto de datos contienen diferentes cantidades de datos en el mismo campo, puede
mostrar por completo los elementos que contienen más datos sin tener que agregar espacio vacío después de los
elementos que contienen menos datos. Agregue y configure un control de galería Altura flexible para que pueda:
Configure controles Etiqueta para que se expandan o se reduzcan según su contenido.
Coloque cada control para que aparezca automáticamente bajo el control de encima.
En este tutorial, va a mostrar datos sobre productos para el suelo en un control de galería Altura flexible. La
imagen de cada producto aparece 5 píxeles por debajo de la información general, tanto si esta contiene cinco líneas
de texto como solo dos.
Lectura recomendada
Si nunca ha agregado los controles a una galería, siga los pasos descritos en Mostrar una lista de elementos antes
de continuar en este tema.
Aplique el mismo concepto se aplica si desea agregar más controles: establezca la propiedad Y de cada control en
función de las propiedades Y y Altura del control situado por encima de él.
Pasos siguientes
Aprenda a trabajar con un control Galería y fórmulas.
Mostrar, editar o agregar un registro en una
aplicación de lienzo
08/10/2019 • 4 minutes to read
En una aplicación de lienzo, agregue y configure un control Mostrar formulario para mostrar todos los campos
de un registro, también puede Agregar y configurar un control Editar formulario para editar cualquier campo
de un registro, agregar un registro y guardar los cambios de nuevo en un origen de datos.
Requisitos previos
Aprenda a agregar y configurar un control en PowerApps.
Descargue este archivo de Excel, que contiene datos de ejemplo para este tutorial.
Cargue el archivo de Excel en una cuenta de almacenamiento en la nube, como OneDrive para la
Empresa.
Cree o abra una aplicación para teléfonos y agregue una conexión a la tabla FlooringEstimates en el
archivo de Excel.
Puede Agregar un formulario a una aplicación de Tablet PC, pero no coincidirá con este tema porque el
formulario tendrá tres columnas de forma predeterminada.
Si abre una aplicación existente, agregue una pantalla a ella.
NOTE
Si no está seguro de cómo agregar un control, cambiar su nombre o establecer una propiedad, consulte Adición
y configuración de un control en PowerApps.
2. En la pestaña propiedades del panel derecho, establezca items en FlooringEstimates y Value en Name
.
Esta fórmula especifica que, cuando termine de configurar el formulario, aparecerá el registro que el
usuario selecciona en ChooseProduct.
5. En la pestaña propiedades del panel derecho, seleccione Editar campos.
6. En el panel Campos, seleccione Agregar campo, marque la casilla de cada campo y, luego, seleccione
Agregar.
7. Seleccione los puntos suspensivos (...) junto a Agregar campo, seleccione contraer todoy, a
continuación, arrastre nombre hasta la parte superior de la lista.
3. Presione F5 para abrir la vista previa, cambie el nombre de un producto y, a continuación, seleccione el
botón que creó.
La función SubmitForm guarda los cambios en el origen de datos.
4. opta Cierre la vista previa presionando ESC (o seleccionando el icono cerrar en la esquina superior
derecha).
Pasos siguientes
Más información sobre formularios y galerías.
Comprender los formularios de aplicaciones de
lienzo en Microsoft PowerApps
05/11/2019 • 41 minutes to read
Agregue tres tipos de controles a una aplicación de lienzo para que el usuario pueda buscar un registro,
mostrar los detalles sobre ese registro y editar o crear un registro:
Mostrar los detalles de un Control Mostrar formulario Muestra varios o todos los campos
registro de un solo registro.
Editar o crear un registro Control Editar formulario Actualiza uno o varios campos de un
solo registro (o cree un registro a
partir de los valores
predeterminados) y guarde esos
cambios en el origen de datos
subyacente.
Ubique cada control en una pantalla distinta para que sea más fácil distinguirlos:
Tal como se describe en este tema, combine estos controles con fórmulas para crear la experiencia global
del usuario.
Requisitos previos
Regístrese en PowerApps y, luego, inicie sesión con las mismas credenciales que usó para registrase.
Aprenda a configurar un control en PowerApps.
BrowseGallery1 Muestra los registros del origen de La propiedad Items de la galería está
datos Assets. establecida en una fórmula basada en
el origen de datos Assets.
NextArrow1 (en la galería) Muestra la pantalla Detalles para ver La propiedad OnSelect de la flecha
varios o todos los campos del está establecida en esta fórmula:
registro actualmente seleccionado. Navigate( DetailScreen1; None )
El control principal de esta pantalla, BrowseGallery1, abarca la mayor parte de la pantalla. El usuario
puede desplazarse en la galería para encontrar un registro específico a fin de mostrar más campos o hacer
una actualización.
Establezca la propiedad Items de una galería para que muestre los registros provenientes de un origen de
datos. Por ejemplo, establezca la propiedad en Assets para mostrar los registros de un origen de datos con
ese nombre.
NOTE
En una aplicación generada, la propiedad Elementos se establece, de manera predeterminada, en una fórmula mucho
más complicada para que el usuario pueda ordenar y buscar registros. Más adelante en este tema obtendrá
información sobre cómo crear esta fórmula; por ahora basta con la versión más sencilla.
En lugar de buscar un registro para mostrarlo o editarlo, el usuario puede crear un registro si selecciona el
símbolo "+" que se encuentra arriba de la galería. Para crear este efecto, agregue un control Image ,
colóquele un símbolo "+" y establezca su propiedad OnSelect en esta fórmula:
NewForm ( EditForm1 );; Navigate( EditScreen1; None )
Esta fórmula abre la pantalla Editar y crear, que incluye un control Editar formulario llamado EditForm1.
La fórmula también convierte ese formulario al modo New, en el cual el formulario muestra los valores
predeterminados del origen de datos para que el usuario pueda crear fácilmente un registro desde cero.
Para examinar cualquier control que aparezca en BrowseGallery1, selecciónelo en la primera sección de la
galería, lo que sirve como plantilla para todas las demás secciones. Por ejemplo, seleccione el control
Etiqueta central que se encuentra en el borde de la izquierda:
En este ejemplo, la propiedad Text del control está establecida en ThisItem.AssignedTo, que es un campo
que se encuentra en el origen de datos Assets. La propiedad Texto de los otros tres controles Etiqueta en
la galería está establecida en fórmulas similares y cada control muestra un campo distinto en el origen de
datos.
Seleccione el control Forma (la flecha) y confirme que la propiedad OnSelect está establecida en esta
fórmula:
Navigate( DetailScreen1; None )
Si el usuario encuentra un registro en BrowseGallery1, puede seleccionar la flecha correspondiente a ese
registro para mostrar más información sobre él en DetailScreen1. Cuando selecciona una flecha, el
usuario cambia el valor de la propiedad Selected de BrowseGallery1. En esta aplicación, esa propiedad
determina el registro que aparece no solo en la pantalla DetailScreen1, sino que también en Edit and
Create, si el usuario decide actualizar el registro.
Pantalla de detalle
En la parte superior de la pantalla, aparecen tres imágenes fuera de DetailForm1 que actúan como
botones y se organizan entre las tres pantallas de la aplicación.
DetailForm1 domina esta pantalla y muestra el registro que el usuario seleccionó en la galería (porque la
propiedad Item del formulario está establecida en BrowseGallery1.Selected). La propiedad DataSource
del formulario también proporciona metadatos sobre el origen de datos, como un nombre descriptivo para
mostrar para cada campo.
DetailForm1 contiene varios controles Tarjeta . Puede seleccionar el control Tarjeta mismo o el control
que contiene para encontrar información adicional.
La propiedad DataField de un control Tarjeta determina el campo que se muestra. En este caso, esa
propiedad está establecida en AssetID. La tarjeta contiene un control Etiqueta para el que la propiedad
Texto está establecida en Parent.Default. Este control muestra el valor Default de la tarjeta, que se
establece a través de la propiedad DataField .
En una aplicación generada, los controles Tarjeta están bloqueados de manera predeterminada. Cuando
una tarjeta está bloqueada, no se pueden modificar algunas propiedades, como DataField , y la barra de
fórmulas no está disponible para esas propiedades. Esta restricción permite garantizar que las
personalizaciones no interrumpan la funcionalidad básica de la aplicación generada. Sin embargo, puede
modificar algunas de las propiedades de una tarjeta y sus controles en el panel de la derecha:
En el panel de la derecha, puede seleccionar los campos que se van a mostrar y el tipo de control que
mostrará cada uno.
Pantalla de edición o creación
Tal como ocurre en la pantalla Detalles, un control de formulario, llamado EditForm1, domina la pantalla
Editar y crear. Además, la propiedad Item de EditForm1 está establecida en BrowseGallery1.Selected,
por lo que el formulario muestra el registro que el usuario seleccionó en BrowseScreen1. Si bien la
pantalla Detalles muestra cada campo como un campo de solo lectura, el usuario puede actualizar el valor
de uno o más campos con los controles en EditForm1. También usa la propiedad DataSource para tener
acceso a metadatos sobre este origen de datos, como el nombre descriptivo para mostrar de cada campo y
la ubicación en la que se deben guardar los cambios.
Si el usuario selecciona el icono "X" para cancelar una actualización, la función ResetForm descarta los
cambios que no se hayan guardado y la función Back abre la pantalla Detalles. Tanto la pantalla Detalles
como la pantalla Editar y crear muestran el mismo registro hasta que el usuario selecciona otro en
BrowseScreen1. Los campos de ese registro siguen establecidos en los valores que se guardaron más
recientemente, no en ningún cambio que el usuario haya hecho para luego abandonar.
Si el usuario cambia uno o más valores del formulario y luego selecciona el icono "marca de verificación", la
función SubmitForm envía los cambios del usuario al origen de datos.
Si los cambios se guardaron correctamente, se ejecuta la fórmula OnSuccess del formulario y la función
Back() abre la pantalla de detalle para mostrar el registro actualizado.
Si los cambios no se guardaron correctamente, se ejecuta la fórmula OnFailure del formulario, pero no
cambia nada porque está en blanco. La pantalla Editar y crear sigue abierta, por lo que el usuario puede
cancelar los cambios o corregir el error. LblFormError1 muestra un mensaje de error descriptivo en el
que está establecida la propiedad Error del formulario.
Al igual que con un control Mostrar formulario , un control Editar formulario contiene controles Tarjeta
los que, a su vez, contienen otros controles que muestran otros campos de un registro:
En la imagen anterior, la tarjeta seleccionada muestra el campo AssetID y contiene un control Entrada de
texto para que el usuario pueda editar el valor de ese campo. (En cambio, la pantalla de detalle muestra el
mismo campo en un control de etiqueta , que es de solo lectura). El control entrada de texto tiene una
propiedad predeterminada , que se establece en Parent. default. Si el usuario estuviera creando un
registro en lugar de editándolo, ese control mostraría un valor inicial que el usuario podría cambiar para el
registro nuevo.
En el panel de la derecha, puede mostrar u ocultar cada una de las tarjetas, reorganizarlas o configurarlas
para mostrar campos en los distintos tipos de controles.
Crear una aplicación desde cero
Si comprende cómo PowerApps genera una aplicación, puede compilar una que use los mismos bloques de
creación y fórmulas que ya se analizaron en este tema.
NOTE
Si usa una lista de SharePoint o una tabla de Excel que contenga nombres de columna con espacios como origen de
datos, PowerApps reemplazará los espacios por "_x0020_" . Por ejemplo, "Nombre de columna" en SharePoint o
Excel aparecerá como "Nombre_x0020_de_columna" en PowerApps cuando se muestre en el diseño de datos o se
use en una fórmula.
Para seguir el resto de este tema al pie de la letra, cree una lista de SharePoint llamada "Helado" con los
siguientes datos:
Cree una aplicación desde cero, para teléfonos, y conéctela al origen de datos.
NOTE
Las aplicaciones de tableta son muy similares, pero es posible que desee un diseño de pantalla distinto para
aprovechar al máximo el espacio adicional de la pantalla.
Los ejemplos que aparecen en el resto del tema se basan en un origen de datos llamado Helado.
Búsqueda de registros
Obtenga un fragmento de información de un registro; para ello, búsquelo en una galería en una pantalla de
exploración.
1. Agregue una galería Vertical y cambie el diseño a solo Título.
2. Establezca la propiedad Elementos de la galería en Helado.
3. Establezca la propiedad Texto de la primera etiqueta en la galería en ThisItem.Title si está
establecida en algo diferente.
Ahora la etiqueta muestra el valor del campo Título para cada registro.
4. Cambie el tamaño de la galería para que llene la pantalla y establezca su propiedad
TamañoDePlantilla en 60.
La pantalla es similar a este ejemplo, el que muestra todos los registros del origen de datos:
Ver detalles
Si la galería no muestra la información que desea, seleccione la flecha de un registro para abrir la pantalla
de detalles. Un control Mostrar formulario de esa pantalla muestra más campos, posiblemente todos, del
registro que seleccionó.
El control Mostrar formulario usa dos propiedades para mostrar el registro:
Propiedad DataSource . El nombre del origen de datos que contiene el registro. Esta propiedad rellena
el panel de la derecha con campos y determina el nombre para mostrar y el tipo de datos (cadena,
número, fecha, etc.) de cada campo.
Propiedad Item . El registro que se mostrará. A menudo, esta propiedad está conectada con la propiedad
Selected del control Galería , por lo que el usuario puede seleccionar un registro en el control Galería
y luego profundizar en ese registro.
Cuando se establece la propiedad DataSource , puede agregar y quitar campos en el panel de la derecha y
cambiar la forma en que se muestran.
En esta pantalla, los usuarios no pueden cambiar ningunos de los valores del registro, ya sea intencional o
accidentalmente. El control Mostrar formulario es un control de solo lectura, por lo que no modificará el
registro.
Para agregar un control Mostrar formulario :
1. Agregue una pantalla y, luego, agréguele un control Mostrar formulario .
2. Establezca la propiedad DataSource del control de formulario en "Helado" .
En el panel de la derecha, puede seleccionar los campos que se van a mostrar en la pantalla y el tipo de
tarjeta que se mostrará para cada campo. Cuando hace cambios en el panel de la derecha, la propiedad
DataField de cada control Tarjeta se establece en el campo con el que interactuará el usuario. La pantalla
debe ser similar al ejemplo:
Por último, es necesario conectar el control Mostrar formulario con el control Galería para poder ver los
detalles de un registro específico. Tan pronto como se termine de establecer la propiedad Item , el primer
registro de la galería aparecerá en el formulario.
Establezca la propiedad Item del control Mostrar formulario en Gallery1.Selected.
Los detalles del elemento seleccionado aparecen en el formulario.
Excelente. Ahora analizaremos la navegación: cómo un usuario abre la pantalla de detalles desde la pantalla
de galería y viceversa.
Agregue un control Botón a la pantalla, establezca su propiedad Text para mostrar Back , y
establezca su propiedad OnSelect en Back() .
Esta fórmula devuelve al usuario a la galería cuando termina de ver los detalles.
3. Presione F5 y seleccione una flecha en la galería para mostrar los detalles de un elemento.
4. Seleccione el botón Atrás para volver a la galería de productos y, luego, presione Esc.
Edición de detalles
Finalmente, la última actividad central es cambiar el contenido de un registro, algo que los usuarios pueden
hacer en un control Editar formulario .
El control Editar formulario usa dos propiedades para mostrar y editar el registro:
Propiedad DataSource . El nombre del origen de datos que contiene el registro. Del mismo modo que
con el control Mostrar formulario , esta propiedad rellena el panel de la derecha con campos y
determina el nombre para mostrar y el tipo de datos (cadena, número, fecha, etc.) de cada campo. Esta
propiedad también determina si el valor de cada campo es válido antes de enviarlo al origen de datos
subyacente.
Propiedad Item . El registro que se editará, que a menudo está conectado a la propiedad Selected del
control Galería . Así, puede seleccionar un registro en el control Galería , mostrarlo en la pantalla de
detalles y editarlo en la pantalla Editar y crear.
Para agregar un control Editar formulario :
1. Agregue una pantalla y un control Editar formulario y, luego, establezca la propiedad DataSource del
formulario en "Helado" .
2. Establezca la propiedad Item en Gallery1.Selected.
Ahora puede seleccionar los campos que se mostrarán en la pantalla. También puede seleccionar el tipo de
tarjeta que se mostrará para cada campo. Cuando hace cambios en el panel de la derecha, la propiedad
DataField de cada control Tarjeta se establece en el campo con el que interactuará el usuario. La pantalla
debe ser similar al ejemplo:
Estas dos propiedades son las mismas propiedades del control Mostrar formulario . Con ellas se pueden
mostrar los detalles de un registro.
El control Editar formulario va más allá y ofrece la función SubmitForm para reescribir los cambios en el
origen de datos. Puede usarla con un control de botón o imagen para guardar los cambios de un usuario.
Agregue un control Botón , establezca la propiedad Text para mostrar Guardar y establezca la
propiedad OnSelect en esta fórmula:
SubmitForm ( Form1 )
Para agregar navegación desde esta pantalla y hacia ella:
1. Agregue otro control Botón , establezca la propiedad Text para mostrar Cancelar y establezca la
propiedad OnSelect en esta fórmula:
ResetForm ( Form1 );; Back()
Esta fórmula descarta las ediciones no guardadas y abre la pantalla anterior.
3. En la pantalla Mostrar, agregue un botón, establezca su propiedad Text para mostrar Editar y
establezca la propiedad OnSelect en esta fórmula:
Navigate( Screen3; None )
Ha compilado una aplicación básica con tres pantallas para ver y escribir datos. Para probarla, muestre la
pantalla de galería y, luego, presione F5 (o seleccione el botón "Vista previa" de la flecha hacia adelante
junto a la esquina superior izquierda de la pantalla). El punto rosa indica donde el usuario toca o hace clic en
la pantalla en cada paso.
Creación de un registro
El usuario interactúa con el mismo formulario Editar para actualizar y crear registros. Cuando el usuario
desea crear un registro, la función NewForm cambia el formulario al modo New.
Si el formulario está en modo New, el valor de cada campo se establece en los valores predeterminados del
origen de datos. Se omite el registro que se proporcionó en la propiedad Item del formulario.
Cuando el usuario está listo para guardar el registro nuevo, se ejecuta SubmitForm . Una vez que el
formulario se envía correctamente, vuelve al modo EditMode.
En la primera pantalla, agregará un botón Nuevo:
1. En la pantalla con la galería, agregue un control Botón .
2. Establezca la propiedad Text en New y su propiedad OnSelect en esta fórmula:
NewForm ( Form1 );; Navigate( Screen3; None )
Esta fórmula cambia el control Editar formulario en Screen3 al modo New y se abre esa pantalla
para que el usuario pueda rellenarla.
Cuando se abre la pantalla Editar y crear, el formulario está vacío y listo para que el usuario agregue un
elemento. Cuando el usuario selecciona el botón Guardar, la función SubmitForm garantiza que se cree
un registro, en lugar de actualizarlo. Si el usuario selecciona el botón Cancelar, la función ResetForm
vuelve a cambiar el formulario al modo Edit y la función Back abre la pantalla para explorar la galería.
Eliminación de un registro
1. En la pantalla Mostrar, agregue un botón y establezca su propiedad Text para que muestre
Eliminar.
2. Establezca la propiedad OnSelect del botón en esta fórmula:
Remove( 'Ice Cream'; Gallery1.Selected );; Back()
Control de errores
En esta aplicación, se produce un error si el valor de un campo no es válido, si un campo obligatorio está en
blanco, si se le desconecta de la red o si emerge cualquier otro número de problemas.
Si SubmitForm presenta un error por cualquier motivo, la propiedad Error del control Editar formulario
contiene un mensaje de error que se le mostrará al usuario. Con esta información, el usuario debe poder
corregir el problema y reenviar el cambio, o bien puede cancelar la actualización.
1. En la pantalla Editar y crear, agregue un control Etiqueta y póngalo justo debajo del botón Guardar.
Será sencillo detectar cualquier error una vez que el usuario seleccione este control para guardar los
cambios.
2. Establezca la propiedad Texto del control Etiqueta para mostrar Form1.Error.
En una aplicación que PowerApps genera a partir de los datos, la propiedad AutoHeight de este control
está establecida en true para que no se consuma espacio si no se produce ningún error. Las propiedades
Height e Y del control Editar formulario también se ajustan de forma dinámica para contemplar el
crecimiento de este control cuando se produce un error. Para más detalles, genere una aplicación a partir de
los datos existentes y revise estas propiedades. El control de cuadro de texto para los errores es muy breve
cuando no se ha producido ningún error; es posible que tenga que abrir la vista Avanzada (disponible en la
pestaña Ver) para seleccionar este control.
Actualización de datos
El origen de datos se actualiza cada vez que el usuario abre la aplicación, pero es posible que el usuario
quiera actualizar los registros en la galería sin cerrar la aplicación. Agregue un botón Actualizar, de modo
que el usuario pueda seleccionarlo para actualizar manualmente los datos:
1. En la pantalla con el control Galería , agregue un control Botón y establezca su propiedad Text para
que muestre Actualizar.
2. Establezca la propiedad OnSelect de este control en esta fórmula:
Refresh( 'Ice Cream' )
Búsqueda y ordenación de la galería
En la aplicación que PowerApps generó a partir de los datos, no analizamos dos controles que se
encuentran en la parte superior de la pantalla de exploración. Con estos controles, el usuario puede buscar
uno o varios registros, ordenar la lista de registros en orden ascendente o descendente, o ambas acciones.
Cuando el usuario selecciona el botón de ordenación, se invierte el criterio de ordenación de la galería. Para
crear este comportamiento, usamos una variable de contexto para hacer seguimiento de la dirección en que
se ordena la galería. Cuando el usuario selecciona el botón, se actualiza la variable y se invierte la dirección.
La propiedad OnSelect del botón de ordenación se establece en esta fórmula: UpdateContext(
{SortDescending1: !SortDescending1} )
La función UpdateContext crea la variable de contexto SortDescending1 si todavía no existe. La función
leerá el valor de la variable y lo establecerá en la lógica opuesta con el operador ! . Si el valor es true, se
convierte en false. Si el valor es false, se convierte en true.
La fórmula de la propiedad Items del control Galería usa esta variable de contexto junto con el texto del
control TextSearchBox1:
Sort(
If( IsBlank(TextSearchBox1.Text);
Assets;
Filter( Assets; TextSearchBox1.Text in Text(ApproverEmail) )
);
ApproverEmail;
If(SortDescending1; Descending; Ascending)
)
Desglosemos esto:
Por fuera, tenemos la función Sort , que toma tres argumentos: una tabla, un campo según el cual
ordenar y la dirección de ordenación.
La dirección de ordenación se toma de la variable de contexto que alterna cuando el usuario
selecciona el control ImageSortUpDown1. El valor true/false se traduce a las constantes
Descending y Ascending.
El campo de ordenación se fija en ApproverEmail. Si cambia los campos que aparecen en la
galería, también deberá cambiar este argumento.
Por dentro, tenemos la función Filter , que toma una tabla como argumento y una expresión para
evaluar para cada registro.
La tabla es el origen de datos Assets sin procesar, que es el punto de partida antes de filtrar u
ordenar.
La expresión busca una instancia de la cadena en TextSearchBox1 dentro del campo
ApproverEmail. Le recordamos que si cambia los campos que aparecen en la galería, también
deberá actualizar este argumento.
Si el valor TextSearchBox1 está vacío, el usuario desea mostrar todos los registros y se omite la
función Filter .
Este es solo un ejemplo, porque puede crear su propia fórmula para la propiedad Items , en función de las
necesidades de la aplicación, si junta las funciones Filter , Sort y otras.
Diseño de pantalla
Hasta ahora, no hemos analizado otras formas para distribuir los controles entre las pantallas. Esto se debe
a que tiene muchas opciones y la mejor selección depende de las necesidades específicas de la aplicación.
Como el espacio real en las pantallas de los teléfonos es tan limitado, es probable que desee buscar, mostrar
y editar o crear formularios en distintas pantallas. En este tema, las funciones Navigate y Back abren cada
pantalla.
En una tableta, puede buscar, mostrar y editar o crear formularios en dos pantallas, o incluso en una. En el
último caso, no se requerirá la función Navigate ni la función Back .
Si el usuario trabaja en la misma pantalla, se debe tener cuidado de que el usuario no pueda cambiar la
selección de la Galería porque podría perder las modificaciones hechas en el control Editar formulario .
Para evitar que el usuario seleccione un registro distinto cuando todavía no se guardan los cambios en otro
registro, establezca la propiedad Disabled de la galería en esta fórmula:
EditForm.Unsaved
Comprender el diseño de formularios de datos para
aplicaciones de lienzo en PowerApps
07/10/2019 • 29 minutes to read
Cree fácilmente un formulario atractivo y eficaz al compilar una aplicación de lienzo en PowerApps. Por ejemplo,
considere este formulario básico para grabar pedidos de ventas:
En este tutorial, se le guiará por los pasos necesarios para crear un formulario. También se examinarán algunos
temas avanzados como el cambio de tamaño dinámico de campos para llenar el espacio disponible.
Antes de comenzar
Si es la primera vez que usa PowerApps (o solo ha generado aplicaciones automáticamente), lo más
recomendable es compilar una aplicación desde cero antes de profundizar en este tema. Mediante la compilación
de una aplicación desde cero, se familiarizará con los conceptos necesarios, como agregar orígenes de datos y
controles, que se mencionan, pero no se explican, en este tema.
Este tema se escribe como si tuviera un origen de datos denominado sales Order y que contenga los campos del
gráfico anterior. Si tiene una licencia del plan 2 de PowerApps o una licencia de prueba y un administrador del
sistema o permisos del Personalizador del sistema, puede crear una entidad en Common Data Service y agregar
campos similares.
Este registro aparecerá en el formulario que se crea siguiendo los pasos que encontrará más adelante en
este mismo tema.
Agregar un formulario
1. Agregue un control Editar formulario y muévalo y cámbielo de tamaño para rellenar la pantalla bajo la
etiqueta.
En el paso siguiente, conectará el control de formulario al origen de datos Sales order mediante el panel
derecho, no la barra de fórmulas. Si usa la barra de fórmulas, el formulario no mostrará cambios de
manera predeterminada. Siempre puede mostrar todos los campos que desee activando una o varias
casillas en el panel derecho.
2. En el panel derecho, pulse o haga clic en la flecha abajo junto a No se ha seleccionado un origen de
datos y después en Sales order.
Un conjunto de campos predeterminado del origen de datos Sales order aparecerá en un diseño sencillo
de tres columnas. Sin embargo, muchos están en blanco y es posible que tarden un tiempo en quedarse
en sus posiciones finales.
3. En la propiedad Item del formulario, seleccione Gallery1.Selected.
El formulario muestra el registro que seleccionó en la galería, pero es posible que el conjunto de campos
predeterminado no coincida con el que desea en el producto final.
4. En el panel derecho, oculte todos estos campos, para lo que debe desactivando su casilla:
Sales order ID
Account
Sales person
Account contact
5. Mueva el campo Order status, para lo que debe arrastrarlo a la izquierda y soltarlo en el otro lado del
campo Customer purchase order reference.
La pantalla debe ser similar al ejemplo:
NOTE
Para eliminar una tarjeta (no solo ocultarla), selecciónela y presione Supr.
El formulario no cambia visiblemente, pero tendrá más puntos de acoplamiento al arrastrar el controlador
de agarre derecho o izquierdo.
2. Para aumentar el ancho de la tarjeta Order date, arrastre hacia la derecha el controlador de agarre del
punto de acoplamiento derecho.
La tarjeta abarca cuatro de 12 columnas del formulario (o 1/3 del formulario), en lugar de solo tres de las
12 columnas del formulario (o 1/4 del formulario). Cada vez que aumenta el ancho de la tarjeta en un
punto de acoplamiento, la tarjeta abarca un 1/12 adicional del formulario.
3. Repita el paso anterior con las tarjetas Order status y Customer purchase order reference.
4. Cambie el tamaño de las tarjetas Name y Description para que ocupen seis columnas (o 1/2) del
formulario.
5. Estire las dos primeras líneas de la dirección de envío para que ocupen todo el formulario:
¡ Listo! El formulario deseado, en el que se mezclan filas con distintos números de columnas, está listo:
Manipulación de los controles de una tarjeta
La dirección de entrega consta de varios datos que se desean mostrar de forma visualmente agrupada al usuario.
Cada campo permanecerá en su propia tarjeta de datos, pero se pueden manipular los controles de la tarjeta para
que se ajusten mejor juntos.
1. Seleccione la tarjeta First line of Delivery address, seleccione la etiqueta de dicha tarjeta y elimine las
tres primeras palabras del texto.
2. Seleccione la tarjeta Second line of Delivery address, seleccione la etiqueta de dicha tarjeta y elimine
todo el texto.
Puede ser tentador quitar simplemente el control de etiqueta, y en muchos casos será suficiente. Sin
puede que haya fórmulas que dependan de que dicho control esté presente. El enfoque más seguro es
quitar el texto o establecer la propiedad Visible del control en false.
3. En la misma tarjeta, mueva el cuadro de entrada de texto sobre la etiqueta para reducir el espacio entre la
primera y la segunda línea de la dirección.
El alto de la tarjeta se reduce cuando su contenido ocupa menos espacio.
Ahora se va a prestar atención a la tercera línea de dirección. De forma similar al paso anterior, se va a reducir el
texto de cada etiqueta para estas tarjetas y a mover el cuadro de entrada de texto a la derecha de cada etiqueta.
Estos son los pasos para la tarjeta State:
Tenga en cuenta que muchas de las tarjetas empiezan con fórmulas dinámicas para las propiedades. Por ejemplo,
el control Entrada de texto cuyo tamaño hemos cambiado y encima del que nos hemos movido tenía una
propiedad Ancho basada en el ancho de su control principal. Cuando se mueve o se cambia el tamaño de un
control, estas fórmulas dinámicas se reemplazan por valores estáticos. Si lo desea, puede restaurar las fórmulas
dinámicas mediante la barra de fórmulas.
En resumen, ¿cuáles son las diferencias cuando la opción Ajustar en columnas está activada y desactivada?
Las tres tarjetas de la fila superior ya no caben horizontalmente y que se ha creado una fila para ajustar lo que
desborda. La coordenada Y de todas estas tarjetas sigue siendo la misma, 0, mientras que las tarjetas Nombre y
Descripción siguen teniendo 1 como valor de Y. Las tarjetas que tienen diferentes valores de Y no se combinan
en filas.
Este comportamiento se puede usar para crear un diseño totalmente dinámico en el que las tarjetas se colocan
en función de un orden Z, rellenando el mayor espacio posible antes de pasar a la siguiente fila. Para lograr este
efecto, asigne a todas las tarjetas el mismo valor de Y y use X para el orden de las tarjetas.
Rellenar espacios: Widthfit ajustedeancho )
El desbordamiento del último ejemplo creaba un espacio después de Estado de pedido, que era la segunda
tarjeta de la primera fila. Se podrían ajustar manualmente los valores de la propiedad Ancho de las dos tarjetas
restantes para llenar este espacio, pero este método es tedioso.
Como alternativa, use la propiedad WidthFit (AjusteDeAncho). Si esta propiedad establecida en True en una o
varias tarjetas de una fila, el espacio restante de la fila se dividirá uniformemente entre ellas. A este
comportamiento es a lo que se debe que antes se indicara que la propiedad Ancho de una tarjeta es un mínimo
y que lo que se ve en realidad puede ser más ancho. Esta propiedad nunca hará que una tarjeta encoja, solo que
se expanda.
Si en WidthFit (AjusteDeAncho) se selecciona true en la tarjeta Order status, rellena el espacio disponible,
mientras que la primera tarjeta permanece sin cambios:
Si WidthFit (AjusteDeAncho) también se establece en true en la tarjeta Fecha de pedido, ambas tarjetas se
dividirán uniformemente el espacio disponible:
Observe que los controles de agarre en estas tarjetas tienen en cuenta el ancho adicional proporcionado por
WidthFit (AjusteDeAncho), no el ancho mínimo proporcionado por la propiedad Ancho. Puede resultar confuso
manipular la propiedad Ancho con la propiedad WidthFit (AjusteDeAncho) activada; puede desactivarla,
realizar cambios en Ancho y volver a activarla.
¿Cuando podría ser útil WidthFit (AjusteDeAncho)? Si tiene un campo que se usa solo en determinadas
situaciones, puede establecer su propiedad Visible en false y las restantes tarjetas de la fila rellenarán
automáticamente el espacio alrededor de ella. Puede usar una fórmula que muestre un campo solo cuando otro
campo tenga un valor determinado.
En este caso, se establecerá la propiedad Visible del campo Estado de pedido en un valor false estático:
Con la segunda tarjeta eliminada en la práctica, la tercera tarjeta ahora puede volver a la misma fila que la
primera. La primera tarjeta aún tiene la propiedad WidthFit (AjusteDeAncho) establecida en true, por lo que es
la única que se expande para rellenar el espacio disponible.
Dado que Order status no se ve, no se puede seleccionar fácilmente en el lienzo. Sin embargo, puede seleccionar
cualquier control, visible o no, de la lista jerárquica de controles en el lado izquierdo de la pantalla.
Alto
La propiedad Alto rige la altura de cada tarjeta. Las tarjetas tienen el equivalente de WidthFit (AjusteDeAncho)
para Alto, y siempre se establece en true. Imagine que un existe una propiedad HeightFit (AjusteDeAlto), pero
no lo busca en el producto porque dicha propiedad aún no está expuesta.
No se puede desactivar este comportamiento, por lo que cambiar la altura de las tarjetas puede ser complicado.
Todas las tarjetas de una fila parecen tener la misma altura que la tarjeta más alta. La fila podría ser similar a la
siguiente:
¿Qué tarjeta determina la altura de la fila? En el gráfico anterior, la tarjeta Importe total está seleccionada y
parece alta, pero su propiedad Alto está establecida en 80 (la misma altura que la primera fila). Para reducir el
alto de una fila, debe reducir la propiedad Alto de la tarjeta más alta de dicha fila, pero dicha tarjeta no se puede
identificar sin examinar la propiedad Alto de cada tarjeta.
AutoHeight (AlturaAutomática)
U na tarjeta también puede ser más alta de lo esperable si contiene un control cuya propiedad AutoHeight
(AlturaAutomática) está establecida en true. Por ejemplo, muchas tarjetas contienen una etiqueta que muestra un
mensaje de error si el valor del campo provoca un problema de validación.
Si no hay texto para mostrar (no hay error), la etiqueta se contrae a una altura de valor cero. Si no lo supiera, no
se daría cuenta de que está ahí, que es como debería ser:
A la izquierda de la pantalla, la lista de controles muestra ErrorMessage1 (MensajeDeError1), que es el control
de etiqueta. Al actualizar una aplicación, puede seleccionar este control para darle cierta altura y mostrar
controladores de agarre con los que se puede colocar y ajustar su tamaño. Una "A" en un cuadro azul indica que
el control tiene la propiedad AutoHeight (AlturaAutomática) establecido en true:
La propiedad Texto de este control está establecida en Parent.Error, que se usa para obtener información de
error dinámica basada en reglas de validación. Con fines meramente ilustrativos, vamos a establecer de manera
estática la propiedad Texto de este control, lo que aumentará su altura (y, por extensión, la de la tarjeta) para
acomodarse a la longitud del texto:
Si el mensaje de error es un poco más largo, de nuevo el control y la tarjeta crecen para darle cabida. Tenga en
cuenta que la fila en general crece a lo alto, conservando la alineación vertical entre las tarjetas:
Comprender las tarjetas de datos en PowerApps
07/10/2019 • 17 minutes to read
Los controles Tarjeta son los componentes fundamentales de los controles Editar formulario y Mostrar
formulario en aplicaciones de lienzo. El formulario representa todo el registro y cada tarjeta representa un único
campo de ese registro.
Puede interactuar con las tarjetas más fácilmente en el panel derecho después de seleccionar un control de
formulario en el área de trabajo de diseño. En este panel, puede elegir los campos que desea mostrar, cómo
mostrarlos y en qué orden. En este ejemplo se muestra un control Formulario de edición en una aplicación que
se crea a partir de una lista de SharePoint denominada Assets.
Para empezar a trabajar con las tarjetas, consulte cómo agregar un formulario y cómo entender los formularios
de datos. En el resto de este tema se explica con más detalle cómo funcionan las tarjetas y cómo puede
personalizar o incluso crear las suyas propias.
Tarjetas predefinidas
PowerApps ofrece un conjunto predefinido de tarjetas para cadenas, números y otros tipos de datos. En el panel
derecho, puede ver las variaciones disponibles y cambiar la tarjeta usada para un campo:
En este ejemplo, se ha seleccionado una tarjeta con una sola línea de texto, pero el texto de la dirección URL
ocupa más de lo que se puede mostrar en una única línea. Vamos a cambiarla a una tarjeta con múltiples líneas de
texto para ofrecer a nuestros usuarios más espacio para editar:
Algunos de los campos de este origen de datos no se muestran, pero puede mostrar u ocultar un campo
seleccionando su casilla. En este ejemplo se explica cómo mostrar el campo SecurityCode.
2. Seleccione el control Text Input situado dentro de la tarjeta pulsando o haciendo clic en el propio control
de entrada.
3. Mueva este control dentro de la tarjeta arrastrando el cuadro de selección y cambie su tamaño arrastrando
los controladores a lo largo del borde del cuadro de selección:
Puede cambiar el tamaño de los controles de una tarjeta, moverlos y realizar otras modificaciones, pero no puede
eliminarla sin desbloquearla primero.
Pulse o haga clic en la pancarta que aparece en la parte superior para desbloquear la tarjeta y poder modificar
estas propiedades:
Vamos a modificar DisplayName para agregar un espacio entre Asset e ID. Al realizar este cambio, estamos
alterando lo que se ha generado automáticamente. En el panel derecho, esta tarjeta tiene una etiqueta distinta:
Ahora hemos tomado el control de esta tarjeta y podemos modificarla para que se ajuste a nuestras necesidades.
Pero hemos perdido la capacidad que teníamos antes de cambiar la tarjeta de una representación a otra (por
ejemplo, de texto de una sola línea a texto de múltiples líneas). Hemos transformado la tarjeta predefinida en una
"tarjeta personalizada" sobre la que tenemos control.
IMPORTANT
Si ha desbloqueado una tarjeta, no podrá volver a bloquearla. Para volver al estado de bloqueo, quite la tarjeta y vuelva a
insertarla en el panel derecho.
Puede cambiar la apariencia y el comportamiento de una tarjeta desbloqueada de varias formas como, por
ejemplo, con la adición y eliminación de los controles dentro de ella. Por ejemplo, puede agregar una forma de
estrella desde el menú Iconos de la pestaña Insertar.
Ahora, la estrella forma parte de la tarjeta y se moverá con ella si, por ejemplo, reordena las tarjetas en el
formulario.
Como otro ejemplo, desbloquee la tarjeta ImageURL y, a continuación, agregue un control Image en ella
mediante la pestaña Insertar:
En la barra de fórmulas, establezca la propiedad Image de este control en TextBox.Text, en la que TextBox es el
nombre del control Entrada de texto que contiene la URL:
Ahora ya podemos ver las imágenes y editar sus direcciones URL. Observe que podríamos haber usado
Parent.Default como la propiedad Image, pero no se habría actualizado si el usuario hubiera cambiado la
dirección URL.
Podemos hacer lo mismo en la segunda pantalla de esta aplicación, en la que usamos un control Formulario de
presentación para mostrar los detalles de un registro. En este caso, es posible que queramos ocultar la etiqueta
(establezca la propiedad Visible de la etiqueta, no la tarjeta, en false) porque el usuario no editará la dirección
URL en esa pantalla:
Interactuar con un formulario
Después de desbloquear una tarjeta, puede cambiar la forma en que interactúa con el formulario que la contiene.
Más adelante se muestran algunas directrices sobre cómo deben funcionar los controles con su tarjeta y cómo
deben funcionar las tarjetas con el formulario. Se trata únicamente de directrices. Como ocurre con todos los
controles de PowerApps, puede crear fórmulas que hagan referencia a cualquier otro control de PowerApps, y lo
mismo ocurre para las tarjetas y los controles dentro de estas. Sea creativo: puede crear una aplicación de muchas
maneras.
Propiedad DataField
La propiedad más importante de la tarjeta es DataField . Esta propiedad controla la validación, qué campo se
actualiza y otros aspectos de la tarjeta.
Información que entra
Como contenedor, el formulario pone ThisItem a disposición de todas las tarjetas que incluye. Este registro
contiene todos los campos del registro actual de interés.
La propiedad Default de todas las tarjetas debe establecerse como ThisItem.FieldName. En determinadas
circunstancias, es posible que le interese transformar este valor cuando lo especifique. Por ejemplo, es posible que
desee dar formato a una cadena o traducir el valor de un idioma a otro.
Todos los controles de la tarjeta deben hacer referencia a Parent.Default para tener acceso al valor del campo.
Esta estrategia proporciona un nivel de encapsulación para la tarjeta, de forma que la propiedad Default de esta
pueda cambiar sin que lo hagan sus fórmulas internas.
De forma predeterminada, las propiedades DefaultValue y Required se toman de los metadatos del origen de
datos basándose en la propiedad DataField . Puede reemplazar estas fórmulas con su propia lógica, integrando
los metadatos del origen de datos mediante el uso de la función DataSourceInfo .
Información que sale
Después de que el usuario modifique un registro usando los controles de las tarjetas, la función SubmitForm
guarda esos cambios en el origen de datos. Cuando se ejecuta esa función, el control de formulario lee los valores
de la propiedad DataField de cada tarjeta para saber qué campo debe cambiar.
El control de formulario también lee el valor de la propiedad Update de cada tarjeta. Este valor se almacenará en
el origen de datos para este campo. Este es el lugar para aplicar otra transformación, quizás para revertir la
transformación que se ha aplicado en la fórmula Default de la tarjeta.
La propiedad Valid se toma de los metadatos del origen de datos, basándose en la propiedad DataField .
También depende de la propiedad Required y de si la propiedad Update contiene un valor. Si el valor de la
propiedad Update no es válido, la propiedad Error proporciona un mensaje de error descriptivo.
Si la propiedad DataField de una tarjeta está en blanco, la tarjeta sencillamente es un contenedor de controles.
Sus propiedades Valid y Update no participan cuando se envía el formulario.
Examinar un ejemplo
Echemos un vistazo a los controles que componen una tarjeta de entrada de datos básica. Se ha aumentado el
espacio entre controles para mostrar cada uno de ellos de forma más clara:
En este gráfico, los controles de la tarjeta de datos tienen la etiqueta:
Para rellenar estos controles con datos, se pueden tomar sus propiedades de las propiedades de la tarjeta a través
de estas fórmulas claves. Tenga en cuenta que ninguna de estas fórmulas hace referencia a un campo específico.
En su lugar, toda la información procede de la tarjeta.
NOTE
La propiedad Parent. error es una propiedad de solo salida que no se puede establecer mediante una fórmula. Por lo
tanto, esta propiedad no aparecerá en la lista de propiedades cerca de la esquina superior izquierda o en las pestañas
propiedades o avanzadas cerca del borde derecho. La barra de fórmulas sugiere esta propiedad si está escribiendo una
fórmula que podría hacer referencia a la propiedad.
Para extraer información de estos controles y volver a insertarla en el origen de datos, tenemos las siguientes
fórmulas clave:
Muestre una sola columna de datos (por ejemplo, de una tabla de varias columnas) en una aplicación de lienzo
para que los usuarios puedan seleccionar uno o varios elementos de una lista.
Agregue un cuadro de lista para permitir a los usuarios seleccionar más de una opción.
Agregue una lista desplegable para que ocupe menos espacio en una pantalla.
Agregue un conjunto de botones de selección para obtener un efecto de diseño concreto.
Este tema se centra en los cuadros de listas y botones de selección, pero los mismos principios se aplican a las
listas desplegables.
Requisitos previos
1. Suscríbase a PowerApps.
2. Inicie sesión en con las mismas credenciales que usó para registrarse.
3. En Crear su propia aplicación, pase el puntero por la ventana Aplicación de lienzo desde cero, seleccione
el icono de teléfono y, a continuación, seleccione Crear esta aplicación.
4. Aprenda a agregar y configurar controles.
3. Agregue un triángulo y un rectángulo y, después, disponga las formas en una fila bajo MyListBox:
4. Defina la propiedad Visible de las formas siguientes con las funciones indicadas a continuación:
5. Mientras mantiene presionada la tecla Alt, seleccione una o varias formas en MyListBox.
Solo se mostrarán aquellas formas que seleccione.
En estos pasos, ha utilizado una expresión para crear una lista de elementos. Esto es aplicable a otros elementos de
su negocio. Por ejemplo, puede usar un control desplegable para mostrar imágenes de productos, descripciones
de productos, etc.
3. Cambie el nombre del control Botón de selección por Choices y establezca la siguiente fórmula para la
propiedad Elementos :
["red";"green";"blue"]
Si es necesario, cambie el tamaño del control para mostrar todas las opciones.
4. En la pestaña Insertar, seleccione Iconos y, a continuación, seleccione el círculo.
5. Defina la siguiente función para la propiedad Fill del círculo:
If(Choices.Selected.Value = "red"; Red; Choices.Selected.Value = "green"; Green; Choices.Selected.Value
= "blue"; Blue)
En esta fórmula, el círculo cambia de color dependiendo de qué botón de selección elija.
6. Sitúe el círculo bajo el control Botón de selección, como en este ejemplo:
7. Mientras mantiene presionada la tecla Alt, seleccione otro botón de selección para cambiar el color del
círculo.
Crear listas desplegables dependientes en una
aplicación de lienzo
05/11/2019 • 13 minutes to read
Al crear listas desplegables dependientes (o en cascada), los usuarios seleccionan una opción en una lista para
filtrar las opciones de otra lista. Muchas organizaciones crean listas dependientes para ayudar a los usuarios a
rellenar formularios de forma más eficaz. Por ejemplo, los usuarios pueden seleccionar un país o región para filtrar
una lista de ciudades, o bien los usuarios pueden seleccionar una categoría para mostrar solo los códigos de esa
categoría.
Como procedimiento recomendado, cree un origen de datos para los valores de las listas "primario" y "secundario"
(por ejemplo, países o regiones y ciudades) que sea independiente del origen de datos que los usuarios actualizan
mediante la aplicación. Si adopta este enfoque, puede usar los mismos datos primarios y secundarios en más de
una aplicación, y puede actualizar los datos sin volver a publicar la aplicación o aplicaciones que los usan. Puede
lograr el mismo resultado mediante una colección o datos estáticos, pero no se recomienda para escenarios
empresariales.
En el escenario de este tema, los empleados de la tienda envían problemas a una lista de incidentes a través de un
formulario. Los empleados no solo especifican la ubicación del almacén en el que se produjo el incidente, sino
también el departamento dentro de esa ubicación. No todas las ubicaciones tienen los mismos departamentos, por
lo que una lista de ubicaciones garantiza que los empleados no puedan especificar un departamento para una
ubicación que no tenga ese departamento.
En este tema se usan listas de Microsoft SharePoint como orígenes de datos, pero todos los orígenes de datos
tabulares funcionan de la misma manera.
LOCATION DEPARTAMENTO
Eganville Pastelería
Eganville Nodos
Eganville Crea
Renfrew Pastelería
Renfrew Nodos
Renfrew Crea
Renfrew Farmacia
Renfrew Flor
Pembroke Pastelería
LOCATION DEPARTAMENTO
Pembroke Nodos
Pembroke Crea
Pembroke Flor
Una lista de incidentes muestra información de contacto e información sobre cada incidente. Cree la columna de
fecha como una columna de fecha , pero cree las demás columnas como una sola línea de columnas de texto
para simplificar la configuración y evitar las advertencias de delegación en Microsoft PowerApps.
NÚMERO DE DEPARTAMENT
NOMBRE APELLIDOS TELÉFONO LOCATION O DESCRIPCIÓN DATE
De forma predeterminada, las listas personalizadas de SharePoint incluyen una columna de título que no puede
cambiar de nombre o quitar, y que debe contener datos para poder guardar un elemento en la lista. Para configurar
la columna de modo que no requiera datos:
1. Cerca de la esquina superior derecha, seleccione el icono de engranaje y, a continuación, seleccione
Configuración de la lista.
2. En la página configuración , seleccione título en la lista de columnas.
3. En requerir que esta columna contenga información, seleccione no.
Después de ese cambio, puede omitir la columna title o quitarla de la vista predeterminada si aparece al menos
otra columna.
Abrir el formulario
1. Abra la lista incidentes y, a continuación, seleccione PowerApps > personalizar formularios.
Se abre una pestaña del explorador con el formulario predeterminado en PowerApps Studio.
2. opta En el panel campos , mantenga el mouse sobre el campo título , seleccione los puntos suspensivos (...)
que aparecen y, a continuación, seleccione quitar.
Si ha cerrado el panel campos , puede volver a abrirlo seleccionando SharePointForm1 en la barra de
navegación izquierda y, a continuación, seleccionando Editar campos en la pestaña propiedades del panel
derecho.
3. opta Repita el paso anterior para quitar el campo de datos adjuntos del formulario.
El formulario aparece solo con los campos que ha agregado.
3. Repita los dos pasos anteriores de la tarjeta Department para cambiar el nombre del control de lista
desplegable a ddDepartment.
Configurar las ubicaciones
1. Establezca la propiedad Items de ddlocation en esta fórmula:
Distinct(Locations; Location)
2. opta Mientras mantiene presionada la tecla Alt, Abra ddLocationy confirme que la lista muestra las tres
ubicaciones.
NOTE
Si no desea buscar coincidencias en una cadena pero en el ID. real de la fila de datos, seleccione ID en lugar de result.
Esta fórmula filtra los elementos de ddDepartment en función de lo que seleccione el usuario en
ddLocation. Esta configuración garantiza que la lista "secundaria" de departamentos refleje los datos para
su ubicación "primaria", como la lista de ubicaciones de SharePoint especifica.
4. En la pestaña propiedades del panel derecho, abra la lista junto a valory seleccione Departamento.
Este paso establece el texto para mostrar en las opciones de la columna Departamento de la lista
ubicaciones de SharePoint.
Prueba del formulario
Mientras mantiene presionada la tecla Alt, abra la lista de ubicaciones, seleccione una, abra la lista de
departamentos y, a continuación, seleccione una.
Las listas de ubicaciones y departamentos reflejan la información de la lista ubicaciones de SharePoint.
La lista desplegable mi secundaria contiene elementos duplicados. Este síntoma es probable que se deba al
uso de una columna de búsqueda en SharePoint o a una función de elección en PowerApps. Para quitar la
duplicación, ajuste una función DISTINCT alrededor de los datos que devuelven correctamente. Más información:
función DISTINCT.
Limitaciones conocidas
Esta configuración está disponible en los controles desplegables, así como en los controles de cuadro
combinado y cuadro de lista que permiten una selección a la vez. No se puede usar el depende de la
configuración de ninguno de esos controles si permiten selecciones múltiples. No se recomienda este enfoque para
trabajar con conjuntos de opciones en Common Data Service.
Depende de la configuración no es compatible con colecciones o datos estáticos. Para configurar listas
desplegables dependientes con estos orígenes, edite la expresión directamente en la barra de fórmulas. Además,
PowerApps no admite el uso de dos campos de elección en SharePoint sin ninguna tabla de datos coincidente, y no
se puede definir un campo coincidente dentro de esta interfaz de usuario.
Visualización de datos en un gráfico de líneas,
circular o de barras en PowerApps
05/11/2019 • 4 minutes to read
Utilice gráficos de líneas, gráficos circulares y gráficos de barras para mostrar los datos en una aplicación de lienzo.
Cuando trabaje con gráficos, los datos que importe deben estar estructurados en función de los criterios
siguientes:
Todas las series deben estar en la primera fila.
Las etiquetas deben estar en la columna izquierda.
Por ejemplo, los datos deben tener un aspecto similar al siguiente:
Requisitos previos
Regístrese en PowerApps y, luego, inicie sesión con las mismas credenciales que usó para registrase.
Cree una aplicación a partir de una plantilla, de datos o desde cero.
Aprenda a configurar un control en PowerApps.
Descargue ChartData.zip, que contiene datos de ejemplo como un archivo XML. Siga los pasos descritos en
este tema para importarlo directamente desde su aplicación. Como alternativa, descomprima el archivo .zip,
abra el archivo XML en Excel y guárdelo en una cuenta de almacenamiento en la nube.
3. Presione F5 para abrir el modo de vista previa y seleccione el botón Importar datos.
4. En el cuadro de diálogo Abrir, elija ChartData.zip, seleccione Abrir y, después, presione Esc.
5. En el menú Archivo, seleccione Colecciones.
Aparece la colección ProductRevenue con los datos de gráfico que ha importado:
NOTE
El control de importación se usa para importar datos en forma de Excel y crear la colección. El control de importación
importa los datos cuando se crea la aplicación y se obtiene una vista previa de esta. Actualmente, el control de
importación no importa datos cuando se publica la aplicación.
En este tema, aprenderá a insertar archivos multimedia en la aplicación de lienzo, a cargar dibujos en un origen de
datos y a mostrar imágenes procedentes de un origen de datos en la aplicación. El origen de datos que vamos a
usar en este tema es un archivo de Excel guardado en OneDrive para la Empresa.
Requisitos previos
Regístrese en PowerApps y, luego, inicie sesión con las mismas credenciales que usó para registrase.
7. Si agrega un control de vídeo o audio, establezca la propiedad Media (Multimedia) en el archivo que
agregó:
NOTE
Para reproducir un vídeo de YouTube, la propiedad Media (Multimedia) del control de vídeo tiene que establecerse en
la dirección URL correspondiente, que debe escribirse entre comillas dobles.
Ahora, el archivo de Excel tiene formato de tabla. Para más información sobre el formato de tabla de
Excel, consulte Aplicar formato a una tabla de Excel.
d. Asigne a la tabla el nombre Drawings:
8. En la pestaña Insertar, agregue el control Botón y establezca la propiedad AlSeleccionar en esta fórmula:
Patch(Drawings; Defaults(Drawings); {Image:MyPen.Image})
9. Agregue un control de la Galería de imágenes (pestaña Insertar > Galería) y establezca la propiedad
Elementos en Drawings . La propiedad Image del control de galería se establece automáticamente en
ThisItem.Image .
Más información
No olvide probar la aplicación en diferentes plataformas, como en una ventana del explorador y en un teléfono.
Para más información sobre escenarios más avanzados en los que el contenido multimedia se carga directamente
en un origen de datos distinto, consulte algunas sugerencias de profesionales para capturar imágenes y descubra
cómo usar conectores personalizados para cargar imágenes.
Otra forma de cargar archivos en un origen de datos consiste en usar la función Patch.
Objeto visual personalizado de PowerApps para
Power BI
27/11/2019 • 8 minutes to read
Power BI habilita la información sobre los datos y mejora la toma de decisiones, mientras que PowerApps permite
a todos los usuarios compilar y usar aplicaciones que se conectan a datos empresariales. Con el objeto visual
personalizado de PowerApps, se pueden pasar datos en contexto a una aplicación de lienzo, que se actualiza en
tiempo real mientras se realizan cambios en el informe. Ahora, los usuarios de la aplicación pueden derivar
información empresarial y realizar acciones desde el interior de sus informes y paneles de Power BI.
2. Agregue el objeto visual de PowerApps al informe y establezca los campos de datos asociados con él.
Puede elegir una aplicación existente o crear una, pero el informe se deben publicar en el servicio Power BI
y abrir en Microsoft Edge o Google Chrome.
3. Si decide crear una aplicación, puede elegir en qué entorno crearla.
Si elige usar una aplicación existente, el objeto visual le pedirá que abra la aplicación en PowerApps.
Después, el objeto visual configura los componentes necesarios de la aplicación para que Power BI pueda
enviar datos a PowerApps.
Si crea una aplicación, PowerApps crea una aplicación sencilla con los componentes necesarios ya
configurados.
4. Ahora en PowerApps Studio, se pueden usar los campos de datos que se establecieron en el paso 2. El
objeto PowerBIIntegration actúa como cualquier otro origen de datos o colección de solo lectura de
PowerApps. Se puede usar el objeto para rellenar un control, o para combinar y filtrar otros orígenes de
datos.
Esta fórmula combina datos de Power BI con el origen de datos de cliente:
LookUp(Customer,Customer_x0020_Name=First(PowerBIIntegration.Data).Customer_Name)
El informe de Power BI y la instancia de PowerApps Studio que se inició comparten una conexión de datos
dinámica. Mientras los dos estén abiertos, se pueden filtrar o cambiar los datos del informe para ver los
datos actualizados reflejados al instante en la aplicación en PowerApps Studio.
5. Después de haber completado la compilación o los cambios en la aplicación, guárdela y publíquela en
PowerApps para verla en el informe de Power BI.
6. Una vez esté satisfecho con los cambios, asegúrese de compartir la aplicación de PowerApps con los
usuarios del informe y, después, guarde el informe.
7. Y con eso, ha creado un informe en el que los usuarios pueden realizar acciones como obtener información
de los datos.
Si necesita realizar cambios en una aplicación, abra el informe en modo de edición, pulse o haga clic en Más
opciones ( . . . ) en el objeto visual de PowerApps y seleccione Editar.
Limitaciones del objeto visual personalizado de PowerApps
Las siguientes limitaciones se aplican al código Visual personalizado de PowerApps:
Si se cambian los campos de datos asociados con el objeto visual, tendrá que modificar la aplicación desde
dentro del servicio Power BI haciendo clic en el botón de puntos suspensivos (...) y seleccionando después
Editar. En caso contrario, los cambios no se propagarán a PowerApps y la aplicación se comportará de forma
inesperada.
El visual personalizado de PowerApps no puede desencadenar una actualización de Power BI informes y Power
BI orígenes de datos desde Power BI Desktop. Si escribe datos de la aplicación en el mismo origen de datos que
el informe, los cambios no se reflejarán inmediatamente en Power BI Desktop. Los cambios se reflejan en la
siguiente actualización programada.
El objeto visual personalizado de PowerApps no puede filtrar los datos o devolver ningún dato al informe.
Tendrá que compartir la aplicación de PowerApps de forma independiente al informe. Obtenga información
sobre cómo compartir aplicaciones en PowerApps.
Power BI Report Server y la aplicación móvil para Power BI no admiten el visual personalizado de PowerApps.
Si usa la función PowerBIIntegration. Refresh (), debe usar un origen que admita DirectQuery y la conexión de
datos debe crearse mediante el método directquery.
PowerApps en Power BI Desktop proporciona datos para PowerApps Studio al crear aplicaciones pero no
durante la edición. Use Power BI web para obtener una vista previa de los datos mientras edita las aplicaciones.
NOTE
Se recomienda publicar primero el informe en el servicio Power BI y, a continuación, crear o modificar las aplicaciones.
Microsoft Edge ✓ ✓ ✓
Internet Explorer 11 ✓
Google Chrome ✓ ✓ ✓
* Safari ✓
Mozilla Firefox
* en Safari, debe habilitar el seguimiento entre sitios (preferencias > privacidady desactivar evitar el
seguimiento entre sitios) para ver el objetos visuales personalizados de PowerApps.
Compatibilidad con accesibilidad
Para navegar por el visual de PowerApps con el teclado, siga estos pasos:
1. Centrar la selección en el informe de Power BI para el visual de PowerApps deseado.
2. Use la tecla Tab del teclado hasta que se resalte el visual.
3. Use la tecla Ctrl + flecha derecha en el teclado para escribir el control visual.
4. Use la tecla Tab del teclado hasta que se seleccione el componente deseado del elemento visual.
Para obtener más información, vea: Power BI la documentación de accesibilidad
Pasos siguientes
Realice un sencillo tutorial paso a paso.
Consulte nuestro vídeo.
Mostrar, ordenar y filtrar los datos en una galería
de PowerApps
12/11/2019 • 13 minutes to read
Cree una galería para mostrar imágenes y texto sobre diversos productos, y ordene y filtre esa información.
En PowerApps, puede usar una galería para mostrar varios elementos relacionados, como si se tratara de un
catálogo. Las galerías son ideales para mostrar información sobre productos, como nombres y precios. En este
tema, crearemos una galería y ordenaremos y filtraremos la información mediante el uso de funciones
similares a las de Excel. Además, cuando se seleccione un elemento, se colocará un borde a su alrededor.
NOTE
En este tema se usa una aplicación de tableta. Puede usar una aplicación de teléfono, pero deberá cambiar el tamaño de
algunos de los controles.
Requisitos previos
Regístrese en PowerApps y, luego, inicie sesión con las mismas credenciales que usó para registrase.
Cree una aplicación de tableta a partir de una plantilla, de datos o desde cero.
Tiene que saber configurar un control.
En estos pasos se usa CreateFirstApp como datos de entrada de ejemplo, que incluye imágenes .jpg. El
archivo zip incluye un archivo XML que se puede convertir a Excel. De lo contrario, PowerApps lee
automáticamente los archivos dentro los archivos .zip y lo importa correctamente. Puede descargar y usar
estos datos de ejemplo o importar los suyos propios.
Acaba de crear la colección Inventory, que contiene información sobre cinco productos, incluida
una imagen del diseño, el nombre del producto y el número de unidades disponibles.
NOTE
El control de importación se usa para importar datos en forma de Excel y crear la colección. El control de
importación importa los datos cuando se crea la aplicación y se obtiene una vista previa de esta.
Actualmente, el control de importación no importa datos cuando se publica la aplicación.
6. Cambie el nombre de la galería a ProductGallery y muévala de modo que no bloquee los demás
controles. Cambie el tamaño de la galería para que muestre tres productos:
NOTE
De forma predeterminada, la propiedad Text de la etiqueta superior está establecida en ThisItem.ProductName . Puede
cambiarla a cualquier otro elemento de la colección. Por ejemplo, si la colección tiene los campos ProductDescription o
Price, puede establecer la etiqueta en ThisItem.ProductDescription o ThisItem.Price .
Mediante estos pasos, ha importado datos que incluyen imágenes .jpg en una colección. Después, ha agregado
una galería en la que se muestran los datos y ha configurado una etiqueta para mostrar las unidades
disponibles de cada producto.
2. En la pestaña Insertar, seleccione Formas y, luego, el rectángulo. Aparece un rectángulo sólido azul en
cada elemento de la galería.
3. En la pestaña Inicio, seleccione Relleno y, después, Sin relleno.
4. Seleccione Borde, Estilo de borde y la línea sólida.
5. Seleccione Borde de nuevo y establezca el grosor en 3. Cambie el tamaño del rectángulo de modo que
rodee el elemento de la galería. Ahora los elementos de la galería tienen un borde azul y deberían tener
un aspecto similar al siguiente:
TIP
Seleccione el rectángulo, Reordenar en la pestaña Inicio y Enviar al fondo. Con esta característica, puede seleccionar
un elemento de galería sin que el borde bloquee nada.
4. En Vista previa, ajuste el control deslizante en un valor comprendido entre la cantidad mínima y
máxima en la galería. A medida que ajuste el control deslizante, la galería mostrará solo los productos
con una cantidad inferior al valor que elija:
Qué ha aprendido
En este tema:
Ha creado una colección, ha importado datos que incluían imágenes .jpg en esta colección y ha hecho que
los datos aparecieran en una galería.
Debajo de cada imagen de la galería, ha configurado una etiqueta que indica las unidades disponibles de
ese elemento.
Ha agregado un borde alrededor del elemento que se seleccione.
Ha ordenado los elementos por nombre de producto de manera ascendente y descendente.
Ha agregado un control deslizante y un control de texto de entrada para filtrar los productos por unidades
disponibles y nombre de producto.
Controles y propiedades en PowerApps
29/11/2019 • 49 minutes to read
Para configurar la apariencia y el comportamiento de un control es preciso establecer una de sus propiedades.
Cada tipo de control tiene un conjunto de propiedades diferente. Algunas propiedades, como Alto y Ancho, son
comunes a casi todos los tipos de controles, pero otras, como TamañoDeCasilla, son específicas de un tipo de
control.
Controles
Agregar imagen : cargue imágenes desde el dispositivo local, para cargarlas en un origen de datos.
Datos adjuntos : cargue y descargue archivos desde el dispositivo local a un origen de datos.
Audio : reproduzca un clip de audio o la parte de audio de un clip de vídeo.
Escáner de código de barras : explora códigos de barras, códigos QR y códigos de matriz de datos en un
dispositivo Android o iOS.
Botón : interactúe con la aplicación haciendo clic en él o pulsándolo.
Cámara : haga fotos y guárdelas en la aplicación o en un origen de datos.
Tarjeta : muestre y edite un campo individual de un registro en un control de un formulario de edición o
formulario de presentación .
Casilla : active o desactive una opción para especificar true o false.
Gráfico de columnas : muestre los valores en forma de barras verticales en relación a dos ejes.
Columna : proporciona la representación de un solo campo en un control Tabla de datos.
Cuadro combinado : permite a los usuarios seleccionar entre las opciones proporcionadas. Admite tanto la
búsqueda como la selección múltiple.
Contenedor (experimental) : cree una jerarquía anidada para la accesibilidad y la capacidad de respuesta.
Tabla de datos : muestre datos en formato tabular.
Selector de fecha : especifique una fecha haciendo clic en él o pulsándolo.
Mostrar formulario : muestre los registros de un origen de datos mediante un formulario.
Desplegable : muestre el primer elemento de una lista hasta que se selecciona un botón de contenido adicional.
Formulario de edición : edite y cree registros en un origen de datos mediante un formulario.
Formulario de entidad (característica experimental): agregue formularios dinámicos en el que los usuarios
puedan ver datos relacionales de Common Data Service, editarlos y navegar por ellos.
Exportar : exporte datos para usarlos en cualquier otro lugar de PowerApps.
Galería : muestre una lista de los registros que pueden contener varios tipos de datos.
Texto HTML : convierta automáticamente las etiquetas HTML.
Icono : agregue un gráfico atractivo y aumente el interés visual.
Imagen : muestre una imagen de, por ejemplo, un archivo local o un origen de datos.
Importar : importe datos de cualquier otro lugar de PowerApps.
Gráfico de líneas : muestre los valores en forma de puntos de datos en relación a dos ejes.
Cuadro de lista : seleccione uno o varios elementos de una lista.
Micrófono : grabe y guarde sonidos en la aplicación o en un origen de datos.
Visor de PDF (experimental) : muestre el contenido de un archivo PDF en Internet.
Entrada manuscrita : dibuje una imagen o escriba texto y guárdelo en la aplicación o en un origen de datos.
Gráfico circular : muestre la relación de los valores entre sí.
Icono de Power BI : mostrar un icono de Power BI dentro de una aplicación.
Radio : muestre opciones que se excluyen mutuamente.
Clasificación : indique un valor entre 1 y un número especificado.
Editor de texto enriquecido : permite el formato de texto enriquecido por los usuarios de la aplicación.
Pantalla : muestre y actualice los datos sobre una tarea específica.
Forma : muestre flechas y formas geométricas, como rectángulos.
Control deslizante : especifique un valor arrastrando un controlador.
Etiqueta : muestre datos como texto, números, fechas o moneda.
Entrada de texto : escriba texto, números y otros datos.
Temporizador : configure la aplicación para que responda cuando transcurra un período concreto.
Alternancia : arrastre un cuadro para especificar true o false.
Vídeo : reproduzca un clip de vídeo de un archivo local, un origen de datos o YouTube.
Escáner de código de barras web (experimental) : el escáner de códigos de barras heredado, que está
obsoleto, pero podría ser útil para examinar códigos en un explorador Web.
Descripción
Con este control los usuarios pueden tomar fotografías o cargar archivos de imagen desde su
dispositivo y actualizar el origen de datos con este contenido. En un dispositivo móvil se presenta al
usuario el cuadro de diálogo de elección del dispositivo para que elija entre tomar una foto o
seleccionar una ya disponible.
Este control es un control agrupado que contiene dos controles: un control Imagen y un control Add
media button (Agregar botón multimedia). El control Imagen muestra la imagen cargada o un
marcador de posición si no se ha cargado ninguna imagen. El control Add media button (Agregar
botón multimedia) le solicita una imagen para cargar.
Consulte la referencia del control Imagen para conocer las propiedades de Imagen.
Funciones relacionadas
Patch( DataSource; BaseRecord; ChangeRecord )
Ejemplos
Agregar imágenes a un control Galería de imágenes
1. Agregue un control Agregar imagen y, a continuación, haga clic en él tres veces.
¿No sabe cómo agregar, nombrar y configurar un control?
2. En el cuadro de diálogo Abrir, pulse o haga clic en un archivo de imagen y luego pulse o haga
clic en Abrir.
3. Agregue un control Botón , muévalo al control Agregar imagen y establezca la propiedad
AlSeleccionar del control Botón en esta fórmula:
Collect(MyPix; AddMediaButton1.Media)
¿Desea más información sobre la función Recopilar u otras funciones?
Directrices de accesibilidad
Se aplican las mismas directrices para Botón e Imagen . Además, tenga en cuenta lo siguiente:
Contraste de color
El control Add media button (Agregar botón multimedia) debe tener el contraste adecuado entre
su texto y el fondo. Dado que la imagen cargada puede tener diversos colores, use una propiedad
Fill opaca en el control Add media button (Agregar botón multimedia) para garantizar un
contraste uniforme.
Soporte técnico para el lector de pantalla
El control Add media button (Agregar botón multimedia) debe tener las propiedades Text y
ChangePictureText que soliciten al usuario que agregue o cambie una imagen.
Compatibilidad con el teclado
Add media button (Agregar botón multimedia) debe tener la propiedad TabIndex igual a cero o
superior para que los usuarios del teclado puedan desplazarse hasta él.
Add media button (Agregar botón multimedia) debe tener claramente visibles los indicadores de
enfoque. Use FocusedBorderColor y FocusedBorderThickness para conseguirlo.
Control Datos adjuntos en PowerApps
06/11/2019 • 6 minutes to read
Un control que permite a los usuarios descargar archivos en su dispositivo, así como cargar y eliminar archivos de
una lista de SharePoint o una entidad Common Data Service.
Límite
El control de datos adjuntos presenta estas limitaciones:
1. Los datos adjuntos son compatibles con las listas de SharePoint y Common Data Service entidades.
2. La funcionalidad de carga y eliminación solo funciona dentro de un formulario. El control de datos adjuntos
aparece deshabilitado cuando está en modo de edición y no dentro de un formulario. Para guardar las
adiciones y eliminaciones de archivos, el usuario de la aplicación debe guardar el formulario. Debido a esta
limitación, el control de datos adjuntos no está disponible en la pestaña Insertar , pero aparece en el
formulario cuando el campo de formulario de datos adjuntos está habilitado en un formulario de
SharePoint o de Common Data Service.
3. Solo puede cargar archivos si son de 10 MB o más pequeños.
Descripción
Un control de datos adjuntos le permite abrir, agregar y eliminar archivos de una lista de SharePoint o una
entidad Common Data Service.
Propiedades principales
Items : el origen de donde se describen los archivos que se pueden descargar.
MaxAttachments: el número máximo de archivos que acepta el control.
MaxAttachmentSize: el tamaño de archivo máximo permitido, en MB, de cada elemento adjunto nuevo.
Actualmente, el límite se encuentra en 10 MB.
OnAttach: cómo responde la aplicación cuando el usuario agrega nuevos datos adjuntos.
OnRemove: cómo responde la aplicación cuando el usuario elimina datos adjuntos existentes.
OnSelect : cómo responde la aplicación cuando el usuario hace clic en unos datos adjuntos.
Propiedades adicionales
AccessibleLabel : etiqueta para lectores de pantalla. Debe describir el fin de los datos adjuntos.
AddAttachmentText: el texto de la etiqueta del vínculo que se usa para agregar nuevos datos adjuntos.
BorderColor : el color de un borde del control.
BorderStyle : si el borde del control es Solid, Dashed, Dotted o None.
BorderThickness : el grosor de un borde del control.
DisplayMode : indica si el control permite agregar y eliminar archivos (Edit), solo muestra datos (View) o si está
deshabilitado (Disabled).
FocusedBorderColor : el color del borde de un control cuando el control recibe el foco.
FocusedBorderThickness : el grosor del borde de un control cuando el control recibe el foco.
Height : la distancia entre los bordes superior e inferior de un control.
MaxAttachmentsText: el texto que reemplaza al vínculo de "Adjuntar archivo" cuando el control contiene el
número máximo de archivos permitidos.
NoAttachmentsText: texto informativo que se muestra al usuario cuando no hay archivos adjuntos.
TabIndex : orden de navegación del teclado en relación con otros controles.
Visible : indica si un control está visible u oculto.
Width : la distancia entre los bordes derecho e izquierdo de un control.
X : la distancia entre el borde izquierdo de un control y el borde izquierdo de su contenedor primario (la pantalla si
no hay un contenedor primario).
Y : la distancia entre el borde superior de un control y el borde superior de su contenedor primario (la pantalla si
no hay un contenedor primario).
Ejemplo
1. Cree una aplicación de datos usando una lista de SharePoint como origen de datos. Como alternativa,
puede agregar un formulario a la aplicación y establecer una lista de SharePoint como su origen de datos.
2. Seleccione el control Formulario en la vista de árbol del lado izquierdo.
3. Haga clic en Datos en la pestaña Propiedades en el panel de opciones de la derecha.
4. En Campos, habilite el campo Datos adjuntos.
El campo de datos adjuntos asociado a la lista de SharePoint aparecerá en el formulario.
[Aprenda a agregar y configurar un control].(../add-configure-controls.md)
Directrices de accesibilidad
Contraste de color
Debe haber un contraste de color adecuado entre:
ItemColor y ItemFill
ItemHoverColor y ItemHoverFill
ItemPressedColor y ItemPressedFill
AddedItemColor y AddedItemFill
RemovedItemColor y RemovedItemFill
ItemErrorColor y ItemErrorFill
AddAttachmentColor y Fill
MaxAttachmentsColor y Fill
NoAttachmentsColor y Fill
Y esto, además de los requisitos estándar de contraste de color.
Soporte técnico para el lector de pantalla
Las siguientes propiedades deben estar presentes:
AccessibleLabel
AddAttachmentsText
MaxAttachmentsText
NoAttachmentsText
Compatibilidad con el teclado
La propiedad TabIndex debe ser cero o superior para que los usuarios del teclado puedan desplazarse hasta
él.
Los indicadores de foco deben ser claramente visibles. Use FocusedBorderColor y
FocusedBorderThickness para conseguirlo.
Controles Audio y Vídeo en PowerApps
06/11/2019 • 11 minutes to read
Descripción
Un control Audio reproduce una secuencia de sonido de un archivo, una grabación de un control Micrófono o el
audio de una pista de audio de un archivo de vídeo.
Un control Vídeo reproduce una secuencia de vídeo de un archivo o de YouTube o Azure Media Services.
Opcionalmente, se pueden mostrar subtítulos cuando se especifique.
Propiedades principales
Bucle: indica si una secuencia de audio o vídeo empieza de nuevo automáticamente en cuanto termina de
reproducirse.
Multimedia: un identificador de la secuencia que reproduce un control de audio o de vídeo.
MostrarControles: indica si se muestra un reproductor de audio o vídeo, por ejemplo, un botón de reproducción y
un control deslizante de volumen, y un control de entrada manuscrita muestra, por ejemplo, iconos para dibujar,
borrar y borrar todo.
Propiedades adicionales
AccessibleLabel : etiqueta para lectores de pantalla. Debe ser el título de la secuencia de vídeo o audio.
PausarAutomáticamente: indica si un clip de audio o vídeo se detiene automáticamente si el usuario se desplaza
a otra pantalla.
IniciarAutomáticamente: indica si un control de audio o vídeo empieza a reproducir automáticamente un clip
cuando el usuario navega a la pantalla que contiene ese control.
BorderColor : el color de un borde del control.
BorderStyle : si el borde del control es Solid, Dashed, Dotted o None.
BorderThickness : el grosor de un borde del control.
ClosedCaptionsUrl: solo control de vídeo. Dirección URL del archivo de los subtítulos en formato de WebVTT.
Ambas direcciones URL, la del vídeo y la de los subtítulos, deben ser HTTPS. El servidor que hospede los archivos
de vídeo y los subtítulos debe tener CORS habilitado.
DisplayMode : indica si el control permite entradas de usuario (Edit), solo muestra datos (View) o si está
deshabilitado (Disabled).
Fill : el color de fondo de un control.
FocusedBorderColor : el color del borde de un control cuando el control recibe el foco.
FocusedBorderThickness : el grosor del borde de un control cuando el control recibe el foco.
Height : la distancia entre los bordes superior e inferior de un control.
Imagen : el nombre de la imagen que aparece en un control de imagen, audio o micrófono.
PosiciónDeLaImagen : posición (Rellenar, Ajustar, Estirar, Icono o Centrar) de una imagen en una pantalla o
un control, si no tiene el mismo tamaño que la imagen.
AlFinalizar: indica cómo una aplicación responde cuando finaliza la reproducción de una secuencia de audio o de
vídeo.
AlPausar: indica cómo responde una aplicación cuando el usuario pausa la secuencia que está reproduciendo un
control de audio o de vídeo.
AlIniciar: indica cómo la aplicación responde cuando el usuario comienza a grabar con un control de micrófono.
Paused: true si un control de reproducción multimedia está actualmente en pausa, de lo contrario false.
Reset : indica si un control vuelve a su valor predeterminado.
Inicio: indica si se reproduce un clip de audio o vídeo.
HoraDeInicio: la hora después del inicio de una secuencia de audio o de vídeo cuando la secuencia empieza a
reproducirse.
Time: posición actual del control multimedia.
TabIndex : orden de navegación del teclado en relación con otros controles.
Información sobre herramientas : texto explicativo que aparece cuando el usuario mantiene el puntero sobre un
control.
Visible : indica si un control aparece o está oculto.
Width : la distancia entre los bordes derecho e izquierdo de un control.
X : la distancia entre el borde izquierdo de un control y el borde izquierdo de su contenedor primario (la pantalla si
no hay un contenedor primario).
Y : la distancia entre el borde superior de un control y el borde superior de su contenedor primario (la pantalla si no
hay un contenedor primario).
Funciones relacionadas
First( TableName )
Ejemplos
Reproducir un archivo de audio o de vídeo
1. En el menú Archivo, pulse o haga clic en Multimedia, pulse o haga clic en Vídeos o Audio y, luego, pulse
o haga clic en Examinar.
2. Busque el archivo que desea usar, pulse o haga clic en él y, luego, pulse o haga clic en Abrir.
3. Presione Esc para volver al área de trabajo predeterminada, agregue un control Audio o Vídeo y establezca
su propiedad Multimedia en el archivo que ha agregado.
¿No sabe cómo agregar y configurar un control?
Directrices de accesibilidad
Alternativas de audio y vídeo
ShowControls debe configurarse en true para que los usuarios puedan escuchar o ver elementos multimedia a
su propio ritmo. Esto también permite a los usuarios activar o desactivar subtítulos y el modo de pantalla
completa en los reproductores de vídeo.
Deben proporcionarse subtítulos para los vídeos.
En el caso de los vídeos de YouTube, utilice las herramientas de creación proporcionadas por YouTube
para agregar subtítulos.
Para otros vídeos, cree subtítulos en formato WebVTT, cárguelos y configure el valor
ClosedCaptionsUrl con la ubicación de la dirección URL. Existen varias limitaciones. Es necesario que
los servidores que hospedan vídeo y subtítulos estén habilitados para CORS y los controlen mediante el
protocolo HTTPS. Los subtítulos no funcionan en Internet Explorer.
Considere la posibilidad de proporcionar una transcripción de audio o vídeo con uno de estos métodos:
1. Ponga el texto en un elemento Label y colóquelo junto al reproductor multimedia. Opcionalmente, puede
crear un elemento Button para alternar la presentación del texto.
2. Coloque el texto en otra pantalla. Cree un elemento Button que vaya a la pantalla y colóquelo junto al
reproductor multimedia.
3. Si la descripción es breve, puede colocarse en AccessibleLabel .
Contraste de color
Debe haber un contraste de color adecuado entre:
FocusedBorderColor y el color exterior
Image y los controles del reproductor multimedia (si procede)
Fill y los controles del reproductor multimedia (si el relleno está visible)
Proporcione subtítulos o transcripción si el contenido de vídeo tiene problemas de contraste de color.
Soporte técnico para el lector de pantalla
La propiedad AccessibleLabel debe estar presente.
Compatibilidad con el teclado
La propiedad TabIndex debe ser cero o superior para que los usuarios del teclado puedan desplazarse hasta él.
Los indicadores de foco deben ser claramente visibles. Use FocusedBorderColor y FocusedBorderThickness
para conseguirlo.
AutoStart debe ser false porque puede ser difícil para los usuarios del teclado detener la reproducción
rápidamente.
Control del lector de código de barras para
aplicaciones de lienzo
06/11/2019 • 4 minutes to read
Explora códigos de barras, códigos QR y códigos de matriz de datos en un dispositivo Android o iOS. No se
admite en un explorador Web.
Descripción
El control abre un escáner nativo en un dispositivo iOS o Android. El escáner detecta automáticamente un código
de barras, un código QR o un código de matriz de datos cuando está en la vista. El control no admite el examen en
un explorador Web.
El control admite códigos QR, códigos de matriz de datos y estos tipos de códigos de barras:
UPC A
UPC E
EAN 8
EAN 13
CÓDIGO 39
CÓDIGO 128
ITF
PDF 417
Propiedades principales
Valor : propiedad de salida que contiene el valor de texto del código que se analizó más recientemente.
Texto: texto que aparece en el botón que activa el analizador.
Alscan : cómo responde una aplicación cuando se examina correctamente un código de barras.
Propiedades adicionales
BorderColor : el color de un borde del control.
BorderStyle : si el borde del control es Solid, Dashed, Dotted o None.
BorderThickness : el grosor de un borde del control.
DisplayMode : indica si el control permite entradas de usuario (Edit), solo muestra datos (View) o si está
deshabilitado (Disabled).
FlashlightEnabled : indica si la linterna se habilita automáticamente cuando se abre el escáner.
Alto : el alto del botón que activa el escáner.
PreferFrontCamera : indica si la cámara frontal, si está disponible, se utiliza para el examen.
Información sobre herramientas : texto explicativo que aparece cuando el usuario mantiene el puntero sobre
un control.
Tipo : el tipo de código que se ha detectado en el examen que se ha realizado correctamente.
Visible : indica si un control aparece o está oculto.
Ancho : el ancho del botón que activa el escáner.
X : la distancia entre el borde izquierdo de un control y el borde izquierdo de su contenedor primario (la pantalla si
no hay un contenedor primario).
Y : la distancia entre el borde superior de un control y el borde superior de su contenedor primario (la pantalla si
no hay un contenedor primario).
Directrices de accesibilidad
Las mismas instrucciones para el control de botón se aplican al control de escáner de código de barras porque
es un botón que inicia el examen.
Alternativas visuales
El escáner de códigos de barras es un botón que no muestra el resultado del análisis. Considere la
posibilidad de mostrar el resultado del examen con un control etiqueta . Establezca la propiedad Text de la
etiqueta en la propiedad Value del escáner de códigos de barras. Establezca la propiedad Live de la
etiqueta en Educate para que se notifiquen los cambios a los usuarios de lector de pantalla. Este cambio
hace que el valor explorado sea accesible para todos los usuarios, independientemente de la capacidad
visual.
Los usuarios que tienen discapacidades visuales y del motor prefieren no señalar la cámara en un código
de barras. Considere la posibilidad de agregar otra forma de entrada, como un control entrada de texto ,
para que los usuarios escriban códigos de barras.
Control Botón en PowerApps
12/11/2019 • 13 minutes to read
Descripción
Configure la propiedad AlSeleccionar de un control Botón para ejecutar
una o más fórmulas cuando el usuario haga clic en el control o lo pulse.
Propiedades principales
OnSelect : indica cómo responde la aplicación cuando el usuario toca o
hace clic en un control.
Text : texto que aparece en un control o que el usuario escribe en un
control.
Propiedades adicionales
Align : la ubicación del texto respecto al centro horizontal de su control.
AutoDisableOnSelect (DesahabilitarAutomáticamenteAlSeleccionar):
deshabilita automáticamente el control mientras se está ejecutando el
comportamiento AlSeleccionar.
BorderColor : el color de un borde del control.
BorderStyle : si el borde del control es Solid, Dashed, Dotted o None.
BorderThickness : el grosor de un borde del control.
Color : el color del texto en un control.
DisplayMode : indica si el control permite entradas de usuario (Edit), solo
muestra datos (View) o si está deshabilitado (Disabled).
DisabledBorderColor : el color de un borde del control si la propiedad
DisplayMode del control está establecida en Disabled.
DisabledColor : el color del texto en un control si su propiedad
DisplayMode está establecida en Disabled.
DisabledFill : el color de fondo de un control si su propiedad
DisplayMode está establecida en Disabled.
FocusedBorderColor : el color del borde de un control cuando el control
recibe el foco.
FocusedBorderThickness : el grosor del borde de un control cuando el
control recibe el foco.
Fill : el color de fondo de un control.
Font : el nombre de la familia de fuentes en la que aparece el texto.
FontWeight : el peso del texto en un control: Bold, Semibold, Normal o
Lighter.
Height : la distancia entre los bordes superior e inferior de un control.
HoverBorderColor : el color de un borde del control cuando el usuario
mantiene el puntero del mouse sobre ese control.
HoverColor : el color del texto de un control cuando el usuario mantiene el
puntero del mouse sobre él.
HoverFill : el color de fondo de un control cuando el usuario mantiene el
puntero del mouse sobre él.
Italic : indica si el texto de un control está en cursiva.
RellenoInferior : distancia entre el texto de un control y el borde inferior
de ese control.
RellenoIzquierdo : distancia entre el texto de un control y el borde
izquierdo de ese control.
RellenoDerecho : distancia entre el texto de un control y el borde derecho
de ese control.
RellenoSuperior : distancia entre el texto de un control y el borde superior
de ese control.
Pressed: true mientras se presiona un control, en caso contrario false.
PressedBorderColor : el color de un borde del control cuando el usuario
toca o hace clic en ese control.
PressedColor : el color de texto de un control cuando el usuario toca o
hace clic en ese control.
PressedFill : el color de fondo de un control cuando el usuario toca o hace
clic en ese control.
RadiusBottomLeft : el grado al que se redondea la esquina inferior
izquierda de un control.
RadiusBottomRight : el grado al que se redondea la esquina inferior
derecha de un control.
RadiusTopLeft : el grado al que se redondea la esquina superior izquierda
de un control.
RadiusTopRight : el grado al que se redondea la esquina superior derecha
de un control.
Size : el tamaño de la fuente del texto que aparece en un control.
Strikethrough : indica si aparece una línea sobre el texto de un control.
TabIndex : orden de navegación del teclado en relación con otros
controles.
Información sobre herramientas : texto explicativo que aparece cuando
el usuario mantiene el puntero sobre un control.
Underline : indica si aparece una línea debajo del texto de un control.
VerticalAlign : la ubicación del texto en un control respecto al centro
vertical de ese control.
Visible : indica si un control aparece o está oculto.
Width : la distancia entre los bordes derecho e izquierdo de un control.
X : la distancia entre el borde izquierdo de un control y el borde izquierdo
de su contenedor primario (la pantalla si no hay un contenedor primario).
Y : la distancia entre el borde superior de un control y el borde superior de
su contenedor primario (la pantalla si no hay un contenedor primario).
Funciones relacionadas
Navegar( NombrePantalla; ScreenTransitionValue )
Ejemplos
Agregar una fórmula básica a un botón
1. Agregue un control Entrada de texto y denomínelo Origen.
¿No sabe cómo agregar, nombrar y configurar un control?
NOTE
Utilice el punto y coma " ; " para separar varias fórmulas.
NOTE
Icons and Shapes (Iconos y formas) proporcionan una gran variedad de diseños
y pueden realizar algunas de las mismas funciones básicas que realizan los
controles Botón. Pero, Icons and shapes (Iconos y formas) no tiene una
propiedad Texto .
NOTE
El valor de color puede ser cualquier definición de color CSS, ya sea un nombre o
un valor hexadecimal.
Directrices de accesibilidad
Contraste de color
Se aplican requisitos estándar de contraste de color.
Soporte técnico para el lector de pantalla
La propiedad Text debe existir.
Compatibilidad con el teclado
La propiedad TabIndex debe ser cero o superior para que los usuarios
del teclado puedan desplazarse hasta él.
Los indicadores de foco deben ser claramente visibles. Use
FocusedBorderColor y FocusedBorderThickness para conseguirlo.
Control Cámara en PowerApps
12/11/2019 • 6 minutes to read
Un control con el que el usuario puede realizar fotos mediante el uso de la cámara del dispositivo.
Descripción
Si agrega este control, el usuario puede actualizar un origen de datos con una o más fotos desde
donde se esté ejecutando la aplicación.
Propiedades principales
Cámara: en un dispositivo que tenga más de una cámara, el identificador numérico de la cámara que
usa la aplicación.
Propiedades adicionales
AccessibleLabel : etiqueta para lectores de pantalla. Debe describir la finalidad de realizar una foto.
BorderColor : el color de un borde del control.
BorderStyle : si el borde del control es Solid, Dashed, Dotted o None.
BorderThickness : el grosor de un borde del control.
Brillo: indica la claridad que el usuario percibirá probablemente en una imagen.
Contraste: indica cómo el usuario puede distinguir fácilmente colores similares en una imagen.
DisplayMode : indica si el control permite entradas de usuario (Edit), solo muestra datos (View) o
si está deshabilitado (Disabled).
FocusedBorderColor : el color del borde de un control cuando el control recibe el foco.
FocusedBorderThickness : el grosor del borde de un control cuando el control recibe el foco.
Height : la distancia entre los bordes superior e inferior de un control.
OnSelect : indica cómo responde la aplicación cuando el usuario toca o hace clic en un control.
EnSecuencia: indica cómo responde la aplicación cuando la propiedad Stream está actualizada.
Foto: la imagen capturada cuando el usuario realiza una foto.
Stream: la imagen se actualiza automáticamente en la propiedad TasaSecuencia.
TasaSecuencia: la frecuencia de actualización de la imagen en la propiedad Stream, en
milisegundos. Este valor puede oscilar entre 100 (1/10 centésimas de segundo) y 3 600 000 (1 hora).
TabIndex : orden de navegación del teclado en relación con otros controles.
Información sobre herramientas : texto explicativo que aparece cuando el usuario mantiene el
puntero sobre un control.
Visible : indica si un control aparece o está oculto.
Width : la distancia entre los bordes derecho e izquierdo de un control.
X : la distancia entre el borde izquierdo de un control y el borde izquierdo de su contenedor primario
(la pantalla si no hay un contenedor primario).
Y : la distancia entre el borde superior de un control y el borde superior de su contenedor primario
(la pantalla si no hay un contenedor primario).
Funciones relacionadas
Patch( DataSource; BaseRecord; ChangeRecord )
Ejemplo
Agregar fotos a un control Galería de imágenes
1. Agregue un control Cámara, denomínelo MyCamera y establezca su propiedad
AlSeleccionar en esta fórmula:
Collect(MyPix; MyCamera.Photo)
¿No sabe cómo agregar, nombrar y configurar un control?
¿Desea más información sobre la función Recopilar u otras funciones?
Directrices de accesibilidad
Además de mostrar la fuente de la cámara, todo el control de cámara también funciona como un
botón que realiza una foto. Por lo tanto, las consideraciones sobre accesibilidad son parecidas a las de
los botones.
Alternativas de vídeo
Considere la posibilidad de agregar una forma alternativa de entrada para los usuarios con
discapacidades visuales. Por ejemplo, Agregar imagen para permitir que los usuarios carguen
una imagen desde sus dispositivos.
Contraste de color
Debe haber un contraste de color adecuado entre:
FocusedBorderColor y el color exterior
Soporte técnico para el lector de pantalla
La propiedad AccessibleLabel debe estar presente.
Compatibilidad con el teclado
La propiedad TabIndex debe ser cero o superior para que los usuarios del teclado puedan
desplazarse hasta él.
Los indicadores de foco deben ser claramente visibles. Use FocusedBorderColor y
FocusedBorderThickness para conseguirlo.
Control Card en PowerApps
07/10/2019 • 12 minutes to read
Descripción
Los controles Formulario de presentación y Formulario de edición
funcionan como contenedores para mostrar y ver los registros enteros. Cada
contenedor puede contener un conjunto de controles Card que muestran
campos individuales o proporcionan una forma de actualizar esos campos.
Cada tarjeta tiene una propiedad DataField que especifica el campo del
registro en el que se trabaja.
Hay definidas tarjetas predefinidas para diferentes tipos de datos y
experiencias de usuario. Por ejemplo, puede haber una tarjeta para editar un
campo numérico con un control Entrada de texto , que resulta muy
adecuado para usar con el teclado. Otra tarjeta podría permitir la edición de
un número usando en su lugar un control Control deslizante . Con el control
de formulario seleccionado, puede seleccionar fácilmente, en el panel derecho,
una tarjeta basada en un campo.
Las tarjetas contienen controles. Los controles de una tarjeta constituyen la
experiencia para mostrar y editar un único campo. Por ejemplo, una tarjeta de
número puede estar formada por un control Etiqueta para proporcionar el
nombre para mostrar del campo y un control Entrada de texto para
proporcionar un editor para el valor del campo. La tarjeta puede tener
también un control Etiqueta que muestra los errores de validación que se
producen y un control Etiqueta para el asterisco común que indica que es un
campo obligatorio.
Puede personalizar los controles de una tarjeta predefinida: cambiar su
tamaño, moverla, ocultarla, agregarle controles y realizar otros cambios.
También puede comenzar con una tarjeta completamente en blanco, una
"tarjeta personalizada", a la cual agregar controles desde cero.
Las tarjetas predefinidas están bloqueadas de forma predeterminada. En una
tarjeta bloqueada, solo puede modificar determinadas propiedades de la
tarjeta o los controles que contiene. No se puede eliminar una tarjeta
bloqueada. Puede mostrar el bloqueo de tarjeta y desbloquearla en la pestaña
Ver de la vista Avanzado. Si una propiedad está bloqueada y no se puede
modificar, aparece un icono de candado junto a su nombre. Desbloquear una
tarjeta es una actividad avanzada y debe realizarse con cuidado, ya que la
generación automática de fórmulas ya no tendrá lugar para la tarjeta, y no se
puede volver a bloquear una tarjeta.
Dentro del contenedor del formulario el registro EsteElemento está
disponible y contiene todos los campos del registro. Por ejemplo, la propiedad
Default con frecuencia se establece en EsteElemento.FieldName.
Puede usar la referencia Parent para configurar un control que haga
referencia a las propiedades de una tarjeta. Por ejemplo, un control debe usar
Parent.Default para leer el estado inicial del campo del origen de datos. Al
usar Parent en lugar de acceder directamente a la información que desea, la
tarjeta está mejor encapsulada y puede cambiarla a un campo diferente sin
romper fórmulas internas.
Consulte Understand data cards (Introducción a las tarjetas de datos) para ver
ejemplos de cómo personalizar, desbloquear y crear tarjetas.
Propiedades principales
DataField: el nombre del campo dentro de un registro que esta tarjeta
muestra y edita.
Especifique el nombre como una sola cadena estática incluida entre
comillas dobles (por ejemplo, "Nombre" ), no una fórmula.
Para desenlazar una tarjeta, establezca su propiedad DataField en blanco.
Las propiedades Valid y Actualizar se ignoran en las tarjetas
desenlazadas.
Predeterminado : el valor inicial de un control antes de que lo cambie el
usuario.
Para cada control de una tarjeta, establezca esta propiedad en
Parent.Default para hacer referencia al valor predeterminado del campo
según el origen de datos. Por ejemplo, establezca la propiedad Default de
un control deslizante en Parent.Default para garantizar que el usuario
comienza con un valor genérico para ese control deslizante.
DisplayMode: los valores pueden ser Edit, View o Disabled. Permite
configurar si el control de la tarjeta permite entradas de usuario (Edit), solo
muestra datos (View) o si está deshabilitado (Disabled).
Mediante la configuración de esta propiedad, que está vinculada al
comportamiento predeterminado del formulario, se permite que se pueda
usar una sola tarjeta en los formularios Edit y View.
En el modo View, los controles secundarios como Entrada de texto ,
Lista desplegable y Selector de fecha solo mostrarán el valor del texto y
no representarán ninguna otra decoración ni elemento interactivo.
DisplayName: el nombre descriptivo de un campo en un origen de datos.
La función DataSourceInfo proporciona estos metadatos desde el origen
de datos.
Los controles de la tarjeta deben usar Parent.DisplayName para hacer
referencia al nombre del campo.
Error: el mensaje de error descriptivo para mostrar de este campo cuando se
produce un error de validación.
Esta propiedad se establece cuando se llama a SubmitForm.
El mensaje describe los problemas de validación basándose en los
metadatos del origen de datos y la comprobación de la propiedad
Required de la tarjeta.
Required: indica si una tarjeta, al editar el campo de un origen de datos, debe
contener un valor.
La función DataSourceInfo proporciona los metadatos necesarios desde
el origen de datos.
Los controles dentro de la tarjeta deben usar Parent.Required para
determinar si el campo de la tarjeta es obligatorio.
Actualizar: el valor para escribir en el origen de datos de un campo.
Use la fórmula de esta propiedad para extraer los valores de los controles
de edición de la tarjeta con el fin de escribir en el origen de datos. Por
ejemplo, establezca la propiedad Actualizar en Slider.Value para
actualizar el origen de datos con un valor del control deslizante de esa
tarjeta.
Width : la distancia entre los bordes derecho e izquierdo de un control.
WidthFit : indica si un control crece automáticamente en la horizontal para
rellenar el espacio vacío de un control de contenedor como el control
Formulario de edición . Si varias tarjetas tienen esta propiedad establecida
en true, el espacio se divide entre ellas. Para más información, consulte
Understand data form layout in Microsoft PowerApps (Introducción al diseño
de formularios de datos en Microsoft PowerApps).
Propiedades adicionales
BorderColor : el color de un borde del control.
BorderStyle : si el borde del control es Solid, Dashed, Dotted o None.
BorderThickness : el grosor de un borde del control.
Fill : el color de fondo de un control.
Height : la distancia entre los bordes superior e inferior de un control.
Valid: indica si un control Card o Edit form contiene entradas válidas listas
para enviarse al origen de datos.
Visible : indica si un control aparece o está oculto.
X : la distancia entre el borde izquierdo de un control y el borde izquierdo de
su contenedor primario (la pantalla si no hay un contenedor primario). Para un
control Tarjeta en un contenedor con varias columnas, esta propiedad
determina la columna en la que aparece la tarjeta.
Y : la distancia entre el borde superior de un control y el borde superior de su
contenedor primario (la pantalla si no hay un contenedor primario). Para un
control Tarjeta en un contenedor con varias filas, esta propiedad determina la
fila en la que aparece la tarjeta.
Ejemplos
Encontrará ejemplos en Tarjetas de datos y la introducción al diseño de los
formularios de datos.
Directrices de accesibilidad
Contraste de color
Debe haber un contraste de color adecuado entre:
Fill y cualquier control secundario. Por ejemplo, si una tarjeta contiene una
etiqueta y esta tiene relleno transparente, la propiedad Fill de la tarjeta se
convierte de hecho en el color de fondo de la etiqueta. Por tanto, debe
haber un contraste adecuado entre la propiedad Fill de la tarjeta y la
propiedad Color de la etiqueta.
Soporte técnico para el lector de pantalla
La propiedad DisplayName debe existir.
Control Casilla en PowerApps
12/11/2019 • 9 minutes to read
Un control que el usuario puede seleccionar o borrar para establecer su valor en true o false.
Descripción
El usuario puede especificar un valor booleano mediante este conocido control, que lleva décadas
usándose en las interfaces gráficas de usuario.
Propiedades principales
Predeterminado : el valor inicial de un control antes de que lo cambie el usuario.
Text : texto que aparece en un control o que el usuario escribe en un control.
Valor : el valor de un control de entrada.
Propiedades adicionales
BorderColor : el color de un borde del control.
BorderStyle : si el borde del control es Solid, Dashed, Dotted o None.
BorderThickness : el grosor de un borde del control.
CheckboxBackgroundFill: el color de fondo del cuadro que rodea la marca de verificación en un
control de casilla.
CheckboxBorderColor: el color del borde que rodea la marca de verificación en un control de
casilla.
TamañoDeCasilla: el ancho y el alto del cuadro que rodea la marca de verificación en un control
de casilla.
CheckmarkFill: el color de la marca de verificación en un control de casilla.
Color : el color del texto en un control.
DisplayMode : indica si el control permite entradas de usuario (Edit), solo muestra datos (View)
o si está deshabilitado (Disabled).
DisabledBorderColor : el color de un borde del control si la propiedad DisplayMode del control
está establecida en Disabled.
DisabledColor : el color del texto en un control si su propiedad DisplayMode está establecida
en Disabled.
DisabledFill : el color de fondo de un control si su propiedad DisplayMode está establecida en
Disabled.
Fill : el color de fondo de un control.
FocusedBorderColor : el color del borde de un control cuando el control recibe el foco.
FocusedBorderThickness : el grosor del borde de un control cuando el control recibe el foco.
Font : el nombre de la familia de fuentes en la que aparece el texto.
FontWeight : el peso del texto en un control: Bold, Semibold, Normal o Lighter.
Height : la distancia entre los bordes superior e inferior de un control.
HoverBorderColor : el color de un borde del control cuando el usuario mantiene el puntero del
mouse sobre ese control.
HoverColor : el color del texto de un control cuando el usuario mantiene el puntero del mouse
sobre él.
HoverFill : el color de fondo de un control cuando el usuario mantiene el puntero del mouse
sobre él.
Italic : indica si el texto de un control está en cursiva.
AlActivar: respuesta de una aplicación cuando el valor de una casilla o de un control Alternar
cambia a true.
OnSelect : indica cómo responde la aplicación cuando el usuario toca o hace clic en un control.
AlDesactivar: respuesta de una aplicación cuando el valor de una casilla o de un control Alternar
cambia a false.
RellenoInferior : distancia entre el texto de un control y el borde inferior de ese control.
RellenoIzquierdo : distancia entre el texto de un control y el borde izquierdo de ese control.
RellenoDerecho : distancia entre el texto de un control y el borde derecho de ese control.
RellenoSuperior : distancia entre el texto de un control y el borde superior de ese control.
PressedBorderColor : el color de un borde del control cuando el usuario toca o hace clic en ese
control.
PressedColor : el color de texto de un control cuando el usuario toca o hace clic en ese control.
PressedFill : el color de fondo de un control cuando el usuario toca o hace clic en ese control.
Reset : indica si un control vuelve a su valor predeterminado.
Size : el tamaño de la fuente del texto que aparece en un control.
Strikethrough : indica si aparece una línea sobre el texto de un control.
TabIndex : orden de navegación del teclado en relación con otros controles.
Información sobre herramientas : texto explicativo que aparece cuando el usuario mantiene el
puntero sobre un control.
Underline : indica si aparece una línea debajo del texto de un control.
VerticalAlign : la ubicación del texto en un control respecto al centro vertical de ese control.
Visible : indica si un control aparece o está oculto.
Width : la distancia entre los bordes derecho e izquierdo de un control.
X : la distancia entre el borde izquierdo de un control y el borde izquierdo de su contenedor
primario (la pantalla si no hay un contenedor primario).
Y : la distancia entre el borde superior de un control y el borde superior de su contenedor primario
(la pantalla si no hay un contenedor primario).
Funciones relacionadas
If( Condition; Result )
Ejemplo
1. Agregue un control Cuadro de texto, denomínelo chkReserve y establezca su propiedad
Texto para mostrar Reserve now.
¿No sabe cómo agregar, nombrar y configurar un control?
3. Presione F5, pulse o haga clic en chkReserve para establecer su propiedad Valor en true y
luego pulse o haga clic de nuevo en chkReserve para establecer su propiedad Valor en
false.
El control Selector de fecha aparece cuando la propiedad Valor de chkReserve es true
pero no cuando es false.
4. Presione Esc para volver al área de trabajo predeterminada.
Directrices de accesibilidad
Contraste de color
Debe haber un contraste de color adecuado entre:
CheckmarkFill y CheckboxBackgroundFill
CheckboxBackgroundFill y Fill
CheckboxBackgroundFill y PressedFill
CheckboxBackgroundFill y HoverFill
Y esto, además de los requisitos estándar de contraste de color.
Soporte técnico para el lector de pantalla
La propiedad Text debe existir.
Compatibilidad con el teclado
La propiedad TabIndex debe ser cero o superior para que los usuarios del teclado puedan
desplazarse hasta él.
Los indicadores de foco deben ser claramente visibles. Use FocusedBorderColor y
FocusedBorderThickness para conseguirlo.
Controles Gráfico de columnas y Gráfico de líneas en
PowerApps
12/11/2019 • 10 minutes to read
Descripción
Gráfico de columnas y Gráfico de líneas son controles agrupados. Cada grupo contiene tres controles: un
control Etiqueta para el título, el gráfico y un control Leyenda.
Funciones relacionadas
Max( DataSource; ColumnName )
Ejemplo
1. Agregue un control Botón y establezca su propiedad OnSelect en esta fórmula:
Collect(Revenue; {Year:"2013"; Europa:24000; Ganymede:22300; Callisto:21200}; {Year:"2014";
Europa:26500; Ganymede:25700; Callisto:24700};{Year:"2014"; Europa:27900; Ganymede:28300;
Callisto:25600})
¿No sabe cómo agregar y configurar un control?
¿Desea más información sobre la función Recopilar u otras funciones?
2. Presione F5, pulse o haga clic en el control Botón y presione Esc para volver al área de trabajo
predeterminada.
3. Agregue un control Gráfico de columnas o un control Gráfico de líneas, establezca su propiedad
Elementos en Ingresos y establezca su propiedad NúmeroDeSeries en 3.
El control muestra datos de ingresos para cada producto durante tres años.
Directrices de accesibilidad
Contraste de color
Debe haber un contraste de color adecuado entre:
Cada elemento de ItemColorSet
Cada elemento de ItemColorSet y el color de fondo
La propiedad Color y el color de fondo
Soporte técnico para el lector de pantalla
Debe haber un control Etiqueta inmediatamente delante del gráfico para que sirva de título.
Considere la posibilidad de agregar un resumen del gráfico. Por ejemplo, "El gráfico de líneas muestra un
aumento constante en las ventas entre marzo y agosto de este año".
NOTE
Los gráficos y el control Leyenda están ocultos para los usuarios de lector de pantalla. Como alternativa, se les
presenta los datos en formato tabular. También pueden recorrer los botones que seleccionan datos en el gráfico.
NOTE
Cuando los usuarios de teclado se desplazan al gráfico, pueden recorrer los botones que seleccionan datos del gráfico.
Control Columna en PowerApps
06/11/2019 • 3 minutes to read
Descripción
El control Tabla de datos muestra un conjunto de datos en formato tabular, y cada columna en ese formato
tabular se representa mediante un control Columna. El control Columna proporciona propiedades que el creador
de la aplicación puede usar para personalizar la apariencia y el comportamiento de la columna.
Funcionalidades
Ahora disponible
Cambie el ancho de un control Columna.
Cambie el texto de un control Columna.
Navegue pulsando o haciendo clic en el valor de un control Columna.
Aún no está disponible
Personalice el estilo de un control Columna.
Problemas conocidos
La propiedad Visible todavía no funciona.
Propiedades
DisplayName (NombreParaMostrar): el texto que aparece en el encabezado de la columna.
NOTE
El nombre de esta propiedad se cambiará pronto a HeaderText (TextoDeEncabezado).
IsHyperlink (EsHipervínculo): un valor que indica si los datos de la columna deben subrayarse para indicar
que se trata de un hipervínculo.
Ancho: la distancia entre los bordes derecho e izquierdo del control Columna.
Ejemplos
Cambio del tamaño de una columna
1. Cree una aplicación de tableta vacía.
2. En la pestaña Insertar, pulse o haga clic en Tabla de datos y cambie el tamaño del control Tabla de datos
de modo que cubra toda la pantalla.
3. En el panel derecho, pulse o haga clic en la flecha abajo a la derecha de No se ha seleccionado un origen
de datos y en Agregar un origen de datos.
4. En la lista de conexiones, pulse o haga clic en la conexión para la base de datos de Common Data Service.
5. En la lista de entidades, pulse o haga clic en Cuenta y en Conectar.
El control Tabla de datos se inicializa y muestra un conjunto de campos predeterminados.
6. Pulse o haga clic en la columna Nombre completo.
7. Arrastre el adorno del lado derecho para cambiar el tamaño del campo.
Directrices de accesibilidad
Soporte técnico para el lector de pantalla
La propiedad DisplayName debe existir.
Control de cuadro combinado en PowerApps
06/11/2019 • 7 minutes to read
Un control que permite a los usuarios seleccionar entre las opciones proporcionadas. Admite tanto la búsqueda
como la selección múltiple.
Descripción
Con un control de cuadro combinado puede buscar los elementos que va a seleccionar. La búsqueda se realiza
en el lado del servidor de la propiedad SearchField, por lo que el rendimiento no se ve afectado por orígenes de
datos muy grandes.
El modo de selección individual o múltiple se configura mediante la propiedad SelectMultiple.
Cuando se buscan elementos que se van a seleccionar, en todos los elementos puede elegir mostrar un valor de
datos único, dos valores o una imagen y dos valores (Persona) mediante la modificación de la configuración de
diseño en el panel Data (Datos).
Selector de personas
Para usar cuadro combinado como selector de personas, elija la plantilla Persona desde la configuración de
diseño del panel Data (Datos) y configure las propiedades de datos relacionadas que se mostrará para la
persona que aparece a continuación.
Propiedades principales
Items : el origen de datos del que se puede elegir.
DefaultSelectedItems : los elementos seleccionados iniciales antes de que el usuario interactúe con el control.
SelectedItems: lista de los elementos seleccionados resultante de la interacción con el usuario.
SelectMultiple: si el usuario puede seleccionar un solo elemento o varios.
IsSearchable: indica si el usuario puede buscar elementos antes de realizar la selección.
SearchFields: campos de datos del origen de datos en los que se busca cuando el usuario escribe texto. Para
buscar en varios campos, establezca ComboBox1.SearchFields = ["MyFirstColumn", "MySecondColumn"]
Propiedades adicionales
AccessibleLabel : etiqueta para lectores de pantalla.
BorderColor : el color de un borde del control.
BorderStyle : si el borde del control es Solid, Dashed, Dotted o None.
BorderThickness : el grosor de un borde del control.
DisplayFields: lista de campos que se muestran en cada elemento que devuelve la búsqueda. Lo más fácil es
configurarlo mediante el panel Datos de la pestaña de la opción Propiedades.
DisplayMode : indica si el control permite entradas de usuario (Edit), solo muestra datos (View) o si está
deshabilitado (Disabled).
FocusedBorderColor : el color del borde de un control cuando el control recibe el foco.
FocusedBorderThickness : el grosor del borde de un control cuando el control recibe el foco.
Height : la distancia entre los bordes superior e inferior de un control.
InputTextPlaceholder: texto informativo que se muestra a los usuarios finales cuando no hay elementos
seleccionados.
OnChange: cómo responde la aplicación cuando el usuario cambia una selección.
OnNavigate: cómo responde la aplicación cuando el usuario hace clic en un elemento.
OnSelect : indica cómo responde la aplicación cuando el usuario toca o hace clic en un control.
TabIndex : orden de navegación del teclado en relación con otros controles.
Visible : indica si un control aparece o está oculto.
Width : la distancia entre los bordes derecho e izquierdo de un control.
X : la distancia entre el borde izquierdo de un control y el borde izquierdo de su contenedor primario (la
pantalla si no hay un contenedor primario).
Y : la distancia entre el borde superior de un control y el borde superior de su contenedor primario (la pantalla
si no hay un contenedor primario).
Ejemplo
1. En la pestaña Insertar , abra el menú controles y, a continuación, seleccione cuadro combinado.
2. En la pestaña propiedades del panel derecho, abra la lista seleccionar un origen de datos (junto a
elementos) y, a continuación, agregue o seleccione un origen de datos.
3. En la misma pestaña, seleccione Editar (junto a campos).
4. En el panel datos , abra la lista texto principal y, a continuación, seleccione la columna que desea
mostrar en el control de cuadro combinado .
5. Mientras mantiene presionada la tecla Alt, seleccione la flecha hacia abajo para abrir el control de
cuadro combinado .
El control muestra los datos de la columna especificada en el origen de datos que especificó.
6. opta Para mostrar el primer registro de forma predeterminada, establezca la propiedad
DefaultSelectedItems en esta expresión, reemplazando DataSource por el nombre del origen de
datos:
First(DataSource)
Directrices de accesibilidad
Contraste de color
Debe haber un contraste de color adecuado entre:
ChevronFill y ChevronBackground
ChevronHoverFill y ChevronHoverBackground
SelectionColor y SelectionFill
SelectionFill y Fill
SelectionTagColor y SelectionTagFill
Y esto, además de los requisitos estándar de contraste de color.
Soporte técnico para el lector de pantalla
La propiedad AccessibleLabel debe estar presente.
NOTE
En pantallas táctiles, los usuarios de lector de pantalla pueden desplazarse por el contenido del cuadro combinado
secuencialmente. El cuadro combinado actúa como botón que muestra u oculta su contenido cuando se
selecciona.
NOTE
La tecla de tabulación permite desplazarse hasta el cuadro combinado o fuera de él. Las teclas de dirección
permiten desplazarse por el contenido del cuadro combinado. La tecla escape cierra la lista desplegable cuando
está abierta.
Control contenedor en PowerApps (experimental)
05/11/2019 • 3 minutes to read
IMPORTANT
Se trata de una característica experimental. Las características experimentales pueden cambiar radicalmente o desaparecer
por completo en cualquier momento. Para obtener más información, lea Descripción de las características experimentales y
de vista previa en PowerApps.
Descripción
El contenedor puede contener un conjunto de controles y tiene sus propias propiedades.
Puede empezar por insertar un contenedor en blanco y, a continuación, personalizarlo agregando controles a él,
cambiando su tamaño, moviéndolo, ocultándolo y realizando otros cambios. También puede empezar con una
serie de controles, seleccionarlos y agregarlos a un contenedor mediante el menú contextual de la vista de árbol o
hacer clic con el botón derecho en el lienzo.
Propiedades
BorderColor : el color de un borde del control.
BorderStyle : si el borde del control es Solid, Dashed, Dotted o None.
BorderThickness : el grosor de un borde del control.
Fill : el color de fondo de un control.
Height : la distancia entre los bordes superior e inferior de un control.
Width : la distancia entre los bordes derecho e izquierdo de un control.
Visible : indica si un control aparece o está oculto.
X : la distancia entre el borde izquierdo de un control y el borde izquierdo de su contenedor primario (la pantalla si
no hay un contenedor primario).
Y : la distancia entre el borde superior de un control y el borde superior de su contenedor primario (la pantalla si
no hay un contenedor primario).
Limitaciones conocidas
Los contenedores no funcionan con componentes de canvas ni dentro de formularios.
Descripción
El control Tabla de datos muestra un conjunto de datos en un formato que incluye encabezados de columna
para cada campo que el control muestra. Como responsable de una aplicación, tiene control total sobre los
campos que aparecen y en qué orden. Al igual que en el control Galería, el control Tabla de datos mantiene
una propiedad Seleccionado que apunta a la única fila seleccionada. Por lo tanto, puede vincular el control
Tabla de datos a otros controles.
Funcionalidades
PowerApps implementó el control Tabla de datos el 5 de mayo de 2017. En esta sección se proporciona
información sobre las funcionalidades compatibles e incompatibles.
Ahora disponible
Los datos de un control Tabla de datos es de solo lectura.
En los controles Tabla de datos siempre se selecciona una única fila.
Vincule un control Tabla de datos a un origen de datos local o conectado.
Ajuste el ancho de las columnas del control Tabla de datos mientras se ejecuta la aplicación, aunque los
cambios no se guardan.
En el control Tabla de datos aparece un conjunto de campos predeterminados cuando se vincula a un
conector con esta funcionalidad implementada, como Common Data Service. A continuación, puede mostrar
u ocultar estos y otros campos según sea necesario.
Personalice el ancho de la columna y el texto de encabezado.
Muestre los hipervínculos en un control Tabla de datos.
Copie y pegue un control Tabla de datos.
Aún no está disponible
Personalice el estilo de las columnas individuales.
Agregue un control Tabla de datos a un control de formulario.
Cambie el alto de todas las filas.
Muestre imágenes en un control Tabla de datos.
Muestre campos de entidades relacionadas.
Utilice la funcionalidad integrada para filtrar y ordenar los datos por encabezado de columna.
Agregue un control Tabla de datos a un control de formularioGalería.
Edite datos en el control Tabla de datos.
Seleccione varias filas.
Problemas conocidos
No aparecen datos al usar la función FirstN en la propiedad Elementos.
Propiedades principales
Elementos: el origen de datos que aparece en el control Tabla de datos.
Seleccionado: la fila seleccionada en el control Tabla de datos.
Otras propiedades
ColorDeLosBordes: el color del borde del control Tabla de datos.
EstiloDelBorde: el estilo del borde del control Tabla de datos. Las opciones son Sólido, Rayado,
Punteado y Ninguno.
GrosorDelBorde: el grosor del borde del control Tabla de datos.
Color: el color de texto predeterminado para todas las filas de datos.
Relleno: el color de fondo predeterminado para todas las filas de datos.
Fuente: la fuente predeterminada para todas las filas de datos.
EspesorDeFuente: el espesor de fuente predeterminado para todas las filas de datos.
HeadingColor (ColorDeEncabezado): el color del texto de los encabezados de columna.
HeadingFill (RellenoDeEncabezado): el color de fondo de los encabezados de columna.
HeadingFont (FuenteDeEncabezado): la fuente de los encabezados de columna.
HeadingFontWeight (EspesorDeFuenteDeEncabezado): el espesor de fuente de los encabezados de
columna.
HeadingSize (TamañoDeEncabezado): el tamaño de fuente de los encabezados de columna.
Altura: la distancia entre los bordes superior e inferior del control Tabla de datos.
ColorAlMantener: el color del texto de la fila a la cual apunta el puntero del mouse.
RellenoAlMantener: el color del fondo de la fila a la cual apunta el puntero del mouse.
NoDataText (SinTextoEnLosDatos): el mensaje que el usuario recibe cuando no hay registros para mostrar
en el control Tabla de datos.
SelectedColor (ColorSeleccionado): el color del texto de la fila seleccionada.
SelectedFill (RellenoSeleccionado): el color de fondo de la fila seleccionada.
Tamaño: el tamaño de fuente predeterminado para todas las filas de datos.
Visible: un valor que determina si el control Tabla de datos aparece o está oculto.
Ancho: la distancia entre los bordes derecho e izquierdo del control Tabla de datos.
X: la distancia entre el borde izquierdo del control Tabla de datos y el borde izquierdo de su contenedor
principal (o el borde izquierdo de la pantalla si no hay contenedor principal).
Y: la distancia entre el borde superior del control Tabla de datos y el borde superior de su contenedor
principal (o el borde superior de la pantalla si no hay contenedor principal).
Funciones relacionadas
Filtro (Origen de datos, Fórmula) (Origen de datos, Fórmula)
Búsqueda (Origen de datos; SearchString [BuscarCadena]; Columna) (Origen de datos, SearchString
[BuscarCadena], Columna)
Ejemplos
Uso básico
1. Cree una aplicación de tableta vacía.
2. En la pestaña Insertar, pulse o haga clic en Tabla de datos.
Se agrega un control Tabla de datos a la pantalla.
3. Cambie el nombre de SalesOrderTable (TablaDePedidosDeVentas) del control Tabla de datos y
auméntele el tamaño de modo que cubra toda la pantalla.
4. En el panel derecho, haga clic o pulse en la flecha abajo a la derecha del texto No se ha seleccionado
un origen de datos y en Agregar un origen de datos.
5. En la lista de conexiones, pulse o haga clic en la conexión para la base de datos de Common Data
Service.
7. En el panel derecho, seleccione una o más casillas para mostrar u ocultar campos.
Por ejemplo, seleccione la casilla junto al campo CustomerPurchaseOrderReference
(ReferenciaDelPedidoDeCompraDelCliente) para ocultarlo.
8. Para volver a ordenar los campos, arrástrelos hacia arriba o hacia abajo en el panel derecho.
El control SalesOrderTable (TablaDePedidosDeVentas) muestra los campos en el orden especificado.
Directrices de accesibilidad
Contraste de color
Debe haber un contraste de color adecuado entre:
Color y Fill
HeadingColor y HeadingFill
SelectedColor y SelectedFill
HoverColor y HoverFill
Y esto, además de los requisitos estándar de contraste de color.
Soporte técnico para el lector de pantalla
La propiedad NoDataText debe existir.
Control Selector de fecha en PowerApps
12/11/2019 • 8 minutes to read
Un control en el que el usuario puede hacer clic o pulsar para especificar una fecha.
Descripción
Si agrega un control Selector de fecha en lugar de un control Entrada de texto , ayuda a garantizar
que el usuario especifica una fecha en el formato correcto.
Propiedades principales
DefaultDate (FechaPred): el valor inicial de un control de fecha a menos que el usuario lo modifique.
SelectedDate: la fecha seleccionada actualmente en un control de fecha. Esta fecha se representa en
la hora local.
Formato: el formato de texto en el que el control muestra la fecha y el usuario especifica la fecha.
Puede establecer esta propiedad en FechaCorta (valor predeterminado) o FechaLarga para dar
formato a las fechas según la propiedad Lenguaje de este control. También puede establecer esta
propiedad en una expresión, como yyyy/mm/dd si desea el mismo formato con independencia del
lenguaje. Por ejemplo:
El control muestra 12/31/2017 si el usuario pulsa o hace clic en el último día de 2017, la
propiedad Formato está establecida en FechaCorta y la propiedad Idioma está establecida en
en-us.
El control muestra dimanche 31 decembre 2017 si el usuario pulsa o hace clic en el último día
de 2017, la propiedad Formato está establecida en FechaLarga y la propiedad Idioma está
establecida en fr-fr.
Idioma : determina el idioma que se usa para dar formato a las fechas, incluidos los nombres de los
meses. Si no se especifica esta propiedad, la configuración del dispositivo del usuario determina el
idioma. Los valores admitidos son "EN -US" y "FR".
Propiedades adicionales
AccessibleLabel : etiqueta para lectores de pantalla.
BorderColor : el color de un borde del control.
BorderStyle : si el borde del control es Solid, Dashed, Dotted o None.
BorderThickness : el grosor de un borde del control.
Color : el color del texto en un control.
DisplayMode : indica si el control permite entradas de usuario (Edit), solo muestra datos (View ) o si
está deshabilitado (Disabled).
DisabledBorderColor : el color de un borde del control si la propiedad DisplayMode del control
está establecida en Disabled.
DisabledColor : el color del texto en un control si su propiedad DisplayMode está establecida en
Disabled.
DisabledFill : el color de fondo de un control si su propiedad DisplayMode está establecida en
Disabled.
EndYear: el último año en el que el usuario puede establecer el valor de un control Selector de fecha.
Fill : el color de fondo de un control.
FocusedBorderColor : el color del borde de un control cuando el control recibe el foco.
FocusedBorderThickness : el grosor del borde de un control cuando el control recibe el foco.
Font : el nombre de la familia de fuentes en la que aparece el texto.
FontWeight : el peso del texto en un control: Bold, Semibold, Normal o Lighter.
Height : la distancia entre los bordes superior e inferior de un control.
IconFill: el color de primer plano del icono del selector de fecha.
IconBackground: el color de fondo del icono del selector de fecha.
InputTextPlaceholder : texto informativo que aparece si no se especifica ninguna fecha.
Italic : indica si el texto de un control está en cursiva.
OnSelect : indica cómo responde la aplicación cuando el usuario toca o hace clic en un control.
RellenoInferior : distancia entre el texto de un control y el borde inferior de ese control.
RellenoIzquierdo : distancia entre el texto de un control y el borde izquierdo de ese control.
RellenoDerecho : distancia entre el texto de un control y el borde derecho de ese control.
RellenoSuperior : distancia entre el texto de un control y el borde superior de ese control.
Size : el tamaño de la fuente del texto que aparece en un control.
StartYear: el primer año en el que el usuario puede establecer el valor de un control Selector de
fecha.
TabIndex : orden de navegación del teclado en relación con otros controles.
Visible : indica si un control aparece o está oculto.
Width : la distancia entre los bordes derecho e izquierdo de un control.
X : la distancia entre el borde izquierdo de un control y el borde izquierdo de su contenedor primario
(la pantalla si no hay un contenedor primario).
Y : la distancia entre el borde superior de un control y el borde superior de su contenedor primario (la
pantalla si no hay un contenedor primario).
Funciones relacionadas
Año ( FechaHoraNúmero )
Ejemplo
1. Agregue un control Selector de fecha y denomínelo Deadline.
¿No sabe cómo agregar, nombrar y configurar un control?
3. Presione F5, elija una fecha en Deadline (Fecha límite) y, a continuación, pulse o haga clic en
Aceptar.
El control Etiqueta muestra el número de días entre hoy y la fecha que eligió.
4. Presione Esc para volver al área de trabajo predeterminada.
Directrices de accesibilidad
Contraste de color
Se aplican requisitos estándar de contraste de color.
Soporte técnico para el lector de pantalla
La propiedad AccessibleLabel debe estar presente.
Compatibilidad con el teclado
La propiedad TabIndex debe ser cero o superior para que los usuarios del teclado puedan
desplazarse hasta él.
Los indicadores de foco deben ser claramente visibles. Use FocusedBorderColor y
FocusedBorderThickness para conseguirlo.
TIP
Cuando el calendario esté abierto, presione Re Pág y Av Pág para desplazarse entre meses y MAYÚS + RE
PÁG y Mayús + Av Pág para navegar entre años.
Controles Formulario de presentación y Formulario
de edición en PowerApps
08/10/2019 • 22 minutes to read
Descripción
Si agrega un control Formulario de presentación , el usuario puede mostrar todos los campos de un registro o
solo los campos que usted especifique. Si agrega un control Formulario de edición, el usuario puede editar esos
campos, crear un registro y guardar los cambios realizados en un origen de datos.
Si agrega un control Galería , puede configurarlo para mostrar una tabla en un origen de datos y luego configurar
un formulario para mostrar cualquier registro que el usuario seleccione en la galería. También puede agregar uno o
varios controles Botón que el usuario puede seleccionar para guardar las modificaciones, cancelar las
modificaciones y crear un registro. Al usar varios controles juntos, puede crear una solución completa.
Selección de registros
Para cada tipo de formulario, establezca su propiedad DataSource en una tabla de registros y establezca la
propiedad Elemento para mostrar un registro específico en esa tabla. Por ejemplo, puede establecer la propiedad
Elemento de un formulario en la propiedad SelectedItem de un control Galería . Cuando el usuario selecciona
un registro en la galería, aparece el mismo registro en el formulario, excepto que el formulario puede mostrar más
campos. Si el usuario vuelve a la galería y selecciona un registro diferente, la propiedad SelectedItem de la galería
cambia. Este cambio actualiza la propiedad Elemento del formulario, que mostrará el registro recién seleccionado.
También puede establecer la propiedad Elemento de un formulario mediante un control desplegable, como se
describe en Mostrar, editar o agregar un registro, o bien una función como Lookup o First. Por ejemplo, puede
establecer la propiedad Item en cualquiera de estas fórmulas para mostrar la entrada Fabrikam en la entidad
accounts en Common Data Service:
First(Accounts)
Cada control de formulario contiene uno o varios controles Tarjeta . Estableciendo la propiedad DataField de una
tarjeta, se especifica qué campo muestra esta tarjeta y otros detalles.
Creación de un registro
Cuando un control Formulario de edición se encuentra en modo Edición, el usuario puede actualizar el registro
que se especifica en la propiedad Elemento del formulario. Si se inspecciona, la propiedad Modo devuelve
Edición.
Cuando un control Formulario de edición se encuentra en modo Nuevo pero la propiedad Elemento se omite.
El formulario no muestra un registro existente; en su lugar, los valores de cada campo coinciden con los valores
predeterminados del origen de datos con el que ha configurado el formulario. La función NuevoFormulario hace
que un formulario cambie a este modo.
Por ejemplo, puede establecer la propiedad Texto de un botón para mostrar Nuevo y su propiedad
AlSeleccionar en una fórmula que incluya la función NuevoFormulario . Si el usuario selecciona ese botón, el
formulario cambia al modo Nuevo para que el usuario puede crear un registro a partir de los valores conocidos.
Un formulario vuelve a cambiar a modo Edición si es ejecuta la función ResetForm o la función SubmitForm se
ejecuta correctamente.
Puede establecer la propiedad Texto de un botón para mostrar Cancelar y su propiedad AlSeleccionar en una
fórmula que incluya la función ResetForm . Si el usuario selecciona ese botón, se descartan todos los cambios
en curso, y los valores en el formulario, una vez más, coinciden con los valores predeterminados del origen de
datos.
Puede establecer la propiedad Texto de un botón para mostrar Guardar cambios y su propiedad
AlSeleccionar en una fórmula que incluya la función SubmitForm . Si el usuario selecciona ese botón y se
actualiza el origen de datos, los valores en el formulario se restablecen a los valores predeterminados del origen
de datos.
Guardar cambios
Si crea un botón Guardar cambios tal y como se describe en la sección anterior, el usuario puede crear o actualizar
un registro y luego seleccionar ese botón para guardar esos cambios en el origen de datos. En su lugar, puede
configurar un control Imagen o algún otro control para realizar la misma tarea, siempre y cuando configure ese
control con la función SubmitForm . En cualquier caso, las propiedades Error, ErrorKind, OnSuccess, y
OnFailure proporcionan comentarios sobre el resultado.
Cuando la función SubmitForm se ejecuta, validará primero los datos que el usuario desea enviar. Si un campo
obligatorio no contiene un valor u otro valor no se ajusta a alguna otra restricción, las propiedades ErrorKind se
establecen y se ejecuta la fórmula OnFailure. Puede configurar el botón Guardar cambios u otro control de forma
que el usuario pueda seleccionarlo solo si los datos son válidos (es decir, si la propiedad Válido del formulario es
true). Tenga en cuenta que el usuario no solo tiene que corregir el problema sino que también tiene que volver a
seleccionar el botón Guardar cambios (o descartar los cambios seleccionando un botón Cancelar, como se
describió anteriormente) para restablecer las propiedades Error y ErrorKind.
Si los datos pasan la validación, SubmitForm los envía al origen de datos, lo que puede tardar algún tiempo
dependiendo de la latencia de red.
Si el envío se realiza correctamente, la propiedad Error se desactiva, la propiedad ErrorKind se establece en
ErrorKind.Noney se ejecuta la fórmula OnSuccess. Si el usuario creó un registro (es decir, si el formulario se
encontraba anteriormente en modo Nuevo), el formulario se cambia a modo Edición para que el usuario
pueda editar el registro recién creado o uno diferente.
Si se produce un error en el envío, la propiedad Error contiene un mensaje de error descriptivo del origen de
datos, en donde se explica el problema. La propiedad ErrorKind se establece como corresponda, dependiendo
del problema y se ejecuta la fórmula OnFailure.
Algunos orígenes de datos pueden detectar cuando hay dos personas tratando de actualizar el mismo registro a la
vez. En este caso, ErrorKind se establece en ErrorKind.Conflict, y la solución es actualizar el origen de datos con
los cambios del otro usuario y volver a aplicar los cambios realizados por este usuario.
TIP
Si ofrece un botón Cancelar en el formulario para que el usuario puede descartar los cambios en curso, agregue la función
ResetForm a la propiedad AlSeleccionar del botón, aunque dicha propiedad contenga también una función Navegar para
cambiar de pantalla. De lo contrario, el formulario conservará los cambios del usuario.
Diseño
De forma predeterminada, las tarjetas se colocan en una sola columna para las aplicaciones de teléfono y en tres
columnas para las aplicaciones de tableta. Puede especificar cuántas columnas tiene un formulario y si se deben
ajustar a ellas las tarjetas al configurar el formulario. Esta configuración no se expone en propiedades, porque se
usa únicamente para definir las propiedades X, Y y Width de las tarjetas.
Para más información, consulte Understand data form layout in Microsoft PowerApps (Introducción al diseño de
formularios de datos en Microsoft PowerApps).
Propiedades principales
DataSource: el origen de datos que contiene el registro que el usuario muestra, edita o crea.
Si no establece esta propiedad, el usuario no puede mostrar, editar o crear un registro, y no se proporcionan ni
metadatos adicionales ni la validación.
DefaultMode: el modo inicial del control de formulario. Consulte a continuación la descripción de Modo para
conocer los valores aceptables y sus significados.
DisplayMode: el modo que se utiliza para las tarjetas de datos y los controles del control de formulario.
Deriva de la propiedad Modo en la que se basa y no se puede establecer de forma independiente:
Error: un mensaje de error descriptivo para mostrar para este formulario cuando se produce un error en la función
SubmitForm .
Esta propiedad solo se aplica al control Formulario de edición.
Esta propiedad cambia solo cuando se ejecuta la función SubmitForm , EditForm, o ResetForm .
Si no se produce ningún error, esta propiedad está en blanco, y ErrorKind se establece en ErrorKind.None.
Cuando sea posible, el mensaje de error devuelto estará en el idioma del usuario. Algunos mensajes de error
proceden directamente del origen de datos y puede que no estén en el idioma del usuario.
ErrorKind: si se produce un error cuando se ejecuta SubmitForm, el tipo de error que se produjo:
Solo se aplica a un control Formulario de edición.
Esta propiedad no tiene la misma enumeración que la función Errores . Un control Formulario de edición
puede devolver estos valores:
ERRORKIND DESCRIPCIÓN
MODO DESCRIPCIÓN
El formulario cambia de modo Nuevo a modo Edición cuando se produce cualquiera de estos cambios:
El formulario se envía correctamente y se crea un registro. Si se establece la galería para mover
automáticamente la selección a este nuevo registro, el formulario estará en modo Edición para el registro
creado para que el usuario puede realizar cambios adicionales.
Se ejecuta la función EditForm .
Se ejecuta la función ResetForm . Por ejemplo, el usuario puede seleccionar un botón Cancelar que se haya
configurado con esta función.
OnFailure: la forma en la que responde una aplicación cuando una operación de datos ha sido incorrecta.
Esta propiedad solo se aplica al control Formulario de edición.
OnReset: la forma en la que responde una aplicación cuando se restablece un control Formulario de edición.
Esta propiedad solo se aplica al control Formulario de edición.
OnSuccess: la forma en la que responde una aplicación cuando una operación de datos se ha realizado
correctamente.
Esta propiedad solo se aplica al control Formulario de edición.
Sin guardar: True si el control Formulario de edición contiene cambios de usuario que no se guardaron.
Esta propiedad solo se aplica al control Formulario de edición.
Utilice esta propiedad para advertir al usuario antes de que pierda los cambios no guardados. Para impedir que
el usuario seleccione un registro diferente en un control Galería antes de guardar los cambios en el registro
actual, establezca la propiedad Deshabilitado en Form.Unsaved y, asimismo, deshabilite las operaciones de
actualización.
Actualizaciones: los valores que se van a escribir en el origen de datos para un registro cargado en un control de
formulario.
Esta propiedad solo se aplica al control Formulario de edición.
Utilice esta propiedad para extraer los valores de campo de las tarjetas en el control. A continuación, puede
utilizar estos valores para actualizar manualmente el origen de datos con una llamada de función Revisión u
otro método expuesto por una conexión. No es necesario utilizar esta propiedad si usa la función SubmitForm .
Esta propiedad devuelve un registro de valores. Por ejemplo, si el control de formulario contiene controles de
tarjeta para los campos de nombre y cantidad , y los valores de las propiedades de actualización de esas
tarjetas devuelven "widget" y 10, respectivamente, la propiedad actualizaciones del control de formulario
devolvería {nombre: "Widget"; cantidad: 10} .
Válido: indica si un control Tarjeta o Formulario de edición contiene entradas válidas listas para enviarse al
origen de datos.
Esta propiedad solo se aplica al control Formulario de edición.
La propiedad Válido de un control de formulario agrega las propiedades Válido de todos los controles
Tarjeta del formulario . La propiedad Válido de un formulario es true solamente si los datos en todas las
tarjetas de ese formulario son válidos, de lo contrario, la propiedad Válido del formulario es false.
Para habilitar un botón para guardar los cambios solo cuando los datos de un formulario sean válidos pero
aún no se hayan enviado, establezca la propiedad DisplayMode del botón en esta fórmula:
SubmitButton.DisplayMode = If(IsBlank( Form.Error ) || Form.Valid; DisplayMode.Edit;
DisplayMode.Disabled)
Propiedades adicionales
BorderColor : el color de un borde del control.
BorderStyle : si el borde del control es Solid, Dashed, Dotted o None.
BorderThickness : el grosor de un borde del control.
Fill : el color de fondo de un control.
Height : la distancia entre los bordes superior e inferior de un control.
Visible : indica si un control aparece o está oculto.
Width : la distancia entre los bordes derecho e izquierdo de un control.
X : la distancia entre el borde izquierdo de un control y el borde izquierdo de su contenedor primario (la pantalla si
no hay un contenedor primario).
Y : la distancia entre el borde superior de un control y el borde superior de su contenedor primario (la pantalla si no
hay un contenedor primario).
Más información
Para información general integral sobre cómo funcionan los formularios, consulte la introducción a los formularios
de datos.
Directrices de accesibilidad
Soporte técnico para el lector de pantalla
Considere la posibilidad de agregar un encabezado al formulario mediante un control Etiqueta .
Control Lista desplegable en PowerApps
12/11/2019 • 10 minutes to read
Una lista que muestra solo el primer elemento a menos que el usuario la abra.
Descripción
Un control Lista desplegable conserva el estado real de la pantalla, en especial cuando la lista
contiene un gran número de opciones. El control toma una sola línea a menos que el usuario
seleccione las comillas angulares para revelar más opciones. El control muestra un máximo de
500 elementos.
Propiedades principales
Valor predeterminado : valor inicial de un control antes de que el usuario especifique otro.
Elementos : origen de datos que contiene los elementos que aparecen en el control. Si el origen
tiene varias columnas, establezca la propiedad Valor del control en la columna de datos que
quiere mostrar.
Valor: columna de datos que quiere mostrar en el control (por ejemplo, si un origen de datos
tiene varias columnas).
Seleccionado : el registro de datos que representa el elemento seleccionado.
AllowEmptySelection : indica si el control muestra una selección vacía si no se ha
seleccionado ningún elemento. Los usuarios de la aplicación también pueden borrar sus
elecciones seleccionando el elemento en blanco.
Propiedades adicionales
AccessibleLabel : etiqueta para lectores de pantalla.
BorderColor : el color de un borde del control.
BorderStyle : si el borde del control es Solid, Dashed, Dotted o None.
BorderThickness : el grosor de un borde del control.
ChevronBackground: el color detrás de la flecha hacia abajo en una lista desplegable.
ChevronFill: el color de la flecha hacia abajo en una lista desplegable.
Color : el color del texto en un control.
DisplayMode : indica si el control permite entradas de usuario (Edit), solo muestra datos
(View) o si está deshabilitado (Disabled).
DisabledBorderColor : el color de un borde del control si la propiedad DisplayMode del
control está establecida en Disabled.
DisabledColor : el color del texto en un control si su propiedad DisplayMode está establecida
en Disabled.
DisabledFill : el color de fondo de un control si su propiedad DisplayMode está establecida
en Disabled.
Fill : el color de fondo de un control.
FocusedBorderColor : el color del borde de un control cuando el control recibe el foco.
FocusedBorderThickness : el grosor del borde de un control cuando el control recibe el foco.
Font : el nombre de la familia de fuentes en la que aparece el texto.
FontWeight : el peso del texto en un control: Bold, Semibold, Normal o Lighter.
Height : la distancia entre los bordes superior e inferior de un control.
HoverBorderColor : el color de un borde del control cuando el usuario mantiene el puntero del
mouse sobre ese control.
HoverColor : el color del texto de un control cuando el usuario mantiene el puntero del mouse
sobre él.
HoverFill : el color de fondo de un control cuando el usuario mantiene el puntero del mouse
sobre él.
Italic : indica si el texto de un control está en cursiva.
AlCambiar : indica cómo responde la aplicación cuando el usuario cambia el valor de un
control (por ejemplo, mediante el ajuste de un control deslizante).
OnSelect : indica cómo responde la aplicación cuando el usuario toca o hace clic en un control.
RellenoInferior : distancia entre el texto de un control y el borde inferior de ese control.
RellenoIzquierdo : distancia entre el texto de un control y el borde izquierdo de ese control.
RellenoDerecho : distancia entre el texto de un control y el borde derecho de ese control.
RellenoSuperior : distancia entre el texto de un control y el borde superior de ese control.
PressedBorderColor : el color de un borde del control cuando el usuario toca o hace clic en ese
control.
PressedColor : el color de texto de un control cuando el usuario toca o hace clic en ese control.
PressedFill : el color de fondo de un control cuando el usuario toca o hace clic en ese control.
Reset : indica si un control vuelve a su valor predeterminado.
SelectedText (desusado) : valor de cadena que representa el elemento seleccionado.
ColorDeSelección : color del texto de los elementos seleccionados en una lista o de la
herramienta de selección de un control de entrada manuscrita.
RellenoDeSelección : el color de fondo de uno o varios elementos seleccionados en una lista o
un área seleccionada de un control de entrada manuscrita.
Size : el tamaño de la fuente del texto que aparece en un control.
Strikethrough : indica si aparece una línea sobre el texto de un control.
TabIndex : orden de navegación del teclado en relación con otros controles.
Información sobre herramientas : texto explicativo que aparece cuando el usuario mantiene
el puntero sobre un control.
Underline : indica si aparece una línea debajo del texto de un control.
Visible : indica si un control aparece o está oculto.
Width : la distancia entre los bordes derecho e izquierdo de un control.
X : la distancia entre el borde izquierdo de un control y el borde izquierdo de su contenedor
primario (la pantalla si no hay un contenedor primario).
Y : la distancia entre el borde superior de un control y el borde superior de su contenedor
primario (la pantalla si no hay un contenedor primario).
Ejemplo
Lista sencilla
1. Agregue un control Lista desplegable y establezca su propiedad Items en esta
expresión:
["Seattle"; "Tokyo"; "London"; "Johannesburg"; "Rio de Janeiro"]
2. Para mostrar los elementos de la lista, seleccione la flecha hacia abajo del control
mientras presiona la tecla Alt.
Lista de un origen de datos
Los principios de este procedimiento se aplican a cualquier origen de datos que proporcione
tablas pero, para seguir estos pasos exactamente, debe abrir un entorno para el que se ha
creado una base de datos de Common Data Service y se han agregado los datos de ejemplo.
1. Abra una aplicación en blanco y especifique la entidad Cuentas.
2. Agregue un control Lista desplegable y establezca su propiedad Elementos en esta
fórmula:
Distinct(Accounts; address1_city)
Esta fórmula muestra todas las ciudades de la entidad Cuentas. Si hay más de un
registro con la misma ciudad, la función Distinct oculta la duplicación en el control de
lista desplegable.
3. (opcional) Cambie el nombre del control Lista desplegable a Ciudades, agregue un
control vertical Galería y establezca la propiedad Elementos de la galería en esta
fórmula:
Filter(Accounts; address1_city = Cities.Selected.Value)
Esta función Filtro muestra únicamente aquellos registros de la entidad Cuentas en los
que la ciudad coincida con el valor seleccionado en el control Ciudades.
Directrices de accesibilidad
Contraste de color
Debe haber un contraste de color adecuado entre:
ChevronFill y ChevronBackground
ChevronHoverFill y ChevronHoverBackground
SelectionColor y SelectionFill
SelectionFill y Fill
Y esto, además de los requisitos estándar de contraste de color.
Soporte técnico para el lector de pantalla
La propiedad AccessibleLabel debe estar presente.
Compatibilidad con el teclado
La propiedad TabIndex debe ser cero o superior para que los usuarios del teclado puedan
desplazarse hasta él.
Los indicadores de foco deben ser claramente visibles. Use FocusedBorderColor y
FocusedBorderThickness para conseguirlo.
Controles
Formulario
de
presentación
y Formulario
de edición
en
PowerApps
08/10/2019 • 22 minutes to
read
Descripción
Si agrega un control
Formulario de presentación ,
el usuario puede mostrar todos
los campos de un registro o solo
los campos que usted
especifique. Si agrega un control
Formulario de edición, el
usuario puede editar esos
campos, crear un registro y
guardar los cambios realizados
en un origen de datos.
Lookup(Accounts; "Fabrikam" in
name)
Diseño
De forma predeterminada, las
tarjetas se colocan en una sola
columna para las aplicaciones de
teléfono y en tres columnas para
las aplicaciones de tableta.
Puede especificar cuántas
columnas tiene un formulario y
si se deben ajustar a ellas las
tarjetas al configurar el
formulario. Esta configuración
no se expone en propiedades,
porque se usa únicamente para
definir las propiedades X, Y y
Width de las tarjetas.
Para más información, consulte
Understand data form layout in
Microsoft PowerApps
(Introducción al diseño de
formularios de datos en
Microsoft PowerApps).
Propiedades
principales
DataSource: el origen de datos
que contiene el registro que el
usuario muestra, edita o crea.
Si no establece esta
propiedad, el usuario no
puede mostrar, editar o crear
un registro, y no se
proporcionan ni metadatos
adicionales ni la validación.
DefaultMode: el modo inicial
del control de formulario.
Consulte a continuación la
descripción de Modo para
conocer los valores aceptables y
sus significados.
DisplayMode: el modo que se
utiliza para las tarjetas de datos
y los controles del control de
formulario.
Deriva de la propiedad Modo
en la que se basa y no se puede
establecer de forma
independiente:
DISPLAY DESCRIPC
MODO MODE IÓN
ERRORKIND DESCRIPCIÓN
ErrorKind.Non El error es de
e un tipo
desconocido.
ERRORKIND DESCRIPCIÓN
ErrorKind.Syn El origen de
c datos informó
de un error.
Compruebe la
propiedad
Error para
obtener más
información.
ErrorKind.Vali Se detectó un
dation problema de
validación
general.
Elemento: el registro en el
origen de datos que el usuario
mostrará o editará.
LastSubmit: el último registro
enviado correctamente, incluidos
los campos generada por el
servidor.
Esta propiedad solo se aplica
al control Formulario de
edición.
Si el origen de datos genera
automáticamente o calcula
cualquier campo, como un
campo de identificador con
un número único, la
propiedad LastSubmit
tendrá este nuevo valor
después de que
SubmitForm se ejecute
correctamente.
El valor de esta propiedad
está disponible en la fórmula
OnSuccess.
Modo: el control se encuentra
en modo Edición o Nuevo.
MODO DESCRIPCIÓN
MODO DESCRIPCIÓN
FormMode.Edi El usuario
t puede editar un
registro
mediante el
formulario. Los
valores de las
tarjetas del
formulario se
rellenan con el
registro
existente, el
usuario puede
cambiarlos. Si la
función
SubmitForm se
ejecuta
correctamente,
se modifica un
registro
existente.
FormMode.Ne El usuario
w puede crear un
registro
mediante el
formulario. Los
valores de los
controles del
formulario se
rellenan
previamente
con los valores
predeterminado
s para un
registro del
origen de datos.
Si la función
SubmitForm se
ejecuta
correctamente,
se crea un
registro.
FormMode.Vi El usuario
ew puede ver un
registro
mediante el
formulario. Los
valores de los
controles del
formulario se
rellenan
previamente
con los valores
predeterminado
s para un
registro del
origen de datos.
Propiedades
adicionales
BorderColor : el color de un
borde del control.
BorderStyle : si el borde del
control es Solid, Dashed,
Dotted o None.
BorderThickness : el grosor de
un borde del control.
Fill : el color de fondo de un
control.
Height : la distancia entre los
bordes superior e inferior de un
control.
Visible : indica si un control
aparece o está oculto.
Width : la distancia entre los
bordes derecho e izquierdo de
un control.
X : la distancia entre el borde
izquierdo de un control y el
borde izquierdo de su
contenedor primario (la pantalla
si no hay un contenedor
primario).
Y : la distancia entre el borde
superior de un control y el borde
superior de su contenedor
primario (la pantalla si no hay un
contenedor primario).
Más información
Para información general
integral sobre cómo funcionan
los formularios, consulte la
introducción a los formularios
de datos.
Directrices de
accesibilidad
Soporte técnico para el lector de
pantalla
Considere la posibilidad de
agregar un encabezado al
formulario mediante un
control Etiqueta .
Control Exportar y control Importar en PowerApps
12/11/2019 • 8 minutes to read
Controles para exportar datos a un archivo local y luego importarlos en otra aplicación de PowerApps.
Descripción
Si desea crear más de una aplicación que utiliza los mismos datos, pero no quiere compartir esos datos fuera de
esas aplicaciones, puede exportarlos e importarlos mediante un control Exportar y un control Importar. Cuando
se exportan datos, se crea un archivo comprimido que se puede copiar en otra máquina y leer en cualquier
programa que no sea PowerApps.
Advertencia
Al habilitar esta funcionalidad en la aplicación, puede exponerla a vulnerabilidades de seguridad y pérdida de datos.
Se recomienda aconsejar a los usuarios que importen solo los archivos reconocidos y de confianza y que exporten
únicamente los datos que no sean confidenciales.
Límite
La funcionalidad de exportación no es compatible con los navegadores web.
Propiedades principales
Data: el nombre de una colección que quiere exportar a un archivo local.
La propiedad Data está disponible para un control Exportar pero no para un control Importar.
OnSelect : indica cómo responde la aplicación cuando el usuario toca o hace clic en un control.
Propiedades adicionales
Align : la ubicación del texto respecto al centro horizontal de su control.
BorderColor : el color de un borde del control.
BorderStyle : si el borde del control es Solid, Dashed, Dotted o None.
BorderThickness : el grosor de un borde del control.
Color : el color del texto en un control.
DisplayMode : indica si el control permite entradas de usuario (Edit), solo muestra datos (View) o si está
deshabilitado (Disabled).
DisabledBorderColor : el color de un borde del control si la propiedad DisplayMode del control está establecida
en Disabled.
DisabledColor : el color del texto en un control si su propiedad DisplayMode está establecida en Disabled.
DisabledFill : el color de fondo de un control si su propiedad DisplayMode está establecida en Disabled.
Fill : el color de fondo de un control.
FocusedBorderColor : el color del borde de un control cuando el control recibe el foco.
FocusedBorderThickness : el grosor del borde de un control cuando el control recibe el foco.
Font : el nombre de la familia de fuentes en la que aparece el texto.
FontWeight : el peso del texto en un control: Bold, Semibold, Normal o Lighter.
Height : la distancia entre los bordes superior e inferior de un control.
HoverBorderColor : el color de un borde del control cuando el usuario mantiene el puntero del mouse sobre ese
control.
HoverColor : el color del texto de un control cuando el usuario mantiene el puntero del mouse sobre él.
HoverFill : el color de fondo de un control cuando el usuario mantiene el puntero del mouse sobre él.
Italic : indica si el texto de un control está en cursiva.
Padding : la distancia entre el texto de un botón Exportar o Importar y los bordes de ese botón.
PressedBorderColor : el color de un borde del control cuando el usuario toca o hace clic en ese control.
PressedColor : el color de texto de un control cuando el usuario toca o hace clic en ese control.
PressedFill : el color de fondo de un control cuando el usuario toca o hace clic en ese control.
RadiusBottomLeft : el grado al que se redondea la esquina inferior izquierda de un control.
RadiusBottomRight : el grado al que se redondea la esquina inferior derecha de un control.
RadiusTopLeft : el grado al que se redondea la esquina superior izquierda de un control.
RadiusTopRight : el grado al que se redondea la esquina superior derecha de un control.
Size : el tamaño de la fuente del texto que aparece en un control.
Strikethrough : indica si aparece una línea sobre el texto de un control.
TabIndex : orden de navegación del teclado en relación con otros controles.
Text : texto que aparece en un control o que el usuario escribe en un control.
Underline : indica si aparece una línea debajo del texto de un control.
VerticalAlign : la ubicación del texto en un control respecto al centro vertical de ese control.
Visible : indica si un control aparece o está oculto.
Width : la distancia entre los bordes derecho e izquierdo de un control.
X : la distancia entre el borde izquierdo de un control y el borde izquierdo de su contenedor primario (la pantalla si
no hay un contenedor primario).
Y : la distancia entre el borde superior de un control y el borde superior de su contenedor primario (la pantalla si no
hay un contenedor primario).
Ejemplo
1. Agregue un control Botón y establezca su propiedad OnSelect en esta fórmula:
ClearCollect(Products; {Name:"Europa"; Price:"10.99"}; {Name:"Ganymede"; Price:"12.49"};
{Name:"Callisto"; Price:"11.79"})
¿No sabe cómo agregar, nombrar y configurar un control?
¿Desea más información sobre la función ClearCollect u otras funciones?
2. Presione F5, haga clic o pulse el control Botón y luego presione Esc.
3. Agregue un control Exportar y establezca su propiedad Data en Productos.
4. Presione F5, haga clic o pulse el control Exportar y luego especifique el nombre del archivo en el que desea
exportar los datos.
5. Haga clic o pulse Guardar y luego presione Esc para volver al área de trabajo predeterminada.
6. En una aplicación nueva o existente, agregue un control Importar, asígnele el nombre MyData y establezca
su propiedad OnSelect en esta fórmula:
Collect(ImportedProducts; MyData.Data)
7. Presione F5, haga clic o pulse MyData, haga clic o pulse el archivo exportado y luego haga clic o pulse
Abrir.
8. Presione Esc, haga clic o pulse Colecciones en el menú Archivo y confirme que la aplicación actual tiene
los datos que ha exportado.
Directrices de accesibilidad
Se aplican las mismas directrices para Botón porque Exportar e Importar son simplemente botones
especializados.
Control Galería en aplicaciones
de lienzo
26/11/2019 • 10 minutes to read
Descripción
Un control Galería puede mostrar varios registros de un origen de datos,
y cada registro puede contener varios tipos de datos. Por ejemplo, un
control Galería puede mostrar varios contactos y cada elemento mostrar
a su vez información de contacto que incluye un nombre, una dirección y
un número de teléfono para cada contacto. Cada campo de datos aparece
en un control independiente dentro del control Galería y esos controles
se pueden configurar en su plantilla. La plantilla aparece como primer
elemento dentro de la galería, en el borde izquierdo de un control Galería
en orientación horizontal o vertical y en la parte superior de un control
Galería en orientación vertical. Los cambios realizados en la plantilla se
reflejarán en todo el control Galería.
Están disponibles las plantillas predefinidas para mostrar imágenes y
texto en una galería, así como una galería para elementos de alto variable.
Límite
Si un usuario desplaza el control de la galería de alto flexible antes de
que se carguen todos los elementos, el elemento que está actualmente en
la vista se puede desplazar hacia abajo y fuera de la vista cuando finaliza
la carga de datos. Para evitar este problema, use un control de Galería
estándar en lugar de la variante de alto flexible .
Propiedades principales
Predeterminado : el elemento o registro del origen de datos que se va a
seleccionar en la galería al iniciarse la aplicación.
Elementos : origen de datos que aparece en un control, como una galería,
una lista o un gráfico.
Seleccionados: el elemento seleccionado.
Propiedades adicionales
Propiedad accessiblelabel : etiqueta de la galería (no los elementos que
contiene) para los lectores de pantalla. Debe describir cuáles es la lista de
elementos.
TodosLosElementos: todos los elementos de una galería, como valores
de control adicionales que sean parte de la plantilla de la galería.
BorderColor : el color de un borde del control.
BorderStyle : si el borde del control es Solid, Dashed, Dotted o None.
BorderThickness : el grosor de un borde del control.
DisplayMode : indica si el control permite entradas de usuario (Edit),
solo muestra datos (View) o si está deshabilitado (Disabled).
Fill : el color de fondo de un control.
Height : la distancia entre los bordes superior e inferior de un control.
ItemAccessibleLabel : etiqueta de cada elemento de la galería para
lectores de pantalla. Debe describir qué es cada elemento.
PasoDeNavegación: indica lo lejos que se desplaza una galería si su
propiedad Mostrar Navegación está establecida en true y el usuario
selecciona una flecha de navegación de cualquier extremo de esa galería.
Seleccionable : indica si se pueden seleccionar elementos de la galería.
Cuando se establece en true, los lectores de pantalla identifican la Galería
como una lista seleccionable y se selecciona un elemento haciendo clic o
pulsando en él. Cuando se establece en false, los lectores de pantalla
identifican la Galería como una lista normal y al hacer clic o pulsar en un
elemento no se selecciona.
MostrarNavegación: indica si aparece una flecha en cada extremo de
una galería para que un usuario puede desplazarse por los elementos de
la galería haciendo clic en una flecha o pulsando en ella.
MostrarBarraDesplazamiento: indica si aparecerá una barra de
desplazamiento cuando el usuario mantenga el cursor sobre una galería.
Snap: indica si, cuando un usuario se desplaza por una galería, esta se
ajusta automáticamente para que aparezca el siguiente elemento en su
totalidad.
RellenoDePlantilla: el color de fondo de una galería.
EspaciadoInternoDePlantilla: la distancia entre los elementos de una
galería.
TamañoDePlantilla: el alto de la plantilla en una galería en orientación
vertical o el ancho de la plantilla en una galería en orientación horizontal o
vertical.
Transition: el efecto visual (Pop, Push o None) cuando el usuario
mantiene el puntero sobre un elemento de la galería.
Visible : indica si un control aparece o está oculto.
Width : la distancia entre los bordes derecho e izquierdo de un control.
WrapCount: número de elementos que se muestran por fila o columna
en función del diseño horizontal o vertical.
X : la distancia entre el borde izquierdo de un control y el borde izquierdo
de su contenedor primario (la pantalla si no hay un contenedor primario).
Y : la distancia entre el borde superior de un control y el borde superior de
su contenedor primario (la pantalla si no hay un contenedor primario).
Funciones relacionadas
Filter( DataSource; Formula )
Ejemplos
Mostrar y filtrar los datos
Mostrar texto
Mostrar imágenes
Filtrar datos mediante la selección de una opción de la lista
Filtrar datos mediante el ajuste de un control deslizante
Obtener datos del usuario
Obtener texto
Obtener imágenes
Obtener fotografías
Obtener sonidos
Obtener dibujos
Directrices de accesibilidad
Contraste de color
Si la finalidad de hacer clic en cualquier parte en un elemento de la galería
es seleccionarlo, debe haber un contraste de color adecuado entre:
BorderColor y el color de fuera de la galería (si hay un borde)
Fill y el color situado fuera de la galería (si hay un borde)
Soporte técnico para el lector de pantalla
La propiedad AccessibleLabel debe estar presente.
NOTE
Los lectores de pantalla anunciarán cuando cambien los elementos de
la galería. La propiedad AccessibleLabel también se menciona. De esta
forma, se proporciona contexto al anuncio y es incluso más importante
cuando hay varias galerías en la misma pantalla.
NOTE
Los controles situados fuera de la galería no se tienen en cuenta en el
orden de desplazamiento por el teclado dentro de la galería. Se tiene en
cuenta la propiedad TabIndex de los controles dentro de una galería.
Consulte las propiedades de accesibilidad para obtener más
información.
Control Texto HTML en PowerApps
12/11/2019 • 5 minutes to read
Descripción
Un control Texto HTML no solo muestra texto sin formato y números, también convierte las etiquetas
HTML, como los espacios de no separación.
Propiedades principales
Color : el color del texto en un control.
Font : el nombre de la familia de fuentes en la que aparece el texto.
HtmlText: texto que aparece en un control de texto HTML y que puede contener etiquetas HTML.
Propiedades adicionales
BorderColor : el color de un borde del control.
BorderStyle : si el borde del control es Solid, Dashed, Dotted o None.
BorderThickness : el grosor de un borde del control.
DisplayMode : indica si el control permite entradas de usuario (Edit), solo muestra datos (View) o si está
deshabilitado (Disabled).
DisabledBorderColor : el color de un borde del control si la propiedad DisplayMode del control está
establecida en Disabled.
DisabledFill : el color de fondo de un control si su propiedad DisplayMode está establecida en Disabled.
Fill : el color de fondo de un control.
Height : la distancia entre los bordes superior e inferior de un control.
HoverBorderColor : el color de un borde del control cuando el usuario mantiene el puntero del mouse
sobre ese control.
OnSelect : indica cómo responde la aplicación cuando el usuario toca o hace clic en un control.
RellenoInferior : distancia entre el texto de un control y el borde inferior de ese control.
RellenoIzquierdo : distancia entre el texto de un control y el borde izquierdo de ese control.
RellenoDerecho : distancia entre el texto de un control y el borde derecho de ese control.
RellenoSuperior : distancia entre el texto de un control y el borde superior de ese control.
Size : el tamaño de la fuente del texto que aparece en un control.
Información sobre herramientas : texto explicativo que aparece cuando el usuario mantiene el puntero
sobre un control.
Visible : indica si un control aparece o está oculto.
Width : la distancia entre los bordes derecho e izquierdo de un control.
X : la distancia entre el borde izquierdo de un control y el borde izquierdo de su contenedor primario (la
pantalla si no hay un contenedor primario).
Y : la distancia entre el borde superior de un control y el borde superior de su contenedor primario (la
pantalla si no hay un contenedor primario).
Funciones relacionadas
Buscar( FindString; WithinString )
Ejemplo
1. Agregue un control Etiqueta , llámelo Source y establezca su propiedad Texto en esta cadena:
"<p>Hemos realizado una tarea de globalización y localización particularmente
"intensiva".<p>"
¿No sabe cómo agregar, nombrar y configurar un control?
Directrices de accesibilidad
La finalidad del texto HTML no es ser interactivo. Solo debe usarse para la visualización de texto.
Contraste de color
Debe haber un contraste de color adecuado entre:
Color y Fill
Texto con colores personalizados y su fondo
Soporte técnico para el lector de pantalla
La propiedad HtmlText debe existir.
Compatibilidad con el teclado
La propiedad HtmlText no debe contener elementos interactivos, como <button> , <a> o <input> . El
sistema de TabIndex en PowerApps no tiene en cuenta los elementos dentro de HtmlText.
Controles Forma e Icon de PowerApps
12/11/2019 • 7 minutes to read
Gráficos para los que puede configurar las propiedades de aspecto y comportamiento.
Descripción
Estos controles incluyen flechas, formas geométricas, iconos de acción y símbolos para los que puede configurar
propiedades como el relleno, el tamaño y la ubicación. También puede configurar su propiedad alseleccionar para
que la aplicación responda si el usuario selecciona el control.
Propiedades adicionales
AccessibleLabel : etiqueta para lectores de pantalla.
DisplayMode : indica si el control permite entradas de usuario (Edit), solo muestra datos (View) o si está
deshabilitado (Disabled).
FocusedBorderColor : el color del borde de un control cuando el control recibe el foco.
FocusedBorderThickness : el grosor del borde de un control cuando el control recibe el foco.
Height : la distancia entre los bordes superior e inferior de un control.
HoverFill : el color de fondo de un control cuando el usuario mantiene el puntero del mouse sobre él.
PressedBorderColor : el color del borde de un control cuando el usuario selecciona ese control.
PressedFill : el color de fondo de un control cuando el usuario selecciona ese control.
TabIndex : orden de navegación del teclado en relación con otros controles.
Visible : indica si un control aparece o está oculto.
Width : la distancia entre los bordes derecho e izquierdo de un control.
X : la distancia entre el borde izquierdo de un control y el borde izquierdo de su contenedor primario (la pantalla si
no hay un contenedor primario).
Y : la distancia entre el borde superior de un control y el borde superior de su contenedor primario (la pantalla si no
hay un contenedor primario).
Funciones relacionadas
Navegar( NombrePantalla; TransiciónDePantalla )
Ejemplo
1. Asigne al control Pantalla predeterminado el nombre Target, agregue un control Etiqueta y establezca su
propiedad Texto para que muestre Target.
¿No sabe cómo agregar y configurar un control?
Directrices de accesibilidad
Contraste de color
Lo siguiente se aplica solo a gráficos que se usan como botones o no solo como decoración.
Para los iconos:
Color y Fill
Se aplican otros requisitos de contraste de color estándar (si se usan como botón)
Para las formas con bordes:
BorderColor y el color fuera del control
FocusedBorderColor y el color fuera del control (si se usa como botón)
Para las formas sin bordes:
Fill y el color fuera del control
PressedFill y el color fuera del control (si se usa como botón)
HoverFill y el color fuera del control (si se usa como botón)
Compatibilidad con el lector de pantalla
Propiedad accessiblelabel debe establecerse en una cadena que no esté vacía si el gráfico se utiliza como
botón o no solo para la decoración.
Propiedad accessiblelabel debe estar vacío o la cadena vacía "" si el gráfico proporciona información
redundante o es meramente para la decoración. Este valor hace que los lectores de pantalla omitan el
gráfico.
Por ejemplo, puede establecer la propiedad propiedad accessiblelabel de un icono de configuración en
configuración. Este icono no se utiliza como botón. Está junto a una etiqueta que también indica la
configuración. Los lectores de pantalla leerán el icono y la etiqueta como configuración, que es
innecesariamente detallado. En este caso, el icono no necesita un propiedad accessiblelabel .
IMPORTANT
Los lectores de pantalla leerán un icono o forma como botón si su propiedad accessiblelabel se establece en una cadena
vacía y su TabIndex se establece en cero o más. Estos iconos o formas se representan como botones.
NOTE
Cuando TabIndex es cero o mayor, el icono o forma se representa como un botón. Su apariencia no cambia, pero los
lectores de pantalla identificarán correctamente la imagen como un botón. Cuando TabIndex es menor que cero, el
icono o forma se identifica como una imagen.
Control Imagen en PowerApps
12/11/2019 • 11 minutes to read
Un control que muestra una imagen desde, por ejemplo, un archivo local o un origen de
datos.
Descripción
Si agrega uno o varios controles Imagen controles a la aplicación, puede mostrar
imágenes individuales que no forman parte de un conjunto de datos, o puede incorporar
imágenes desde registros de orígenes de datos.
Propiedades principales
Imagen : el nombre de la imagen que aparece en un control de imagen, audio o
micrófono.
Propiedades adicionales
AccessibleLabel : etiqueta para lectores de pantalla.
ApplyEXIFOrientation: si se aplica automáticamente la orientación especificada en los
datos EXIF insertados en la imagen.
AutoDisableOnSelect: deshabilita automáticamente el control mientras se ejecuta el
comportamiento AlSeleccionar.
BorderColor : el color de un borde del control.
BorderStyle : si el borde del control es Solid, Dashed, Dotted o None.
BorderThickness : el grosor de un borde del control.
CalculateOriginalDimensions: habilita las propiedades AltoOriginal y
AnchoOriginal.
DisplayMode : indica si el control permite entradas de usuario (Edit), solo muestra datos
(View) o si está deshabilitado (Disabled).
DisabledBorderColor : el color de un borde del control si la propiedad DisplayMode
del control está establecida en Disabled.
DisabledFill : el color de fondo de un control si su propiedad DisplayMode está
establecida en Disabled.
Fill : el color de fondo de un control.
FlipHorizontal: si la imagen se voltea horizontalmente antes de mostrarla.
FlipVertical: si la imagen se voltea verticalmente antes de mostrarla.
FocusedBorderColor : el color del borde de un control cuando el control recibe el foco.
FocusedBorderThickness : el grosor del borde de un control cuando el control recibe el
foco.
Height : la distancia entre los bordes superior e inferior de un control.
HoverBorderColor : el color de un borde del control cuando el usuario mantiene el
puntero del mouse sobre ese control.
HoverFill : el color de fondo de un control cuando el usuario mantiene el puntero del
mouse sobre él.
PosiciónDeLaImagen : posición (Rellenar, Ajustar, Estirar, Icono o Centrar) de una
imagen en una pantalla o un control, si no tiene el mismo tamaño que la imagen.
ImageRotation: cómo girar la imagen antes de mostrarla. Los valores pueden ser: no, 90
grados a la derecha, 90 grados a la izquierda y 180 grados a la derecha.
OnSelect : indica cómo responde la aplicación cuando el usuario toca o hace clic en un
control.
AltoOriginal: la altura original de una imagen, habilitada con la propiedad
CalculateOriginalDimensions.
AnchoOriginal: el ancho original de una imagen, habilitada con la propiedad
CalculateOriginalDimensions.
RellenoInferior : distancia entre el texto de un control y el borde inferior de ese control.
RellenoIzquierdo : distancia entre el texto de un control y el borde izquierdo de ese
control.
RellenoDerecho : distancia entre el texto de un control y el borde derecho de ese control.
RellenoSuperior : distancia entre el texto de un control y el borde superior de ese control.
PressedBorderColor : el color de un borde del control cuando el usuario toca o hace clic
en ese control.
PressedFill : el color de fondo de un control cuando el usuario toca o hace clic en ese
control.
RadiusBottomLeft : el grado al que se redondea la esquina inferior izquierda de un
control.
RadiusBottomRight : el grado al que se redondea la esquina inferior derecha de un
control.
RadiusTopLeft : el grado al que se redondea la esquina superior izquierda de un control.
RadiusTopRight : el grado al que se redondea la esquina superior derecha de un control.
TabIndex : orden de navegación del teclado en relación con otros controles.
Información sobre herramientas : texto explicativo que aparece cuando el usuario
mantiene el puntero sobre un control.
Transparencia: el grado en el los controles permanecen visibles detrás de una imagen.
Visible : indica si un control aparece o está oculto.
Width : la distancia entre los bordes derecho e izquierdo de un control.
X : la distancia entre el borde izquierdo de un control y el borde izquierdo de su
contenedor primario (la pantalla si no hay un contenedor primario).
Y : la distancia entre el borde superior de un control y el borde superior de su contenedor
primario (la pantalla si no hay un contenedor primario).
Funciones relacionadas
Quitar( DataSource; EsteElemento)
Ejemplos
Mostrar una imagen desde un archivo local
1. En el menú Archivo, pulse o haga clic en Multimedia y, después, en Examinar.
2. Pulse o haga clic en el archivo de imagen que desea agregar, pulse o haga clic en
Abrir, y, a continuación, presione Esc para volver al área de trabajo predeterminada.
3. Agregue un control Imagen y en su propiedad Image escriba el nombre del
archivo que agregó.
¿No sabe cómo agregar y configurar un control?
Directrices de accesibilidad
Contraste de color
Si el gráfico se utiliza como botón, se aplican los requisitos estándar de contraste de
color.
Considere la posibilidad de comprobar si hay problemas de contraste en la imagen, si
no es simplemente decorativa.
Soporte técnico para el lector de pantalla
La propiedad AccessibleLabel debe estar presente si el gráfico se usa como botón o
no solo como decoración.
La propiedad AccessibleLabel debe estar vacía o la cadena "" vacía si el gráfico es
exclusivamente decorativo. De esta forma, los lectores de pantalla omiten el gráfico.
La propiedad AccessibleLabel puede estar vacía o la cadena "" vacía si el gráfico
proporciona información redundante.
Por ejemplo, un control Imagen de engranajes con su propiedad
AccessibleLabel establecida en Configuración. Esta imagen no se utiliza
como botón. Se encuentra junto a una etiqueta que también dice
Configuración. Los lectores de pantalla leerán la imagen como
Configuración y, nuevamente, la etiqueta como Configuración. No es
necesario tanto detalle. En este caso, el control Imagen no necesita una
propiedad AccessibleLabel .
IMPORTANT
Los lectores de pantalla siempre leerán los controles Imagen cuya propiedad
TabIndex sea cero o superior, incluso si la propiedad AccessibleLabel está vacía.
El motivo es que se representan como botones. Si no se proporciona ninguna
propiedad AccessibleLabel , los lectores de pantalla simplemente leerán el
gráfico como un botón.
NOTE
Cuando TabIndex es cero o mayor, el control Imagen se representa como un botón. No
hay ningún cambio en la apariencia visual, pero los lectores de pantalla identifican
correctamente la imagen como un botón. Cuando TabIndex es menor que cero, el
control Imagen se identifica como una imagen.
Control Exportar y control Importar en
PowerApps
12/11/2019 • 8 minutes to read
Controles para exportar datos a un archivo local y luego importarlos en otra aplicación de
PowerApps.
Descripción
Si desea crear más de una aplicación que utiliza los mismos datos, pero no quiere
compartir esos datos fuera de esas aplicaciones, puede exportarlos e importarlos mediante
un control Exportar y un control Importar. Cuando se exportan datos, se crea un archivo
comprimido que se puede copiar en otra máquina y leer en cualquier programa que no sea
PowerApps.
Advertencia
Al habilitar esta funcionalidad en la aplicación, puede exponerla a vulnerabilidades de
seguridad y pérdida de datos. Se recomienda aconsejar a los usuarios que importen solo los
archivos reconocidos y de confianza y que exporten únicamente los datos que no sean
confidenciales.
Límite
La funcionalidad de exportación no es compatible con los navegadores web.
Propiedades principales
Data: el nombre de una colección que quiere exportar a un archivo local.
La propiedad Data está disponible para un control Exportar pero no para un control
Importar.
OnSelect : indica cómo responde la aplicación cuando el usuario toca o hace clic en un
control.
Propiedades adicionales
Align : la ubicación del texto respecto al centro horizontal de su control.
BorderColor : el color de un borde del control.
BorderStyle : si el borde del control es Solid, Dashed, Dotted o None.
BorderThickness : el grosor de un borde del control.
Color : el color del texto en un control.
DisplayMode : indica si el control permite entradas de usuario (Edit), solo muestra datos
(View) o si está deshabilitado (Disabled).
DisabledBorderColor : el color de un borde del control si la propiedad DisplayMode del
control está establecida en Disabled.
DisabledColor : el color del texto en un control si su propiedad DisplayMode está
establecida en Disabled.
DisabledFill : el color de fondo de un control si su propiedad DisplayMode está
establecida en Disabled.
Fill : el color de fondo de un control.
FocusedBorderColor : el color del borde de un control cuando el control recibe el foco.
FocusedBorderThickness : el grosor del borde de un control cuando el control recibe el
foco.
Font : el nombre de la familia de fuentes en la que aparece el texto.
FontWeight : el peso del texto en un control: Bold, Semibold, Normal o Lighter.
Height : la distancia entre los bordes superior e inferior de un control.
HoverBorderColor : el color de un borde del control cuando el usuario mantiene el
puntero del mouse sobre ese control.
HoverColor : el color del texto de un control cuando el usuario mantiene el puntero del
mouse sobre él.
HoverFill : el color de fondo de un control cuando el usuario mantiene el puntero del
mouse sobre él.
Italic : indica si el texto de un control está en cursiva.
Padding : la distancia entre el texto de un botón Exportar o Importar y los bordes de ese
botón.
PressedBorderColor : el color de un borde del control cuando el usuario toca o hace clic
en ese control.
PressedColor : el color de texto de un control cuando el usuario toca o hace clic en ese
control.
PressedFill : el color de fondo de un control cuando el usuario toca o hace clic en ese
control.
RadiusBottomLeft : el grado al que se redondea la esquina inferior izquierda de un
control.
RadiusBottomRight : el grado al que se redondea la esquina inferior derecha de un
control.
RadiusTopLeft : el grado al que se redondea la esquina superior izquierda de un control.
RadiusTopRight : el grado al que se redondea la esquina superior derecha de un control.
Size : el tamaño de la fuente del texto que aparece en un control.
Strikethrough : indica si aparece una línea sobre el texto de un control.
TabIndex : orden de navegación del teclado en relación con otros controles.
Text : texto que aparece en un control o que el usuario escribe en un control.
Underline : indica si aparece una línea debajo del texto de un control.
VerticalAlign : la ubicación del texto en un control respecto al centro vertical de ese
control.
Visible : indica si un control aparece o está oculto.
Width : la distancia entre los bordes derecho e izquierdo de un control.
X : la distancia entre el borde izquierdo de un control y el borde izquierdo de su contenedor
primario (la pantalla si no hay un contenedor primario).
Y : la distancia entre el borde superior de un control y el borde superior de su contenedor
primario (la pantalla si no hay un contenedor primario).
Ejemplo
1. Agregue un control Botón y establezca su propiedad OnSelect en esta fórmula:
ClearCollect(Products; {Name:"Europa"; Price:"10.99"}; {Name:"Ganymede";
Price:"12.49"}; {Name:"Callisto"; Price:"11.79"})
¿No sabe cómo agregar, nombrar y configurar un control?
¿Desea más información sobre la función ClearCollect u otras funciones?
2. Presione F5, haga clic o pulse el control Botón y luego presione Esc.
3. Agregue un control Exportar y establezca su propiedad Data en Productos.
4. Presione F5, haga clic o pulse el control Exportar y luego especifique el nombre del
archivo en el que desea exportar los datos.
5. Haga clic o pulse Guardar y luego presione Esc para volver al área de trabajo
predeterminada.
6. En una aplicación nueva o existente, agregue un control Importar, asígnele el
nombre MyData y establezca su propiedad OnSelect en esta fórmula:
Collect(ImportedProducts; MyData.Data)
7. Presione F5, haga clic o pulse MyData, haga clic o pulse el archivo exportado y
luego haga clic o pulse Abrir.
8. Presione Esc, haga clic o pulse Colecciones en el menú Archivo y confirme que la
aplicación actual tiene los datos que ha exportado.
Directrices de accesibilidad
Se aplican las mismas directrices para Botón porque Exportar e Importar son
simplemente botones especializados.
Controles Gráfico de columnas y
Gráfico de líneas en PowerApps
12/11/2019 • 10 minutes to read
Descripción
Gráfico de columnas y Gráfico de líneas son controles agrupados. Cada grupo
contiene tres controles: un control Etiqueta para el título, el gráfico y un control
Leyenda.
Funciones relacionadas
Max( DataSource; ColumnName )
Ejemplo
1. Agregue un control Botón y establezca su propiedad OnSelect en esta
fórmula:
Collect(Revenue; {Year:"2013"; Europa:24000; Ganymede:22300;
Callisto:21200}; {Year:"2014"; Europa:26500; Ganymede:25700;
Callisto:24700};{Year:"2014"; Europa:27900; Ganymede:28300;
Callisto:25600})
¿No sabe cómo agregar y configurar un control?
¿Desea más información sobre la función Recopilar u otras funciones?
2. Presione F5, pulse o haga clic en el control Botón y presione Esc para volver al
área de trabajo predeterminada.
3. Agregue un control Gráfico de columnas o un control Gráfico de líneas,
establezca su propiedad Elementos en Ingresos y establezca su propiedad
NúmeroDeSeries en 3.
El control muestra datos de ingresos para cada producto durante tres años.
Directrices de accesibilidad
Contraste de color
Debe haber un contraste de color adecuado entre:
Cada elemento de ItemColorSet
Cada elemento de ItemColorSet y el color de fondo
La propiedad Color y el color de fondo
Soporte técnico para el lector de pantalla
Debe haber un control Etiqueta inmediatamente delante del gráfico para que
sirva de título.
Considere la posibilidad de agregar un resumen del gráfico. Por ejemplo, "El
gráfico de líneas muestra un aumento constante en las ventas entre marzo y
agosto de este año".
NOTE
Los gráficos y el control Leyenda están ocultos para los usuarios de lector de
pantalla. Como alternativa, se les presenta los datos en formato tabular. También
pueden recorrer los botones que seleccionan datos en el gráfico.
NOTE
Cuando los usuarios de teclado se desplazan al gráfico, pueden recorrer los botones
que seleccionan datos del gráfico.
Control Cuadro de lista en PowerApps
12/11/2019 • 10 minutes to read
Descripción
Un control Cuadro de lista siempre muestra todas las opciones disponibles (a diferencia de un
control Lista desplegable ) y a diferencia de un control Radio , el usuario puede seleccionar varios
elementos al mismo tiempo.
Propiedades principales
Predeterminado : el valor inicial de un control antes de que lo cambie el usuario.
Elementos : origen de datos que aparece en un control, como una galería, una lista o un gráfico.
Seleccionado : el registro de datos que representa el elemento seleccionado.
Al agregar una galería, una lista o un gráfico, la lista de propiedades muestra Elementos de
manera predeterminada, con el fin de que pueda especificar fácilmente los datos que el nuevo
control debe mostrar. Por ejemplo, puede establecer la propiedad Elementos de una galería en la
tabla Cuenta de Salesforce, una tabla denominada Inventario que se ha creado en Excel y cargado
en la nube, o una lista de SharePoint llamada ConferenceSpeakers.
Propiedades adicionales
AccessibleLabel : etiqueta para lectores de pantalla.
BorderColor : el color de un borde del control.
BorderStyle : si el borde del control es Solid, Dashed, Dotted o None.
BorderThickness : el grosor de un borde del control.
Color : el color del texto en un control.
DisplayMode : indica si el control permite entradas de usuario (Edit), solo muestra datos (View) o
si está deshabilitado (Disabled).
DisabledBorderColor : el color de un borde del control si la propiedad DisplayMode del control
está establecida en Disabled.
DisabledColor : el color del texto en un control si su propiedad DisplayMode está establecida en
Disabled.
DisabledFill : el color de fondo de un control si su propiedad DisplayMode está establecida en
Disabled.
Fill : el color de fondo de un control.
FocusedBorderColor : el color del borde de un control cuando el control recibe el foco.
FocusedBorderThickness : el grosor del borde de un control cuando el control recibe el foco.
Font : el nombre de la familia de fuentes en la que aparece el texto.
FontWeight : el peso del texto en un control: Bold, Semibold, Normal o Lighter.
Height : la distancia entre los bordes superior e inferior de un control.
HoverBorderColor : el color de un borde del control cuando el usuario mantiene el puntero del
mouse sobre ese control.
HoverColor : el color del texto de un control cuando el usuario mantiene el puntero del mouse
sobre él.
HoverFill : el color de fondo de un control cuando el usuario mantiene el puntero del mouse sobre
él.
Italic : indica si el texto de un control está en cursiva.
ItemPaddingLeft: la distancia entre el texto en un cuadro de lista y su borde izquierdo.
AlturaDeLínea : distancia entre, por ejemplo, líneas de texto o elementos de una lista.
AlCambiar : indica cómo responde la aplicación cuando el usuario cambia el valor de un control
(por ejemplo, mediante el ajuste de un control deslizante).
OnSelect : indica cómo responde la aplicación cuando el usuario toca o hace clic en un control.
RellenoInferior : distancia entre el texto de un control y el borde inferior de ese control.
RellenoIzquierdo : distancia entre el texto de un control y el borde izquierdo de ese control.
RellenoDerecho : distancia entre el texto de un control y el borde derecho de ese control.
RellenoSuperior : distancia entre el texto de un control y el borde superior de ese control.
PressedBorderColor : el color de un borde del control cuando el usuario toca o hace clic en ese
control.
PressedColor : el color de texto de un control cuando el usuario toca o hace clic en ese control.
PressedFill : el color de fondo de un control cuando el usuario toca o hace clic en ese control.
Reset : indica si un control vuelve a su valor predeterminado.
SelectedText (desusado) : valor de cadena que representa el elemento seleccionado.
ColorDeSelección : color del texto de los elementos seleccionados en una lista o de la herramienta
de selección de un control de entrada manuscrita.
RellenoDeSelección : el color de fondo de uno o varios elementos seleccionados en una lista o un
área seleccionada de un control de entrada manuscrita.
SelecciónMúltiple: indica si un usuario puede seleccionar más de un elemento en un cuadro de
lista.
Size : el tamaño de la fuente del texto que aparece en un control.
Strikethrough : indica si aparece una línea sobre el texto de un control.
TabIndex : orden de navegación del teclado en relación con otros controles.
Información sobre herramientas : texto explicativo que aparece cuando el usuario mantiene el
puntero sobre un control.
Underline : indica si aparece una línea debajo del texto de un control.
Visible : indica si un control aparece o está oculto.
Width : la distancia entre los bordes derecho e izquierdo de un control.
X : la distancia entre el borde izquierdo de un control y el borde izquierdo de su contenedor
primario (la pantalla si no hay un contenedor primario).
Y : la distancia entre el borde superior de un control y el borde superior de su contenedor primario
(la pantalla si no hay un contenedor primario).
Funciones relacionadas
Distinct( DataSource; ColumnName )
Ejemplo
1. Agregue un control Cuadro de lista, denomínelo CategoryList y establezca su propiedad
Elementos en esta fórmula:
["Carpet";"Hardwood";"Tile"]
¿No sabe cómo agregar, nombrar y configurar un control?
Directrices de accesibilidad
Contraste de color
Debe haber un contraste de color adecuado entre:
SelectionColor y SelectionFill
SelectionFill y Fill
HoverFill y Fill
PressedFill y Fill
Y esto, además de los requisitos estándar de contraste de color.
Soporte técnico para el lector de pantalla
La propiedad AccessibleLabel debe estar presente.
Compatibilidad con el teclado
La propiedad TabIndex debe ser cero o superior para que los usuarios del teclado puedan
desplazarse hasta él.
Los indicadores de foco deben ser claramente visibles. Use FocusedBorderColor y
FocusedBorderThickness para conseguirlo.
NOTE
La tecla de tabulación se desplaza hasta el control Cuadro de lista o fuera de él. Las teclas de
dirección permiten desplazarse por el contenido del control Cuadro de lista.
Control Micrófono en PowerApps
12/11/2019 • 8 minutes to read
Un control que permite a los usuarios de la aplicación grabar sonidos desde sus dispositivos.
Descripción
Los usuarios de la aplicación pueden realizar grabaciones de audio si el dispositivo donde se ejecuta la
aplicación tiene un micrófono.
El audio se almacena en formato 3gp en Android, en formato AAC en iOS y en formato OGG en los
navegadores web.
Propiedades principales
Micrófono: en un dispositivo que tenga más de un micrófono, el identificador numérico del micrófono
que usa la aplicación.
AlDetener: indica cómo la aplicación responde cuando el usuario detiene la grabación con un control
de micrófono.
Propiedades adicionales
AccessibleLabel : etiqueta para lectores de pantalla. Debe describir la finalidad del micrófono.
BorderColor : el color de un borde del control.
BorderStyle : si el borde del control es Solid, Dashed, Dotted o None.
BorderThickness : el grosor de un borde del control.
Color : el color del texto en un control.
DisplayMode : indica si el control permite entradas de usuario (Edit), solo muestra datos (View) o si
está deshabilitado (Disabled).
DisabledBorderColor : el color de un borde del control si la propiedad DisplayMode del control está
establecida en Disabled.
DisabledColor : el color del texto en un control si su propiedad DisplayMode está establecida en
Disabled.
DisabledFill : el color de fondo de un control si su propiedad DisplayMode está establecida en
Disabled.
Fill : el color de fondo de un control.
FocusedBorderColor : el color del borde de un control cuando el control recibe el foco.
FocusedBorderThickness : el grosor del borde de un control cuando el control recibe el foco.
Height : la distancia entre los bordes superior e inferior de un control.
HoverBorderColor : el color de un borde del control cuando el usuario mantiene el puntero del mouse
sobre ese control.
HoverColor : el color del texto de un control cuando el usuario mantiene el puntero del mouse sobre
él.
HoverFill : el color de fondo de un control cuando el usuario mantiene el puntero del mouse sobre él.
Imagen : el nombre de la imagen que aparece en un control de imagen, audio o micrófono.
PosiciónDeLaImagen : posición (Rellenar, Ajustar, Estirar, Icono o Centrar) de una imagen en una
pantalla o un control, si no tiene el mismo tamaño que la imagen.
OnSelect : indica cómo responde la aplicación cuando el usuario toca o hace clic en un control.
AlIniciar: indica cómo la aplicación responde cuando el usuario comienza a grabar con un control de
micrófono.
PressedBorderColor : el color de un borde del control cuando el usuario toca o hace clic en ese
control.
PressedColor : el color de texto de un control cuando el usuario toca o hace clic en ese control.
PressedFill : el color de fondo de un control cuando el usuario toca o hace clic en ese control.
Reset : indica si un control vuelve a su valor predeterminado.
TabIndex : orden de navegación del teclado en relación con otros controles.
Información sobre herramientas : texto explicativo que aparece cuando el usuario mantiene el
puntero sobre un control.
Visible : indica si un control aparece o está oculto.
Width : la distancia entre los bordes derecho e izquierdo de un control.
X : la distancia entre el borde izquierdo de un control y el borde izquierdo de su contenedor primario (la
pantalla si no hay un contenedor primario).
Y : la distancia entre el borde superior de un control y el borde superior de su contenedor primario (la
pantalla si no hay un contenedor primario).
Funciones relacionadas
Patch( DataSource; BaseRecord; ChangeRecord )
Ejemplo
Agregue sonidos a un control Galería personalizada
1. Agregue un Micrófono, asígnele el nombre MyMicy establezca su propiedad AlDetener en
esta fórmula:
Collect(MySounds; MyMic.Audio)
¿No sabe cómo agregar, nombrar y configurar un control?
¿Desea más información sobre la función Recopilar u otras funciones?
Directrices de accesibilidad
Se aplican las mismas directrices para Botón porque Micrófono es simplemente un botón
especializado. Además, tenga en cuenta lo siguiente:
Alternativas de audio
Considere la posibilidad de agregar una forma alternativa de entrada para los usuarios con
discapacidades del habla o que no tienen micrófono. Por ejemplo, Entrada de texto para permitir
que los usuarios escriban texto.
Contraste de color
Debe haber un contraste de color adecuado entre:
Image y el texto y el icono del botón (si procede)
Y esto, además de los requisitos estándar de contraste de color.
Soporte técnico para el lector de pantalla
La propiedad AccessibleLabel debe estar presente.
Control Visor de archivos PDF (experimental)
en PowerApps
06/11/2019 • 8 minutes to read
Descripción
Muestre texto, gráficos y otro contenido en un archivo PDF mediante la incorporación de este
tipo de control y estableciendo su propiedad Documento a la dirección URL, entre comillas
dobles, del archivo que desea mostrar.
Límite
1. La arquitectura de seguridad de PowerApps requiere que el visor de PDF admita solo
vínculos HTTPS, no HTTP.
2. La propiedad Document debe vincularse directamente al archivo PDF. No se admiten las
redirecciones del servidor ni las vistas HTML del documento.
3. El servidor que hospeda el documento no debe requerir autenticación.
4. Es posible que no pueda ver un documento PDF en la aplicación si el documento reside en
un servidor que tiene una configuración de uso compartido de recursos entre orígenes
(CORS ) restrictiva. Para resolver este problema, el servidor que hospeda documentos PDF
debe permitir solicitudes entre orígenes de powerapps.com.
Los usuarios de la aplicación pueden solucionar estas limitaciones abriendo documentos PDF en
un explorador externo, como se le pregunta si el control no puede abrir un documento. Esta
opción también está disponible en el menú de control para todos los documentos externos.
Los responsables de aplicaciones pueden solucionar estas limitaciones incluyendo documentos
PDF como recursos multimedia en la aplicación. De este modo, el control de PDF Viewer siempre
puede mostrar el documento.
Propiedades principales
Documento: la dirección URL entre comillas dobles, de un archivo PDF.
Propiedades adicionales
ActualZoom: el zoom real del control, que puede diferir del zoom solicitado con la propiedad
Ampliar.
BorderColor : el color de un borde del control.
BorderStyle : si el borde del control es Solid, Dashed, Dotted o None.
BorderThickness : el grosor de un borde del control.
CurrentFindText: el término de búsqueda que está en uso en ese momento.
CurrentPage: el número de la página en un archivo PDF que se está mostrando en ese
momento.
DisplayMode : indica si el control permite entradas de usuario (Edit), solo muestra datos (View)
o si está deshabilitado (Disabled).
DisabledBorderColor : el color de un borde del control si la propiedad DisplayMode del
control está establecida en Disabled.
Fill : el color de fondo de un control.
FindNext: busca la siguiente instancia de FindText en el documento.
FindPrevious: busca la instancia anterior de FindText en el documento.
FindText: el término de búsqueda para buscar en el documento.
Height : la distancia entre los bordes superior e inferior de un control.
HoverBorderColor : el color de un borde del control cuando el usuario mantiene el puntero del
mouse sobre ese control.
OnSelect : indica cómo responde la aplicación cuando el usuario toca o hace clic en un control.
OnStateChange: cómo una aplicación responde cuando cambia el estado del control.
RellenoInferior : distancia entre el texto de un control y el borde inferior de ese control.
RellenoIzquierdo : distancia entre el texto de un control y el borde izquierdo de ese control.
RellenoDerecho : distancia entre el texto de un control y el borde derecho de ese control.
RellenoSuperior : distancia entre el texto de un control y el borde superior de ese control.
Página: el número de la página que desea mostrar.
PageCount: el número de páginas en un documento.
PressedBorderColor : el color de un borde del control cuando el usuario toca o hace clic en ese
control.
MostrarControles: indica si se muestra un reproductor de audio o vídeo, por ejemplo, un botón
de reproducción y un control deslizante de volumen, y un control de entrada manuscrita muestra,
por ejemplo, iconos para dibujar, borrar y borrar todo.
Información sobre herramientas : texto explicativo que aparece cuando el usuario mantiene el
puntero sobre un control.
Visible : indica si un control aparece o está oculto.
Width : la distancia entre los bordes derecho e izquierdo de un control.
X : la distancia entre el borde izquierdo de un control y el borde izquierdo de su contenedor
primario (la pantalla si no hay un contenedor primario).
Y : la distancia entre el borde superior de un control y el borde superior de su contenedor
primario (la pantalla si no hay un contenedor primario).
Zoom: el porcentaje en que se amplía una imagen de una cámara o la vista de un archivo en un
visor de PDF.
Ejemplo
Agregue un control Visor de archivos PDF y establezca su propiedad Documento en la
dirección URL, entre comillas dobles, de un archivo PDF, como en este ejemplo:
"https://blog.mozilla.org/security/files/2015/05/HTTPS -FAQ.pdf"
El control mostrará el archivo PDF.
¿No sabe cómo agregar y configurar un control?
Directrices de accesibilidad
No todas las características de accesibilidad de los documentos PDF se admiten ya que el visor
de PDF aún se encuentra en la fase experimental. Por lo tanto, ShowControls debe establecerse
en true para permitir que los usuarios abran el documento en una aplicación externa.
Aprenda a crear documentos PDF accesibles con los estándares WCAG 2.0 y PDF/UA.
Soporte técnico para el lector de pantalla
Considere la posibilidad de agregar un encabezado mediante un control Etiqueta si el
documento PDF no tiene ningún título. El encabezado puede colocarse inmediatamente
delante del visor de PDF.
Control Entrada manuscrita en PowerApps
12/11/2019 • 7 minutes to read
Control con el que el usuario puede dibujar, borrar y resaltar áreas de una imagen.
Descripción
El usuario puede utilizar este control como una pizarra, dibujar diagramas y escribir palabras que se
pueden convertir en texto mecanografiado.
Propiedades principales
Imagen: propiedad de salida que representa la imagen dibujada por el usuario final.
Color : el color de los trazos de entrada.
Modo: el control se encuentra en modo Dibujar o Borrar. El modo Seleccionar está en desuso.
Propiedades adicionales
AccessibleLabel : etiqueta para lectores de pantalla. Puede utilizarse para describir el propósito del
control, así como métodos de entrada alternativos.
BorderColor : el color de un borde del control.
BorderStyle : si el borde del control es Solid, Dashed, Dotted o None.
BorderThickness : el grosor de un borde del control.
DisplayMode : indica si el control permite entradas de usuario (Edit), solo muestra datos (View) o si está
deshabilitado (Disabled).
Fill : el color de fondo de un control.
Height : la distancia entre los bordes superior e inferior de un control.
Input: en desuso. Si la entrada admite entradas de mouse, lápiz o táctiles. El valor predeterminado (7)
admite las tres.
OnSelect : indica cómo responde la aplicación cuando el usuario toca o hace clic en un control.
ColorDeSelección : color del texto de los elementos seleccionados en una lista o de la herramienta de
selección de un control de entrada manuscrita.
GrosorDeSelección: grosor de la herramienta de selección de un control Entrada manuscrita.
MostrarControles: indica si se muestra un reproductor de audio o vídeo, por ejemplo, un botón de
reproducción y un control deslizante de volumen, y un control de entrada manuscrita muestra, por
ejemplo, iconos para dibujar, borrar y borrar todo.
Size : el tamaño de la fuente del texto que aparece en un control.
Información sobre herramientas : texto explicativo que aparece cuando el usuario mantiene el puntero
sobre un control.
Visible : indica si un control aparece o está oculto.
Width : la distancia entre los bordes derecho e izquierdo de un control.
X : la distancia entre el borde izquierdo de un control y el borde izquierdo de su contenedor primario (la
pantalla si no hay un contenedor primario).
Y : la distancia entre el borde superior de un control y el borde superior de su contenedor primario (la
pantalla si no hay un contenedor primario).
Funciones relacionadas
Recopilar( CollectionName; DatatoCollect )
Ejemplo
Crear un conjunto de imágenes
1. Agregue un control Entrada manuscrita, asígnele el nombre MyDoodles y establezca su
propiedad MostrarControles en true.
¿No sabe cómo agregar, nombrar y configurar un control?
2. Agregue un control Botón , desplácelo bajo MyDoodles y establezca la propiedad Text del control
Botón para que muestre Agregar.
3. Establezca la propiedad AlSeleccionar del control Botón en esta fórmula:
Collect(Doodles; {Sketch:MyDoodles.Image})
4. Agregue un control Galería de imágenes, desplácelo bajo el control Botón y reduzca el ancho del
control Galería de imágenes hasta que muestre tres elementos.
5. Establezca la propiedad Elementos del control Galería de imágenes en Doodles y presione F5.
6. Dibuje una imagen en MyDoodles y pulse o haga clic en el control Botón .
La imagen que ha dibujado aparecerá en el control Galería de imágenes.
7. (opcional) En el control Entrada manuscrita, haga clic en o pulse el icono para borrar la imagen
que ha dibujado, dibuje otra y pulse o haga clic en el control Botón .
8. En el control Galería de imágenes, establezca la propiedad AlSeleccionar del control Imagen
con la siguiente fórmula:
Remove(Doodles; ThisItem )
9. Pulse o haga clic en el control Galería de imágenes para eliminar un dibujo.
Use la función SaveData para guardar los dibujos en el entorno local o la función Patch para guardarlas
en un origen de datos.
Directrices de accesibilidad
Contraste de color
Debe haber un contraste de color adecuado entre:
BorderColor y el color situado fuera del control (si hay un borde)
Fill y el color situado fuera del control (si no hay un borde)
Soporte técnico para el lector de pantalla
La propiedad AccessibleLabel debe existir.
IMPORTANT
El control Entrada manuscrita no es accesible para los usuarios de lector de pantalla. Proporcione siempre
una forma de entrada alternativa. Por ejemplo, si se requiere un boceto, considere la posibilidad de agregar
un control Agregar imagen para que los usuarios carguen una imagen. Se pueden ofrecer ambos métodos
y el usuario puede elegir el que mejor le convenga.
IMPORTANT
Entrada manuscrita no es accesible para los usuarios de teclado. Proporcione siempre una forma de entrada
alternativa. Por ejemplo, si se requiere una firma, podría agregar un control Entrada de texto para que los usuarios
escriban su nombre. Se pueden ofrecer ambos métodos y el usuario puede elegir el que mejor le convenga.
Control de gráficos circulares en PowerApps
12/11/2019 • 6 minutes to read
Descripción
Agregue un control de gráfico circular si desea que aparezcan datos relativos de una tabla que
contenga las etiquetas de la columna izquierda y valores en la segunda columna de la izquierda.
Este control es un control agrupado que contiene tres controles: un control Etiqueta para el título, el
gráfico y un control Leyenda.
Funciones relacionadas
Max( DataSource; ColumnName )
Ejemplo
1. Agregue un control Botón y establezca su propiedad OnSelect en esta fórmula:
Collect(Revenue2015; {Product:"Europa"; Revenue:27000}; {Product:"Ganymede";
Revenue:26300}; {Product:"Callisto"; Revenue:29200})
¿No sabe cómo agregar y configurar un control?
¿Desea más información sobre la función Recopilar u otras funciones?
2. Presione F5, pulse o haga clic en el control Botón y presione Esc para volver al área de trabajo
predeterminada.
3. Agregue un control de gráfico circular y establezca su propiedad Elementos en Revenue2015.
El control de gráfico circular muestra los datos de ingresos para cada producto en relación con
los demás.
Directrices de accesibilidad
Contraste de color
Debe haber un contraste de color adecuado entre:
Cada elemento de ItemColorSet
Cada elemento de ItemColorSet y el color de fondo
La propiedad Color y el color de fondo
Soporte técnico para el lector de pantalla
Debe haber un control Etiqueta inmediatamente delante del gráfico para que sirva de título.
NOTE
Los gráficos y el control Leyenda están ocultos para los usuarios de lector de pantalla. Como alternativa,
se les presenta los datos en formato tabular. También pueden recorrer los botones que seleccionan datos
en el gráfico.
NOTE
Cuando los usuarios de teclado se desplazan al gráfico, pueden recorrer los botones que seleccionan
datos del gráfico.
Control Icono de Power BI en PowerApps
06/11/2019 • 6 minutes to read
Descripción
Para sacar provecho de las funciones de informes y análisis de datos existentes, muestre sus iconos de Power BI
dentro de las aplicaciones. Especifique el icono que quiere mostrar mediante el establecimiento de sus
propiedades Workspace, Dashboard y Tile en la pestaña Datos del panel de opciones.
Rendimiento
No se recomienda tener más de tres iconos de Power BI cargados al mismo tiempo dentro de una aplicación.
Puede controlar la carga y descarga de iconos si establece la propiedad LoadPowerBIContent.
Pasar un parámetro
Al pasar un solo parámetro de la aplicación, puede filtrar los resultados que aparecen en un icono de Power BI. Sin
embargo, solo se admiten valores de cadena y el operador Equals, y es posible que el filtro no funcione si el
nombre de tabla o el nombre de columna contiene espacios.
Para pasar un valor de filtro único, modifique el valor de la propiedad TileURL , que sigue esta sintaxis:
"https://app.powerbi.com/embed?dashboardId=<DashboardID>&tileId=<TileID>&config=<SomeHash>"
&$filter=<TableName>/<ColumnName> eq '<Value>'
El parámetro filtrará un valor en el conjunto de DataSet del informe en el que se origina el icono.
Propiedades principales
Área de trabajo: área de trabajo de Power BI de dónde procede el mosaico.
Panel: panel de Power BI de dónde procede el mosaico.
Tile: nombre del icono de Power BI que quiere mostrar.
LoadPowerBIContent: cuando se establece en true, el contenido de Power BI se carga y se muestra. Cuando se
establece en false, el contenido de Power BI se descarga, lo que libera memoria y optimiza el rendimiento.
Propiedades adicionales
BorderColor : el color de un borde del control.
BorderStyle : si el borde del control es Solid, Dashed, Dotted o None.
BorderThickness : el grosor de un borde del control.
DisplayMode : indica si el control permite entradas de usuario (Edit), solo muestra datos (View) o si está
deshabilitado (Disabled).
Height : la distancia entre los bordes superior e inferior de un control.
OnSelect : indica cómo responde la aplicación cuando el usuario toca o hace clic en un control. De forma
predeterminada, se abre el informe de Power BI asociado al icono.
TileUrl: dirección URL por medio de la cual se solicita un icono desde el servicio Power BI. Puede pasar un
parámetro único en el icono de Power BI si anexa el parámetro a la dirección URL (por ejemplo:… &
"&$filter=Town/Province eq '" & ListBox1.Selected.Abbr & "'"). Solo puede usar el operador equals en el
parámetro.
Visible : indica si un control aparece o está oculto.
Width : la distancia entre los bordes derecho e izquierdo de un control.
X : la distancia entre el borde izquierdo de un control y el borde izquierdo de su contenedor primario (la pantalla si
no hay un contenedor primario).
Y : la distancia entre el borde superior de un control y el borde superior de su contenedor primario (la pantalla si
no hay un contenedor primario).
Ejemplo
1. En la pestaña Insertar, abra el menú Controles y luego agregue un control Icono de Power BI.
¿No sabe cómo agregar y configurar un control?
2. En la pestaña Datos del panel de opciones, pulse o haga clic en My Workspace como valor de
Workspace.
3. Seleccione un panel en la lista de paneles y luego seleccione un icono en la lista de iconos.
El control representa el icono de Power BI.
Directrices de accesibilidad
El icono de Power BI es simplemente un contenedor de contenido de Power BI. Aprenda a crear contenido
accesible con estas sugerencias de accesibilidad de Power BI.
Si el contenido de Power BI no tiene un icono, considere la posibilidad de agregar un encabezado mediante un
control Etiqueta para admitir lectores de pantalla. Puede colocar la etiqueta inmediatamente delante del icono de
Power BI.
Control Radio en PowerApps
12/11/2019 • 9 minutes to read
Control de entrada que muestra varias opciones entre las que los usuarios pueden seleccionar
solo una cada vez.
Descripción
Un control de radio, un control de entrada HTML estándar, se aprovecha mejor con solo unas
cuantas opciones mutuamente excluyentes.
El control puede tener un diseño horizontal o vertical.
Propiedades principales
Default : el valor de un control antes de que el usuario lo cambie.
Elementos : origen de datos que aparece en un control, como una galería, una lista o un gráfico.
Layout: indica si las opciones se disponen en vertical u horizontal.
Valor : el valor de un control de entrada.
Seleccionado : el registro de datos que representa el elemento seleccionado.
Ejemplo
1. Agregue un control Radio, asígnele el nombre Pricing y establezca su propiedad
Elementos en esta fórmula:
["Standard"; "Premium"]
¿No sabe cómo agregar, nombrar y configurar un control?
3. Mientras mantiene presionada la tecla Alt, seleccione alguna opción del control de radio.
El control Etiqueta muestra el texto adecuado para su elección.
4. (Opcional) Mientras mantiene presionada la tecla Alt, seleccione la otra opción para
confirmar que aparece el texto adecuado.
Directrices de accesibilidad
Contraste de color
Además de los requisitos de contraste de color estándar, asegúrese de que haya un contraste de
color adecuado entre:
RadioSelectionFill y RadioBackgroundFill
RadioBackgroundFill y Fill
Compatibilidad con el lector de pantalla
Asegúrese de que cada opción tenga un valor .
Podría también agregar un control Etiqueta inmediatamente delante del control Radio para
que actúe como encabezado.
Compatibilidad con el teclado
Establezca la propiedad TabIndex en cero o superior para que los usuarios del teclado
puedan desplazarse hasta él.
Establezca las propiedades FocusedBorderColor y FocusedBorderThickness para que los
indicadores de foco sean claramente visibles.
Control Clasificación en PowerApps
12/11/2019 • 6 minutes to read
Un control con el que los usuarios pueden indicar un valor comprendido entre 1 y el número máximo que
especifique.
Descripción
En este control el usuario puede indicar, por ejemplo, cuánto le ha gustado algo seleccionando un cierto
número de estrellas.
Propiedades principales
Predeterminado : el valor inicial de un control antes de que lo cambie el usuario.
Max: el valor máximo para el que el usuario puede establecer un control deslizante o una clasificación.
Propiedades adicionales
AccessibleLabel : etiqueta para lectores de pantalla.
BorderColor : el color de un borde del control.
BorderStyle : si el borde del control es Solid, Dashed, Dotted o None.
BorderThickness : el grosor de un borde del control.
DisplayMode : indica si el control permite entradas de usuario (Edit), solo muestra datos (View) o si está
deshabilitado (Disabled).
Fill : el color de fondo de un control.
FocusedBorderColor : el color del borde de un control cuando el control recibe el foco.
FocusedBorderThickness : el grosor del borde de un control cuando el control recibe el foco.
Height : la distancia entre los bordes superior e inferior de un control.
AlCambiar : indica cómo responde la aplicación cuando el usuario cambia el valor de un control (por
ejemplo, mediante el ajuste de un control deslizante).
OnSelect : indica cómo responde la aplicación cuando el usuario toca o hace clic en un control.
RellenoDeClasificación: el color de las estrellas de un control de clasificación.
ReadOnly: indica si un usuario puede cambiar el valor de un control deslizante o el control de clasificación.
Reset : indica si un control vuelve a su valor predeterminado.
MostrarValor: indica si el valor de un control deslizante o una clasificación aparece cuando el usuario
cambia ese valor o mantiene el puntero sobre el control.
TabIndex : orden de navegación del teclado en relación con otros controles.
Información sobre herramientas : texto explicativo que aparece cuando el usuario mantiene el puntero
sobre un control.
Visible : indica si un control aparece o está oculto.
Width : la distancia entre los bordes derecho e izquierdo de un control.
X : la distancia entre el borde izquierdo de un control y el borde izquierdo de su contenedor primario (la
pantalla si no hay un contenedor primario).
Y : la distancia entre el borde superior de un control y el borde superior de su contenedor primario (la
pantalla si no hay un contenedor primario).
Funciones relacionadas
Average( Value1; Value2; ... )
Ejemplo
1. Agregue un control Clasificación y llámelo Cuantitativo.
¿No sabe cómo agregar, nombrar y configurar un control?
2. Agregue un control Entrada de texto , denomínelo Cualitativo, y muévalo debajo del control
Clasificación.
3. Establezca la propiedad Default del control Entrada de texto en "" y establezca su
TextoDeSugerencia en esta fórmula:
If(Quantitative.Value > 3; "¿qué le gustó especialmente?"; "¿cómo podemos mejorar?")
¿Desea más información sobre la función If u otras funciones?
Directrices de accesibilidad
Contraste de color
Debe haber un contraste de color adecuado entre:
RatingFill y Fill
Y esto, además de los requisitos estándar de contraste de color.
Soporte técnico para el lector de pantalla
La propiedad AccessibleLabel debe estar presente.
NOTE
Los lectores de pantalla tratan el control Clasificación como botones de radio.
NOTE
Las mismas interacciones de teclado para los botones de radio se pueden emplear en Clasificación.
Control de editor de texto enriquecido en
PowerApps
29/11/2019 • 4 minutes to read
Permite a los usuarios finales dar formato al texto dentro de un área de edición WYSIWYG. El formato de salida es
HTML.
Descripción
El control Editor de texto enriquecido proporciona al usuario de la aplicación un área de edición WYSIWYG
para dar formato al texto. El formato de entrada y salida del control es HTML.
El control permite pegar texto enriquecido copiado (es decir, desde el explorador web o Word) en el control.
El uso previsto del control consiste en dar formato al texto y no garantiza que se conserve la integridad de la
entrada HTML. El editor eliminará todas las etiquetas de script, estilo, objeto y otras que puedan ser
comprometedoras. Esto significa que si el texto enriquecido se creó fuera de PowerApps, es posible que no tenga el
mismo aspecto que en el producto en el que se creó.
Entre las características admitidas actualmente se incluyen las siguientes:
Negrita, cursiva, subrayado
Color del texto, color de resaltado
Tamaño del texto
Listas numeradas, listas de viñetas
Hipervínculos
Borrar formato
Para usar el control dentro de un formulario, seleccione la tarjeta "Editar texto multilínea" y personalícela
insertando el control Editor de texto enriquecido.
Propiedades principales
Default : propiedad de entrada para el valor de texto inicial que se muestra en el editor.
HtmlText: propiedad de salida para el texto enriquecido resultante en formato HTML.
Propiedades adicionales
AccessibleLabel : etiqueta para lectores de pantalla. Debe describir el fin de los datos adjuntos.
DisplayMode : indica si el control permite agregar y eliminar archivos (Edit), solo muestra datos (View) o si está
deshabilitado (Disabled).
EnableSpellCheck : indica si está habilitado el corrector ortográfico del explorador. Tenga en cuenta que esta
funcionalidad solo proporcionará la revisión ortográfica en el idioma predeterminado del explorador. Power apps
para Windows no admite esta propiedad.
Height : la distancia entre los bordes superior e inferior de un control.
TabIndex : orden de navegación del teclado en relación con otros controles.
Visible : indica si un control está visible u oculto.
Width : la distancia entre los bordes derecho e izquierdo de un control.
X : la distancia entre el borde izquierdo de un control y el borde izquierdo de su contenedor primario (la pantalla si
no hay un contenedor primario).
Y : la distancia entre el borde superior de un control y el borde superior de su contenedor primario (la pantalla si
no hay un contenedor primario).
Directrices de accesibilidad
Soporte técnico para el lector de pantalla
La propiedad AccessibleLabel debe estar presente.
Compatibilidad con el teclado
La propiedad TabIndex debe ser cero o superior para que los usuarios del teclado puedan desplazarse hasta él.
TIP
Use Alt + 0 mientras el editor está centrado para obtener información sobre otros métodos abreviados de teclado.
Control Pantalla en PowerApps
08/10/2019 • 6 minutes to read
Elemento de la interfaz de usuario que contiene uno o más controles de una aplicación.
Descripción
La mayoría de las aplicaciones tienen varios controles Pantalla que contienen controles Etiqueta ,
Botón y otros controles que muestran los datos y son compatibles con la navegación. Para obtener
información sobre cómo agregar una pantalla, cambiar el orden de las pantallas y configurar la
navegación, consulte Agregar una pantalla.
Propiedades principales
ImagenDeFondo : nombre de un archivo de imagen que aparece en el fondo de una pantalla.
Fill : el color de fondo de un control.
Propiedades adicionales
Height : el alto de la pantalla. Si la aplicación responde (escalar para ajustarse a está desactivada) y
el dispositivo en el que se ejecuta la aplicación es menor que esta propiedad, la pantalla se puede
desplazar verticalmente.
PosiciónDeLaImagen : posición (Rellenar, Ajustar, Estirar, Icono o Centrar) de una imagen en una
pantalla o un control, si no tiene el mismo tamaño que la imagen.
Nombre : el nombre de la pantalla.
AlEstarOculto: el comportamiento de una aplicación cuando el usuario navega fuera de una pantalla.
AlEstarVisible: el comportamiento de una aplicación cuando el usuario navega a una pantalla. Utilice
esta propiedad para configurar las variables y cargar previamente los datos usados por la pantalla. Use
la propiedad app. OnStart para configurarla una vez cuando se inicie la aplicación.
Orientación : la orientación de la pantalla. Si su ancho es mayor que su alto, la orientación será
layout. horizontal; de lo contrario, será layout. vertical.
Tamaño : un entero positivo que clasifica el tamaño de la pantalla. La clasificación se determina
comparando la propiedad width de la pantalla con los valores de la propiedad app. SizeBreakpoints .
El tipo ScreenSize consta de cuatro valores (pequeño, mediano, grandey extragrande) que
corresponden a los enteros comprendidos entre 1 y 4.
Ancho : el ancho de la pantalla. Si la aplicación responde (escalar para ajustarse a está desactivada)
y el dispositivo en el que se ejecuta la aplicación es más estrecho que esta propiedad, la pantalla se
puede desplazar horizontalmente.
Funciones relacionadas
Distinct( DataSource; ColumnName )
Ejemplo
1. Agregue un control Radio , asígnele el nombre ScreenFills y establezca su propiedad
Elementos en este valor:
["Red"; "Green"]
2. Asigne al control Pantalla predeterminado el nombre Source, agregue otro control Pantalla y
asígnele el nombre Target.
3. En origen, agregue un control forma (como una flecha) y establezca su propiedad
alseleccionar en esta fórmula:
Navigate(Target; ScreenTransition.Fade)
Directrices de accesibilidad
Contraste de color
Cuando la pantalla es de hecho el fondo del texto, debe haber un contraste de color adecuado entre:
Fill y el texto
BackgroundImage y el texto (si procede)
Por ejemplo, si un control Pantalla contiene un control Etiqueta y esta tiene relleno transparente, la
propiedad Fill de la pantalla se convierte de hecho en el color de fondo de la etiqueta.
Además de texto, podría también comprobar el contraste de color con objetos gráficos esenciales como
las imágenes de estrella de un control Clasificación .
Soporte técnico para el lector de pantalla
Debe haber un nombre significativo para cada pantalla. El nombre de la pantalla se puede ver y
editar de la misma manera que otros controles: en la vista de árbol del panel de controles o en el
encabezado del panel de propiedades.
NOTE
Cuando se carga una nueva pantalla, los lectores de pantalla anunciarán su nombre.
Controles Forma e Icon de PowerApps
12/11/2019 • 7 minutes to read
Gráficos para los que puede configurar las propiedades de aspecto y comportamiento.
Descripción
Estos controles incluyen flechas, formas geométricas, iconos de acción y símbolos para los que puede
configurar propiedades como el relleno, el tamaño y la ubicación. También puede configurar su
propiedad alseleccionar para que la aplicación responda si el usuario selecciona el control.
Propiedades adicionales
AccessibleLabel : etiqueta para lectores de pantalla.
DisplayMode : indica si el control permite entradas de usuario (Edit), solo muestra datos (View) o
si está deshabilitado (Disabled).
FocusedBorderColor : el color del borde de un control cuando el control recibe el foco.
FocusedBorderThickness : el grosor del borde de un control cuando el control recibe el foco.
Height : la distancia entre los bordes superior e inferior de un control.
HoverFill : el color de fondo de un control cuando el usuario mantiene el puntero del mouse sobre
él.
PressedBorderColor : el color del borde de un control cuando el usuario selecciona ese control.
PressedFill : el color de fondo de un control cuando el usuario selecciona ese control.
TabIndex : orden de navegación del teclado en relación con otros controles.
Visible : indica si un control aparece o está oculto.
Width : la distancia entre los bordes derecho e izquierdo de un control.
X : la distancia entre el borde izquierdo de un control y el borde izquierdo de su contenedor primario
(la pantalla si no hay un contenedor primario).
Y : la distancia entre el borde superior de un control y el borde superior de su contenedor primario
(la pantalla si no hay un contenedor primario).
Funciones relacionadas
Navegar( NombrePantalla; TransiciónDePantalla )
Ejemplo
1. Asigne al control Pantalla predeterminado el nombre Target, agregue un control Etiqueta y
establezca su propiedad Texto para que muestre Target.
¿No sabe cómo agregar y configurar un control?
Directrices de accesibilidad
Contraste de color
Lo siguiente se aplica solo a gráficos que se usan como botones o no solo como decoración.
Para los iconos:
Color y Fill
Se aplican otros requisitos de contraste de color estándar (si se usan como botón)
Para las formas con bordes:
BorderColor y el color fuera del control
FocusedBorderColor y el color fuera del control (si se usa como botón)
Para las formas sin bordes:
Fill y el color fuera del control
PressedFill y el color fuera del control (si se usa como botón)
HoverFill y el color fuera del control (si se usa como botón)
Compatibilidad con el lector de pantalla
Propiedad accessiblelabel debe establecerse en una cadena que no esté vacía si el gráfico
se utiliza como botón o no solo para la decoración.
Propiedad accessiblelabel debe estar vacío o la cadena vacía "" si el gráfico proporciona
información redundante o es meramente para la decoración. Este valor hace que los lectores
de pantalla omitan el gráfico.
Por ejemplo, puede establecer la propiedad propiedad accessiblelabel de un icono de
configuración en configuración. Este icono no se utiliza como botón. Está junto a una etiqueta
que también indica la configuración. Los lectores de pantalla leerán el icono y la etiqueta como
configuración, que es innecesariamente detallado. En este caso, el icono no necesita un propiedad
accessiblelabel .
IMPORTANT
Los lectores de pantalla leerán un icono o forma como botón si su propiedad accessiblelabel se establece
en una cadena vacía y su TabIndex se establece en cero o más. Estos iconos o formas se representan como
botones.
NOTE
Cuando TabIndex es cero o mayor, el icono o forma se representa como un botón. Su apariencia no
cambia, pero los lectores de pantalla identificarán correctamente la imagen como un botón. Cuando
TabIndex es menor que cero, el icono o forma se identifica como una imagen.
Control deslizante en PowerApps
12/11/2019 • 9 minutes to read
Descripción
El usuario puede indicar un valor comprendido entre un valor mínimo y un máximo que puede
especificar arrastrando el controlador de un control deslizante de derecha a izquierda o de arriba a
abajo, dependiendo de la dirección que desee.
Propiedades principales
Predeterminado : el valor inicial de un control antes de que lo cambie el usuario.
Max: el valor máximo para el que el usuario puede establecer un control deslizante o una
clasificación.
Max: el valor mínimo para el que el usuario puede establecer un control deslizante.
Valor : el valor de un control de entrada.
Propiedades adicionales
AccessibleLabel : etiqueta para lectores de pantalla.
BorderColor : el color de un borde del control.
BorderStyle : si el borde del control es Solid, Dashed, Dotted o None.
BorderThickness : el grosor de un borde del control.
DisplayMode : indica si el control permite entradas de usuario (Edit), solo muestra datos (View) o
si está deshabilitado (Disabled).
DisabledBorderColor : el color de un borde del control si la propiedad DisplayMode del control
está establecida en Disabled.
FocusedBorderColor : el color del borde de un control cuando el control recibe el foco.
FocusedBorderThickness : el grosor del borde de un control cuando el control recibe el foco.
RellenoDeControladorActivo: el color del controlador de un control deslizante cuando el usuario
cambia el valor.
RellenoDeControlador: el color del controlador (el elemento que cambia de posición) en un
control de alternancia o control deslizante.
RellenoDeControladorAlMantener: el color del texto del controlador cuando el usuario
mantiene el puntero sobre él.
HandleSize: el diámetro del controlador.
Height : la distancia entre los bordes superior e inferior de un control.
HoverBorderColor : el color de un borde del control cuando el usuario mantiene el puntero del
mouse sobre ese control.
Layout: indica si el usuario se desplaza por la galería o ajusta un control deslizante de arriba a
abajo (Vertical) o de izquierda a derecha (Horizontal).
AlCambiar : indica cómo responde la aplicación cuando el usuario cambia el valor de un control
(por ejemplo, mediante el ajuste de un control deslizante).
OnSelect : indica cómo responde la aplicación cuando el usuario toca o hace clic en un control.
PressedBorderColor : el color de un borde del control cuando el usuario toca o hace clic en ese
control.
RellenoDeRaíl: color de fondo del rectángulo en un control Alternar cuando su valor es false o
color de la línea a la derecha del identificador en un control deslizante.
RellenoRaílAlMantenerPuntero: al mantener el puntero sobre un control Alternar o deslizante,
color de fondo del rectángulo del primero cuando su valor es false o color de la línea a la derecha
del identificador del segundo.
ReadOnly: indica si un usuario puede cambiar el valor de un control deslizante o el control de
clasificación.
Reset : indica si un control vuelve a su valor predeterminado.
MostrarValor: indica si el valor de un control deslizante o una clasificación aparece cuando el
usuario cambia ese valor o mantiene el puntero sobre el control.
TabIndex : orden de navegación del teclado en relación con otros controles.
Información sobre herramientas : texto explicativo que aparece cuando el usuario mantiene el
puntero sobre un control.
RellenoDeValor: color de fondo del rectángulo en un control Alternar cuando su valor es true o
color de la línea a la izquierda del identificador en un control deslizante.
RellenoValorAlMantenerPuntero: al mantener el puntero del mouse sobre un control Alternar o
Control deslizante, color de fondo del rectángulo del primero cuando su valor es true o color de la
línea a la izquierda del identificador del segundo.
Visible : indica si un control aparece o está oculto.
Width : la distancia entre los bordes derecho e izquierdo de un control.
X : la distancia entre el borde izquierdo de un control y el borde izquierdo de su contenedor
primario (la pantalla si no hay un contenedor primario).
Y : la distancia entre el borde superior de un control y el borde superior de su contenedor primario
(la pantalla si no hay un contenedor primario).
Funciones relacionadas
Sum ( Value1; Value2 )
Ejemplo
1. Agregue un botón y establezca su propiedad OnSelect en esta fórmula:
ClearCollect(CityPopulations; {City:"London"; Country:"United Kingdom";
Population:8615000}; {City:"Berlin"; Country:"Germany"; Population:3562000};
{City:"Madrid"; Country:"Spain"; Population:3165000}; {City:"Rome";
Country:"Italy"; Population:2874000}; {City:"Paris"; Country:"France";
Population:2273000}; {City:"Hamburg"; Country:"Germany"; Population:1760000};
{City:"Barcelona"; Country:"Spain"; Population:1602000}; {City:"Munich";
Country:"Germany"; Population:1494000}; {City:"Milan"; Country:"Italy";
Population:1344000})
¿No sabe cómo agregar, nombrar y configurar un control?
¿Desea más información sobre la función ClearCollect u otras funciones?
Directrices de accesibilidad
Contraste de color
Debe haber un contraste de color adecuado entre:
ValueFill y RailFill
ValueHoverFill y RailHoverFill
FocusedBorderColor y el color situado fuera del control
ValueFill y el color de fondo
RailFill y el color de fondo
ValueHoverFill y el color de fondo
RailHoverFill y el color de fondo
Soporte técnico para el lector de pantalla
La propiedad AccessibleLabel debe estar presente.
Compatibilidad con el teclado
La propiedad TabIndex debe ser cero o superior para que los usuarios del teclado puedan
desplazarse hasta él.
Los indicadores de foco deben ser claramente visibles. Use FocusedBorderColor y
FocusedBorderThickness para conseguirlo.
El valor del control deslizante se debe mostrar al interactuar con el teclado. Esto puede lograrse
mediante cualquiera de estos métodos:
Establezca ShowValue en true.
Agregue un control Etiqueta adyacente al control deslizante. Establezca la propiedad
Text de la etiqueta en la propiedad Value del control deslizante.
Control de etiqueta en
aplicaciones de lienzo
12/11/2019 • 13 minutes to read
Descripción
En una etiqueta se muestran datos que se especifican como
una cadena literal de texto, que aparece exactamente igual
que se escribe o como una fórmula que se analiza como
cadena de texto. Las etiquetas suelen aparecer fuera de
cualquier otro control (por ejemplo, como encabezado que
identifica una pantalla), como una etiqueta que identifica
otro control (por ejemplo, un control de clasificación o de
audio) o en una galería para mostrar un tipo específico de
información sobre un elemento.
Propiedades principales
Autoheight : establézcalo en true para permitir que la
etiqueta crezca automáticamente su alto para mostrar todo
el texto. Establézcalo en false para truncar el texto con el
alto asignado.
Color : el color del texto en un control.
Font : el nombre de la familia de fuentes en la que aparece
el texto.
Text : texto que aparece en un control o que el usuario
escribe en un control.
DelayOutput : establézcalo en true para retrasar la acción
durante la entrada de texto.
Propiedades adicionales
Align : la ubicación del texto respecto al centro horizontal
de su control.
AutoHeight: indica si una etiqueta aumenta
automáticamente su propiedad Altura si su propiedad
Texto contiene más caracteres de los que el control permite
mostrar a la vez.
BorderColor : el color de un borde del control.
BorderStyle : si el borde del control es Solid, Dashed,
Dotted o None.
BorderThickness : el grosor de un borde del control.
DisplayMode : indica si el control permite entradas de
usuario (Edit), solo muestra datos (View) o si está
deshabilitado (Disabled).
DisabledBorderColor : el color de un borde del control si
la propiedad DisplayMode del control está establecida en
Disabled.
DisabledColor : el color del texto en un control si su
propiedad DisplayMode está establecida en Disabled.
DisabledFill : el color de fondo de un control si su
propiedad DisplayMode está establecida en Disabled.
Fill : el color de fondo de un control.
FocusedBorderColor : el color del borde de un control
cuando el control recibe el foco.
FocusedBorderThickness : el grosor del borde de un
control cuando el control recibe el foco.
FontWeight : el peso del texto en un control: Bold,
Semibold, Normal o Lighter.
Height : la distancia entre los bordes superior e inferior de
un control.
HoverBorderColor : el color de un borde del control
cuando el usuario mantiene el puntero del mouse sobre ese
control.
HoverColor : el color del texto de un control cuando el
usuario mantiene el puntero del mouse sobre él.
HoverFill : el color de fondo de un control cuando el
usuario mantiene el puntero del mouse sobre él.
Italic : indica si el texto de un control está en cursiva.
AlturaDeLínea : distancia entre, por ejemplo, líneas de
texto o elementos de una lista.
Live : Cómo anuncia un lector de pantalla los cambios en el
valor de la propiedad Text de la etiqueta.
Cuando se establece en OFF, el lector de pantalla no
anuncia cambios.
Cuando se establece en educado, el lector de pantalla
termina de hablar antes de anunciar los cambios que se
produjeron mientras estaba hablando el lector de
pantalla.
Cuando se establece en assertive, el lector de pantalla
se interrumpe para anunciar los cambios que se
produjeron mientras estaba hablando el lector de
pantalla.
OnSelect : indica cómo responde la aplicación cuando el
usuario toca o hace clic en un control.
Desbordamiento: indica si aparece una barra de
desplazamiento en una etiqueta si su propiedad Ajustar
está establecida en true y el valor de la propiedad Texto
del control contiene más caracteres de los que el control
permite mostrar a la vez.
RellenoInferior : distancia entre el texto de un control y el
borde inferior de ese control.
RellenoIzquierdo : distancia entre el texto de un control y
el borde izquierdo de ese control.
RellenoDerecho : distancia entre el texto de un control y el
borde derecho de ese control.
RellenoSuperior : distancia entre el texto de un control y el
borde superior de ese control.
PressedBorderColor : el color de un borde del control
cuando el usuario toca o hace clic en ese control.
PressedColor : el color de texto de un control cuando el
usuario toca o hace clic en ese control.
PressedFill : el color de fondo de un control cuando el
usuario toca o hace clic en ese control.
Role : el rol semántico del texto de la etiqueta, como
encabezado 1. No cambia el estilo de la etiqueta, pero hace
que la salida sea semánticamente correcta para que la
interpreten los lectores de pantalla.
Size : el tamaño de la fuente del texto que aparece en un
control.
Strikethrough : indica si aparece una línea sobre el texto
de un control.
TabIndex : orden de navegación del teclado en relación
con otros controles.
Información sobre herramientas : texto explicativo que
aparece cuando el usuario mantiene el puntero sobre un
control.
Underline : indica si aparece una línea debajo del texto de
un control.
VerticalAlign : la ubicación del texto en un control
respecto al centro vertical de ese control.
Visible : indica si un control aparece o está oculto.
Width : la distancia entre los bordes derecho e izquierdo de
un control.
Ajustar: indica si el texto que es demasiado largo para
caber en una etiqueta se ajusta a la línea siguiente.
X : la distancia entre el borde izquierdo de un control y el
borde izquierdo de su contenedor primario (la pantalla si
no hay un contenedor primario).
Y : la distancia entre el borde superior de un control y el
borde superior de su contenedor primario (la pantalla si no
hay un contenedor primario).
Funciones relacionadas
Text( Number; "FormatCodes" )
Ejemplos
Mostrar una cadena literal
Agregue una etiqueta y establezca su propiedad
Texto en "Hola, mundo" (dobles comillas
incluidas).
¿No sabe cómo agregar y configurar un control?
NOTE
Al especificar una fórmula, no use comillas, a menos
que un argumento de la misma sea una cadena literal.
En ese caso, incluya el argumento, no la fórmula, con
comillas inglesas.
Directrices de accesibilidad
A pesar de su nombre, un control Etiqueta no tiene que
usarse como etiqueta con otro control. Se puede utilizar
para mostrar cualquier fragmento de texto.
Un control Etiqueta se puede usar como botón o vínculo
mediante la especificación del comportamiento OnSelect .
Cuando se utiliza de este modo, hay algunas
consideraciones sobre accesibilidad parecidas a las que se
tienen con los botones.
Contraste de color
Debe haber un contraste de color adecuado entre:
Color y Fill
Se aplican otros requisitos estándar de contraste de
color (si se usa como botón o vínculo)
Compatibilidad con el lector de pantalla
La propiedad Text debe existir.
Live debe establecerse en educated o assertive si
un lector de pantalla debe anunciar cambios en el
valor de la propiedad Text .
NOTE
Los lectores de pantalla tratan los controles Etiqueta
como botones cuando TabIndex es cero o superior.
Descripción
El usuario puede especificar datos escribiendo en un control Entrada de
texto. Dependiendo de cómo configure la aplicación, puede que esos datos
se agreguen a un origen de datos, usado para calcular un valor temporal, o
que se incorporen de alguna otra manera.
Propiedades principales
Predeterminado : el valor inicial de un control antes de que lo cambie el
usuario.
Text : texto que aparece en un control o que el usuario escribe en un control.
Propiedades adicionales
AccessibleLabel : etiqueta para lectores de pantalla.
Align : la ubicación del texto respecto al centro horizontal de su control.
BorderColor : el color de un borde del control.
BorderStyle : si el borde del control es Solid, Dashed, Dotted o None.
BorderThickness : el grosor de un borde del control.
Clear: indica si un control Entrada de texto muestra una "X" sobre la que el
usuario puede pulsar o hacer clic para borrar el contenido de ese control.
Color : el color del texto en un control.
DelayOutput: cuando se establece en true, la entrada del usuario se registra
después de un retraso de medio segundo. Resulta útil para retrasar
operaciones costosas hasta que el usuario completa la entrada de texto (es
decir, para el filtrado cuando la entrada se utiliza en otras fórmulas).
DisplayMode : indica si el control permite entradas de usuario (Edit), solo
muestra datos (View) o si está deshabilitado (Disabled).
DisabledBorderColor : el color de un borde del control si la propiedad
DisplayMode del control está establecida en Disabled.
DisabledColor : el color del texto en un control si su propiedad
DisplayMode está establecida en Disabled.
DisabledFill : el color de fondo de un control si su propiedad
DisplayMode está establecida en Disabled.
EnableSpellCheck : indica si un control de entrada de texto debe usar la
función de corrector ortográfico del explorador. Power apps para Windows
no admite esta propiedad.
Fill : el color de fondo de un control.
FocusedBorderColor : el color del borde de un control cuando el control
recibe el foco.
FocusedBorderThickness : el grosor del borde de un control cuando el
control recibe el foco.
Font : el nombre de la familia de fuentes en la que aparece el texto.
FontWeight : el peso del texto en un control: Bold, Semibold, Normal o
Lighter.
Formato: indica si se han restringido las entradas de usuario a solo números
o a cualquier tipo de texto.
Height : la distancia entre los bordes superior e inferior de un control.
TextoDeSugerencia: texto de color gris claro que aparece en un control
Entrada de texto si está vacío.
HoverBorderColor : el color de un borde del control cuando el usuario
mantiene el puntero del mouse sobre ese control.
HoverColor : el color del texto de un control cuando el usuario mantiene el
puntero del mouse sobre él.
HoverFill : el color de fondo de un control cuando el usuario mantiene el
puntero del mouse sobre él.
Italic : indica si el texto de un control está en cursiva.
AlturaDeLínea : distancia entre, por ejemplo, las líneas de texto o los
elementos de una lista.
MaxLength: el número de caracteres que el usuario puede escribir en un
control Entrada de texto.
Mode: el control se encuentra en modo SingleLine, MultiLine o
Password.
AlCambiar : indica cómo responde la aplicación cuando el usuario cambia el
valor de un control (por ejemplo, mediante el ajuste de un control
deslizante).
OnSelect : indica cómo responde la aplicación cuando el usuario toca o hace
clic en un control.
RellenoInferior : distancia entre el texto de un control y el borde inferior de
ese control.
RellenoIzquierdo : distancia entre el texto de un control y el borde
izquierdo de ese control.
RellenoDerecho : distancia entre el texto de un control y el borde derecho
de ese control.
RellenoSuperior : distancia entre el texto de un control y el borde superior
de ese control.
PressedBorderColor : el color de un borde del control cuando el usuario
toca o hace clic en ese control.
PressedColor : el color de texto de un control cuando el usuario toca o hace
clic en ese control.
PressedFill : el color de fondo de un control cuando el usuario toca o hace
clic en ese control.
RadiusBottomLeft : el grado al que se redondea la esquina inferior
izquierda de un control.
RadiusBottomRight : el grado al que se redondea la esquina inferior
derecha de un control.
RadiusTopLeft : el grado al que se redondea la esquina superior izquierda
de un control.
RadiusTopRight : el grado al que se redondea la esquina superior derecha
de un control.
Reset : indica si un control vuelve a su valor predeterminado.
Size : el tamaño de la fuente del texto que aparece en un control.
Strikethrough : indica si aparece una línea sobre el texto de un control.
TabIndex : orden de navegación del teclado en relación con otros controles.
Información sobre herramientas : texto explicativo que aparece cuando el
usuario mantiene el puntero sobre un control.
Underline : indica si aparece una línea debajo del texto de un control.
VirtualKeyboardMode : tipo de teclado virtual, texto o numérico que
aparece en la pantalla táctil de un usuario de la aplicación. La propiedad
Format determina el valor predeterminado. La compatibilidad con
dispositivos varía. Los dispositivos que ejecutan iOS deben tener al menos la
versión 12,2. La versión recomendada de Android es 9,0 y las capacidades
de los teclados numéricos varían en los dispositivos Android. Windows 10
no admite esta propiedad.
Visible : indica si un control aparece o está oculto.
Width : la distancia entre los bordes derecho e izquierdo de un control.
X : la distancia entre el borde izquierdo de un control y el borde izquierdo de
su contenedor primario (la pantalla si no hay un contenedor primario).
Y : la distancia entre el borde superior de un control y el borde superior de
su contenedor primario (la pantalla si no hay un contenedor primario).
Funciones relacionadas
DateTimeValue( String )
Ejemplos
Recopilación de datos
1. Agregue dos controles Entrada de texto y llámelos inputFirst y
inputLast.
¿No sabe cómo agregar, nombrar y configurar un control?
Control que determina la forma en que la aplicación responde una vez transcurrido un tiempo
determinado.
Descripción
Los temporizadores, por ejemplo, determinan el tiempo que un control va a aparecer o cambian
otras propiedades de un control una vez transcurrido un tiempo determinado.
NOTE
En PowerApps Studio, los temporizadores solo se ejecutan en el modo de vista previa.
Propiedades principales
Duración: el tiempo durante el que se ejecuta un temporizador, en milisegundos. No hay valor
máximo.
AlFinalizarTemporizador: respuesta de la aplicación al finalizar la ejecución del temporizador.
Repetir: indica si un temporizador se reinicia automáticamente cuando finaliza la ejecución.
Propiedades adicionales
Align : la ubicación del texto respecto al centro horizontal de su control.
AutoPause: indica si el control de temporizador se pausa automáticamente si el usuario se
desplaza a otra pantalla.
AutoStart: indica si el control de temporizador se empieza a reproducir automáticamente cuando
el usuario se desplaza a la pantalla que contiene ese control.
BorderColor : el color de un borde del control.
BorderStyle : si el borde del control es Solid, Dashed, Dotted o None.
BorderThickness : el grosor de un borde del control.
Color : el color del texto en un control.
DisplayMode : indica si el control permite entradas de usuario (Edit), solo muestra datos (View) o
si está deshabilitado (Disabled).
DisabledBorderColor : el color de un borde del control si la propiedad DisplayMode del control
está establecida en Disabled.
DisabledColor : el color del texto en un control si su propiedad DisplayMode está establecida en
Disabled.
DisabledFill : el color de fondo de un control si su propiedad DisplayMode está establecida en
Disabled.
Fill : el color de fondo de un control.
FocusedBorderColor : el color del borde de un control cuando el control recibe el foco.
FocusedBorderThickness : el grosor del borde de un control cuando el control recibe el foco.
Font : el nombre de la familia de fuentes en la que aparece el texto.
FontWeight : el peso del texto en un control: Bold, Semibold, Normal o Lighter.
Height : la distancia entre los bordes superior e inferior de un control.
HoverBorderColor : el color de un borde del control cuando el usuario mantiene el puntero del
mouse sobre ese control.
HoverColor : el color del texto de un control cuando el usuario mantiene el puntero del mouse
sobre él.
HoverFill : el color de fondo de un control cuando el usuario mantiene el puntero del mouse sobre
él.
Italic : indica si el texto de un control está en cursiva.
OnSelect : indica cómo responde la aplicación cuando el usuario toca o hace clic en un control.
AlIniciarTemporizador: respuesta de la aplicación cuando se inicia un temporizador.
PressedBorderColor : el color de un borde del control cuando el usuario toca o hace clic en ese
control.
PressedColor : el color de texto de un control cuando el usuario toca o hace clic en ese control.
PressedFill : el color de fondo de un control cuando el usuario toca o hace clic en ese control.
Reset : indica si un control vuelve a su valor predeterminado.
Size : el tamaño de la fuente del texto que aparece en un control.
Start: indica si el temporizador se inicia.
Strikethrough : indica si aparece una línea sobre el texto de un control.
TabIndex : orden de navegación del teclado en relación con otros controles.
Text : texto que aparece en un control o que el usuario escribe en un control.
Información sobre herramientas : texto explicativo que aparece cuando el usuario mantiene el
puntero sobre un control.
Underline : indica si aparece una línea debajo del texto de un control.
Visible : indica si un control aparece o está oculto.
Width : la distancia entre los bordes derecho e izquierdo de un control.
X : la distancia entre el borde izquierdo de un control y el borde izquierdo de su contenedor
primario (la pantalla si no hay un contenedor primario).
Y : la distancia entre el borde superior de un control y el borde superior de su contenedor primario
(la pantalla si no hay un contenedor primario).
Funciones relacionadas
Refresh( DataSource )
Ejemplos
Mostrar una cuenta atrás
1. Agregue un temporizador y asígnele el nombre Countdown.
¿No sabe cómo agregar, nombrar y configurar un control?
Directrices de accesibilidad
Las mismas instrucciones para el control de botón se aplican al control de temporizador si los
usuarios pueden interactuar con él.
Temporizadores de fondo
Los temporizadores en segundo plano se ejecutan automáticamente y están ocultos. Úselos en un
rol de soporte en el que el tiempo transcurrido sea de poca interés para el usuario. Por ejemplo,
puede actualizar los datos cada minuto o mostrar un mensaje de notificación solo durante un
período de tiempo determinado.
Los temporizadores de fondo deben tener la propiedad visible establecida en false para que estén
ocultos para todos los usuarios.
Consideraciones de sincronización
Si un temporizador se ejecuta automáticamente, considere si los usuarios tienen tiempo suficiente
para leer y usar el contenido. Los usuarios de teclado y de lectura de pantalla pueden necesitar más
tiempo para reaccionar a un evento con hora.
Cualquiera de estas estrategias es suficiente:
Permite a los usuarios cancelar el evento con hora.
Permite a los usuarios ajustar el límite de tiempo antes de comenzar.
Advierta 20 segundos antes de que expire el límite de tiempo y proporcione una manera fácil de
ampliar el límite.
Algunos escenarios están exentos de estos requisitos. Aprenda más sobre las directrices de WCAG
2.0 para los límites de tiempo.
Soporte técnico para el lector de pantalla
Si un temporizador desencadena cambios en la pantalla actual, use una región activa para
indicar a los usuarios del lector de pantalla lo que ha cambiado.
NOTE
Si el temporizador está visible y en ejecución, los lectores de pantalla anunciarán el tiempo
transcurrido cada cinco segundos.
Descripción
Alternar está diseñado para las interfaces gráficas de usuario recientes pero se comporta igual que una
casilla.
Propiedades principales
Predeterminado : el valor inicial de un control antes de que lo cambie el usuario.
Valor : el valor de un control de entrada.
Propiedades adicionales
AccessibleLabel : etiqueta para lectores de pantalla.
BorderColor : el color de un borde del control.
BorderStyle : si el borde del control es Solid, Dashed, Dotted o None.
BorderThickness : el grosor de un borde del control.
DisplayMode : indica si el control permite entradas de usuario (Edit), solo muestra datos (View) o si
está deshabilitado (Disabled).
DisabledBorderColor : el color de un borde del control si la propiedad DisplayMode del control está
establecida en Disabled.
FalseFill: el color de relleno de alternancia cuando la alternancia está desactivada.
FalseHoverFill: el color de relleno al mantener de alternancia cuando la alternancia está desactivada.
FalseText: el texto que se muestra cuando la alternancia está desactivada.
Fill : el color de fondo de un control.
FocusedBorderColor : el color del borde de un control cuando el control recibe el foco.
FocusedBorderThickness : el grosor del borde de un control cuando el control recibe el foco.
HandleFill: el color de relleno del controlador de alternancia.
Height : la distancia entre los bordes superior e inferior de un control.
HoverBorderColor : el color de un borde del control cuando el usuario mantiene el puntero del mouse
sobre ese control.
AlCambiar : indica cómo responde la aplicación cuando el usuario cambia el valor de un control (por
ejemplo, mediante el ajuste de un control deslizante).
AlActivar: respuesta de una aplicación cuando el valor de una casilla o de un control Alternar cambia a
true.
OnSelect : indica cómo responde la aplicación cuando el usuario toca o hace clic en un control.
AlDesactivar: respuesta de una aplicación cuando el valor de una casilla o de un control Alternar cambia
a false.
PressedBorderColor : el color de un borde del control cuando el usuario toca o hace clic en ese control.
RellenoDeRaíl: color de fondo del rectángulo en un control Alternar cuando su valor es false o color de
la línea a la derecha del identificador en un control deslizante.
RellenoRaílAlMantenerPuntero: al mantener el puntero sobre un control Alternar o deslizante, color
de fondo del rectángulo del primero cuando su valor es false o color de la línea a la derecha del
identificador del segundo.
Reset : indica si un control vuelve a su valor predeterminado.
ShowLabel: indica si se muestra una etiqueta de texto al lado del control de alternancia.
TabIndex : orden de navegación del teclado en relación con otros controles.
TextPosition: indica si la etiqueta está a la izquierda o la derecha del control de alternancia.
Información sobre herramientas : texto explicativo que aparece cuando el usuario mantiene el puntero
sobre un control.
TrueFill: color de relleno de alternancia cuando la alternancia está activada.
TrueHoverFill: color de relleno al mantener de alternancia cuando la alternancia está activada.
TrueText: el texto que se muestra cuando la alternancia está activada.
RellenoDeValor: color de fondo del rectángulo en un control Alternar cuando su valor es true o color de
la línea a la izquierda del identificador en un control deslizante.
RellenoValorAlMantenerPuntero: al mantener el puntero del mouse sobre un control Alternar o
Control deslizante, color de fondo del rectángulo del primero cuando su valor es true o color de la línea a
la izquierda del identificador del segundo.
Visible : indica si un control aparece o está oculto.
Width : la distancia entre los bordes derecho e izquierdo de un control.
X : la distancia entre el borde izquierdo de un control y el borde izquierdo de su contenedor primario (la
pantalla si no hay un contenedor primario).
Y : la distancia entre el borde superior de un control y el borde superior de su contenedor primario (la
pantalla si no hay un contenedor primario).
Funciones relacionadas
If( Condition; Result )
Ejemplo
1. Agregue un control Alternar y asígnele el nombre MemberDiscount.
¿No sabe cómo agregar, nombrar y configurar un control?
Directrices de accesibilidad
Contraste de color
Debe haber un contraste de color adecuado entre:
HandleFill y FalseFill
HandleFill y FalseHoverFill
HandleFill y TrueFill
HandleFill y TrueHoverFill
FalseFill y el color de fuera de control
FalseHoverFill y el color de fuera de control
TrueFill y el color de fuera de control
TrueHoverFill y el color de fuera de control
Y esto, además de los requisitos estándar de contraste de color.
Soporte técnico para el lector de pantalla
La propiedad AccessibleLabel debe estar presente.
La propiedad FalseText debe existir.
La propiedad TrueText debe existir.
Apoyo para deficiencia visual
Considere la posibilidad de configurar ShowLabel como true para que los usuarios puedan
determinar rápidamente el valor de alternancia.
Compatibilidad con el teclado
La propiedad TabIndex debe ser cero o superior para que los usuarios del teclado puedan
desplazarse hasta él.
Los indicadores de foco deben ser claramente visibles. Use FocusedBorderColor y
FocusedBorderThickness para conseguirlo.
Controles Audio y Vídeo en
PowerApps
06/11/2019 • 11 minutes to read
Descripción
Un control Audio reproduce una secuencia de sonido de un archivo, una grabación de
un control Micrófono o el audio de una pista de audio de un archivo de vídeo.
Un control Vídeo reproduce una secuencia de vídeo de un archivo o de YouTube o
Azure Media Services. Opcionalmente, se pueden mostrar subtítulos cuando se
especifique.
Propiedades principales
Bucle: indica si una secuencia de audio o vídeo empieza de nuevo automáticamente en
cuanto termina de reproducirse.
Multimedia: un identificador de la secuencia que reproduce un control de audio o de
vídeo.
MostrarControles: indica si se muestra un reproductor de audio o vídeo, por ejemplo,
un botón de reproducción y un control deslizante de volumen, y un control de entrada
manuscrita muestra, por ejemplo, iconos para dibujar, borrar y borrar todo.
Propiedades adicionales
AccessibleLabel : etiqueta para lectores de pantalla. Debe ser el título de la secuencia
de vídeo o audio.
PausarAutomáticamente: indica si un clip de audio o vídeo se detiene
automáticamente si el usuario se desplaza a otra pantalla.
IniciarAutomáticamente: indica si un control de audio o vídeo empieza a reproducir
automáticamente un clip cuando el usuario navega a la pantalla que contiene ese
control.
BorderColor : el color de un borde del control.
BorderStyle : si el borde del control es Solid, Dashed, Dotted o None.
BorderThickness : el grosor de un borde del control.
ClosedCaptionsUrl: solo control de vídeo. Dirección URL del archivo de los subtítulos
en formato de WebVTT. Ambas direcciones URL, la del vídeo y la de los subtítulos,
deben ser HTTPS. El servidor que hospede los archivos de vídeo y los subtítulos debe
tener CORS habilitado.
DisplayMode : indica si el control permite entradas de usuario (Edit), solo muestra
datos (View) o si está deshabilitado (Disabled).
Fill : el color de fondo de un control.
FocusedBorderColor : el color del borde de un control cuando el control recibe el
foco.
FocusedBorderThickness : el grosor del borde de un control cuando el control recibe
el foco.
Height : la distancia entre los bordes superior e inferior de un control.
Imagen : el nombre de la imagen que aparece en un control de imagen, audio o
micrófono.
PosiciónDeLaImagen : posición (Rellenar, Ajustar, Estirar, Icono o Centrar) de
una imagen en una pantalla o un control, si no tiene el mismo tamaño que la imagen.
AlFinalizar: indica cómo una aplicación responde cuando finaliza la reproducción de
una secuencia de audio o de vídeo.
AlPausar: indica cómo responde una aplicación cuando el usuario pausa la secuencia
que está reproduciendo un control de audio o de vídeo.
AlIniciar: indica cómo la aplicación responde cuando el usuario comienza a grabar
con un control de micrófono.
Paused: true si un control de reproducción multimedia está actualmente en pausa, de
lo contrario false.
Reset : indica si un control vuelve a su valor predeterminado.
Inicio: indica si se reproduce un clip de audio o vídeo.
HoraDeInicio: la hora después del inicio de una secuencia de audio o de vídeo
cuando la secuencia empieza a reproducirse.
Time: posición actual del control multimedia.
TabIndex : orden de navegación del teclado en relación con otros controles.
Información sobre herramientas : texto explicativo que aparece cuando el usuario
mantiene el puntero sobre un control.
Visible : indica si un control aparece o está oculto.
Width : la distancia entre los bordes derecho e izquierdo de un control.
X : la distancia entre el borde izquierdo de un control y el borde izquierdo de su
contenedor primario (la pantalla si no hay un contenedor primario).
Y : la distancia entre el borde superior de un control y el borde superior de su
contenedor primario (la pantalla si no hay un contenedor primario).
Funciones relacionadas
First( TableName )
Ejemplos
Reproducir un archivo de audio o de vídeo
1. En el menú Archivo, pulse o haga clic en Multimedia, pulse o haga clic en
Vídeos o Audio y, luego, pulse o haga clic en Examinar.
2. Busque el archivo que desea usar, pulse o haga clic en él y, luego, pulse o haga
clic en Abrir.
3. Presione Esc para volver al área de trabajo predeterminada, agregue un control
Audio o Vídeo y establezca su propiedad Multimedia en el archivo que ha
agregado.
¿No sabe cómo agregar y configurar un control?
TIP
El botón de reproducción del control Vídeo aparece cuando mantiene el puntero
sobre el control.
Directrices de accesibilidad
Alternativas de audio y vídeo
ShowControls debe configurarse en true para que los usuarios puedan escuchar o
ver elementos multimedia a su propio ritmo. Esto también permite a los usuarios
activar o desactivar subtítulos y el modo de pantalla completa en los reproductores
de vídeo.
Deben proporcionarse subtítulos para los vídeos.
En el caso de los vídeos de YouTube, utilice las herramientas de creación
proporcionadas por YouTube para agregar subtítulos.
Para otros vídeos, cree subtítulos en formato WebVTT, cárguelos y configure
el valor ClosedCaptionsUrl con la ubicación de la dirección URL. Existen
varias limitaciones. Es necesario que los servidores que hospedan vídeo y
subtítulos estén habilitados para CORS y los controlen mediante el
protocolo HTTPS. Los subtítulos no funcionan en Internet Explorer.
Considere la posibilidad de proporcionar una transcripción de audio o vídeo con
uno de estos métodos:
1. Ponga el texto en un elemento Label y colóquelo junto al reproductor
multimedia. Opcionalmente, puede crear un elemento Button para alternar
la presentación del texto.
2. Coloque el texto en otra pantalla. Cree un elemento Button que vaya a la
pantalla y colóquelo junto al reproductor multimedia.
3. Si la descripción es breve, puede colocarse en AccessibleLabel .
Contraste de color
Debe haber un contraste de color adecuado entre:
FocusedBorderColor y el color exterior
Image y los controles del reproductor multimedia (si procede)
Fill y los controles del reproductor multimedia (si el relleno está visible)
Proporcione subtítulos o transcripción si el contenido de vídeo tiene problemas de
contraste de color.
Soporte técnico para el lector de pantalla
La propiedad AccessibleLabel debe estar presente.
Compatibilidad con el teclado
La propiedad TabIndex debe ser cero o superior para que los usuarios del teclado
puedan desplazarse hasta él.
Los indicadores de foco deben ser claramente visibles. Use FocusedBorderColor y
FocusedBorderThickness para conseguirlo.
AutoStart debe ser false porque puede ser difícil para los usuarios del teclado
detener la reproducción rápidamente.
Código de barras Web: control de escáner
(experimental) en PowerApps
12/11/2019 • 5 minutes to read
El control de exploración de código de barras heredado, que está obsoleto, pero podría ser útil para examinar
códigos en un explorador Web.
Descripción
El control muestra la fuente de la cámara en la aplicación para que los usuarios puedan examinar códigos de
barras en todos los dispositivos. El control está obsoleto debido a un rendimiento deficiente y el control de
escáner de código de barras móvil reemplaza a este control.
Propiedades principales
escáner de código de barras: en un dispositivo que tenga más de un escáner de códigos de barras, el
identificador numérico del escáner de códigos de barras que usa la aplicación.
Propiedades adicionales
AccessibleLabel : etiqueta para lectores de pantalla.
BorderColor : el color de un borde del control.
BorderStyle : si el borde del control es Solid, Dashed, Dotted o None.
BorderThickness : el grosor de un borde del control.
DisplayMode : indica si el control permite entradas de usuario (Edit), solo muestra datos (View) o si está
deshabilitado (Disabled).
Height : la distancia entre los bordes superior e inferior de un control.
ShowLiveBarcodeDetection: indica si se muestran indicaciones visuales para señalar el estado de la detección
de códigos de barras. Los rectángulos amarillos representan áreas que se van a examinar. Una línea verde que
atraviesa un rectángulo indica la identificación correcta del código de barras.
Stream: la imagen se actualiza automáticamente en la propiedad TasaSecuencia.
TasaSecuencia: la frecuencia de actualización de la imagen en la propiedad Stream, en milisegundos. Este valor
puede oscilar entre 100 (1/10 centésimas de segundo) y 3 600 000 (1 hora).
Text: valor del código de barras que el escáner identificó por última vez.
Información sobre herramientas : texto explicativo que aparece cuando el usuario mantiene el puntero sobre un
control.
Visible : indica si un control aparece o está oculto.
Width : la distancia entre los bordes derecho e izquierdo de un control.
X : la distancia entre el borde izquierdo de un control y el borde izquierdo de su contenedor primario (la pantalla si
no hay un contenedor primario).
Y : la distancia entre el borde superior de un control y el borde superior de su contenedor primario (la pantalla si
no hay un contenedor primario).
Funciones relacionadas
Patch( DataSource; BaseRecord; ChangeRecord )
Ejemplo
Agregar fotos a un control Galería de imágenes
1. Agregue un control Escáner de código de barras y denomínelo Mybarcode scanner
¿No sabe cómo agregar, nombrar y configurar un control?
2. Agregue un control etiqueta y establezca su salida en la propiedad texto del escáner del código de barras.
3. Digitalice un código de barras del tipo establecido en la propiedad BarcodeType .
La etiqueta muestra el código de barras escaneado.
Directrices de accesibilidad
Alternativas de vídeo
Considere la posibilidad de agregar un control Etiqueta con su propiedad Text establecida en el texto del
escáner de código de barras. Puesto que el escáner de código de barras no muestra el valor de código de
barras identificado, al realizar el paso anterior el escáner se vuelve disponible para todos, y no solo para
aquellos con discapacidades visuales.
Soporte técnico para el lector de pantalla
La propiedad AccessibleLabel debe estar presente.
NOTE
Los lectores de pantalla anunciarán cuando se encuentre un nuevo código de barras. No se anunciará el valor.
Siempre que el código de barras esté a la vista, los lectores de pantalla recordarán al usuario cada cinco segundos
que todavía se está identificando el mismo código de barras.
Propiedades de
accesibilidad de
las aplicaciones
de Canvas
06/11/2019 • 7 minutes to read
Propiedades
AccessibleLabel: etiqueta para lectores de
pantalla. Un valor vacío para los controles
Imagen, Icono y Forma hará que el lector de
pantalla no los vea y los trate como adornos.
En directo : cómo los lectores de pantalla
deben anunciar cambios en el contenido.
Solo está disponible en el control etiqueta .
Cuando se establece en OFF, el lector de
pantalla no anuncia cambios.
Cuando se establece en educado, el
lector de pantalla termina de hablar antes
de anunciar los cambios que se
produjeron mientras estaba hablando el
lector de pantalla.
Cuando se establece en assertive, el
lector de pantalla se interrumpe para
anunciar los cambios que se produjeron
mientras estaba hablando el lector de
pantalla.
Obtenga información sobre cómo anunciar
cambios dinámicos con regiones activas.
TabIndex : determina si el control participa
en la navegación con el teclado.
La navegación mediante el teclado es un
aspecto importante de cualquier aplicación.
Para muchos, el teclado es más eficaz que
usar la función táctil o un mouse y permite
que los lectores de pantalla tengan
discapacidades visuales. El orden de
navegación debe:
Reflejar lo que se verá visualmente.
Solo tiene una tabulación en los
controles que son interactivos.
Siga un orden intuitivo y luego hacia
abajo "Z" o hacia abajo y después por
orden "inverso-N".
Los requisitos anteriores se cumplirán con
los valores de TabIndex predeterminados y
se recomienda que no los cambie. El valor
predeterminado es lo que la mayoría de los
usuarios esperan visualmente y funcionará
bien con un lector de pantalla. Sin embargo,
puede haber casos en los que desee
invalidar el valor predeterminado. Use la
propiedad TabIndex y el control de Grupo
mejorado (experimental) para realizar
ajustes en el orden de navegación.
La propiedad TabIndex tiene dos valores
recomendados:
VALOR
VALOR DE COMPORTAMI PREDETERMIN
TABINDEX ENTO ADO PARA
0 El control Botón,
participa en entrada de
la navegación texto,
con el cuadro
teclado. combinadoy
otros
controles
normalmente
interactivos.
−1 El control no Etiqueta,
participa en imagen,
la navegación iconoy otros
con el controles que
teclado. normalmente
no son
interactivos.
Información general
Configure el tamaño de un control
(o un elemento de control) y dónde
se encuentra en relación con la
pantalla en la que está.
Posición
X: la distancia entre el borde
izquierdo de un control y el borde
izquierdo de su contenedor primario
(la pantalla si no hay un contenedor
primario). Para un control Tarjeta
en un contenedor con varias
columnas, esta propiedad determina
la columna en la que aparece la
tarjeta.
Se aplica a los controles Agregar
imagen , Audio , Botón ,
Cámara , Tarjeta , Casilla ,
Gráfico de columnas , Selector
de fecha , Formulario de
presentación , Lista
desplegable , Formulario de
edición , Exportar , Galería ,
Texto HTML , Icono , Imagen ,
Importar , Etiqueta , Gráfico
de líneas , Cuadro de lista ,
Micrófono , Visor de PDF ,
Entrada manuscrita , Gráfico
circular , Botón de selección ,
Clasificación , Forma , Control
deslizante , Entrada de texto ,
Temporizador , Alternar y
Vídeo .
Y: la distancia entre el borde
superior de un control y el borde
superior de su contenedor primario
(la pantalla si no hay un contenedor
primario). Para un control Tarjeta
en un contenedor con varias filas,
esta propiedad determina la fila en
la que aparece la tarjeta.
Se aplica a los controles Agregar
imagen , Audio , Botón ,
Cámara , Tarjeta , Casilla ,
Gráfico de columnas , Selector
de fecha , Formulario de
presentación , Lista
desplegable , Formulario de
edición , Exportar , Galería ,
Texto HTML , Icono , Imagen ,
Importar , Etiqueta , Gráfico
de líneas , Cuadro de lista ,
Micrófono , Visor de PDF ,
Entrada manuscrita , Gráfico
circular , Botón de selección ,
Clasificación , Forma , Control
deslizante , Entrada de texto ,
Temporizador , Alternar y
Vídeo .
Tamaño
Height: la distancia entre los bordes
superior e inferior de un control.
Se aplica a los controles Agregar
imagen , Audio , Botón ,
Cámara , Tarjeta , Casilla ,
Gráfico de columnas , Selector
de fecha , Formulario de
presentación , Lista
desplegable , Formulario de
edición , Exportar , Galería ,
Texto HTML , Icono , Imagen ,
Importar , Etiqueta , Gráfico
de líneas , Cuadro de lista ,
Micrófono , Visor de PDF ,
Entrada manuscrita , Gráfico
circular , Botón de selección ,
Clasificación , Forma , Control
deslizante , Entrada de texto ,
Temporizador , Alternar y
Vídeo .
AutoHeight (AlturaAutomática):
indica si una etiqueta aumenta
automáticamente su altura si su
propiedad Texto contiene más
caracteres de los que el control
permite mostrar.
Se aplica a Etiqueta
Width: la distancia entre los bordes
derecho e izquierdo de un control.
Se aplica a los controles Agregar
imagen , Audio , Botón ,
Cámara , Tarjeta , Casilla ,
Gráfico de columnas , Selector
de fecha , Formulario de
presentación , Lista
desplegable , Formulario de
edición , Exportar , Galería ,
Texto HTML , Icono , Imagen ,
Etiqueta , Importar , Gráfico
de líneas , Cuadro de lista ,
Micrófono , Visor de PDF ,
Entrada manuscrita , Gráfico
circular , Botón de selección ,
Clasificación , Forma , Control
deslizante , Entrada de texto ,
Temporizador , Alternar y
Vídeo .
WidthFit (AjusteDeAncho): indica si
un control crece automáticamente
en la horizontal para llenar el
espacio vacío de un control de
contenedor, como un control
Formulario de edición . Si varias
tarjetas tienen esta propiedad
establecida en true, el espacio se
divide entre ellas. Para más
información, consulte Understand
data form layout in Microsoft
PowerApps (Introducción al diseño
de formularios de datos en
Microsoft PowerApps).
Se aplica a Tarjeta
Relleno
Padding: la distancia entre el texto
de un botón Exportar o Importar y
los bordes de ese botón.
Se aplica a los controles Add
picture , Export y Import .
PaddingBottom: distancia entre el
texto de un control y el borde
inferior de ese control.
Se aplica a los controles Botón ,
Casilla , Gráfico de columnas ,
Selector de fecha , Lista
desplegable , Texto HTML ,
Imagen , Gráfico de líneas ,
Cuadro de lista , Visor de PDF
, Botón de selección , Cuadro
de texto y Entrada de texto .
PaddingLeft: distancia entre el
texto de un control y el borde
izquierdo de ese control.
Se aplica a los controles Botón ,
Casilla , Gráfico de columnas ,
Selector de fecha , Lista
desplegable , Texto HTML ,
Imagen , Gráfico de líneas ,
Cuadro de lista , Visor de PDF
, Botón de selección , Cuadro
de texto y Entrada de texto .
PaddingRight: distancia entre el
texto de un control y el borde
derecho de ese control.
Se aplica a los controles Botón ,
Casilla , Gráfico de columnas ,
Selector de fecha , Lista
desplegable , Texto HTML ,
Imagen , Gráfico de líneas ,
Cuadro de lista , Visor de PDF
, Botón de selección , Cuadro
de texto y Entrada de texto .
PaddingTop: distancia entre el texto
de un control y el borde superior de
ese control.
Se aplica a los controles Botón ,
Casilla , Gráfico de columnas ,
Selector de fecha , Lista
desplegable , Texto HTML ,
Imagen , Gráfico de líneas ,
Cuadro de lista , Visor de PDF
, Botón de selección , Cuadro
de texto y Entrada de texto .
Radio
RadiusBottomLeft: el grado al que
se redondea la esquina inferior
izquierda de un control.
Se aplica a los controles Button ,
Export , Image , Import y Text
input .
RadiusBottomRight: el grado al
que se redondea la esquina inferior
derecha de un control.
Se aplica a los controles Button ,
Export , Image , Import y Text
input .
RadiusTopLeft: el grado al que se
redondea la esquina superior
izquierda de un control.
Se aplica a los controles Button ,
Export , Image , Import y Text
input .
RadiusTopRight: el grado al que se
redondea la esquina superior
derecha de un control.
Se aplica a los controles Button ,
Export , Image , Import y Text
input .
Propiedades de texto
en PowerApps
07/10/2019 • 3 minutes to read
Configure la aplicación de lienzo con fórmulas no solo para calcular valores y realizar otras tareas (como en
Excel), sino también para responder a la entrada del usuario (como una aplicación requiere).
En Excel, se crean fórmulas que, por ejemplo, rellenan celdas y crean tablas y gráficos.
En PowerApps, va a crear fórmulas parecidas al configurar controles en lugar de celdas. Además, va a crear
fórmulas que se aplican específicamente a aplicaciones en lugar de a hojas de cálculo.
Por ejemplo, puede crear una fórmula para determinar cómo responde la aplicación cuando los usuarios
seleccionan un botón, ajustan un control deslizante o proporcionan otra entrada. Estas fórmulas podrían mostrar
una pantalla diferente, actualizar un origen de datos externo a la aplicación o crear una tabla que contiene un
subconjunto de los datos de una tabla existente.
Puede usar fórmulas para una amplia variedad de escenarios. Por ejemplo, puede usar el GPS de su dispositivo,
un control de mapa y una fórmula que use Location.Latitude y Location.Longitude para mostrar su
ubicación actual. A medida que se desplaza, el mapa sigue automáticamente su ubicación.
En este tema se proporciona únicamente información general sobre cómo trabajar con fórmulas. Examine la
referencia sobre fórmulas para más información y la lista completa de funciones, operadores y otros bloques de
creación que puede usar.
Requisitos previos
Regístrese en PowerApps y, luego, inicie sesión con las mismas credenciales que usó para registrase.
Aprenda a configurar un control en PowerApps.
Puede cambiar el nombre del control seleccionado en la pestaña Contenido si hace clic en el
nombre.
3. Agregue un control Etiqueta a la pantalla.
Cuando se agrega una etiqueta, la lista de propiedades muestra automáticamente la propiedad Texto ,
que determina lo que se muestra en el control. De forma predeterminada, el valor de esta propiedad es
"Texto" .
4. Establezca el valor de la propiedad Text en "Hello World" escribiendo esa cadena, encerrada entre
comillas dobles, en la barra de fórmulas:
La etiqueta refleja este nuevo valor a medida que lo escribe. Es posible que aparezcan en pantalla iconos
de signos de exclamación amarillos mientras escriba. Estos iconos indican errores, pero desaparecerán
cuando termine de escribir un valor válido. Por ejemplo, una cadena no encerrada entre comillas dobles
no es válida.
En Excel, puede mostrar un número, como 42, escribiéndolo en una celda o escribiendo una fórmula que
se resuelve en ese número, como =SUMA (30;12) . En PowerApps, puede lograr el mismo efecto si
establece la propiedad Texto de un control, como una etiqueta, en 42 o Sum (30;12) . La celda y la
etiqueta mostrarán siempre dicho número, independientemente de los cambios que se produzcan en la
hoja de cálculo o en la aplicación.
NOTE
En PowerApps, no anteponga un signo igual o más a la fórmula como se hace en Excel. La barra de fórmulas trata
todo lo que escribe en ella como fórmula de forma predeterminada. Tampoco debe encerrar una fórmula entre
comillas dobles ("), como hizo antes para especificar una cadena de texto.
5. En la propiedad Texto de la etiqueta, reemplace "Hola mundo" por Sum (1;2;3) .
Mientras escribe, la barra de fórmulas lo ayuda mostrando la descripción y los argumentos esperados
para esta función. Al igual que con la comilla doble final en "Hello World" , la pantalla muestra los signos
de exclamación amarillos para indicar un error hasta que escriba el paréntesis final de esta fórmula:
En PowerApps, puede lograr un resultado similar agregando controles a una pantalla y estableciendo sus
propiedades. En este ejemplo se muestra un control de etiqueta denominado Label1 y dos controles de entrada
de texto , denominados TextInput1 y TextInput2.
Con independencia de los números que escriba en los controles de entrada de texto, la etiqueta siempre muestra
la suma de esos números porque su propiedad Texto está establecida en esta fórmula:
TextInput1 + TextInput2
En Excel, puede usar fórmulas de formato condicional para mostrar, por ejemplo, valores negativos en rojo. En
PowerApps, puede usar fórmulas para determinar no solo el valor principal de un control, sino propiedades
como el formato. En el ejemplo siguiente, una fórmula para la propiedad color de la etiqueta muestra
automáticamente los valores negativos en rojo. El aspecto de la función If debería resultarle familiar de Excel:
If( Value(Label1.Text) < 0; Red; Black )
Cambiar un color en función de la entrada de usuario
Puede configurar la aplicación con fórmulas para que los usuarios puedan cambiar su apariencia o
comportamiento. Por ejemplo, puede crear un filtro para mostrar solo los datos que contengan una cadena de
texto especificada por el usuario o puede permitir que los usuarios ordenen un conjunto de datos por una
columna determinada del conjunto de datos. En este procedimiento, permitirá que los usuarios cambien el color
de la pantalla mediante uno o varios controles deslizantes.
1. Quite los controles de los procedimientos anteriores o cree una aplicación vacía como hizo antes y
agréguele tres controles deslizantes:
2. Organice los controles deslizantes de forma que no se superpongan, agregue tres etiquetas y configúrelas
para que muestren Rojo, Verde y Azul:
3. Establezca la propiedad Max de cada control deslizante en 255, que es el valor máximo de un
componente de color para la función RGBA .
Puede especificar la propiedad Max si la selecciona en la pestaña Contenido o en la lista de propiedades:
4. Haga clic fuera de cualquier control para seleccionar la pantalla y establezca la propiedad Fill de esta en
esta fórmula:
RGBA ( Slider1.Value; Slider2.Value; Slider3.Value; 1 )
Como ya se ha descrito, para acceder a las propiedades de un control, use el operador " . " . Slider1.Value
se refiere a la propiedad Value del control deslizante, que refleja el lugar donde el usuario ha colocado el
control deslizante entre los valores Min y Max. A medida que escribe esta fórmula, cada control que la
contenga se marca con un color entre la pantalla y la barra de fórmulas:
Al escribir el paréntesis de cierre, el fondo de la pantalla cambiará a gris oscuro basándose en el valor
predeterminado de cada control deslizante, que es 50. En cuanto termine de escribir la fórmula, se calcula
y se usa como valor del color de relleno de fondo. Puede interactuar con la aplicación en el área de
trabajo predeterminada sin necesidad de abrir Vista previa:
5. Ajuste los controles deslizantes y vea cómo los cambios afectan al color de fondo.
A medida que cambia cada control deslizante, la fórmula que contiene la función RGBA se vuelve a
calcular, lo que cambia inmediatamente la apariencia de la pantalla.
Administrar el comportamiento de la aplicación
Puede usar fórmulas no solo para realizar cálculos y cambiar la apariencia, sino también para llevar a cabo
acciones. Por ejemplo, puede establecer la propiedad OnSelect de un botón en una fórmula que incluya la
función Navigate . Cuando un usuario selecciona ese botón, aparece la pantalla que especifique en la fórmula.
Puede usar algunas funciones, como Navigate y Collect , solo en fórmulas de comportamiento. En la referencia
sobre fórmulas, se indica si una función se puede usar solo en este contexto.
Puede usar más de una acción en una fórmula de comportamiento si separa las funciones con un punto y coma
(;). Por ejemplo, podría actualizar una variable de contexto, insertar datos en un origen de datos y finalmente ir a
otra pantalla.
Si ha usado otra herramienta de programación como Visual Basic o JavaScript, probablemente se pregunte: ¿dónde están las variables? PowerApps es ligeramente
diferente y requiere otro enfoque. En lugar de buscar una variable al compilar una aplicación de lienzo, pregúntese lo siguiente: ¿qué haría en Excel?
En otras herramientas, lo más probable es que haya realizado explícitamente un cálculo y haya almacenado el resultado en una variable. Pero PowerApps y Excel recalculan
automáticamente las fórmulas cuando los datos de entrada cambian, por lo que normalmente no tendrá que crear ni actualizar las variables. Si adopta este enfoque siempre
que sea posible, podrá crear, comprender y mantener la aplicación más fácilmente.
En algunos casos deberá usar variables en PowerApps, que amplía el modelo de Excel mediante la adición de fórmulas de comportamiento. Estas fórmulas se ejecutan
cuando, por ejemplo, un usuario selecciona un botón. Dentro de una fórmula de comportamiento, a menudo resulta útil establecer una variable para su uso en otras fórmulas.
En general debe evitar el uso de variables, pero a veces solo una variable puede habilitar la experiencia que busca. Las variables se crean y se escriben implícitamente cuando
aparecen en funciones que establecen sus valores.
Excel no tiene variables. El valor de una celda que contiene una fórmula cambia en función de su entrada, pero no es posible recordar el resultado de una fórmula y
almacenarlo en una celda o en otro lugar. Si cambia el valor de una celda, toda la hoja de cálculo podría cambiar y los valores calculados previamente se perderían. Un usuario
de Excel puede copiar y pegar las celdas, pero esto depende del control manual del usuario y no es posible hacerlo con las fórmulas.
PowerApps
Las aplicaciones que se crean en PowerApps se comportan de una manera muy parecida a Excel. En lugar de actualizar las celdas, puede agregar controles donde quiera en
una pantalla y asignarles un nombre para usarlos en fórmulas.
Por ejemplo, puede replicar el comportamiento de Excel en una aplicación agregando un control de etiqueta , denominado Label1, y dos controles de entrada de texto ,
denominados TextInput1 y TextInput2. Si después establece la propiedad Text de Label1 en TextInput1 + TextInput2, siempre mostrará la suma de los números que se
encuentren en TextInput1 y TextInput2 automáticamente.
Observe que el control Label1 está seleccionado y muestra su fórmula de texto en la barra de fórmulas en la parte superior de la pantalla. Aquí se encuentra la fórmula
TextInput1 + TextInput2. Esta fórmula crea una dependencia entre estos controles, del mismo modo que se crean las dependencias entre las celdas de un libro de Excel.
Vamos a cambiar el valor de TextInput1:
La fórmula de Label1 se ha recalculado automáticamente y muestra el nuevo valor.
En PowerApps, puede usar fórmulas para determinar no solo el valor principal de un control, sino propiedades como el formato. En el ejemplo siguiente, una fórmula para la
propiedad Color de la etiqueta mostrará automáticamente los valores negativos en rojo. El aspecto de la función If debería resultarle familiar de Excel:
If( Value(Label1.Text) < 0; Red; Black )
MUESTRA DESCRIPCIÓN
El punto rojo representa el dedo del usuario en el cuadro de entrada de texto, donde el usuario
escribe 77.
MUESTRA DESCRIPCIÓN
Esta máquina de sumar usa algo que no existe en Excel: un botón. En esta aplicación, no puede usar solamente fórmulas para calcular el total acumulado, ya que su valor
depende de una serie de acciones que realiza el usuario. El total acumulado debe registrarse y actualizarse manualmente. La mayoría de las herramientas de programación
almacena esta información en una variable.
En ocasiones necesitará una variable para que la aplicación se comporte de la manera deseada, pero debe tener en cuenta una serie de advertencias:
Debe actualizar manualmente el total acumulado. El recálculo automático no lo hará por usted.
El total acumulado ya no se puede calcular en función de los valores de otros controles. Depende del número de veces que el usuario haya seleccionado el botón Sumar y
del valor que se encontrase en cada ocasión en el control de entrada de texto. ¿El usuario ha escrito 77 y ha seleccionado Sumar dos veces, o bien ha escrito 24 y 130 para
cada una de las sumas? No es posible determinarlo una vez que el total haya alcanzado 154.
Los cambios en el total pueden proceder de diferentes acciones. En este ejemplo, tanto el botón Sumar como el botón Borrar pueden actualizar el total. Si la aplicación no
se comporta de la manera esperada, ¿qué botón causa el problema?
6. Obtenga una vista previa de la aplicación y ya tiene la máquina de sumar, tal como se describió anteriormente. Escriba un número en el cuadro de texto y presione el
botón de suma varias veces. Cuando esté listo, vuelva a la experiencia de creación mediante la tecla Esc.
7. Para mostrar el valor de la variable global, seleccione el menú archivo y seleccione variables en el panel izquierdo.
8. Para mostrar todos los lugares donde se define y se usa la variable, selecciónela.
Tipos de variables
PowerApps tiene tres tipos de variables:
Variables de contexto Pantalla Idóneas para pasar valores a una pantalla, de UpdateContext
forma parecida a como se pasan los Navegar
parámetros a un procedimiento en otros
lenguajes. Solo se puede hacer referencia
desde una pantalla.
Leer variables
Use el nombre de la variable para leer su valor. Por ejemplo, puede definir una variable con esta fórmula:
Set( Radius; 12 )
A continuación, puede usar simplemente RADIUS en cualquier lugar en el que pueda usar un número y se reemplazará por 12:
Pi() * Power( Radius; 2 )
Si asigna a una variable de contexto el mismo nombre que una variable global o una colección, la variable de contexto tiene prioridad. Sin embargo, todavía puede hacer
referencia a la variable global o colección si utiliza el operador de desambiguación @ [RADIUS].
6. Obtenga una vista previa de la aplicación y ya tiene la máquina de sumar, tal como se describió anteriormente. Escriba un número en el cuadro de texto y presione el
botón de suma varias veces. Cuando esté listo, vuelva a la experiencia de creación mediante la tecla Esc.
7. Puede establecer el valor de una variable de contexto mientras se desplaza a una pantalla. Esto resulta útil a la hora de pasar "contexto" o "parámetros" de una pantalla
a otra. Para mostrar esta técnica, inserte una pantalla, inserte un botón y establezca su propiedad alseleccionar en esta fórmula:
Navegar( Screen1; None; { RunningTotal: -1000 } )
Mantenga presionada la tecla Alt mientras selecciona este botón para mostrar Screen1 y establezca la variable de contexto RunningTotal en-1000.
8. Para mostrar el valor de la variable de contexto, seleccione el menú archivo y, a continuación, seleccione variables en el panel izquierdo.
4. Para borrar la cinta papel cuando el usuario selecciona el botón Borrar , establezca su propiedad alseleccionar en esta fórmula:
Clear( PaperTape )
5. Para mostrar el total acumulado, agregue una etiqueta y establezca su propiedad Texto en esta fórmula:
Sum( PaperTape; Value )
6. Para ejecutar la máquina de sumar, presione F5 para abrir la vista previa, escriba números en el control de entrada de texto y seleccione botones.
NOTE
La función savedata y LoadData de powerapps Mobile, pero no PowerApps Studio o el reproductor web para powerapps.
Comprender las fórmulas de comportamiento
de aplicaciones de lienzo en PowerApps
08/10/2019 • 2 minutes to read
La mayoría de las fórmulas calcula un valor. Al igual que una hoja de cálculo de Excel, el cálculo nuevo se
realiza automáticamente cuando cambian los valores. Por ejemplo, es posible que desee mostrar el valor
de un control Etiqueta en rojo si el valor es menor que cero o en blanco, si no es el caso. De este modo,
puede establecer la propiedad Color de ese control en esta fórmula:
If( Value(TextBox1.Text) >= 0; Color.Black; Color.Red )
En este contexto, ¿qué significa que el usuario seleccione un control Botón ? No ha cambiado ningún
valor, por lo que no es necesario hacer un cálculo nuevo. Excel no tiene un equivalente a un control
Botón .
Al seleccionar un control Botón , el usuario inicia una secuencia de acciones, o comportamientos, que
cambiará el estado de la aplicación:
Cambie la pantalla que se muestra: Funciones back y Navigate .
Control de una señal: Habilitar y deshabilitar funciones.
Actualizar, actualizar o quitar elementos de un origen de datos: Las funciones de actualización ,
actualización , UpdateIf , revisión , eliminación y RemoveIf .
Actualizar una variable de contexto: Función UpdateContext .
Crear, actualizar o quitar elementos de una colección: Funciones Collect , Clear y ClearCollect .
Como estas funciones cambian el estado de la aplicación, no se pueden volver a calcular
automáticamente. Puede usarlas en las fórmulas para las propiedades OnSelect , OnVisible ,
OnHidden , además de otras propiedades del tipo On... , que se llaman fórmulas de comportamiento.
Más de una acción
Use puntos y comas para crear una lista de acciones a realizar. Por ejemplo, es posible que desee
actualizar una variable de contexto y, luego, volver a la pantalla anterior:
UpdateContext ({x: 1});; Atrás ()
Las acciones se realizan en el orden en que aparecen en la fórmula. La función siguiente no se iniciará
hasta que se complete la función actual. Si se produce un error, no se iniciarán las funciones
subsiguientes.
Mostrar texto, fechas y horas en PowerApps
26/11/2019 • 17 minutes to read
En PowerApps, agregue fechas y horas a una aplicación de lienzo y asígneles formato para mostrar el nivel de
detalle adecuado o para reflejar la configuración regional. Calcule el tiempo entre dos fechas o calcule una
fecha que esté cierto tiempo antes o después de una fecha que especifique. Convierta fechas en y desde
valores independientes para días, meses y años, y convierta horas en y desde valores independientes para
horas, minutos y segundos.
Por ejemplo, agregue datos de usuarios sobre operaciones con acciones o reuniones con clientes, de un
origen externo o de otra aplicación creada en PowerApps. Si esos datos incluyen horas detalladas hasta el
milisegundo, redondéelas al minuto más cercano para simplificarlas. Calcule cuántos días quedan hasta un
hito importante. Si desea programar reuniones con los clientes cada cinco días, calcule esas fechas
automáticamente. Si el 10 de mayo de 1985 está almacenado en campos independientes para el día, el mes y
el año, consolide esos campos en un solo valor. También puede dividir cada fecha en valores independientes si
su aplicación los administra por separado.
Requisitos previos
Regístrese en PowerApps y, luego, inicie sesión con las mismas credenciales que usó para registrase.
Cree una aplicación o abra una existente en PowerApps.
Aprenda a configurar un control en PowerApps.
ShowText muestra el número de días entre hoy y la fecha que haya escrito en BirthDate. Si la fecha
de su cumpleaños ya ha pasado este año, ShowText muestra un valor negativo.
NOTE
Las funciones DateTimeValue y DateValue pueden convertir en valores fechas que estén en cualquiera de estos
formatos:
MM/DD/AAAA
DD/MM/AAAA
DD Mes AAAA
Mes DD, AAAA
1. Agregue un control Text input denominado ArrivalDateTime y escriba una fecha y una hora en este
formato:
5/10/85 6:15 AM
2. Agregue un control Etiqueta denominado ShowDate y establezca su propiedad Texto en esta
fórmula:
DateTimeValue(ArrivalDateTime.Text)
ShowDate muestra la misma información que ha escrito, pero se ha convertido de texto a un valor y
se le ha aplicado un formato distinto. Por ejemplo, el año aparece como cuatro dígitos en lugar de
simplemente dos.
3. Cambie la propiedad Text de ShowDate a esta fórmula:
DateTimeValue(ArrivalDateTime.Text; "fr")
ShowDate muestra el día antes del mes, tal y como esperaría un usuario francés.
TIP
Para mostrar una lista de otras configuraciones regionales en Intellisense, quite las comillas de cierre y fr de la
fórmula, pero conserve las comillas de apertura:
4. Para utilizar uno de los varios formatos integrados, cambie la propiedad Text de ShowDate a esta
fórmula:
Text(DateTimeValue(ArrivalDateTime.Text); DateTimeFormat.LongDateTime)
5. Para usar un formato personalizado, cambie la propiedad Text de ShowDate a esta fórmula:
Text(DateTimeValue(ArrivalDateTime.Text); "mm/dd/yyyy hh:mm:ss.fff AM/PM")
ShowDate muestra el valor de fecha y hora en el formato que ha especificado, incluidos los
milisegundos.
TIP
Para redondear la hora a la décima o centésima de segundo más cercana, especifique hh:mm:ss.f o
hh:mm:ss.ff en la fórmula.
TIP
Para redondear la hora a la décima o centésima de segundo más cercana, escriba hh:mm:ss.f o hh:mm:ss.ff en
la fórmula.
DateDiff muestra 275, que es el número de días entre el 1 de abril de 2015 y el 1 de enero de 2016.
4. Establezca la propiedad Text de DateDiff en esta fórmula:
DateDiff(DateValue(Start.Text); DateValue(End.Text); Months)
DateDiff muestra 9, que es el número de meses entre el 1 de abril de 2015 y el 1 de enero de 2016.
Reemplace Months con Quarters o Years para mostrar el tiempo en trimestres o años.
DateAdd muestra 5/7/1985, que es tres días antes de la fecha establecida en Start.
4. Cambie la propiedad Text de DateAdd a esta fórmula:
DateAdd(DateValue(Start.Text); 3; Months)
La etiqueta muestra 8/10/1985, que es tres meses después de la fecha establecida en Start. Reemplace
Months con Quarters o Years para identificar una fecha que tenga lugar el número especificado de
trimestres o años antes o después de la fecha establecida en Start.
Use una colección para almacenar los datos que los usuarios pueden administrar en la aplicación. Una colección
es un grupo de elementos que son similares, como los productos de una lista de productos. Para obtener más
información sobre los distintos tipos de variables, como las colecciones: Descripción de las variables de la
aplicación Canvas.
Requisitos previos
Regístrese en PowerApps y, luego, inicie sesión con las mismas credenciales que usó para registrase.
Cree una aplicación o abra una existente en PowerApps.
Aprenda a configurar un control en PowerApps.
2. Cambie el nombre del control; para ello, seleccione sus puntos suspensivos en el panel de navegación
izquierdo, seleccione cambiar nombrey, a continuación, escriba ProductName.
4. Cambie el nombre de los coloresdel control desplegable y asegúrese de que la propiedad elementos
está seleccionada en la lista de propiedades.
5. En la barra de fórmulas, reemplace DropDownSample por esta expresión:
["Red";"Green";"Blue"]
Collect(
ProductList;
{
Product: ProductName.Text;
Color: Colors.Selected.Value
}
)
7. Presione F5, escriba el texto en NombreProducto, seleccione una opción en coloresy, a continuación,
seleccione Agregar.
8. Repita el paso anterior al menos dos veces más y, a continuación, presione ESC.
9. En el menú archivo , seleccione colecciones para mostrar la colección que ha creado.
4. Cierre el panel datos , seleccione la galería y, a continuación, establezca el campo diseño en título y
subtítulo.
4. Fuera de la galería, agregue un botón, establezca su propiedad Text en "Clear" y establezca su propiedad
alseleccionar en esta fórmula:
Clear(ProductList)
5. Mientras mantiene presionada la tecla Alt, seleccione el icono de la papelera de un elemento para quitar
ese elemento de la colección o seleccione el botón Borrar para quitar todos los elementos de la colección.
Esta función crea una colección que se denomina MySPCollection y que contiene los mismos datos que
la lista de SharePoint.
3. Mientras mantiene presionada la tecla Alt, seleccione el botón.
4. opta Para obtener una vista previa de la colección que ha creado, seleccione colecciones en el menú
archivo .
Para obtener información sobre cómo mostrar los datos de una lista de SharePoint (como fechas, elecciones y
personas) en una galería: Mostrar las columnas de la lista en una galería. Para obtener información sobre cómo
mostrar los datos en un formulario (con listas desplegables, selectores de fechas y selectores de personas): Editar
formulario y mostrar controles de formulario.
Pasos siguientes
Revise el tema de referencia de la función Collect .
Obtenga información sobre cómo dar forma a los datos de una colección mediante las funciones
AddColumns, DropColumns, cambiarnombrecolumnas y mostrarcolumnas .
Mostrar información sobre un usuario de PowerApps
en una aplicación de lienzo
25/10/2019 • 2 minutes to read
En PowerApps, muestre el nombre completo, la dirección de correo electrónico y la imagen asociada al usuario que
inició sesión en una aplicación de lienzo. Puede utilizar esta información, por ejemplo, para rellenar
automáticamente un formulario.
Por ejemplo, puede utilizar esta característica para:
Crear una "hoja" de inicio de sesión para que los usuarios asistan al curso, ir como voluntario a eventos,
inscribirse en un quiosco, etc.
Mostrar el nombre completo en una aplicación de recursos humanos.
Especificar automáticamente una dirección de correo electrónico automáticamente al ponerse en contacto con
el departamento de soporte técnico.
Básicamente, puede usar la característica en cualquier lugar en el que los usuarios se beneficien de un formulario o
etiquetas que se rellenen automáticamente
Requisitos previos
1. Suscríbase a PowerApps.
2. Inicie sesión en con las mismas credenciales que usó para registrarse.
3. En Crear su propia aplicación, pase el puntero por la ventana Aplicación de lienzo desde cero, seleccione
el icono de teléfono y, a continuación, seleccione Crear esta aplicación.
4. Aprenda a agregar y configurar controles.
3. En la pestaña Insertar, haga clic o pulse en Texto y, a continuación, haga clic o pulse en Etiqueta:
4. Establezca la propiedad Text en esta fórmula:
User().FullName
Al hacerlo, la etiqueta se rellena automáticamente con su nombre completo. Mueva la etiqueta para que esté
bajo el control de imagen, de forma similar a la siguiente:
Al hacerlo, la etiqueta se rellena automáticamente con su dirección de correo electrónico. Mueva la etiqueta
para que esté bajo la primera etiqueta, de forma similar a la siguiente:
Cómo vincular listas de SharePoint mediante campos
de búsqueda en PowerApps
05/11/2019 • 9 minutes to read
En este tutorial se muestra cómo se pueden conectar dos listas de SharePoint con un campo de búsqueda en una
aplicación de lienzo.
Información general
SharePoint proporciona dos tipos de campos de búsqueda:
Búsqueda: vincula a otra lista: por ejemplo, una lista Orders puede tener un campo de búsqueda que vincule a
los clientes de una lista Customer;
Elección: al hacer clic o pulsar en el campo, se muestra un pequeño menú de elementos entre los que elegir.
En este tutorial, compilará una aplicación que usa estos tipos de campos de búsqueda.
¿Por qué usar un campo de búsqueda?
Los datos de una empresa son numerosos y complejos. Los datos de una lista de SharePoint a menudo están
relacionados con los de otra lista. Los campos de búsqueda son la principal forma de unir dichos datos
empresariales.
Por ejemplo, podría tener una lista Orders que tenga un campo de búsqueda que vincule a una lista Customers
para mostrar el cliente que realizó el pedido. El campo de búsqueda de la lista Orders también permite obtener
otros datos de la lista Customers. También podría usar un campo de búsqueda para conectar la lista Orders a una
lista Product y obtener la información necesaria sobre el producto pedido, como imágenes del producto,
especificaciones, detalles del fabricante, etc.
¿Para qué se usan los campos Elección?
Los campos Elección se usan para listas muy cortas, pero en lugar de crear realmente una lista independiente, se
incluyen los valores de la lista en un pequeño menú, que aparece al pulsar o hacer clic en el campo Elección, en el
que debe seleccionar uno de los valores.
Algunos ejemplos son datos como el código de estado de cliente, la disponibilidad de los productos, los códigos de
los estados y básicamente cualquier lista fija que sea relativamente corta. De hecho, estos datos se podrían
implementar como listas independientes y, luego, utilizar un campo Búsqueda para vincularlos, pero
normalmente resulta más fácil y rápido implementarlos como campos Elección.
3. Agregue un campo AssetType del tipo Elección y, en el cuadro de texto Escriba cada opción en una línea
distinta, escriba los valores que desee que aparezcan en el menú para elegir. Luego pulse o haga clic en
Aceptar.
4. Empiece a agregar otro campo. Al igual que en el paso 2, pulse o haga clic en el signo más y elija Más.
5. Agregue un campo RepairShop del tipo Búsqueda, elija RepairShop en el cuadro de texto Obtener
información de y elija ContactEmail en el cuadro de texto En esta columna. Luego pulse o haga clic en
Aceptar.
6. Agregue los campos adicionales que desee.
3. Elija su sitio de SharePoint en la lista Sitios recientes o escriba la URL de su sitio directamente en el
cuadro de texto. Pulse o haga clic en Ir.
4. Elija la lista principal desde el sitio de SharePoint; en este ejemplo, Assets. Pulse o haga clic en el botón
Conectar, situado en la esquina inferior derecha.
5. Pulse o haga clic en la flecha desplegable de RepairShop. Elija una de las entradas.
6. En la esquina superior derecha, pulse o haga clic en la marca de verificación para guardar la nueva entrada.
7. (Opcional) Repita este procedimiento para agregar tantos elementos a la lista como desee.
8. Presione Esc para volver al área de trabajo predeterminada.
Más información
Introducing support for lookups and a new sample app (Presentación del soporte técnico para búsquedas y una
nueva aplicación de ejemplo)
Performance, Refresh button, ForAll, and multiple field lookups (Rendimiento, botón Actualizar, ForAll y
búsquedas en varios campos)
Generate an app by using a Common Data Service database (Generar una aplicación mediante una base de
datos de Common Data Service)
Create an app from scratch using a Common Data Service database (Crear una aplicación desde cero mediante
una base de datos de Common Data Service)
Iniciar un flujo en una aplicación de lienzo
09/11/2019 • 5 minutes to read
Puede usar Power Automate para crear lógica que realice una o varias tareas cuando se produce un evento en una
aplicación de lienzo. Por ejemplo, configure un botón para que cuando un usuario lo seleccione, se cree un
elemento en una lista de SharePoint, se envíe un correo electrónico o una convocatoria de reunión, se agregue un
archivo a la nube o se realicen todas estas acciones. Puede configurar que el flujo pueda iniciarlo cualquier control
de la aplicación, que continúa ejecutándose aunque cierre PowerApps.
NOTE
Cuando un usuario ejecuta un flujo desde una aplicación, el usuario debe tener permiso para realizar las tareas que se
especifican en el flujo. De lo contrario, se producirá un error en el flujo.
Requisitos previos
Inicie sesión en PowerApps.
Tiene que saber configurar un control.
Creación de un flujo
1. Inicie sesión en PowerApps.
2. En la barra de navegación izquierda, seleccione lógica de negociosy, a continuación, seleccione flujos.
3. En la esquina superior izquierda de la página Mis flujos , seleccione nuevoy, a continuación, seleccione
crear desdecero.
4. Cerca de la parte inferior de la página que aparece, seleccione Buscar cientos de conexiones y
desencadenadores.
5. En el cuadro de búsqueda, escriba powerappsy, luego, seleccione el icono de powerapps .
6. En la página siguiente, vuelva a seleccionar el icono de PowerApps y, luego, seleccione nuevo paso.
7. En el cuadro que dice Buscar conectores y acciones, especifique una acción para el flujo, como en este
ejemplo:
a. Escriba SharePoint en el cuadro y, a continuación, seleccione crear elemento en la lista de
acciones.
NOTE
No Anexe el nombre de la lista a la dirección URL.
e. Seleccione el cuadro de entrada de un campo en la lista (por ejemplo, título), seleccione Ver más en
el panel de contenido dinámico y, a continuación, seleccione preguntar en PowerApps.
8. opta Especifique uno o más pasos adicionales, como el envío de correo electrónico de aprobación a una
dirección que especifique o la creación de una entrada relacionada en otro origen de datos.
9. Cerca de la esquina superior izquierda, escriba o pegue un nombre para el flujo y, a continuación, seleccione
Guardar cerca de la esquina superior derecha.
NOTE
Si el flujo que ha creado no está disponible, compruebe si PowerApps está establecido en el entorno en el que lo
creó.
7. En la barra de fórmulas, escriba o pegue RecordTitle.Text) al final de la fórmula que se han agregado
automáticamente.
Probar la aplicación
1. Haga doble clic en el control entrada de texto y escriba o pegue texto en él.
2. Mientras mantiene presionada la tecla Alt, seleccione el control de botón .
Se crea un elemento de SharePoint en la lista que especificó con el texto que especificó como título. Si la
lista estaba abierta cuando se ejecutó el flujo, tendrá que actualizar la ventana del explorador para mostrar
los cambios.
Creación de una regla en aplicaciones de lienzo
23/11/2019 • 5 minutes to read
Las reglas se crean para modificar automáticamente una aplicación en función de los criterios que se especifiquen.
Por ejemplo, mostrar los elementos de cada lista en rojo, amarillo o verde según su estado, o bien mostrar un
botón de aprobación sólo a determinados usuarios (por ejemplo, los administradores). Las reglas se pueden
agregar a varios controles. En este tema, agregará una regla para cambiar el color del texto de un control Etiqueta
si el valor de un control Control deslizante es mayor que 70.
IMPORTANT
A partir del 14 de octubre de 2019, la característica reglas de las aplicaciones de canvas está en desuso. Más información:
blog: las reglas de lienzoestán en desuso.
Si selecciona un control para el que ya se han definido una o varias reglas, puede editar cualquiera de ellas
pulsándola o haciendo clic en ella.
2. En el cuadro de diálogo de confirmación, pulse o haga clic en Adelante para que PowerApps capture el
siguiente cambio (o los siguientes) como una o varias acciones.
3. Configure uno o varios controles para que cumplan sus expectativas cuando la condición sea true.
En este tema, cambie el color de la etiqueta.
4. (opcional) Revise los cambios, para lo que debe pulsar o hacer clic en Mostrar acciones.
Prueba de la regla
1. Para obtener una vista previa de la aplicación, presione F5 (o haga clic o pulse en el botón de reproducción
situado cerca de la esquina superior derecha).
2. Cree la condición que especificó como true y, después, confirme que las acciones funcionan como se espera
de ellas.
En este tema, establezca el control deslizante en un valor que sea mayor que 70 y confirme que el texto de la
etiqueta cambia de color.
Limitaciones conocidas
En el momento de redactar este documento:
No se puede especificar la propiedad ThisItem de un formulario o una galería como parte de una condición.
Referencia sobre fórmulas para PowerApps
07/10/2019 • 20 minutes to read
A
Abs : valor absoluto de un número.
Acceleration : lee el sensor de aceleración del dispositivo.
Acos : devuelve el arco coseno de un número, en radianes.
Acot : devuelve el arco tangente de un número, en radianes.
AddColumns : devuelve una tabla con columnas agregadas.
And : lógica booleana Y. Devuelve true si todos los argumentos son true. También puede usar el
operador && .
Aplicación : proporciona información sobre la aplicación que se está ejecutando actualmente y el
control sobre el comportamiento de la aplicación.
Asin : devuelve el arco seno de un número, en radianes.
Astype : trata una referencia de registro como un tipo de entidad específico.
Atan : devuelve el arco tangente de un número, en radianes.
Atan2 : devuelve el arco tangente en función de una coordenada (x,y), en radianes.
Average : calcula la media de una expresión de tabla o un conjunto de argumentos.
B
Back : muestra la pantalla anterior.
Blank : devuelve un valor en blanco que puede utilizarse para insertar un valor NULL en un
origen de datos.
C
Calendar : recupera información sobre el calendario para la configuración regional actual.
Char : traduce un código de carácter en una cadena.
Choices : devuelve una tabla de posibles valores para una columna de búsqueda.
Clear : elimina todos los datos de una colección.
ClearCollect : elimina todos los datos de una colección y, después, agrega un conjunto de
registros.
Clock : recupera información sobre el reloj para la configuración regional actual.
Coalesce : reemplaza valores blank y deja los valores que no son blank.
Collect : crea una colección o agrega datos a un origen de datos.
Color : establece una propiedad en un valor de color integrado.
ColorFade : atenúa un valor de color.
ColorValue : traduce un nombre de color CSS o un código hexadecimal en un valor de color.
Compass : devuelve el encabezado de brújula.
Concat : concatena cadenas en un origen de datos.
Concatenate : concatena cadenas.
Concurrent : evalúa varias fórmulas simultáneamente entre sí.
Connection : devuelve información sobre la conexión de red.
Count : cuenta los registros de la tabla que contienen números.
Cos : devuelve el coseno de un ángulo especificado en radianes.
Cot : devuelve la cotangente de un ángulo especificado en radianes.
CountA : cuenta los registros de la tabla que no están vacíos.
CountIf : cuenta los registros de la tabla que cumplen una condición.
CountRows : cuenta los registros de la tabla.
D
DataSourceInfo : proporciona información sobre un origen de datos.
Date : devuelve un valor de fecha y hora en función de los valores Year, Month y Day.
DateAdd : agrega días, meses, trimestres o años a un valor de fecha y hora.
DateDiff : resta dos valores de fecha y muestra el resultado en días, meses, trimestres o años.
DateTimeValue : convierte una cadena de fecha y hora en un valor de fecha y hora.
DateValue : convierte una cadena de fecha en un valor de fecha y hora.
Day : recupera la parte de día de un valor de fecha y hora.
Defaults : devuelve los valores predeterminados para un origen de datos.
Degrees : convierte radianes en grados.
Disable : deshabilita una señal, como Location para leer el GPS.
Distinct : resume los registros de una tabla, para lo que quita los duplicados.
Download : descarga un archivo de la Web en el dispositivo local.
DropColumns : devuelve una tabla a la que se han quitado una o varias columnas.
E
EditForm : restablece un control de formulario para la edición de un elemento.
Enable : habilita una señal, como Location para leer el GPS.
EndsWith : comprueba si una cadena de texto termina con otra cadena de texto.
Errors : proporciona información de error para los cambios anteriores en un origen de datos.
EncodeUrl : codifica caracteres especiales mediante la codificación de la dirección URL.
Exit : sale de la aplicación que se está ejecutando.
Exp : devuelve e elevado a una potencia.
F
Filter : devuelve una tabla filtrada en función de uno o varios criterios.
Find : comprueba si una cadena aparece dentro de otra y devuelve la ubicación.
First : devuelve el primer registro de una tabla.
FirstN : devuelve el primer conjunto de registros (registros N ) de una tabla.
ForAll : calcula valores y realiza acciones para todos los registros de una tabla.
G
GroupBy : devuelve una tabla con los registros agrupados.
GUID : convierte una cadena de GUID en un valor GUID o crea un valor GUID.
H
HashTags : extrae los hashtags (#cadenas) de una cadena.
Hour : devuelve la parte de hora de un valor de fecha y hora.
I
If : devuelve un valor si una condición es true y otro valor si no lo es.
IfError : detecta errores y proporciona un valor alternativo o lleva a cabo una acción.
IsBlank : busca un valor en blanco.
IsEmpty : busca una tabla vacía.
IsMatch : comprueba una cadena con un patrón. Se pueden usar expresiones regulares.
IsNumeric : busca un valor numérico.
IsToday : comprueba si un valor de fecha y hora coincide con algún momento del día actual.
IsType : comprueba si una referencia de registro hace referencia a un tipo de entidad específico.
J
JSON : genera una cadena de texto JSON para una tabla, un registro o un valor.
Grande
Language : devuelve la etiqueta de idioma del usuario actual.
Last : devuelve el último registro de una tabla.
LastN : devuelve el último conjunto de registros (registros N ) de una tabla.
Launch : inicia una dirección web o una aplicación.
Left : devuelve la parte del extremo izquierdo de una cadena.
Len : devuelve la longitud de una cadena.
Ln : devuelve el logaritmo natural.
LoadData : carga una colección del almacenamiento privado de PowerApps.
Location : devuelve la ubicación como una coordinada de mapa mediante el sistema de
posicionamiento global (GPS ) y otra información.
LookUp : busca un único registro en una tabla en función de uno o varios criterios.
Lower : convierte todas las letras de una cadena de texto en minúsculas.
Mediana
Match : extrae una subcadena basada en un patrón. Se pueden usar expresiones regulares.
MatchAll : extrae varias subcadenas basadas en un patrón. Se pueden usar expresiones regulares.
Max : valor máximo de una expresión de tabla o un conjunto de argumentos.
Mid : devuelve la parte media de una cadena.
Min : valor mínimo de una expresión de tabla o un conjunto de argumentos.
Minute : recupera la parte de minuto de un valor de fecha y hora.
Mod : devuelve el resto después de que un dividendo se divida entre un divisor.
Month : recupera la parte de mes de un valor de fecha y hora.
N
Navigate : cambia la pantalla que se muestra.
NewForm : restablece un control de formulario para la creación de un elemento.
Not : lógica booleana NO. Devuelve true si su argumento es false y devuelve false si su
argumento es true. También puede usar el operador ! .
Notify : muestra un mensaje de pancarta al usuario.
Now : devuelve el valor de fecha y hora actual.
O
Or : lógica booleana O. Devuelve true si alguno de sus argumentos es true. También puede usar el
operador || .
P
Param : proporciona acceso a los parámetros pasados a la aplicación al abrirla el usuario.
Parent : proporciona acceso a las propiedades de un control contenedor.
Patch : modifica o crea un registro en un origen de datos, o bien combina registros fuera de un
origen de datos.
Pi : devuelve el número π.
PlainText : quita las etiquetas HTML y XML de una cadena.
Power : devuelve un número elevado a una potencia. También puede usar el operador ^ .
Proper : convierte la primera letra de cada palabra de una cadena en mayúsculas y el resto en
minúsculas.
R
Radians : convierte grados en radianes.
Rand : devuelve un número pseudoaleatorio.
Refresh : actualiza los registros de un origen de datos.
Relacionar : relaciona los registros de dos entidades a través de una relación de uno a varios o de
varios a varios.
Remove : quita uno o más registros específicos de un origen de datos.
RemoveIf : elimina los registros de un origen de datos en función de una condición.
RenameColumns : cambia el nombre de las columnas de una tabla.
Replace : reemplaza parte de una cadena por otra cadena, por posición inicial de la cadena.
Reset : restablece un control de entrada al valor predeterminado, descartando cualquier
modificación del usuario.
ResetForm : restablece un control de formulario para la edición de un elemento existente.
Revert : recarga y borra errores para los registros de un origen de datos.
RGBA : devuelve un valor de color para un conjunto de componentes rojo, verde, azul y alfabético.
Right : devuelve la parte del extremo derecho de una cadena.
Round : redondea al número más cercano.
RoundDown : redondea hacia abajo al número anterior más grande.
RoundUp : redondea hacia arriba al siguiente número más pequeño.
S
SaveData : guarda una colección en el almacenamiento privado de PowerApps.
Search : busca registros en una tabla que contengan una cadena en una de sus columnas.
Second : recupera la parte de segundo de un valor de fecha y hora.
Select : simula una acción de selección en un control, lo que provoca la evaluación de la fórmula
OnSelect.
Set : establece el valor de una variable global.
SetFocus : mueve el foco de entrada a un control concreto.
ShowColumns : devuelve una tabla exclusivamente con las columnas seleccionadas.
Shuffle : reordena aleatoriamente los registros de una tabla.
Sin : devuelve el seno de un ángulo especificado en radianes.
Sort : devuelve una tabla ordenada en función de una fórmula.
SortByColumns : devuelve una tabla ordenada en función de una o varias columnas.
Split : divide una cadena de texto en una tabla de subcadenas.
Sqrt : devuelve la raíz cuadrada de un número.
StartsWith : comprueba si una cadena de texto comienza con otra cadena de texto.
StdevP : devuelve la desviación estándar de sus argumentos.
Substitute : reemplaza parte de una cadena por otra cadena, por coincidencia de cadenas.
SubmitForm : guarda el elemento en un control de formulario para el origen de datos.
Sum : calcula la suma de una expresión de tabla o un conjunto de argumentos.
Switch : busca la coincidencia con un conjunto de valores y luego evalúa una fórmula
correspondiente.
T
Table : crea una tabla temporal.
Tan : devuelve la tangente de un ángulo especificado en radianes.
Texto : convierte cualquier valor y da formato a un número o un valor de fecha y hora a una
cadena de texto.
ThisItem : cuando se está en una galería o un formulario, devuelve los datos para el elemento
actual del contenedor.
Time : devuelve un valor de fecha y hora, en función de los valores Hour, Minute y Second.
TimeValue : convierte una cadena de hora en un valor de fecha y hora.
TimeZoneOffset : devuelve la diferencia entre la hora UTC y la hora local del usuario en minutos.
Today : devuelve el valor de fecha y hora actual.
Trim : quita los espacios adicionales de los extremos y el interior de una cadena de texto.
TrimEnds : quita los espacios adicionales únicamente de los extremos de una cadena de texto.
U
Ungroup : quita una agrupación.
No relacionar : no relaciona los registros de dos entidades de una relación de uno a varios o de
varios a varios.
Update : reemplaza un registro en un origen de datos.
UpdateContext : establece el valor de una o varias variables de contexto de la pantalla actual.
UpdateIf : modifica un conjunto de registros en un origen de datos en función de una condición.
Upper : convierte todas las letras de una cadena de texto en mayúsculas.
User : devuelve información sobre el usuario actual.
V
Validate : comprueba si el valor de una sola columna o un registro completo es válido para un
origen de datos.
Value : convierte una cadena en un número.
VarP : devuelve la varianza de sus argumentos.
ViewForm : restablece un control de formulario para la visualización de un elemento existente.
W
Weekday : recupera la parte de día de la semana de un valor de fecha y hora.
With : calcula valores y realiza acciones para un único registro, incluidos los registros insertados
de valores con nombre.
Y
Year : recupera la parte de año de un valor de fecha y hora.
Funciones Abs, Exp, Ln, Power y Sqrt en PowerApps
08/10/2019 • 4 minutes to read
Calcula valores absolutos, logaritmos naturales, raíces cuadradas y los resultados de elevar e o cualquier número a
una potencia especificada.
Descripción
La función Abs muestra el valor no negativo de su argumento. Si el número es negativo, Abs muestra el
equivalente positivo.
La función Exp muestra e elevado a la potencia de su argumento. El número trascendente e comienza con
2,7182818...
La función Ln muestra el argumento natural (e base) de su argumento.
La función Power muestra un número elevado a una potencia. Es equivalente a usar el operador ^ .
La función Sqrt muestra el número que, cuando se multiplica por sí mismo, es igual a su argumento.
Si pasa un solo número, el valor que se muestra es un resultado único basado en la función llamada. Si pasa una
tabla de una sola columna que contiene números, el valor que se muestra es una tabla de resultados de una sola
columna, un resultado para cada registro en la tabla del argumento. Si tiene una tabla con varias columnas, puede
convertirla en una tabla de una sola columna, como se describe en cómo trabajar con tablas.
Si algún argumento pudiera mostrar un valor no definido, el resultado queda en blanco. Por ejemplo, esto puede
pasar con las raíces cuadradas y los logaritmos de números negativos.
Sintaxis
Abs( Number )
Exp( Number )
Ln( Number )
Sqrt( Number )
Number: requerido. El número sobre el cual operar.
Power( Base; Exponente )
Base: requerido. Número base que se va a elevar.
Exponent: requerido. El exponente al que se eleva el número base.
Abs( SingleColumnTable )
Exp( SingleColumnTable )
Ln( SingleColumnTable )
Sqrt( SingleColumnTable )
SingleColumnTable: requerido. Una tabla de números de una sola columna sobre la cual operar.
Ejemplos
Número único
FÓRMULA DESCRIPCIÓN RESULTADO
Devuelve información sobre el entorno de la aplicación, como dónde se encuentra el usuario en el mundo y la
pantalla que se muestra.
Descripción y sintaxis
Las señales son valores que pueden cambiar en cualquier momento, independientemente de cómo el usuario
pueda interactuar con la aplicación. Las fórmulas que se basan en señales se recalculan automáticamente a medida
que estos valores cambian.
Normalmente, las señales devuelven un registro de información. Puede usar y almacenar esta información como
un registro, o puede extraer propiedades individuales mediante el operador .
NOTE
Las funciones Acceleration y Compass devuelven valores precisos en un reproductor nativo, como en iOS o Android, pero
esas funciones devuelven valores cero a medida que crea o modifica una aplicación en el explorador.
Acceleration
La señal Acceleration devuelve la aceleración del dispositivo en tres dimensiones en relación con la pantalla del
dispositivo. La aceleración se mide en unidades g de 9,81 m/s2 o 32,2 ft/s2 (la aceleración que imparte la Tierra en
los objetos en su superficie debida a la gravedad).
PROPIEDAD DESCRIPCIÓN
App
Entre otras propiedades, el objeto de aplicación incluye una señal que indica la pantalla que se muestra.
PROPIEDAD DESCRIPCIÓN
PROPIEDAD DESCRIPCIÓN
Conexión
La señal Connection devuelve información acerca de la conexión de red. Cuando está en una conexión medida,
puede que desee limitar la cantidad de datos que envíe o reciba a través de la red.
PROPIEDAD DESCRIPCIÓN
Location
La señal Location devuelve la ubicación del dispositivo según el sistema GPS (Global Positioning System) y otra
información de dispositivo, como las comunicaciones de la torre de telefonía móvil y la dirección IP.
Cuando un usuario tiene acceso a la información de ubicación por primera vez, el dispositivo puede solicitar que el
usuario permita el acceso a esta información.
A medida que cambia la ubicación, las dependencias de la ubicación se recalcularán continuamente, lo que
consumirá corriente de la batería del dispositivo. Para conservar la vida útil de la batería, puede usar las funciones
Enable y Disable para activar y desactivar las actualizaciones de la ubicación. La ubicación se desactiva
automáticamente si la pantalla mostrada no depende de la información de la ubicación.
PROPIEDAD DESCRIPCIÓN
Ejemplos
En un campo de béisbol, un lanzador lanza un teléfono desde el montículo del jarra a un captador en la placa de
inicio. El teléfono se encuentra situado horizontalmente con respecto a la tierra, la parte superior de la pantalla está
orientada al lanzador, y el lanzador no hace ningún giro. En esta ubicación, el teléfono tiene una cobertura medida,
pero no tiene Wi-Fi. Se muestra la pantalla PlayBall.
Descripción
Funciones principales
La función Cos devuelve el coseno de su argumento, un ángulo especificado en radianes.
La función Cot devuelve la cotangente de su argumento, un ángulo especificado en radianes.
La función Sin devuelve el seno de su argumento, un ángulo especificado en radianes.
La función Tan devuelve la tangente de su argumento, un ángulo especificado en radianes.
Funciones inversas
El Acos función devuelve el arcocoseno, o coseno inverso, de su argumento. El arcocoseno es el ángulo cuyo
coseno es el argumento. El ángulo devuelto se expresa en radianes en el intervalo de 0 (cero) a π.
La función Acot devuelve el valor principal de la arcocotangente, o cotangente inversa, de su argumento. El ángulo
devuelto se expresa en radianes en el intervalo de 0 (cero) a π.
La función Asin devuelve el arcoseno, o seno inverso, de su argumento. El arcoseno es el ángulo cuyo seno es el
argumento. El ángulo devuelto se expresa en radianes en el intervalo de -π/2 a π/2.
La función Atan devuelve la arcotangente, o tangente inversa, de su argumento. La arcotangente es el ángulo cuya
tangente es el argumento. El ángulo devuelto se expresa en radianes en el intervalo de -π/2 a π/2.
La función Atan2 devuelve la arcotangente, o tangente inversa, de las coordenadas x e y especificadas como
argumentos. La arcotangente es el ángulo desde el eje x a una línea que contiene el origen (0, 0) y un punto con las
coordenadas (x, y). El ángulo se expresa en radianes entre -π y π, excluyendo -π. Un resultado positivo representa
un ángulo con rotación levógira (hacia la izquierda) desde el eje x; un resultado negativo representa un ángulo con
rotación dextrógira (hacia la derecha). Atan2( a; b ) es igual a Atan( b/a ) , excepto que a puede ser igual a 0 (cero)
con la función Atan2.
Funciones auxiliares
La función Degrees convierte radianes en grados. π radianes equivalen a 180 grados.
La función Pi devuelve el número transcendente π, que comienza 3,141592...
La función Radians convierte grados en radianes.
Notas
Si pasa un solo número a estas funciones, el valor que se devuelve es un resultado único. Si pasa una tabla de una
sola columna que contiene números, el valor que se muestra es una tabla de resultados de una sola columna, un
resultado para cada registro en la tabla del argumento. Si tiene una tabla con varias columnas, puede convertirla en
una tabla de una sola columna, como se describe en cómo trabajar con tablas.
Si algún argumento resultase en un valor no definido, el resultado es blank. Esto puede ocurrir, por ejemplo, al
utilizar las funciones inversas con argumentos que están fuera del intervalo.
Sintaxis
Funciones principales
Cos( Radians )
Cot( Radians )
Sin( Radians )
Tan( Radians )
Radians: requerido. Ángulo sobre el cual operar.
Cos( SingleColumnTable )
Cot( SingleColumnTable )
Sin( SingleColumnTable )
Tan( SingleColumnTable )
SingleColumnTable: requerido. Una tabla de ángulos de una sola columna sobre la que se va a actuar.
Funciones inversas
Acos( Number )
Acot( Number )
Asin( Number )
Atan( Number )
Number: requerido. El número sobre el cual operar.
Acos( SingleColumnTable )
Acot( SingleColumnTable )
Asin( SingleColumnTable )
Atan( SingleColumnTable )
SingleColumnTable: requerido. Una tabla de números de una sola columna sobre la cual operar.
Atan2( X; Y )
X: requerido. coordenadas del eje X.
Y: requerido. coordenadas del eje Y.
Funciones del asistente
Degrees( Radians )
Radians: requerido. Ángulo en radianes para convertir en grados.
Pi()
Radians( Degrees )
Degrees: requerido. Ángulo en grados para convertir en radianes.
Ejemplos
Número único
FÓRMULA DESCRIPCIÓN RESULTADO
Descripción
Funciones principales
La función Cos devuelve el coseno de su argumento, un ángulo especificado en radianes.
La función Cot devuelve la cotangente de su argumento, un ángulo especificado en radianes.
La función Sin devuelve el seno de su argumento, un ángulo especificado en radianes.
La función Tan devuelve la tangente de su argumento, un ángulo especificado en radianes.
Funciones inversas
El Acos función devuelve el arcocoseno, o coseno inverso, de su argumento. El arcocoseno es el ángulo cuyo
coseno es el argumento. El ángulo devuelto se expresa en radianes en el intervalo de 0 (cero) a π.
La función Acot devuelve el valor principal de la arcocotangente, o cotangente inversa, de su argumento. El ángulo
devuelto se expresa en radianes en el intervalo de 0 (cero) a π.
La función Asin devuelve el arcoseno, o seno inverso, de su argumento. El arcoseno es el ángulo cuyo seno es el
argumento. El ángulo devuelto se expresa en radianes en el intervalo de -π/2 a π/2.
La función Atan devuelve la arcotangente, o tangente inversa, de su argumento. La arcotangente es el ángulo cuya
tangente es el argumento. El ángulo devuelto se expresa en radianes en el intervalo de -π/2 a π/2.
La función Atan2 devuelve la arcotangente, o tangente inversa, de las coordenadas x e y especificadas como
argumentos. La arcotangente es el ángulo desde el eje x a una línea que contiene el origen (0, 0) y un punto con las
coordenadas (x, y). El ángulo se expresa en radianes entre -π y π, excluyendo -π. Un resultado positivo representa
un ángulo con rotación levógira (hacia la izquierda) desde el eje x; un resultado negativo representa un ángulo con
rotación dextrógira (hacia la derecha). Atan2( a; b ) es igual a Atan( b/a ) , excepto que a puede ser igual a 0 (cero)
con la función Atan2.
Funciones auxiliares
La función Degrees convierte radianes en grados. π radianes equivalen a 180 grados.
La función Pi devuelve el número transcendente π, que comienza 3,141592...
La función Radians convierte grados en radianes.
Notas
Si pasa un solo número a estas funciones, el valor que se devuelve es un resultado único. Si pasa una tabla de una
sola columna que contiene números, el valor que se muestra es una tabla de resultados de una sola columna, un
resultado para cada registro en la tabla del argumento. Si tiene una tabla con varias columnas, puede convertirla en
una tabla de una sola columna, como se describe en cómo trabajar con tablas.
Si algún argumento resultase en un valor no definido, el resultado es blank. Esto puede ocurrir, por ejemplo, al
utilizar las funciones inversas con argumentos que están fuera del intervalo.
Sintaxis
Funciones principales
Cos( Radians )
Cot( Radians )
Sin( Radians )
Tan( Radians )
Radians: requerido. Ángulo sobre el cual operar.
Cos( SingleColumnTable )
Cot( SingleColumnTable )
Sin( SingleColumnTable )
Tan( SingleColumnTable )
SingleColumnTable: requerido. Una tabla de ángulos de una sola columna sobre la que se va a actuar.
Funciones inversas
Acos( Number )
Acot( Number )
Asin( Number )
Atan( Number )
Number: requerido. El número sobre el cual operar.
Acos( SingleColumnTable )
Acot( SingleColumnTable )
Asin( SingleColumnTable )
Atan( SingleColumnTable )
SingleColumnTable: requerido. Una tabla de números de una sola columna sobre la cual operar.
Atan2( X; Y )
X: requerido. coordenadas del eje X.
Y: requerido. coordenadas del eje Y.
Funciones del asistente
Degrees( Radians )
Radians: requerido. Ángulo en radianes para convertir en grados.
Pi()
Radians( Degrees )
Degrees: requerido. Ángulo en grados para convertir en radianes.
Ejemplos
Número único
FÓRMULA DESCRIPCIÓN RESULTADO
Forma una tabla agregando, quitando, cambiando el nombre y seleccionando sus columnas.
Información general
Estas funciones dan forma a una tabla mediante el ajuste de sus columnas:
Reducción de una tabla que contiene varias columnas a una sola columna para su uso con las funciones de columna única, como
Lower o Abs .
Incorporación de una columna calculada a una tabla (por ejemplo, una columna Total Price que muestre el resultado de multiplicar
Quantity por Unit Price).
Cambio del nombre de una columna a algo más significativo, para mostrarla a los usuarios o para su uso en las fórmulas.
Una tabla es un valor en PowerApps, como una cadena o un número. Puede especificar una tabla como un argumento en una fórmula, y
las funciones pueden devolver una tabla como resultado.
NOTE
Las funciones que se describen en este tema no modifican la tabla original. En su lugar, toman esa tabla como argumento y devuelven una nueva
tabla con una transformación aplicada. Consulte cómo trabajar con tablas para más detalles.
No se pueden modificar las columnas de un origen de datos mediante el uso de estas funciones. Tiene que modificar los datos en su
origen. Puede agregar columnas a una colección con la función Collect . Consulte cómo trabajar con fuentes de datos para más detalles.
Descripción
La función AddColumns agrega una columna a una tabla y una fórmula define los valores de esa columna. Las columnas existentes
permanecen sin modificar.
La fórmula se evalúa para cada registro de la tabla.
Los campos de registro que se están procesando actualmente estarán disponibles en la formula. Solo tiene que hacer referencia a los
campos por su nombre, como con cualquier otro valor. También puede hacer referencia a propiedades de control y a otros valores desde
toda la aplicación. Para obtener más detalles, vea los ejemplos siguientes y trabajar con el ámbito de registros.
La función DropColumns excluye las columnas de una tabla. El resto de las columnas permanece sin modificar. DropColumns excluye
las columnas y ShowColumns las incluye.
Use la función RenameColumns para cambiar el nombre de una o varias columnas de una tabla al proporcionar al menos un par de
argumentos que especifiquen el nombre de una columna que contiene la tabla (el nombre antiguo, que se quiere reemplazar) y el
nombre de una columna que la tabla no contiene (el nombre nuevo, que se quiere usar). El nombre antiguo ya debe existir en la tabla y
el nuevo nombre no. Cada nombre de columna puede aparecer solo una vez en la lista de argumentos como un nombre de columna
antiguo o nuevo. Para cambiar el nombre de una columna por un nombre de columna existente, primero quite la columna existente con
DropColumns o cambie el nombre de la columna existente al anidar una función RenameColumns dentro de otra.
La función ShowColumns incluye columnas de una tabla y quita todas las demás columnas. Puede usar ShowColumns para crear una
tabla de una sola columna a partir de una tabla de varias columnas. ShowColumns incluye columnas y DropColumns las excluye.
Para todas estas funciones, el resultado es una nueva tabla con la transformación aplicada. La tabla original no se modifica. No se puede
modificar una tabla existente con una fórmula. SharePoint, Common Data Service, SQL Server y otros orígenes de datos proporcionan
herramientas para modificar las columnas de listas, entidades y tablas, a las que se suele hacer referencia como esquema. Las funciones
de este tema solo transforman una tabla de entrada, sin modificar la original, en una tabla de salida para su uso posterior.
Los argumentos de estas funciones admiten la delegación. Por ejemplo, una función de filtro que se usa como argumento para extraer
los registros relacionados realiza búsquedas en todas las listas, incluso si el ' [dbo]. [ AllListings] ' el origen de datos contiene un
millón de filas:
AddColumns( RealEstateAgents;
"Listings";
Filter( '[dbo].[AllListings]'; ListingAgentName = AgentName )
)
Sin embargo, el resultado de estas funciones está sujeto al límite de registros que no son de delegación. En este ejemplo, solo se
devuelven los registros 500, incluso si el origen de datos RealEstateAgents tiene 501 o más registros.
Si utiliza AddColumns de esta manera, el filtro debe realizar llamadas independientes en el origen de datos para cada uno de esos
primeros registros en RealEstateAgents, lo que provoca una gran cantidad de chatter de red. Si [dbo]. [ AllListings] es lo
suficientemente pequeño y no cambia con frecuencia, puede llamar a la función Collect en OnStart para almacenar en caché el origen
de datos en la aplicación cuando se inicia. Como alternativa, puede reestructurar la aplicación para que extraiga los registros
relacionados solo cuando el usuario los solicite.
Sintaxis
AddColumns( Table; ColumnName1; Formula1 [; ColumnName2; Formula2; ... ] )
Table: requerido. La tabla sobre la cual se opera.
ColumnName(s) : requerido. Nombres de las columnas para agregar. Tiene que especificar una cadena (por ejemplo, "Name" entre
comillas dobles incluidas) para este argumento.
Formula (s) : requerido. La fórmula o fórmulas para evaluar para cada registro. Se agregará el resultado como el valor de la nueva
columna correspondiente. Puede hacer referencia a otras columnas de la tabla en esta fórmula.
DropColumns( Table; ColumnName1 [; ColumnName2; ... ] )
Table: requerido. La tabla sobre la cual se opera.
ColumnName(s) : requerido. Nombres de las columnas para excluir. Tiene que especificar una cadena (por ejemplo, "Name" entre
comillas dobles incluidas) para este argumento.
Cambiarnombrecolumnas( TABLE; OldColumnName1; NewColumnName1 [; OldColumnName2; NewColumnName2;...])
Table: requerido. La tabla sobre la cual se opera.
OldColumnName: requerido. Nombre de una columna de la tabla original cuyo nombre se va a cambiar. Este elemento aparece en
primer lugar en el par de argumentos (o en primer lugar en cada par de argumentos si la fórmula incluye más de un par). Este
nombre tiene que ser una cadena (por ejemplo, "Name" con comillas dobles incluidas).
NewColumnName: requerido. Nombre de reemplazo. Este elemento aparece por último lugar en el par de argumentos (o por último
lugar en cada par de argumentos si la fórmula incluye más de un par). Tiene que especificar una cadena (por ejemplo, "Customer
Name" con comillas dobles incluidas) para este argumento.
ShowColumns( Table; ColumnName1 [; ColumnName2; ... ] )
Table: requerido. La tabla sobre la cual se opera.
ColumnName(s) : requerido. Nombres de las columnas para incluir. Tiene que especificar una cadena (por ejemplo, "Name" entre
comillas dobles incluidas) para este argumento.
Ejemplos
En los ejemplos en esta sección, use el origen de datos IceCreamSales, que contiene los datos de esta tabla:
Ninguno de estos ejemplos modificar el origen de datos IceCreamSales. Cada función transforma el valor del origen de datos como
una tabla y devuelve ese valor como resultado.
Paso a paso
Vamos a probar algunos de los ejemplos anteriores de este tema.
1. Cree una colección agregando un control de botón y estableciendo su propiedad alseleccionar en esta fórmula:
ClearCollect( IceCreamSales;
Table(
{ Flavor: "Strawberry"; UnitPrice: 1,99; QuantitySold: 20 };
{ Flavor: "Chocolate"; UnitPrice: 2,99; QuantitySold: 45 };
{ Flavor: "Vanilla"; UnitPrice: 1,50; QuantitySold: 35 }
)
)
ClearCollect( FirstExample;
AddColumns( IceCreamSales; "Revenue"; UnitPrice * QuantitySold )
)
4. En el menú archivo , seleccione coleccionesy, a continuación, seleccione IceCreamSales para mostrar esa recopilación.
Como se muestra en este gráfico, la segunda fórmula no modificó esta colección. La función AddColumns usó IceCreamSales
como argumento de solo lectura; la función no modificó la tabla a la que hace referencia ese argumento.
5. Seleccione FirstExample.
Como se muestra en este gráfico, la segunda fórmula devolvió una nueva tabla con la columna agregada. La función
ClearCollect capturó la nueva tabla en la colección FirstExample , agregando algo a la tabla original a medida que fluye a través
de la función sin modificar el origen:
Funciones And, Or y Not en PowerApps
26/11/2019 • 5 minutes to read
Funciones de lógica booleana usadas comúnmente para manipular los resultados de pruebas y comparaciones.
Descripción
La función And devuelve true si todos los argumentos son verdaderos.
La función Or devuelve true si todos sus argumentos son verdaderos.
La función Not devuelve true si su argumento es falso y devuelve false si su argumento es verdadero.
Estas funciones funcionan de la misma manera que en Excel. También puede usar operadores para realizar estas
mismas operaciones, usando la sintaxis de Visual Basic o JavaScript:
NOTACIÓN DE FUNCIÓN VISUAL BASIC NOTACIÓN DE OPERADOR NOTACIÓN DEL OPERADOR DE JAVASCRIPT
Not (x) No x ! x1
Estas funciones trabajan con valores lógicos. No se pueden pasar un número o una cadena directamente. en su
lugar, debe realizar una comparación o una prueba. Por ejemplo, esta fórmula lógica x > 1 se evalúa como el valor
booleano true si x es mayor que 1. Si x es menor que 1, la fórmula se evalúa como false.
Sintaxis
And( LogicalFormula1; LogicalFormula2 [; LogicalFormula3; ... ] )
Or( LogicalFormula1; LogicalFormula2 [; LogicalFormula3; ... ] )
Not( LogicalFormula )
LogicalFormula (s) : requerido. Fórmulas lógicas para evaluar y con las que operar.
Ejemplos
En los ejemplos de esta sección se usan estas variables globales:
un = false
b = true
x = 10
y = 100
s = "Hola mundo"
Para crear estas variables globales en una aplicación, inserte un control de botón y establezca su propiedad
alseleccionar en esta fórmula:
Set( a; false );; Set( b; true );; Set( x; 10 );; Set( y; 100 );; Set( s; "Hello World" )
Seleccione el botón (haciendo clic en él mientras mantiene presionada la tecla Alt) y, a continuación, establezca la
propiedad texto de un control etiqueta en una fórmula de la primera columna de la tabla siguiente.
Or ( Len ( s ) < 10, x < 100, y < 100 ) Comprueba si la longitud de s es menor true
que 10, si x es menor que 100 y si y es
menor que 100. El primer y el tercer
argumento son false, pero el segundo
es true. Por lo tanto, la función devuelve
true.
Proporciona información sobre la aplicación que se está ejecutando actualmente y el control sobre el
comportamiento de la aplicación.
Descripción
Al igual que un control, el objeto de aplicación proporciona propiedades que identifican la pantalla que se
muestra y que solicitan al usuario que guarde los cambios para que no se pierdan. Cada aplicación tiene un
objeto de aplicación .
Puede escribir fórmulas para algunas propiedades del objeto de aplicación . En la parte superior del panel de
vista de árbol , seleccione el objeto de la aplicación como lo haría con cualquier otro control o pantalla. Para
ver y editar una de las propiedades del objeto, selecciónela en la lista desplegable situada a la izquierda de la
barra de fórmulas.
Propiedad ActiveScreen
La propiedad ActiveScreen identifica la pantalla que se muestra.
Esta propiedad devuelve un objeto de pantalla, que puede usar para hacer referencia a las propiedades de la
pantalla o comparar con otra pantalla para determinar la pantalla que se muestra. También puede usar la
expresión app.ActiveScreen.Name para recuperar el nombre de la pantalla que se muestra.
Utilice la función back o Navigate para cambiar la pantalla que se muestra.
OnStart (propiedad)
La propiedad OnStart se ejecuta cuando el usuario inicia la aplicación. A menudo, los responsables de
aplicaciones usan esta propiedad para realizar estas tareas:
Recupere y almacene en caché los datos en colecciones mediante la función Collect .
Configure variables globales mediante la función set .
Navegue a una pantalla inicial mediante la función Navigate .
Esta fórmula se evalúa antes de que aparezca la primera pantalla. No se carga ninguna pantalla, por lo que no se
pueden establecer variables de contexto con la función UpdateContext . Sin embargo, puede pasar las variables
de contexto con la función Navigate .
Después de cambiar la propiedad OnStart , pruébelo manteniendo el mouse sobre el objeto App en el panel
vista de árbol , seleccionando los puntos suspensivos (...) que aparece y seleccionando Ejecutar OnStart. A
diferencia de la primera vez que se carga la aplicación, ya se establecerán las colecciones y variables existentes.
Para empezar con colecciones vacías, utilice la función ClearCollect en lugar de la función Collect .
Propiedades de ConfirmExit
Nadie desea perder los cambios no guardados. Use las propiedades ConfirmExit y ConfirmExitMessage para
avisar al usuario antes de cerrar la aplicación.
NOTE
ConfirmExit no funciona en aplicaciones que están incrustadas en, por ejemplo, Power BI y SharePoint.
NOTE
En la actualidad, estas propiedades solo pueden hacer referencia a los controles de la primera pantalla si está habilitada la
característica de vista previa de carga retrasada (que es de forma predeterminada para las nuevas aplicaciones). Si se
realizan referencias, PowerApps Studio no muestra un error, pero la aplicación publicada resultante no se abre en
PowerApps Mobile o en un explorador. Estamos trabajando activamente para levantar esta limitación. Mientras tanto,
puede desactivar la carga retrasada en la configuración de laaplicación de archivo > > Configuración avanzada (en
características de vista previa).
ConfirmExit
ConfirmExit es una propiedad booleana que, cuando es true, abre un cuadro de diálogo de confirmación antes
de que se cierre la aplicación. De forma predeterminada, esta propiedad es falsey no aparece ningún cuadro de
diálogo.
Utilice esta propiedad para mostrar un cuadro de diálogo de confirmación si el usuario ha realizado cambios
pero no los ha guardado. Use una fórmula que pueda comprobar variables y propiedades de control (por
ejemplo, la propiedad no guardada del control Editar formulario ).
El cuadro de diálogo de confirmación aparece en cualquier situación en la que se puedan perder los datos, como
en estos ejemplos:
Ejecutar la función Exit .
Si la aplicación se ejecuta en un explorador:
Cierre del explorador o de la pestaña del explorador en el que se ejecuta la aplicación.
Seleccionar el botón atrás del explorador.
Si la aplicación se ejecuta en PowerApps Mobile (iOS o Android):
Ejecutar la función Launch .
La función Launch no desencadena el cuadro de diálogo en un explorador porque se abre otra pestaña
para que no se pierdan los datos.
Deslizar rápidamente para cambiar a otra aplicación en PowerApps Mobile.
Seleccionar el botón atrás en un dispositivo Android.
La apariencia exacta del cuadro de diálogo de confirmación puede variar en los dispositivos y las versiones de
PowerApps.
El cuadro de diálogo de confirmación no aparece en PowerApps Studio.
ConfirmExitMessage
De forma predeterminada, el cuadro de diálogo de confirmación muestra un mensaje genérico, como "es
posible que tenga cambios sin guardar". en el idioma del usuario.
Use ConfirmExitMessage para proporcionar un mensaje personalizado en el cuadro de diálogo de
confirmación. Si esta propiedad está en blanco, se usa el valor predeterminado. Los mensajes personalizados se
truncan según sea necesario para que quepan en el cuadro de diálogo de confirmación, por lo que debe
mantener el mensaje a unas cuantas líneas como máximo.
En un explorador, el cuadro de diálogo de confirmación podría aparecer con un mensaje genérico del explorador.
Ejemplo
1. Cree una aplicación que contenga dos controles de formulario, AccountForm y ContactForm.
2. Establezca la propiedad ConfirmExit del objeto de aplicación en esta expresión:
AccountForm.Unsaved Or ContactForm.Unsaved
Este cuadro de diálogo aparece si el usuario cambia los datos de cualquier forma y, a continuación, intenta
cerrar la aplicación sin guardar los cambios.
If( AccountsForm.Unsaved;
"Accounts form has unsaved changes.";
"Contacts form has unsaved changes."
)
Este cuadro de diálogo aparece si el usuario cambia los datos en el formulario de la cuenta y, a
continuación, intenta cerrar la aplicación sin guardar los cambios.
Funciones Acos, Acot, Asin, Atan, Atan2, Cos, Cot,
Degrees, Pi, Radians, Sin y Tan en PowerApps
08/10/2019 • 9 minutes to read
Descripción
Funciones principales
La función Cos devuelve el coseno de su argumento, un ángulo especificado en radianes.
La función Cot devuelve la cotangente de su argumento, un ángulo especificado en radianes.
La función Sin devuelve el seno de su argumento, un ángulo especificado en radianes.
La función Tan devuelve la tangente de su argumento, un ángulo especificado en radianes.
Funciones inversas
El Acos función devuelve el arcocoseno, o coseno inverso, de su argumento. El arcocoseno es el ángulo cuyo
coseno es el argumento. El ángulo devuelto se expresa en radianes en el intervalo de 0 (cero) a π.
La función Acot devuelve el valor principal de la arcocotangente, o cotangente inversa, de su argumento. El ángulo
devuelto se expresa en radianes en el intervalo de 0 (cero) a π.
La función Asin devuelve el arcoseno, o seno inverso, de su argumento. El arcoseno es el ángulo cuyo seno es el
argumento. El ángulo devuelto se expresa en radianes en el intervalo de -π/2 a π/2.
La función Atan devuelve la arcotangente, o tangente inversa, de su argumento. La arcotangente es el ángulo cuya
tangente es el argumento. El ángulo devuelto se expresa en radianes en el intervalo de -π/2 a π/2.
La función Atan2 devuelve la arcotangente, o tangente inversa, de las coordenadas x e y especificadas como
argumentos. La arcotangente es el ángulo desde el eje x a una línea que contiene el origen (0, 0) y un punto con las
coordenadas (x, y). El ángulo se expresa en radianes entre -π y π, excluyendo -π. Un resultado positivo representa
un ángulo con rotación levógira (hacia la izquierda) desde el eje x; un resultado negativo representa un ángulo con
rotación dextrógira (hacia la derecha). Atan2( a; b ) es igual a Atan( b/a ) , excepto que a puede ser igual a 0 (cero)
con la función Atan2.
Funciones auxiliares
La función Degrees convierte radianes en grados. π radianes equivalen a 180 grados.
La función Pi devuelve el número transcendente π, que comienza 3,141592...
La función Radians convierte grados en radianes.
Notas
Si pasa un solo número a estas funciones, el valor que se devuelve es un resultado único. Si pasa una tabla de una
sola columna que contiene números, el valor que se muestra es una tabla de resultados de una sola columna, un
resultado para cada registro en la tabla del argumento. Si tiene una tabla con varias columnas, puede convertirla en
una tabla de una sola columna, como se describe en cómo trabajar con tablas.
Si algún argumento resultase en un valor no definido, el resultado es blank. Esto puede ocurrir, por ejemplo, al
utilizar las funciones inversas con argumentos que están fuera del intervalo.
Sintaxis
Funciones principales
Cos( Radians )
Cot( Radians )
Sin( Radians )
Tan( Radians )
Radians: requerido. Ángulo sobre el cual operar.
Cos( SingleColumnTable )
Cot( SingleColumnTable )
Sin( SingleColumnTable )
Tan( SingleColumnTable )
SingleColumnTable: requerido. Una tabla de ángulos de una sola columna sobre la que se va a actuar.
Funciones inversas
Acos( Number )
Acot( Number )
Asin( Number )
Atan( Number )
Number: requerido. El número sobre el cual operar.
Acos( SingleColumnTable )
Acot( SingleColumnTable )
Asin( SingleColumnTable )
Atan( SingleColumnTable )
SingleColumnTable: requerido. Una tabla de números de una sola columna sobre la cual operar.
Atan2( X; Y )
X: requerido. coordenadas del eje X.
Y: requerido. coordenadas del eje Y.
Funciones del asistente
Degrees( Radians )
Radians: requerido. Ángulo en radianes para convertir en grados.
Pi()
Radians( Degrees )
Degrees: requerido. Ángulo en grados para convertir en radianes.
Ejemplos
Número único
FÓRMULA DESCRIPCIÓN RESULTADO
Comprueba una referencia de registro para un tipo de entidad específico (IsType) y trata la referencia como un tipo
específico (astype).
Descripción
Lea comprender las referencias de registros y las búsquedas polimórficas para obtener una introducción más
amplia y más detalles.
Normalmente, un campo de búsqueda hace referencia a los registros de una entidad determinada. Dado que el tipo
de entidad está bien establecido, puede tener acceso a los campos de la búsqueda mediante una notación de
puntos simple. Por ejemplo, primero (cuentas). Contacto principal '. ' Nombre completo ' se dirige de la
entidad accounts al registro de contacto principal de la entidad Contacts y extrae el campo de nombre
completo .
Common Data Service también admite campos de búsqueda polimórficos, que pueden hacer referencia a los
registros de un conjunto de entidades, como en estos ejemplos.
En las fórmulas de canvas-App, puede usar referencias de registros para trabajar con búsquedas polimórficas.
Dado que una referencia de registro puede hacer referencia a distintas entidades, no sabe qué campos estarán
disponibles cuando escriba una fórmula. El . La notación de campo no está disponible. Dichas fórmulas se deben
adaptar a los registros que encuentra la aplicación cuando se ejecuta.
La función IsType comprueba si una referencia de registro hace referencia a un tipo de entidad concreto. La
función devuelve un valor booleano TRUE o FALSE.
La función astype trata una referencia de registro como un tipo de entidad concreto, que a veces se conoce como
conversión. Puede usar el resultado como si fuera un registro de la entidad y, de nuevo, usar . Notación de campo
para tener acceso a todos los campos de ese registro. Se produce un error si la referencia no es del tipo específico.
Use estas funciones juntas para probar primero el tipo de entidad de un registro y, a continuación, tratarlo como un
registro de ese tipo para que los campos estén disponibles:
Solo necesita estas funciones si tiene acceso a los campos de una referencia de registro. Por ejemplo, puede usar
referencias de registros en la función de filtro sin IsType o astype:
Filter( Accounts; Owner = First( Users ) )
Del mismo modo, puede usar referencias de registros con la función patch :
Si se usa en un contexto de registro, como en un control de Galería o de edición de formulario , puede que tenga
que usar el operador de desambiguación global para hacer referencia al tipo de entidad. Por ejemplo, esta fórmula
sería efectiva en una galería que muestre una lista de contactos en la que el nombre de la compañía es una
búsqueda de clientes :
En ambas funciones, se especifica el tipo mediante el nombre del origen de datos que está conectado a la entidad.
Para que la fórmula funcione, también debe agregar un origen de datos a la aplicación para cualquier tipo que
desee probar o convertir. Por ejemplo, debe agregar la entidad users como origen de datos si desea usar IsType y
astype con una búsqueda de propietario y registros de esa entidad. Solo puede Agregar los orígenes de datos
que usa realmente en la aplicación; no es necesario agregar todas las entidades a las que podría hacer referencia
una búsqueda.
Si la referencia del registro está en blanco, IsType devuelve false y astype devuelve Blank. Todos los campos de un
registro en blanco estarán en blanco.
Sintaxis
Astype( RecordReference; EntityType )
RecordReference : requerido. Una referencia de registro, a menudo un campo de búsqueda que puede hacer
referencia a un registro en cualquiera de las varias entidades.
EntityType : requerido. Entidad específica que se va a probar.
IsType( RecordReference; EntityType )
RecordReference : requerido. Una referencia de registro, a menudo un campo de búsqueda que puede hacer
referencia a un registro en cualquiera de las varias entidades.
EntityType : requerido. La entidad específica a la que se debe convertir el registro.
Ejemplo
Comprender las referencias de registros y las búsquedas polimórficas contiene extensos ejemplos.
1. Cree una aplicación de lienzo en blanco para tabletas.
2. En la pestaña Ver , seleccione orígenes de datosy, a continuación, agregue las entidades contactos y
cuentas como orígenes de datos.
3. Inserte un control Galería con una orientación vertical en blanco .
4. En la pestaña propiedades situada cerca del lado derecho de la pantalla, establezca la propiedad
elementos de la galería en contactos.
Descripción
Funciones principales
La función Cos devuelve el coseno de su argumento, un ángulo especificado en radianes.
La función Cot devuelve la cotangente de su argumento, un ángulo especificado en radianes.
La función Sin devuelve el seno de su argumento, un ángulo especificado en radianes.
La función Tan devuelve la tangente de su argumento, un ángulo especificado en radianes.
Funciones inversas
El Acos función devuelve el arcocoseno, o coseno inverso, de su argumento. El arcocoseno es el ángulo cuyo
coseno es el argumento. El ángulo devuelto se expresa en radianes en el intervalo de 0 (cero) a π.
La función Acot devuelve el valor principal de la arcocotangente, o cotangente inversa, de su argumento. El ángulo
devuelto se expresa en radianes en el intervalo de 0 (cero) a π.
La función Asin devuelve el arcoseno, o seno inverso, de su argumento. El arcoseno es el ángulo cuyo seno es el
argumento. El ángulo devuelto se expresa en radianes en el intervalo de -π/2 a π/2.
La función Atan devuelve la arcotangente, o tangente inversa, de su argumento. La arcotangente es el ángulo cuya
tangente es el argumento. El ángulo devuelto se expresa en radianes en el intervalo de -π/2 a π/2.
La función Atan2 devuelve la arcotangente, o tangente inversa, de las coordenadas x e y especificadas como
argumentos. La arcotangente es el ángulo desde el eje x a una línea que contiene el origen (0, 0) y un punto con las
coordenadas (x, y). El ángulo se expresa en radianes entre -π y π, excluyendo -π. Un resultado positivo representa
un ángulo con rotación levógira (hacia la izquierda) desde el eje x; un resultado negativo representa un ángulo con
rotación dextrógira (hacia la derecha). Atan2( a; b ) es igual a Atan( b/a ) , excepto que a puede ser igual a 0 (cero)
con la función Atan2.
Funciones auxiliares
La función Degrees convierte radianes en grados. π radianes equivalen a 180 grados.
La función Pi devuelve el número transcendente π, que comienza 3,141592...
La función Radians convierte grados en radianes.
Notas
Si pasa un solo número a estas funciones, el valor que se devuelve es un resultado único. Si pasa una tabla de una
sola columna que contiene números, el valor que se muestra es una tabla de resultados de una sola columna, un
resultado para cada registro en la tabla del argumento. Si tiene una tabla con varias columnas, puede convertirla en
una tabla de una sola columna, como se describe en cómo trabajar con tablas.
Si algún argumento resultase en un valor no definido, el resultado es blank. Esto puede ocurrir, por ejemplo, al
utilizar las funciones inversas con argumentos que están fuera del intervalo.
Sintaxis
Funciones principales
Cos( Radians )
Cot( Radians )
Sin( Radians )
Tan( Radians )
Radians: requerido. Ángulo sobre el cual operar.
Cos( SingleColumnTable )
Cot( SingleColumnTable )
Sin( SingleColumnTable )
Tan( SingleColumnTable )
SingleColumnTable: requerido. Una tabla de ángulos de una sola columna sobre la que se va a actuar.
Funciones inversas
Acos( Number )
Acot( Number )
Asin( Number )
Atan( Number )
Number: requerido. El número sobre el cual operar.
Acos( SingleColumnTable )
Acot( SingleColumnTable )
Asin( SingleColumnTable )
Atan( SingleColumnTable )
SingleColumnTable: requerido. Una tabla de números de una sola columna sobre la cual operar.
Atan2( X; Y )
X: requerido. coordenadas del eje X.
Y: requerido. coordenadas del eje Y.
Funciones del asistente
Degrees( Radians )
Radians: requerido. Ángulo en radianes para convertir en grados.
Pi()
Radians( Degrees )
Degrees: requerido. Ángulo en grados para convertir en radianes.
Ejemplos
Número único
FÓRMULA DESCRIPCIÓN RESULTADO
Descripción
Funciones principales
La función Cos devuelve el coseno de su argumento, un ángulo especificado en radianes.
La función Cot devuelve la cotangente de su argumento, un ángulo especificado en radianes.
La función Sin devuelve el seno de su argumento, un ángulo especificado en radianes.
La función Tan devuelve la tangente de su argumento, un ángulo especificado en radianes.
Funciones inversas
El Acos función devuelve el arcocoseno, o coseno inverso, de su argumento. El arcocoseno es el ángulo cuyo
coseno es el argumento. El ángulo devuelto se expresa en radianes en el intervalo de 0 (cero) a π.
La función Acot devuelve el valor principal de la arcocotangente, o cotangente inversa, de su argumento. El ángulo
devuelto se expresa en radianes en el intervalo de 0 (cero) a π.
La función Asin devuelve el arcoseno, o seno inverso, de su argumento. El arcoseno es el ángulo cuyo seno es el
argumento. El ángulo devuelto se expresa en radianes en el intervalo de -π/2 a π/2.
La función Atan devuelve la arcotangente, o tangente inversa, de su argumento. La arcotangente es el ángulo cuya
tangente es el argumento. El ángulo devuelto se expresa en radianes en el intervalo de -π/2 a π/2.
La función Atan2 devuelve la arcotangente, o tangente inversa, de las coordenadas x e y especificadas como
argumentos. La arcotangente es el ángulo desde el eje x a una línea que contiene el origen (0, 0) y un punto con las
coordenadas (x, y). El ángulo se expresa en radianes entre -π y π, excluyendo -π. Un resultado positivo representa
un ángulo con rotación levógira (hacia la izquierda) desde el eje x; un resultado negativo representa un ángulo con
rotación dextrógira (hacia la derecha). Atan2( a; b ) es igual a Atan( b/a ) , excepto que a puede ser igual a 0 (cero)
con la función Atan2.
Funciones auxiliares
La función Degrees convierte radianes en grados. π radianes equivalen a 180 grados.
La función Pi devuelve el número transcendente π, que comienza 3,141592...
La función Radians convierte grados en radianes.
Notas
Si pasa un solo número a estas funciones, el valor que se devuelve es un resultado único. Si pasa una tabla de una
sola columna que contiene números, el valor que se muestra es una tabla de resultados de una sola columna, un
resultado para cada registro en la tabla del argumento. Si tiene una tabla con varias columnas, puede convertirla en
una tabla de una sola columna, como se describe en cómo trabajar con tablas.
Si algún argumento resultase en un valor no definido, el resultado es blank. Esto puede ocurrir, por ejemplo, al
utilizar las funciones inversas con argumentos que están fuera del intervalo.
Sintaxis
Funciones principales
Cos( Radians )
Cot( Radians )
Sin( Radians )
Tan( Radians )
Radians: requerido. Ángulo sobre el cual operar.
Cos( SingleColumnTable )
Cot( SingleColumnTable )
Sin( SingleColumnTable )
Tan( SingleColumnTable )
SingleColumnTable: requerido. Una tabla de ángulos de una sola columna sobre la que se va a actuar.
Funciones inversas
Acos( Number )
Acot( Number )
Asin( Number )
Atan( Number )
Number: requerido. El número sobre el cual operar.
Acos( SingleColumnTable )
Acot( SingleColumnTable )
Asin( SingleColumnTable )
Atan( SingleColumnTable )
SingleColumnTable: requerido. Una tabla de números de una sola columna sobre la cual operar.
Atan2( X; Y )
X: requerido. coordenadas del eje X.
Y: requerido. coordenadas del eje Y.
Funciones del asistente
Degrees( Radians )
Radians: requerido. Ángulo en radianes para convertir en grados.
Pi()
Radians( Degrees )
Degrees: requerido. Ángulo en grados para convertir en radianes.
Ejemplos
Número único
FÓRMULA DESCRIPCIÓN RESULTADO
Descripción
La función Average calcula el promedio, o media aritmética, de los argumentos.
La función Max encuentra el valor máximo.
La función Min encuentra el valor mínimo.
La función Sum calcula la suma de los argumentos.
La función StdevP calcula la desviación estándar de los argumentos.
La función VarP calcula la varianza de los argumentos.
Puede proporcionar los valores de estas funciones como:
Argumentos independientes. Por ejemplo, Sum ( 1; 2; 3 ) da 6 como resultado.
Una tabla y una fórmula para operar sobre esa tabla. La suma total se calculará según los valores de la fórmula
para cada registro.
Los campos de registro que se están procesando actualmente estarán disponibles en la formula. Solo tiene que
hacer referencia a los campos por su nombre, como con cualquier otro valor. También puede hacer referencia a
propiedades de control y a otros valores desde toda la aplicación. Para obtener más detalles, vea los ejemplos
siguientes y trabajar con el ámbito de registros.
Estas funciones solo operan sobre valores numéricos. Se omiten otros tipos de valores, como cadenas o registros.
Use la función Value para convertir en número una cadena.
Las funciones Average, Max, Min y Sum se pueden delegar cuando se usan con un origen de datos que admite la
delegación de dichas funciones. Sin embargo, StdevP y VarP no se puede delegar en ningún origen de datos. Si no
se admite la delegación, solo se recuperará la primera parte de los datos y, después, la función se aplicará
localmente. Es posible que el resultado no represente la situación completa. Aparece una advertencia de delegación
durante la creación para recordarle esta limitación y sugerirle que cambie a alternativas que puedan delegarse
siempre que sea posible. Para más información, consulte la introducción a la delegación.
Sintaxis
Average( NumericalFormula1; [ NumericalFormula2; ... ] )
Max( NumericalFormula1; [ NumericalFormula2; ... ] )
Min( NumericalFormula1; [ NumericalFormula2; ... ] )
Sum ( NumericalFormula1; [ NumericalFormula2; ... ] )
StdevP ( NumericalFormula1; [ NumericalFormula2; ... ] )
VarP ( NumericalFormula1; [ NumericalFormula2; ... ] )
NumericalFormula (s) : requerido. Los valores numéricos en que se va a operar.
Average( Table; NumericalFormula )
Max( Table; NumericalFormula )
Min( Table; NumericalFormula )
Sum ( Table; NumericalFormula )
StdevP ( Table; NumericalFormula )
VarP ( Table; NumericalFormula )
Table: requerido. La tabla sobre la cual se opera.
NumericalFormula: requerido. La fórmula que se evalúa en cada registro. El resultado de esta fórmula se usa
para la agregación. Puede usar columnas de la tabla en la fórmula.
Ejemplos
Paso a paso
Imaginemos que tiene un origen de datos llamado Sales que contiene una columna CostPerUnit y una columna
UnitsSold, y establece la propiedad Text de una etiqueta en esta función:
Sum (Sales; CostPerUnit * UnitsSold)
Para mostrar las ventas totales, la etiqueta multiplicaría los valores de esas columnas para cada registro y luego
agregaría juntos los resultados de todos los registros:
Pongamos otro ejemplo: imaginemos que tiene controles deslizantes llamados Slider1, Slider2 y Slider3 y una
etiqueta con la propiedad Text establecida en esta fórmula:
Sum (Slider1.Value; Slider2.Value; Slider3.Value)
La etiqueta mostraría la suma de todos los valores en los que se establecieron los controles deslizantes.
Funciones Back y Navigate en PowerApps
08/10/2019 • 11 minutes to read
Información general
La mayoría de las aplicaciones contienen varias pantallas. Use las funciones Back y Navigate para cambiar la
pantalla que se muestra. Por ejemplo, establezca la propiedad OnSelect de un botón en una fórmula que incluya
una función Navigate si desea mostrar una pantalla diferente cuando un usuario selecciona ese botón. En esta
fórmula, puede especificar una transición visual, como Fade, para controlar cómo se cambia de una pantalla a otra.
Back y Navigate cambian solo la pantalla que se muestra. Las pantallas que no se muestran actualmente siguen
funcionando en segundo plano. Puede crear fórmulas que hagan referencia a propiedades de controles en otras
pantallas. Por ejemplo, un usuario puede cambiar el valor de un control deslizante en una pantalla, navegar a una
pantalla diferente que use ese valor en una fórmula y determinar cómo afecta a lo que ocurre en la nueva pantalla.
El usuario puede volver a navegar a la pantalla original y confirmar que el control deslizante ha conservado su
valor.
Las variables de contexto también se conservan cuando un usuario navega entre pantallas. Puede usar Navigate
para establecer una o varias variables de contexto para la pantalla que mostrará la fórmula, que es la única manera
de establecer una variable de contexto desde fuera de la pantalla. Este enfoque se puede usar para pasar
parámetros a una pantalla. Si ha usado otra herramienta de programación, este enfoque es similar a pasar
parámetros a procedimientos.
Puede utilizar cualquiera de las funciones solo dentro de una fórmula de comportamiento.
Navigate
En el primer argumento, especifique el nombre de la pantalla para mostrar.
En el segundo argumento, especifique cómo se cambia la pantalla anterior a la nueva pantalla:
Puede usar Navigate para crear o actualizar las variables de contexto de la nueva pantalla. Como tercer
argumento opcional, pase un registro que contenga el nombre de la variable de contexto como un nombre de
columna y el nuevo valor para la variable de contexto. Este registro es el mismo que el registro que se usa con la
función UpdateContext .
Establezca la propiedad OnHidden de la pantalla anterior, la propiedad OnVisible de la nueva pantalla o ambas
para realizar cambios adicionales durante la transición. La propiedad App.ActiveScreen se actualizará para
reflejar el cambio.
Navigate normalmente devuelve true , pero devolverá false si se produce un error.
Back
La función atrás vuelve a la pantalla que se mostró más recientemente.
Para cada llamada a Navigate , la aplicación realiza un seguimiento de la pantalla que apareció y la transición.
Puede usar llamadas sucesivas hacia atrás para volver a la pantalla que aparecía cuando el usuario inició la
aplicación.
Cuando se ejecuta la función back , se usa de forma predeterminada la transición inversa. Por ejemplo, si aparece
una pantalla a través de la transición CoverRight , el retroceso usa la descubierta (que a la izquierda) para volver.
Desvanecer y ninguno son sus propios inversos. Pase un argumento opcional al de vuelta para forzar una
transición específica.
Back devuelve normalmente true , pero devuelve false si el usuario no ha navegado a otra pantalla desde el inicio
de la aplicación.
Sintaxis
Atrás([ transición ])
Transición : opcional. Transición visual que se va a usar entre la pantalla actual y la pantalla anterior. Consulte la
lista de valores válidos para este argumento anteriormente en este tema. De forma predeterminada, la
transición a través de la que se devuelve una pantalla es el inverso de la transición a través de la cual apareció.
Navegar( pantalla [; transición [; UpdateContextRecord ]])
Screen: requerido. La pantalla que se va a mostrar.
Transición : opcional. La transición visual usada entre la pantalla actual y la siguiente pantalla. Consulte la lista de
valores válidos para este argumento anteriormente en este tema. El valor predeterminado es None.
UpdateContextRecord: valor opcional. Un registro que contiene el nombre de al menos una columna y un valor
para cada columna. Este registro actualiza las variables de contexto de la pantalla nueva como si se pasaran a la
función UpdateContext .
Ejemplos
FÓRMULA DESCRIPCIÓN RESULTADO
Navigate( Details; Muestra la pantalla Details con una La pantalla actual desaparece para
ScreenTransition.Fade ) transición Fade. No se cambia ningún mostrar la pantalla Details.
valor de una variable de contexto.
Navigate( Details; Muestra la pantalla Details con una La pantalla actual desaparece para
ScreenTransition.Fade; { ID: 12 } ) transición Fade y actualiza el valor de la mostrar la pantalla Details y la variable
variable de contexto ID a 12. de contexto ID de esa pantalla se
establece en 12.
Navigate( Details; Muestra la pantalla Details con una La pantalla actual desaparece para
ScreenTransition.Fade; transición Fade. Actualiza el valor de la mostrar la pantalla Details. La variable
{ ID: 12 ; Shade: Color.Red } ) variable de contexto ID a 12 y actualiza de contexto ID en la pantalla Details
el valor de la variable de contexto está establecida en 12 y la variable de
Shade a Color.Red. contexto Shade está establecida en
Color.Red. Si establece la propiedad Fill
de un control de la pantalla Details en
Shade, ese control se muestra en rojo.
Atrás (ScreenTransition. Cover) Muestra la pantalla anterior con la Muestra la pantalla anterior a través de
transición de portada . la transición de la portada ,
independientemente de la transición a
través de la que apareció la pantalla
actual.
Paso a paso
1. Cree una aplicación vacía.
2. Agregue una segunda pantalla a ella.
La aplicación contiene dos pantallas en blanco: Screen1 y Screen2.
3. Establezca la propiedad Fill de Screen2 en el valor Gray .
4. En Screen2, agregue un botón y establezca su propiedad alseleccionar en esta fórmula:
Back()
Comprueba si un valor está en blanco o una tabla no contiene registros, y proporciona una manera de crear valores
blank.
Información general
Blank es un marcador de posición para "sin valor" o "valor desconocido". Por ejemplo, la propiedad seleccionada
de un control de cuadro combinado está en blanco si el usuario no ha realizado una selección. Muchos orígenes
de datos pueden almacenar y devolver valores NULL, que se representan en PowerApps como en blanco.
Cualquier propiedad o valor calculado en PowerApps puede estar en blanco. Por ejemplo, un valor booleano
normalmente tiene uno de dos valores: true o false. Pero además de estos dos, también puede estar en blanco , lo
que indica que no se conoce el estado. Esto es similar a Microsoft Excel, donde una celda de hoja de cálculo empieza
en blanco sin contenido, pero puede contener los valores true o false (entre otros). En cualquier momento, se
puede volver a borrar el contenido de la celda y devolverlo a un estado en blanco .
Una cadena vacía hace referencia a una cadena que no contiene ningún carácter. La función Len devuelve cero para
este tipo de cadena y se puede escribir en una fórmula como dos comillas dobles sin nada entre "" . Algunos
controles y orígenes de datos usan una cadena vacía para indicar una condición de "sin valor". Para simplificar la
creación de aplicaciones , las funciones esblanco y Coalesce comprueban si hay valores en blanco o cadenas
vacías.
En el contexto de la función IsEmpty , Empty es específico de las tablas que no contienen registros. La estructura
de tabla puede estar intacta, con nombres de columna, pero ningún dato en la tabla. Una tabla puede comenzar
como vacía, obtener registros y ya no estar vacía y luego quitarse los registros y estar de nuevo vacía.
NOTE
Estamos en un período de transición. Hasta ahora, el espacio en blanco también se ha utilizado para notificar los errores, lo
que impide que se diferencie un "valor" no válido de un error. Por esta razón, en este momento, solo se admite el
almacenamiento de valores en blanco para las colecciones locales. Puede almacenar valores en blanco en otros orígenes de
datos si activa la característica experimental "administración de errores de nivel de fórmulas" en el menú Archivo,
configuración de la aplicación, configuración avanzada, características experimentales. Estamos trabajando activamente para
finalizar esta característica y completar la separación adecuada de los valores en blanco de los errores.
Descripción
La función Blank devuelve un valor blank. Use esta función para almacenar un valor NULL en un origen de datos
que admita estos valores, de forma que se quiten en la práctica todos los valores del campo.
La función esblanco comprueba un valor en blanco o una cadena vacía. La prueba incluye cadenas vacías para
facilitar la creación de aplicaciones, ya que algunos orígenes de datos y controles usan una cadena vacía cuando no
hay ningún valor. Para probar específicamente si hay un valor en blanco , use if( Value = Blank(); ... en lugar de
esblanco.
La función Coalesce evalúa sus argumentos en orden y devuelve el primer valor que no está en blanco ni una
cadena vacía. Utilice esta función para reemplazar un valor en blanco o una cadena vacía con un valor diferente,
pero sin modificar los valores de cadena que no esténen blanco y que no estén vacíos. Si todos los argumentos
están en blanco o cadenas vacías, la función devuelve un valor enblanco, lo que permite que la combinación sea
una buena manera de convertir cadenas vacías en valores en blanco . Todos los argumentos de Coalesce debe ser
del mismo tipo; por ejemplo, no puede combinar números con cadenas de texto.
Coalesce( value1; value2 ) es el equivalente más conciso de
If( Not IsBlank( value1 ); value1; Not IsBlank( value2 ); value2 ) y no requiere que value1 y value2 se evalúen
dos veces. La función If devuelve un valor en blanco si no hay ninguna fórmula "Else", como es el caso.
La función IsEmpty comprueba si una tabla contiene registros. Es equivalente a usar la función CountRows y la
comprobación de cero. Puede usar IsEmpty para comprobar errores de origen de datos en combinación con la
función Errors .
El valor devuelto para IsBlank e IsEmpty es un valor booleano true o false.
Sintaxis
En blanco()
Coalesce( Valor1 [; Valor2; ... ] )
Valores: requerido. Valores que se van a comprobar. Cada valor se evalúa en orden hasta que se encuentra un
valor que no está en blanco y no es una cadena vacía. Los valores después de este punto no se evalúan.
IsBlank( Value )
Value: requerido. Valor que se va a comprobar para un valor en blanco o una cadena vacía.
IsEmpty( Table )
Table: requerido. Tabla en la que se van a comprobar registros.
Ejemplos
En blanco
NOTE
Actualmente, el siguiente ejemplo solo funciona en colecciones locales. Puede almacenar valores en blanco en otros orígenes
de datos si activa la característica experimental "administración de errores de nivel de fórmulas" en el menú Archivo,
configuración de la aplicación, configuración avanzada, características experimentales. Estamos trabajando activamente para
finalizar esta característica y completar la separación de los valores en blanco de los errores.
3. Obtenga una vista previa de la aplicación, haga clic o pulse en el botón que agregó y luego cierre la vista
previa.
4. En el menú Archivo, haga clic o pulse en Colecciones.
Aparece la colección Cities, que muestra un registro con "Seattle" y "Rainy":
5. Haga clic o pulse en la flecha Atrás para volver al área de trabajo predeterminada.
6. Agregue un control Label y establezca su propiedad Text en esta fórmula:
8. Obtenga una vista previa de la aplicación, haga clic o pulse en el botón que agregó y luego cierre la vista
previa.
El campo Weather del primer registro de Cities se sustituye por un valor blank, de forma que se reemplaza
el valor inicial "Rainy" que estaba ahí anteriormente.
Coalesce (Blank (), "", Blank (), "", 3, Coalesce comienza al principio de la 3
4) lista de argumentos y evalúa cada
argumento a su vez hasta que se
encuentra un valor que no estáen
blanco y una cadena no vacía. En este
caso, los cuatro primeros argumentos
devuelven un valor en blanco o una
cadena vacía, por lo que la evaluación
continúa hasta el quinto argumento. El
quinto argumento es una cadena que
no estáen blanco y no está vacía, por lo
que la evaluación se detiene aquí. Se
devuelve el valor del quinto argumento
y no se evalúa el sexto argumento.
IsBlank
1. Cree una aplicación desde el principio, agregue un control de entrada de texto y llámelo FirstName.
2. Agregue una etiqueta y establezca su propiedad Texto en esta fórmula:
IsBlank( Mid( "Hello"; 17; 2 ) ) El carácter inicial de Mid está más allá true
del final de la cadena. El resultado es una
cadena vacía.
IsBlank( If( false; false ) ) Una función If sin ElseResult. Como la true
condición es siempre false, esta función
If siempre devuelve blank.
IsEmpty
1. Cree una aplicación desde el principio y agregue un control Botón.
2. Establezca la propiedad OnSelect del botón en esta fórmula:
Collect( IceCream; { Flavor: "Strawberry"; Quantity: 300 }; { Flavor: "Chocolate"; Quantity: 100 } )
3. Obtenga una vista previa de la aplicación, haga clic o pulse en el botón que agregó y luego cierre la vista
previa.
Se crea una colección denominada IceCream con estos datos:
Esta colección tiene dos registros y no está vacía. IsEmpty( IceCream ) devuelve false y CountRows(
IceCream ) devuelve 2.
4. Agregue un segundo botón y establezca su propiedad OnSelect en esta fórmula:
Clear( IceCream )
5. Obtener una vista previa de la aplicación, haga clic o pulse en el segundo botón y luego cierre la vista previa.
Ahora, la colección está vacía:
La función Clear quita todos los registros de una colección, lo que da lugar a una colección vacía. IsEmpty(
IceCream ) devuelve true y CountRows( IceCream ) devuelve 0.
También puede usar IsEmpty para comprobar si una tabla calculada está vacía, como muestran estos ejemplos:
Descripción
Las funciones Calendar y Clock son un conjunto de funciones que recuperan información sobre la configuración
regional actual.
Puede usar estas funciones para mostrar las fechas y las horas en el idioma del usuario actual. Las tablas de una
sola columna devueltas por las funciones Calendar y Clock pueden usarse directamente con la propiedad Items
de los controles de lista desplegable y cuadro de lista.
FUNCIÓN DESCRIPCIÓN
Use la función Text para dar formato a valores de fecha y hora con esta misma información. La función Language
devuelve el código de idioma y región actual.
Sintaxis
Calendar.MonthsLong()
Calendar.MonthsShort()
Calendar.WeekdaysLong()
Calendar.WeekdaysShort()
Clock.AmPm ()
Clock.AmPmShort()
Clock.IsClock24()
Ejemplos
1. Inserte un control desplegable.
2. Establezca la fórmula de la propiedad Items en:
Calendar.MonthsLong()
3. Los usuarios de la aplicación ahora pueden seleccionar un mes en su propio idioma. Se puede reemplazar
MonthsLong por cualquiera de las tablas de una sola columna devueltas por Calendar para crear
selectores de día de la semana y hora.
En los Estados Unidos, donde Language devuelve "en-US", las funciones Calendar devuelven lo siguiente:
Calendar.MonthsShort() El valor devuelto contiene el nombre [ "Jan", "Feb", "Mar", "Apr", "May", "Jun",
abreviado de cada mes, empezando por "Jul", "Aug", "Sep", "Oct", "Nov", "Dec" ]
"January".
Calendar.WeekdaysShort() El valor devuelto contiene el nombre [ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri",
abreviado de cada día, empezando por "Sat" ]
"Sunday".
Descripción
La función Char convierte un número en una cadena con el carácter ASCII correspondiente.
Sintaxis
Char( CharacterCode )
CharacterCode: requerido. Código de carácter ASCII que se va a traducir.
Ejemplos
FÓRMULA DESCRIPCIÓN RESULTADO
Para mostrar los caracteres ASCII extendidos, establezca la propiedad Items de la segunda galería en esta
fórmula, que agrega 128 a cada valor de carácter:
ForAll( [0;2;3;4;5;6;7;8;9;10;11;12;13;14;15]; Value + ThisItem.Value * 16 + 128)
Para mostrar los caracteres en una fuente diferente, establezca la propiedad Font de la segunda etiqueta en un
valor como "script baile" .
Función Choices de PowerApps
05/11/2019 • 6 minutes to read
Descripción
La función Choices devuelve una tabla de posibles valores para una columna de búsqueda.
Use la función Choices para proporcionar una lista de opciones entre las que el usuario pueda seleccionar. Esta
función se usa normalmente con el control Cuadro combinado en formularios de edición.
En una búsqueda, la tabla que devuelve Choices coincide con la tabla externa asociada con la búsqueda. Si se usa
Choices, ya no es necesario agregar la tabla externa como un origen de datos adicional. Choices devuelve todas
las columnas de la tabla externa.
Dado que Choices devuelve una tabla, puede usar Filter, Sort, AddColumns y todas las demás funciones de
manipulación de tablas para filtrar, ordenar y dar forma a la tabla.
De momento no es posible delegar Choices. Si esta limitación plantea un problema en la aplicación, agregue la
entidad externa como origen de datos y úsela directamente.
Choices no exige que los nombres de columna sean cadenas ni se incluyan entre comillas dobles, a diferencia de
ShowColumns, Search y otras funciones de tabla. Proporcione la fórmula como si estuviera haciendo referencia
a la columna directamente.
Las referencias de columna deben ser directas al origen de datos. Por ejemplo, si el origen de datos es Accounts y
la búsqueda es SLA, la referencia de columna sería Accounts.SLA. La referencia no se puede pasar a través de
una función, una variable o un control. Para profundizar en este ejemplo, si Accounts se agrega a un control
Galería, use la fórmula Gallery.Selected.SLA para hacer referencia al SLA de la cuenta seleccionada. Pero esta
referencia se ha pasado a través de un control, por lo que no se puede pasar a la función Columns, sino que se
debe seguir usando Accounts.SLA.
En este momento, solo puede usar las columnas de búsqueda con SharePoint y Common Data Service.
Sintaxis
Choices( column-reference )
column-reference: requerido. Columna de búsqueda de un origen de datos. No incluya el nombre de columna
entre comillas dobles. La referencia debe ser directa a la columna del origen de datos y no pasarse a través de
una función o un control.
Ejemplos
Choices para una búsqueda
1. Cree una base de datos en Common Data Service y seleccione el cuadro incluir aplicaciones y datos de
ejemplo .
Se crean muchas entidades, como Accounts.
Nota: los nombres de entidad son singulares en make.powerapps.com y plural en PowerApps Studio.
La entidad Accounts tiene una columna Primary Contact que es una búsqueda en la entidad Contacts.
En cada cuenta se designa un contacto como contacto principal o este está blank.
2. Genere una aplicación desde la entidad Accounts.
3. En la lista de pantallas y controles junto al borde izquierdo, desplácese hacia abajo hasta que aparezca
EditScreen1 y luego seleccione EditForm1 justo debajo.
Descripción
Collect
La función Collect agrega registros a un origen de datos. Los elementos que se pueden agregar son:
Un valor único: el valor se coloca en el campo Value de un nuevo registro. Todas las demás propiedades se dejan
blank.
Un registro: cada propiedad con nombre se coloca en la propiedad correspondiente de un nuevo registro. Todas
las demás propiedades se dejan en blanco.
Una tabla: cada registro de la tabla se agrega como un registro independiente del origen de datos, como se ha
descrito anteriormente. La tabla no se agrega como una tabla anidada a un registro. Para lograrlo, primero
ajuste la tabla en un registro.
Cuando se usa con una colección, se crearán columnas adicionales según sea necesario. Las columnas de otros
orígenes de datos están determinadas por el origen de datos y no se pueden agregar nuevas columnas.
Si el origen de datos todavía no existe, se crea una colección.
Las colecciones a veces se usan para almacenar variables globales o realizar una copia temporal de un origen de
datos. PowerApps se basa en fórmulas que se recalculan automáticamente a medida que el usuario interactúa con
una aplicación. Las colecciones no tienen esta ventaja y su uso puede hacer que la aplicación sea más difícil de crear
y comprender. Antes de usar una colección de esta manera, revise el trabajo con variables.
También puede usar la función Patch para crear registros en un origen de datos.
Collect devuelve el origen de datos modificado como una tabla. Collect solo se puede usar en una fórmula de
comportamiento.
Clear
La función Clear elimina todos los registros de una colección. Las columnas de la colección se conservarán.
Tenga en cuenta que Clear solo funciona en colecciones y no en otros orígenes de datos. Puede usar RemoveIf(
DataSource; true ) para este propósito. Tenga cuidado, ya que esto quitará todos los registros del almacenamiento
del origen de datos y puede afectar a otros usuarios.
Puede usar la función Remove para quitar registros de forma selectiva.
Clear no tiene ningún valor devuelto. Solo se puede usar en una fórmula de comportamiento.
ClearCollect
La función ClearCollect elimina todos los registros de una colección y, después, agrega un conjunto de registros
diferente a la misma colección. Con una sola función, ClearCollect ofrece la combinación de Clear y Collect.
ClearCollect devuelve la colección modificada como una tabla. ClearCollect solo se puede usar en una fórmula de
comportamiento.
Sintaxis
Collect( DataSource; Elemento; ... )
DataSource: requerido. Origen de datos al que quiere agregar datos. Si todavía no existe, se crea una colección.
Item (s) : requerido. Uno o varios registros o tablas que se van a agregar al origen de datos.
Clear( Colección )
Collection: requerido. Colección que quiere borrar.
ClearCollect( Colección; Elemento; ... )
Collection: requerido. Colección que quiere borrar, a la que después va a agregar datos.
Item (s) : requerido. Uno o varios registros o tablas que se van a agregar al origen de datos.
Ejemplos
Borrar y agregar registros a un origen de datos
En estos ejemplos, borrará y agregará registros a una colección denominada IceCream. El origen de datos
comienza con este contenido:
Para obtener ejemplos paso a paso de cómo crear una colección, vea crear y actualizar una colección.
Registros y tablas
En estos ejemplos se examina cómo se administran los argumentos de registro y tabla para recopilar y
ClearCollect .
FÓRMULA DESCRIPCIÓN RESULTADO
Descripción
Collect
La función Collect agrega registros a un origen de datos. Los elementos que se pueden agregar son:
Un valor único: el valor se coloca en el campo Value de un nuevo registro. Todas las demás propiedades se dejan
blank.
Un registro: cada propiedad con nombre se coloca en la propiedad correspondiente de un nuevo registro. Todas
las demás propiedades se dejan en blanco.
Una tabla: cada registro de la tabla se agrega como un registro independiente del origen de datos, como se ha
descrito anteriormente. La tabla no se agrega como una tabla anidada a un registro. Para lograrlo, primero
ajuste la tabla en un registro.
Cuando se usa con una colección, se crearán columnas adicionales según sea necesario. Las columnas de otros
orígenes de datos están determinadas por el origen de datos y no se pueden agregar nuevas columnas.
Si el origen de datos todavía no existe, se crea una colección.
Las colecciones a veces se usan para almacenar variables globales o realizar una copia temporal de un origen de
datos. PowerApps se basa en fórmulas que se recalculan automáticamente a medida que el usuario interactúa con
una aplicación. Las colecciones no tienen esta ventaja y su uso puede hacer que la aplicación sea más difícil de crear
y comprender. Antes de usar una colección de esta manera, revise el trabajo con variables.
También puede usar la función Patch para crear registros en un origen de datos.
Collect devuelve el origen de datos modificado como una tabla. Collect solo se puede usar en una fórmula de
comportamiento.
Clear
La función Clear elimina todos los registros de una colección. Las columnas de la colección se conservarán.
Tenga en cuenta que Clear solo funciona en colecciones y no en otros orígenes de datos. Puede usar RemoveIf(
DataSource; true ) para este propósito. Tenga cuidado, ya que esto quitará todos los registros del almacenamiento
del origen de datos y puede afectar a otros usuarios.
Puede usar la función Remove para quitar registros de forma selectiva.
Clear no tiene ningún valor devuelto. Solo se puede usar en una fórmula de comportamiento.
ClearCollect
La función ClearCollect elimina todos los registros de una colección y, después, agrega un conjunto de registros
diferente a la misma colección. Con una sola función, ClearCollect ofrece la combinación de Clear y Collect.
ClearCollect devuelve la colección modificada como una tabla. ClearCollect solo se puede usar en una fórmula de
comportamiento.
Sintaxis
Collect( DataSource; Elemento; ... )
DataSource: requerido. Origen de datos al que quiere agregar datos. Si todavía no existe, se crea una colección.
Item (s) : requerido. Uno o varios registros o tablas que se van a agregar al origen de datos.
Clear( Colección )
Collection: requerido. Colección que quiere borrar.
ClearCollect( Colección; Elemento; ... )
Collection: requerido. Colección que quiere borrar, a la que después va a agregar datos.
Item (s) : requerido. Uno o varios registros o tablas que se van a agregar al origen de datos.
Ejemplos
Borrar y agregar registros a un origen de datos
En estos ejemplos, borrará y agregará registros a una colección denominada IceCream. El origen de datos
comienza con este contenido:
Para obtener ejemplos paso a paso de cómo crear una colección, vea crear y actualizar una colección.
Registros y tablas
En estos ejemplos se examina cómo se administran los argumentos de registro y tabla para recopilar y
ClearCollect .
FÓRMULA DESCRIPCIÓN RESULTADO
Descripción
Las funciones Calendar y Clock son un conjunto de funciones que recuperan información sobre la
configuración regional actual.
Puede usar estas funciones para mostrar las fechas y las horas en el idioma del usuario actual. Las tablas de una
sola columna devueltas por las funciones Calendar y Clock pueden usarse directamente con la propiedad
Items de los controles de lista desplegable y cuadro de lista.
FUNCIÓN DESCRIPCIÓN
Use la función Text para dar formato a valores de fecha y hora con esta misma información. La función
Language devuelve el código de idioma y región actual.
Sintaxis
Calendar.MonthsLong()
Calendar.MonthsShort()
Calendar.WeekdaysLong()
Calendar.WeekdaysShort()
Clock.AmPm ()
Clock.AmPmShort()
Clock.IsClock24()
Ejemplos
1. Inserte un control desplegable.
2. Establezca la fórmula de la propiedad Items en:
Calendar.MonthsLong()
3. Los usuarios de la aplicación ahora pueden seleccionar un mes en su propio idioma. Se puede reemplazar
MonthsLong por cualquiera de las tablas de una sola columna devueltas por Calendar para crear
selectores de día de la semana y hora.
En los Estados Unidos, donde Language devuelve "en-US", las funciones Calendar devuelven lo siguiente:
Calendar.MonthsShort() El valor devuelto contiene el nombre [ "Jan", "Feb", "Mar", "Apr", "May",
abreviado de cada mes, empezando "Jun", "Jul", "Aug", "Sep", "Oct", "Nov",
por "January". "Dec" ]
Calendar.WeekdaysShort() El valor devuelto contiene el nombre [ "Sun", "Mon", "Tue", "Wed", "Thu",
abreviado de cada día, empezando por "Fri", "Sat" ]
"Sunday".
Comprueba si un valor está en blanco o una tabla no contiene registros, y proporciona una manera de crear valores
blank.
Información general
Blank es un marcador de posición para "sin valor" o "valor desconocido". Por ejemplo, la propiedad seleccionada
de un control de cuadro combinado está en blanco si el usuario no ha realizado una selección. Muchos orígenes
de datos pueden almacenar y devolver valores NULL, que se representan en PowerApps como en blanco.
Cualquier propiedad o valor calculado en PowerApps puede estar en blanco. Por ejemplo, un valor booleano
normalmente tiene uno de dos valores: true o false. Pero además de estos dos, también puede estar en blanco , lo
que indica que no se conoce el estado. Esto es similar a Microsoft Excel, donde una celda de hoja de cálculo empieza
en blanco sin contenido, pero puede contener los valores true o false (entre otros). En cualquier momento, se
puede volver a borrar el contenido de la celda y devolverlo a un estado en blanco .
Una cadena vacía hace referencia a una cadena que no contiene ningún carácter. La función Len devuelve cero para
este tipo de cadena y se puede escribir en una fórmula como dos comillas dobles sin nada entre "" . Algunos
controles y orígenes de datos usan una cadena vacía para indicar una condición de "sin valor". Para simplificar la
creación de aplicaciones , las funciones esblanco y Coalesce comprueban si hay valores en blanco o cadenas
vacías.
En el contexto de la función IsEmpty , Empty es específico de las tablas que no contienen registros. La estructura
de tabla puede estar intacta, con nombres de columna, pero ningún dato en la tabla. Una tabla puede comenzar
como vacía, obtener registros y ya no estar vacía y luego quitarse los registros y estar de nuevo vacía.
NOTE
Estamos en un período de transición. Hasta ahora, el espacio en blanco también se ha utilizado para notificar los errores, lo
que impide que se diferencie un "valor" no válido de un error. Por esta razón, en este momento, solo se admite el
almacenamiento de valores en blanco para las colecciones locales. Puede almacenar valores en blanco en otros orígenes de
datos si activa la característica experimental "administración de errores de nivel de fórmulas" en el menú Archivo,
configuración de la aplicación, configuración avanzada, características experimentales. Estamos trabajando activamente para
finalizar esta característica y completar la separación adecuada de los valores en blanco de los errores.
Descripción
La función Blank devuelve un valor blank. Use esta función para almacenar un valor NULL en un origen de datos
que admita estos valores, de forma que se quiten en la práctica todos los valores del campo.
La función esblanco comprueba un valor en blanco o una cadena vacía. La prueba incluye cadenas vacías para
facilitar la creación de aplicaciones, ya que algunos orígenes de datos y controles usan una cadena vacía cuando no
hay ningún valor. Para probar específicamente si hay un valor en blanco , use if( Value = Blank(); ... en lugar de
esblanco.
La función Coalesce evalúa sus argumentos en orden y devuelve el primer valor que no está en blanco ni una
cadena vacía. Utilice esta función para reemplazar un valor en blanco o una cadena vacía con un valor diferente,
pero sin modificar los valores de cadena que no esténen blanco y que no estén vacíos. Si todos los argumentos
están en blanco o cadenas vacías, la función devuelve un valor enblanco, lo que permite que la combinación sea
una buena manera de convertir cadenas vacías en valores en blanco . Todos los argumentos de Coalesce debe ser
del mismo tipo; por ejemplo, no puede combinar números con cadenas de texto.
Coalesce( value1; value2 ) es el equivalente más conciso de
If( Not IsBlank( value1 ); value1; Not IsBlank( value2 ); value2 ) y no requiere que value1 y value2 se evalúen
dos veces. La función If devuelve un valor en blanco si no hay ninguna fórmula "Else", como es el caso.
La función IsEmpty comprueba si una tabla contiene registros. Es equivalente a usar la función CountRows y la
comprobación de cero. Puede usar IsEmpty para comprobar errores de origen de datos en combinación con la
función Errors .
El valor devuelto para IsBlank e IsEmpty es un valor booleano true o false.
Sintaxis
En blanco()
Coalesce( Valor1 [; Valor2; ... ] )
Valores: requerido. Valores que se van a comprobar. Cada valor se evalúa en orden hasta que se encuentra un
valor que no está en blanco y no es una cadena vacía. Los valores después de este punto no se evalúan.
IsBlank( Value )
Value: requerido. Valor que se va a comprobar para un valor en blanco o una cadena vacía.
IsEmpty( Table )
Table: requerido. Tabla en la que se van a comprobar registros.
Ejemplos
En blanco
NOTE
Actualmente, el siguiente ejemplo solo funciona en colecciones locales. Puede almacenar valores en blanco en otros orígenes
de datos si activa la característica experimental "administración de errores de nivel de fórmulas" en el menú Archivo,
configuración de la aplicación, configuración avanzada, características experimentales. Estamos trabajando activamente para
finalizar esta característica y completar la separación de los valores en blanco de los errores.
3. Obtenga una vista previa de la aplicación, haga clic o pulse en el botón que agregó y luego cierre la vista
previa.
4. En el menú Archivo, haga clic o pulse en Colecciones.
Aparece la colección Cities, que muestra un registro con "Seattle" y "Rainy":
5. Haga clic o pulse en la flecha Atrás para volver al área de trabajo predeterminada.
6. Agregue un control Label y establezca su propiedad Text en esta fórmula:
8. Obtenga una vista previa de la aplicación, haga clic o pulse en el botón que agregó y luego cierre la vista
previa.
El campo Weather del primer registro de Cities se sustituye por un valor blank, de forma que se reemplaza
el valor inicial "Rainy" que estaba ahí anteriormente.
Coalesce (Blank (), "", Blank (), "", 3, Coalesce comienza al principio de la 3
4) lista de argumentos y evalúa cada
argumento a su vez hasta que se
encuentra un valor que no estáen
blanco y una cadena no vacía. En este
caso, los cuatro primeros argumentos
devuelven un valor en blanco o una
cadena vacía, por lo que la evaluación
continúa hasta el quinto argumento. El
quinto argumento es una cadena que
no estáen blanco y no está vacía, por lo
que la evaluación se detiene aquí. Se
devuelve el valor del quinto argumento
y no se evalúa el sexto argumento.
IsBlank
1. Cree una aplicación desde el principio, agregue un control de entrada de texto y llámelo FirstName.
2. Agregue una etiqueta y establezca su propiedad Texto en esta fórmula:
IsBlank( Mid( "Hello"; 17; 2 ) ) El carácter inicial de Mid está más allá true
del final de la cadena. El resultado es una
cadena vacía.
IsBlank( If( false; false ) ) Una función If sin ElseResult. Como la true
condición es siempre false, esta función
If siempre devuelve blank.
IsEmpty
1. Cree una aplicación desde el principio y agregue un control Botón.
2. Establezca la propiedad OnSelect del botón en esta fórmula:
Collect( IceCream; { Flavor: "Strawberry"; Quantity: 300 }; { Flavor: "Chocolate"; Quantity: 100 } )
3. Obtenga una vista previa de la aplicación, haga clic o pulse en el botón que agregó y luego cierre la vista
previa.
Se crea una colección denominada IceCream con estos datos:
Esta colección tiene dos registros y no está vacía. IsEmpty( IceCream ) devuelve false y CountRows(
IceCream ) devuelve 2.
4. Agregue un segundo botón y establezca su propiedad OnSelect en esta fórmula:
Clear( IceCream )
5. Obtener una vista previa de la aplicación, haga clic o pulse en el segundo botón y luego cierre la vista previa.
Ahora, la colección está vacía:
La función Clear quita todos los registros de una colección, lo que da lugar a una colección vacía. IsEmpty(
IceCream ) devuelve true y CountRows( IceCream ) devuelve 0.
También puede usar IsEmpty para comprobar si una tabla calculada está vacía, como muestran estos ejemplos:
Descripción
Collect
La función Collect agrega registros a un origen de datos. Los elementos que se pueden
agregar son:
Un valor único: el valor se coloca en el campo Value de un nuevo registro. Todas las
demás propiedades se dejan blank.
Un registro: cada propiedad con nombre se coloca en la propiedad correspondiente de
un nuevo registro. Todas las demás propiedades se dejan en blanco.
Una tabla: cada registro de la tabla se agrega como un registro independiente del
origen de datos, como se ha descrito anteriormente. La tabla no se agrega como una
tabla anidada a un registro. Para lograrlo, primero ajuste la tabla en un registro.
Cuando se usa con una colección, se crearán columnas adicionales según sea necesario.
Las columnas de otros orígenes de datos están determinadas por el origen de datos y no
se pueden agregar nuevas columnas.
Si el origen de datos todavía no existe, se crea una colección.
Las colecciones a veces se usan para almacenar variables globales o realizar una copia
temporal de un origen de datos. PowerApps se basa en fórmulas que se recalculan
automáticamente a medida que el usuario interactúa con una aplicación. Las colecciones
no tienen esta ventaja y su uso puede hacer que la aplicación sea más difícil de crear y
comprender. Antes de usar una colección de esta manera, revise el trabajo con variables.
También puede usar la función Patch para crear registros en un origen de datos.
Collect devuelve el origen de datos modificado como una tabla. Collect solo se puede
usar en una fórmula de comportamiento.
Clear
La función Clear elimina todos los registros de una colección. Las columnas de la
colección se conservarán.
Tenga en cuenta que Clear solo funciona en colecciones y no en otros orígenes de datos.
Puede usar RemoveIf( DataSource; true ) para este propósito. Tenga cuidado, ya que
esto quitará todos los registros del almacenamiento del origen de datos y puede afectar a
otros usuarios.
Puede usar la función Remove para quitar registros de forma selectiva.
Clear no tiene ningún valor devuelto. Solo se puede usar en una fórmula de
comportamiento.
ClearCollect
La función ClearCollect elimina todos los registros de una colección y, después, agrega
un conjunto de registros diferente a la misma colección. Con una sola función,
ClearCollect ofrece la combinación de Clear y Collect.
ClearCollect devuelve la colección modificada como una tabla. ClearCollect solo se
puede usar en una fórmula de comportamiento.
Sintaxis
Collect( DataSource; Elemento; ... )
DataSource: requerido. Origen de datos al que quiere agregar datos. Si todavía no
existe, se crea una colección.
Item (s) : requerido. Uno o varios registros o tablas que se van a agregar al origen de
datos.
Clear( Colección )
Collection: requerido. Colección que quiere borrar.
ClearCollect( Colección; Elemento; ... )
Collection: requerido. Colección que quiere borrar, a la que después va a agregar
datos.
Item (s) : requerido. Uno o varios registros o tablas que se van a agregar al origen de
datos.
Ejemplos
Borrar y agregar registros a un origen de datos
En estos ejemplos, borrará y agregará registros a una colección denominada IceCream.
El origen de datos comienza con este contenido:
La colección icecream
también se ha modificado.
FÓRMULA DESCRIPCIÓN RESULTADO
Para obtener ejemplos paso a paso de cómo crear una colección, vea crear y actualizar
una colección.
Registros y tablas
En estos ejemplos se examina cómo se administran los argumentos de registro y tabla
para recopilar y ClearCollect .
La colección icecream
también se ha modificado.
Enumeración de color y las funciones ColorFade,
ColorValue y RGBA en PowerApps
05/11/2019 • 18 minutes to read
Usar valores de color integrados, definir colores personalizados y usar el canal alfa.
Descripción
Mediante el uso de la enumeración de color , puede tener acceso fácilmente a los colores definidos por hojas de
estilo CSS de HTML (CSS ). Por ejemplo, color. red devuelve rojo puro. Puede encontrar una lista de estos colores
al final de este tema.
La función ColorValue devuelve un color basado en una cadena de color de una CSS. La cadena puede adoptar
cualquiera de estas formas:
El nombre de color de CSS: "RoxyBrown" y "OliveDrab" son ejemplos. Estos nombres no incluyen
espacios. La lista de colores admitidos aparece más adelante en este tema.
valor hexadecimal de 6 dígitos: Como ejemplo "#ffd700" es igual que "Gold". La cadena tiene el formato
"#RRGGBB", donde RR es la parte roja en dos dígitos hexadecimales, GG es el verde y BB es el azul.
valor hexadecimal de 8 dígitos: Por ejemplo, "#ff7f5080" es igual que "Coral" con un canal alfa 50%. La
cadena tiene el formato "#RRGGBBAA", donde RR, GGy BB son idénticos al formato de 6 dígitos. El canal alfa se
representa mediante AA: 00 representa completamente transparente y FF representa totalmente opaco.
La función RGBA devuelve un color basado en los componentes rojo, verde y azul. La función también incluye un
canal alfa para mezclar colores de controles que están superpuestos entre sí. Un canal alfa varía desde 0 o 0% (que
es completamente transparente e invisible) hasta 1 o 100% (que es completamente opaco y se bloquea
completamente cualquier capa detrás de un control).
La función ColorFade devuelve una versión más clara o más oscura de un color. La cantidad de desvanecimiento
varía entre-1 (que oscurece completamente un color hasta el negro) hasta 0 (que no afecta al color) a 1 (que
ilumina completamente un color a blanco).
Canal alfa
En una aplicación de lienzo, puede capas de controles de un lado a otro y especificar la transparencia de un control
para todos los controles que están detrás. Como resultado, los colores se fusionarán a través de las capas. Por
ejemplo, en este diagrama se muestra cómo se mezclan los tres colores primarios con una configuración alfa de
50%:
También puede mezclar imágenes en formatos de archivo que admiten canales alfa. Por ejemplo, no puede mezclar
archivos. JPEG, pero puede mezclar archivos. png. En el gráfico siguiente se muestran los mismos colores rojo,
verde y azul del ejemplo anterior, pero el color rojo aparece como una línea ondulada (en lugar de un círculo) en un
archivo. png con un canal alfa 50%:
Si especifica un valor de enumeración de color o crea una fórmula de ColorValue con un nombre de color o un
valor hexadecimal de 6 dígitos, el valor de alfa es 100%, que es completamente opaco.
Sintaxis
Color.ColorName
ColorName: requerido. El nombre de un color de hoja de estilo CSS. La lista de posibles valores de enumeración
aparece al final de este tema.
ColorValue( CSSColor )
CSSColor: requerido. La definición de un color de hoja de estilo CSS. Puede especificar un nombre, como
OliveDrab, o un valor hexadecimal, como #6b8e23 o #7fffd420. Los valores hexadecimales pueden adoptar la
forma de #RRGGBB o #RRGGBBAA.
RGBA ( Red; Green; Blue; Alpha )
Red, Green, Blue: requerido. Valores de componente de color, que van desde 0 (sin saturación) hasta 255
(saturación completa).
Alpha: requerido. Componente alfa, que va de 0 (totalmente transparente) a 1 (totalmente opaco). También
puede usar un porcentaje, de 0 % a 100 %.
ColorFade( Color; FadeAmount )
Color: requerido. Un valor de color como Color.Red o el resultado de ColorValue o RGBA.
FadeAmount: requerido. Número entre -1 y 1. -1 oscurece completamente un color a negro, 0 no afecta al color
y 1 ilumina completamente un color a blanco. También puede usar un porcentaje entre-100% y 100%.
Colores integrados
ENUMERACIÓN DE COLOR COLORVALUE RGBA MUESTRA DE COLOR
Usar valores de color integrados, definir colores personalizados y usar el canal alfa.
Descripción
Mediante el uso de la enumeración de color , puede tener acceso fácilmente a los colores definidos por hojas de
estilo CSS de HTML (CSS ). Por ejemplo, color. red devuelve rojo puro. Puede encontrar una lista de estos colores
al final de este tema.
La función ColorValue devuelve un color basado en una cadena de color de una CSS. La cadena puede adoptar
cualquiera de estas formas:
El nombre de color de CSS: "RoxyBrown" y "OliveDrab" son ejemplos. Estos nombres no incluyen
espacios. La lista de colores admitidos aparece más adelante en este tema.
valor hexadecimal de 6 dígitos: Como ejemplo "#ffd700" es igual que "Gold". La cadena tiene el formato
"#RRGGBB", donde RR es la parte roja en dos dígitos hexadecimales, GG es el verde y BB es el azul.
valor hexadecimal de 8 dígitos: Por ejemplo, "#ff7f5080" es igual que "Coral" con un canal alfa 50%. La
cadena tiene el formato "#RRGGBBAA", donde RR, GGy BB son idénticos al formato de 6 dígitos. El canal alfa se
representa mediante AA: 00 representa completamente transparente y FF representa totalmente opaco.
La función RGBA devuelve un color basado en los componentes rojo, verde y azul. La función también incluye un
canal alfa para mezclar colores de controles que están superpuestos entre sí. Un canal alfa varía desde 0 o 0% (que
es completamente transparente e invisible) hasta 1 o 100% (que es completamente opaco y se bloquea
completamente cualquier capa detrás de un control).
La función ColorFade devuelve una versión más clara o más oscura de un color. La cantidad de desvanecimiento
varía entre-1 (que oscurece completamente un color hasta el negro) hasta 0 (que no afecta al color) a 1 (que
ilumina completamente un color a blanco).
Canal alfa
En una aplicación de lienzo, puede capas de controles de un lado a otro y especificar la transparencia de un control
para todos los controles que están detrás. Como resultado, los colores se fusionarán a través de las capas. Por
ejemplo, en este diagrama se muestra cómo se mezclan los tres colores primarios con una configuración alfa de
50%:
También puede mezclar imágenes en formatos de archivo que admiten canales alfa. Por ejemplo, no puede mezclar
archivos. JPEG, pero puede mezclar archivos. png. En el gráfico siguiente se muestran los mismos colores rojo,
verde y azul del ejemplo anterior, pero el color rojo aparece como una línea ondulada (en lugar de un círculo) en un
archivo. png con un canal alfa 50%:
Si especifica un valor de enumeración de color o crea una fórmula de ColorValue con un nombre de color o un
valor hexadecimal de 6 dígitos, el valor de alfa es 100%, que es completamente opaco.
Sintaxis
Color.ColorName
ColorName: requerido. El nombre de un color de hoja de estilo CSS. La lista de posibles valores de enumeración
aparece al final de este tema.
ColorValue( CSSColor )
CSSColor: requerido. La definición de un color de hoja de estilo CSS. Puede especificar un nombre, como
OliveDrab, o un valor hexadecimal, como #6b8e23 o #7fffd420. Los valores hexadecimales pueden adoptar la
forma de #RRGGBB o #RRGGBBAA.
RGBA ( Red; Green; Blue; Alpha )
Red, Green, Blue: requerido. Valores de componente de color, que van desde 0 (sin saturación) hasta 255
(saturación completa).
Alpha: requerido. Componente alfa, que va de 0 (totalmente transparente) a 1 (totalmente opaco). También
puede usar un porcentaje, de 0 % a 100 %.
ColorFade( Color; FadeAmount )
Color: requerido. Un valor de color como Color.Red o el resultado de ColorValue o RGBA.
FadeAmount: requerido. Número entre -1 y 1. -1 oscurece completamente un color a negro, 0 no afecta al color
y 1 ilumina completamente un color a blanco. También puede usar un porcentaje entre-100% y 100%.
Colores integrados
ENUMERACIÓN DE COLOR COLORVALUE RGBA MUESTRA DE COLOR
Usar valores de color integrados, definir colores personalizados y usar el canal alfa.
Descripción
Mediante el uso de la enumeración de color , puede tener acceso fácilmente a los colores definidos por hojas de
estilo CSS de HTML (CSS ). Por ejemplo, color. red devuelve rojo puro. Puede encontrar una lista de estos colores
al final de este tema.
La función ColorValue devuelve un color basado en una cadena de color de una CSS. La cadena puede adoptar
cualquiera de estas formas:
El nombre de color de CSS: "RoxyBrown" y "OliveDrab" son ejemplos. Estos nombres no incluyen
espacios. La lista de colores admitidos aparece más adelante en este tema.
valor hexadecimal de 6 dígitos: Como ejemplo "#ffd700" es igual que "Gold". La cadena tiene el formato
"#RRGGBB", donde RR es la parte roja en dos dígitos hexadecimales, GG es el verde y BB es el azul.
valor hexadecimal de 8 dígitos: Por ejemplo, "#ff7f5080" es igual que "Coral" con un canal alfa 50%. La
cadena tiene el formato "#RRGGBBAA", donde RR, GGy BB son idénticos al formato de 6 dígitos. El canal alfa se
representa mediante AA: 00 representa completamente transparente y FF representa totalmente opaco.
La función RGBA devuelve un color basado en los componentes rojo, verde y azul. La función también incluye un
canal alfa para mezclar colores de controles que están superpuestos entre sí. Un canal alfa varía desde 0 o 0% (que
es completamente transparente e invisible) hasta 1 o 100% (que es completamente opaco y se bloquea
completamente cualquier capa detrás de un control).
La función ColorFade devuelve una versión más clara o más oscura de un color. La cantidad de desvanecimiento
varía entre-1 (que oscurece completamente un color hasta el negro) hasta 0 (que no afecta al color) a 1 (que
ilumina completamente un color a blanco).
Canal alfa
En una aplicación de lienzo, puede capas de controles de un lado a otro y especificar la transparencia de un control
para todos los controles que están detrás. Como resultado, los colores se fusionarán a través de las capas. Por
ejemplo, en este diagrama se muestra cómo se mezclan los tres colores primarios con una configuración alfa de
50%:
También puede mezclar imágenes en formatos de archivo que admiten canales alfa. Por ejemplo, no puede mezclar
archivos. JPEG, pero puede mezclar archivos. png. En el gráfico siguiente se muestran los mismos colores rojo,
verde y azul del ejemplo anterior, pero el color rojo aparece como una línea ondulada (en lugar de un círculo) en un
archivo. png con un canal alfa 50%:
Si especifica un valor de enumeración de color o crea una fórmula de ColorValue con un nombre de color o un
valor hexadecimal de 6 dígitos, el valor de alfa es 100%, que es completamente opaco.
Sintaxis
Color.ColorName
ColorName: requerido. El nombre de un color de hoja de estilo CSS. La lista de posibles valores de enumeración
aparece al final de este tema.
ColorValue( CSSColor )
CSSColor: requerido. La definición de un color de hoja de estilo CSS. Puede especificar un nombre, como
OliveDrab, o un valor hexadecimal, como #6b8e23 o #7fffd420. Los valores hexadecimales pueden adoptar la
forma de #RRGGBB o #RRGGBBAA.
RGBA ( Red; Green; Blue; Alpha )
Red, Green, Blue: requerido. Valores de componente de color, que van desde 0 (sin saturación) hasta 255
(saturación completa).
Alpha: requerido. Componente alfa, que va de 0 (totalmente transparente) a 1 (totalmente opaco). También
puede usar un porcentaje, de 0 % a 100 %.
ColorFade( Color; FadeAmount )
Color: requerido. Un valor de color como Color.Red o el resultado de ColorValue o RGBA.
FadeAmount: requerido. Número entre -1 y 1. -1 oscurece completamente un color a negro, 0 no afecta al color
y 1 ilumina completamente un color a blanco. También puede usar un porcentaje entre-100% y 100%.
Colores integrados
ENUMERACIÓN DE COLOR COLORVALUE RGBA MUESTRA DE COLOR
Devuelve información sobre el entorno de la aplicación, como dónde se encuentra el usuario en el mundo y la
pantalla que se muestra.
Descripción y sintaxis
Las señales son valores que pueden cambiar en cualquier momento, independientemente de cómo el usuario
pueda interactuar con la aplicación. Las fórmulas que se basan en señales se recalculan automáticamente a medida
que estos valores cambian.
Normalmente, las señales devuelven un registro de información. Puede usar y almacenar esta información como
un registro, o puede extraer propiedades individuales mediante el operador .
NOTE
Las funciones Acceleration y Compass devuelven valores precisos en un reproductor nativo, como en iOS o Android, pero
esas funciones devuelven valores cero a medida que crea o modifica una aplicación en el explorador.
Acceleration
La señal Acceleration devuelve la aceleración del dispositivo en tres dimensiones en relación con la pantalla del
dispositivo. La aceleración se mide en unidades g de 9,81 m/s2 o 32,2 ft/s2 (la aceleración que imparte la Tierra en
los objetos en su superficie debida a la gravedad).
PROPIEDAD DESCRIPCIÓN
App
Entre otras propiedades, el objeto de aplicación incluye una señal que indica la pantalla que se muestra.
PROPIEDAD DESCRIPCIÓN
PROPIEDAD DESCRIPCIÓN
Conexión
La señal Connection devuelve información acerca de la conexión de red. Cuando está en una conexión medida,
puede que desee limitar la cantidad de datos que envíe o reciba a través de la red.
PROPIEDAD DESCRIPCIÓN
Location
La señal Location devuelve la ubicación del dispositivo según el sistema GPS (Global Positioning System) y otra
información de dispositivo, como las comunicaciones de la torre de telefonía móvil y la dirección IP.
Cuando un usuario tiene acceso a la información de ubicación por primera vez, el dispositivo puede solicitar que el
usuario permita el acceso a esta información.
A medida que cambia la ubicación, las dependencias de la ubicación se recalcularán continuamente, lo que
consumirá corriente de la batería del dispositivo. Para conservar la vida útil de la batería, puede usar las funciones
Enable y Disable para activar y desactivar las actualizaciones de la ubicación. La ubicación se desactiva
automáticamente si la pantalla mostrada no depende de la información de la ubicación.
PROPIEDAD DESCRIPCIÓN
Ejemplos
En un campo de béisbol, un lanzador lanza un teléfono desde el montículo del jarra a un captador en la placa de
inicio. El teléfono se encuentra situado horizontalmente con respecto a la tierra, la parte superior de la pantalla está
orientada al lanzador, y el lanzador no hace ningún giro. En esta ubicación, el teléfono tiene una cobertura medida,
pero no tiene Wi-Fi. Se muestra la pantalla PlayBall.
Descripción
La función Concatenate concatena una combinación de cadenas individuales y una tabla de cadenas con una sola
columna. Cuando se usa esta función con cadenas individuales, es equivalente a usar el operador & .
La función Concat concatena el resultado de una fórmula que se aplica en todos los registros de una tabla, lo que
genera una sola cadena. Use esta función para resumir las cadenas de una tabla, tal como hace la función Sum para
los números.
Los campos de registro que se están procesando actualmente estarán disponibles en la formula. Solo tiene que
hacer referencia a los campos por su nombre, como con cualquier otro valor. También puede hacer referencia a
propiedades de control y a otros valores desde toda la aplicación. Para obtener más detalles, vea los ejemplos
siguientes y trabajar con el ámbito de registros.
Use la función Split o MatchAll para dividir una cadena en una tabla de subcadenas.
Sintaxis
Concat( Table; Formula )
Table: requerido. La tabla sobre la cual se opera.
Formula: requerido. Fórmula para aplicar en todos los registros de la tabla.
Concatenate( String1 [; String2; ...] )
String (s) : requerido. Combinación de cadenas individuales o una tabla de cadenas de una columna.
Ejemplos
En los ejemplos de esta sección se usan estas variables globales:
FirstName = "Julia"
LastName = "DOE"
Products =
Para crear estas variables globales en una aplicación, inserte un control de botón y establezca su propiedad
alseleccionar en esta fórmula:
Set( FirstName; "Jane" );; Set( LastName; "Doe" );;
Set( Products;
Table(
{ Name: "Violin"; Type: "String" };
{ Name: "Cello"; Type: "String" };
{ Name: "Trumpet"; Type: "Wind" }
)
)
LastName & ", " & FirstName Igual que el ejemplo anterior, excepto "Doe, Jane"
mediante el operador & en lugar de la
función.
FirstName & " " & LastName Igual que en el ejemplo anterior, con el "Jane DOE"
operador & en lugar de la función.
Concat (función)
En estos ejemplos, establezca la propiedad texto de una etiqueta en una fórmula de la primera columna de la tabla
siguiente.
Concat (productos, nombre & ",") Evalúa el nombre de la expresión & "," "Violin, Cello, Trumpet, "
para cada registro de productos y
concatena los resultados en una sola
cadena de texto.
FÓRMULA DESCRIPCIÓN RESULTADO
Concat (filtrar ( productos, tipo Evalúa el nombre de la fórmula & "," "Violin, Cello, "
de = "cadena" ), nombre & ",") para cada registro de productos que
satisface el tipo de filtro = "String" y
concatena los resultados en una sola
cadena de texto.
Recortar el final
Los dos últimos ejemplos incluyen un "," extra al final del resultado. La función anexa una coma y un espacio al
valor de nombre de cada registro de la tabla, incluido el último registro.
En algunos casos, estos caracteres adicionales no importan. Por ejemplo, un separador de espacio único no aparece
si se muestra el resultado en una etiqueta. Si desea quitar estos caracteres adicionales, utilice la función left o
Match .
En estos ejemplos, establezca la propiedad texto de una etiqueta en una fórmula de la primera columna de la tabla
siguiente.
Split y MatchAll
Si usó concat con un separador, puede invertir la operación combinando las funciones Split y MatchAll .
En estos ejemplos, agregue una galería vertical en blanco, establezca la propiedad elementos en una fórmula de la
tabla siguiente y, a continuación, agregue una etiqueta a la plantilla de la galería.
Descripción
La función Concatenate concatena una combinación de cadenas individuales y una tabla de cadenas con una
sola columna. Cuando se usa esta función con cadenas individuales, es equivalente a usar el operador & .
La función Concat concatena el resultado de una fórmula que se aplica en todos los registros de una tabla, lo
que genera una sola cadena. Use esta función para resumir las cadenas de una tabla, tal como hace la función
Sum para los números.
Los campos de registro que se están procesando actualmente estarán disponibles en la formula. Solo tiene que
hacer referencia a los campos por su nombre, como con cualquier otro valor. También puede hacer referencia a
propiedades de control y a otros valores desde toda la aplicación. Para obtener más detalles, vea los ejemplos
siguientes y trabajar con el ámbito de registros.
Use la función Split o MatchAll para dividir una cadena en una tabla de subcadenas.
Sintaxis
Concat( Table; Formula )
Table: requerido. La tabla sobre la cual se opera.
Formula: requerido. Fórmula para aplicar en todos los registros de la tabla.
Concatenate( String1 [; String2; ...] )
String (s) : requerido. Combinación de cadenas individuales o una tabla de cadenas de una columna.
Ejemplos
En los ejemplos de esta sección se usan estas variables globales:
FirstName = "Julia"
LastName = "DOE"
Products =
Para crear estas variables globales en una aplicación, inserte un control de botón y establezca su propiedad
alseleccionar en esta fórmula:
Set( FirstName; "Jane" );; Set( LastName; "Doe" );;
Set( Products;
Table(
{ Name: "Violin"; Type: "String" };
{ Name: "Cello"; Type: "String" };
{ Name: "Trumpet"; Type: "Wind" }
)
)
LastName & ", " & FirstName Igual que el ejemplo anterior, excepto "Doe, Jane"
mediante el operador & en lugar de la
función.
FirstName & " " & LastName Igual que en el ejemplo anterior, con el "Jane DOE"
operador & en lugar de la función.
Concat (función)
En estos ejemplos, establezca la propiedad texto de una etiqueta en una fórmula de la primera columna de la
tabla siguiente.
Concat (productos, nombre & ",") Evalúa el nombre de la expresión & "," "Violin, Cello, Trumpet, "
para cada registro de productos y
concatena los resultados en una sola
cadena de texto.
FÓRMULA DESCRIPCIÓN RESULTADO
Concat (filtrar ( productos, tipo Evalúa el nombre de la fórmula & "," "Violin, Cello, "
de = "cadena" ), nombre & ",") para cada registro de productos que
satisface el tipo de filtro = "String" y
concatena los resultados en una sola
cadena de texto.
Recortar el final
Los dos últimos ejemplos incluyen un "," extra al final del resultado. La función anexa una coma y un espacio al
valor de nombre de cada registro de la tabla, incluido el último registro.
En algunos casos, estos caracteres adicionales no importan. Por ejemplo, un separador de espacio único no
aparece si se muestra el resultado en una etiqueta. Si desea quitar estos caracteres adicionales, utilice la función
left o Match .
En estos ejemplos, establezca la propiedad texto de una etiqueta en una fórmula de la primera columna de la
tabla siguiente.
Split y MatchAll
Si usó concat con un separador, puede invertir la operación combinando las funciones Split y MatchAll .
En estos ejemplos, agregue una galería vertical en blanco, establezca la propiedad elementos en una fórmula
de la tabla siguiente y, a continuación, agregue una etiqueta a la plantilla de la galería.
Descripción
La función Concurrent evalúa varias fórmulas al mismo tiempo. Normalmente, se evalúan varias fórmulas
mediante su encadenamiento junto con el operador ; , que evalúa cada secuencialmente en orden. Cuando la
aplicación realiza operaciones de forma simultánea, los usuarios esperan menos para el mismo resultado.
En la propiedad OnStart de la aplicación, use Concurrent para mejorar el rendimiento cuando la aplicación carga
los datos. Si las llamadas de datos no se inician hasta que terminan las llamadas anteriores, la aplicación debe
esperar la suma de todos los tiempos de solicitud. Si las llamadas de datos se inician al mismo tiempo, la
aplicación solo debe esperar el tiempo de solicitud más largo. Los exploradores web suelen mejorar el
rendimiento al realizar las operaciones de datos de forma simultánea.
No se puede predecir el orden en que las fórmulas de la función Concurrent inician y terminan la evaluación. Las
fórmulas de la función Concurrent no deben contener dependencias en otras fórmulas de la misma función
Concurrent y, si se intenta, PowerApps muestra un error. Desde dentro, es posible tomar dependencias en
fórmulas de fuera de la función Concurrent con seguridad, puesto que se completan antes de que se inicie la
función Concurrent. Las fórmulas posteriores a la función simultánea pueden tomar dependencias de las
fórmulas en: todas se completarán antes de que finalice la función simultánea y se desplacen a la siguiente
fórmula de una cadena (si usa el operador ; ). Esté atento a las dependencias de orden sutiles si está llamando a
funciones o métodos de servicio con efectos secundarios.
Puede encadenar fórmulas junto con el operador ; dentro de un argumento a simultáneo. Por ejemplo,
Concurrent( Set( a; 1 );; Set( b; a+1 ); Set( x; 2 );; Set( y; x+2 ) ) evalúa Set( a; 1 );; Set( b; a+1 )
simultáneamente con Set( x; 2 );; Set( y; x+2 ) . En este caso, las dependencias dentro de las fórmulas están bien:
a se establece antes de b y x se establece antes de y.
Según el dispositivo o explorador en el que se ejecute la aplicación, es posible que solo un puñado de fórmulas se
evalúen realmente de forma simultánea. Concurrent usa las capacidades disponibles y no finaliza hasta que se
han evaluado todas las fórmulas.
Si habilita Administración de errores a nivel de fórmula (en Configuración avanzada), se devuelve el primer
error detectado en el orden de los argumentos de Concurrent; en caso contrario, se devuelve blank. Si todas las
fórmulas son correctas, se devuelve true. Si se produce un error en una fórmula, se detiene el resto de la fórmula,
pero las demás fórmulas se siguen evaluando.
Solo puede usar Concurrent en fórmulas de comportamiento.
Sintaxis
Concurrent( Formula1; Formula2 [; ...] )
Formula (s) : requerido. Fórmulas que se van a evaluar de forma simultánea. Se deben proporcionar al menos
dos fórmulas.
Ejemplos
Carga de datos más rápida
1. Cree una aplicación y agregue cuatro orígenes de datos de Common Data Service, SQL Server o
SharePoint.
En este ejemplo se usan cuatro tablas de la base de datos de ejemplo Adventure Works en SQL Azure.
Después de crear la base de datos, conéctese a ella desde PowerApps con el nombre de servidor completo
(por ejemplo, srvname.database.windows.net):
3. En Microsoft Edge o Google Chrome, active las herramientas de desarrollador para supervisar el tráfico de
red mientras se ejecuta la aplicación.
4. (Opcional) Active el límite de red para exagerar los efectos de esta comparación.
5. Mientras mantiene presionada la tecla Alt, seleccione el botón y luego observe el tráfico de red.
Las herramientas muestran cuatro solicitudes realizadas en serie similares a este ejemplo. Se han quitado
los tiempos reales, ya que van a variar mucho. El gráfico muestra que cada llamada se inicia una vez
finalizada la última:
Concurrent(
ClearCollect( Product; '[SalesLT].[Product]' );
ClearCollect( Customer; '[SalesLT].[Customer]' );
ClearCollect( SalesOrderDetail; '[SalesLT].[SalesOrderDetail]' );
ClearCollect( SalesOrderHeader; '[SalesLT].[SalesOrderHeader]' )
)
Observe que ha agregado las mismas llamadas ClearCollect al primer botón, pero que esta vez están
encapsuladas en una función Concurrent y separadas por comas.
8. Desactive la supervisión de red en el explorador.
9. Si antes estaba usando el límite de red, vuelva a activarlo.
10. Mientras mantiene presionada la tecla Alt, seleccione el segundo botón y luego observe el tráfico de red.
Las herramientas muestran cuatro solicitudes realizadas de forma simultánea similares a este ejemplo. Una
vez más, se han quitado los tiempos reales, ya que van a variar mucho. El gráfico muestra que todas las
llamadas se inician aproximadamente al mismo tiempo y no esperan a que finalice la anterior:
Estos gráficos se basan en la misma escala. Al usar Concurrent, se ha reducido a la mitad la cantidad total
de tiempo que estas operaciones han tardado en terminar.
11. Guarde, cierre y vuelva a abrir la aplicación.
Condición de carrera
1. Agregue una conexión al servicio Microsoft Translator a la aplicación.
2. Agregue un control Entrada de texto y, si tiene otro nombre, cámbielo a TextInput1.
3. Agregue un control Botón y establezca su propiedad OnSelect en esta fórmula:
8. En el control Entrada de texto, escriba o pegue una frase que quiera traducir.
9. Mientras mantiene presionada la tecla Alt, seleccione el botón varias veces para rellenar la tabla.
Las horas se muestran en milisegundos.
En algunos casos, la traducción al francés es más rápida que la traducción al alemán y viceversa. Ambas se
inician al mismo tiempo, pero una se devuelve antes que la otra por diversos motivos, incluidos el
procesamiento de servidor y la latencia de red.
Se produce una condición de carrera si la aplicación dependía de que una traducción terminara primero.
Afortunadamente, PowerApps marca la mayoría de las dependencias de tiempo que puede detectar.
Señales Acceleration, App, Compass, Connection y
Location en PowerApps
07/10/2019 • 9 minutes to read
Devuelve información sobre el entorno de la aplicación, como dónde se encuentra el usuario en el mundo y la
pantalla que se muestra.
Descripción y sintaxis
Las señales son valores que pueden cambiar en cualquier momento, independientemente de cómo el usuario
pueda interactuar con la aplicación. Las fórmulas que se basan en señales se recalculan automáticamente a medida
que estos valores cambian.
Normalmente, las señales devuelven un registro de información. Puede usar y almacenar esta información como
un registro, o puede extraer propiedades individuales mediante el operador .
NOTE
Las funciones Acceleration y Compass devuelven valores precisos en un reproductor nativo, como en iOS o Android, pero
esas funciones devuelven valores cero a medida que crea o modifica una aplicación en el explorador.
Acceleration
La señal Acceleration devuelve la aceleración del dispositivo en tres dimensiones en relación con la pantalla del
dispositivo. La aceleración se mide en unidades g de 9,81 m/s2 o 32,2 ft/s2 (la aceleración que imparte la Tierra en
los objetos en su superficie debida a la gravedad).
PROPIEDAD DESCRIPCIÓN
App
Entre otras propiedades, el objeto de aplicación incluye una señal que indica la pantalla que se muestra.
PROPIEDAD DESCRIPCIÓN
PROPIEDAD DESCRIPCIÓN
Conexión
La señal Connection devuelve información acerca de la conexión de red. Cuando está en una conexión medida,
puede que desee limitar la cantidad de datos que envíe o reciba a través de la red.
PROPIEDAD DESCRIPCIÓN
Location
La señal Location devuelve la ubicación del dispositivo según el sistema GPS (Global Positioning System) y otra
información de dispositivo, como las comunicaciones de la torre de telefonía móvil y la dirección IP.
Cuando un usuario tiene acceso a la información de ubicación por primera vez, el dispositivo puede solicitar que el
usuario permita el acceso a esta información.
A medida que cambia la ubicación, las dependencias de la ubicación se recalcularán continuamente, lo que
consumirá corriente de la batería del dispositivo. Para conservar la vida útil de la batería, puede usar las funciones
Enable y Disable para activar y desactivar las actualizaciones de la ubicación. La ubicación se desactiva
automáticamente si la pantalla mostrada no depende de la información de la ubicación.
PROPIEDAD DESCRIPCIÓN
Ejemplos
En un campo de béisbol, un lanzador lanza un teléfono desde el montículo del jarra a un captador en la placa de
inicio. El teléfono se encuentra situado horizontalmente con respecto a la tierra, la parte superior de la pantalla está
orientada al lanzador, y el lanzador no hace ningún giro. En esta ubicación, el teléfono tiene una cobertura medida,
pero no tiene Wi-Fi. Se muestra la pantalla PlayBall.
Cuenta todos los registros de una tabla o todos los registros que cumplen una condición.
Descripción
La función Count cuenta el número de registros que contienen un número en una tabla de una sola columna.
La función CountA cuenta el número de registros que no están blank en una tabla de una sola columna. Esta
función incluye texto vacío ("") en el recuento.
La función CountIf cuenta el número de registros de una tabla que son true para una fórmula lógica. La fórmula
puede hacer referencia a columnas de la tabla.
La función CountRows cuenta el número de registros de una tabla.
Cada una de estas funciones devuelve un número.
Cuando se usan con un origen de datos, estas funciones no se pueden delegar. Solo se recuperará la primera parte
del origen de datos, y después se aplicará la función. Es posible que el resultado no represente la historia completa.
Aparecerá una advertencia en el momento de la creación para recordarle esta limitación y para sugerirle un cambio
a alternativas delegables siempre que sea posible. Para obtener más información, consulte la información general
sobre delegación
Sintaxis
Count( SingleColumnTable )
CountA ( SingleColumnTable )
SingleColumnTable: requerido. Columna de registros que se van a contar.
CountIf( Table; LogicalFormula )
Table: requerido. Tabla de registros que se van a contar.
LogicalFormula: requerido. Fórmula que se evalúa para cada registro de la tabla. Se cuentan los registros que
devuelven el valor true para esta fórmula. La fórmula puede hacer referencia a columnas de la tabla.
CountRows( Table )
Table: requerido. Tabla de registros que se van a contar.
Ejemplo
1. Importe o cree una colección denominada Inventory, como se describe en el primer subprocedimiento de
Show images and text in a gallery (Mostrar imágenes y texto en una galería).
2. Agregue una etiqueta y establezca su propiedad Text en esta fórmula:
CountIf(Inventory; UnitsInStock < 30)
La etiqueta muestra el valor 2 porque dos productos (Ganymede y Callisto) tienen menos de 30 unidades en
existencias.
3. Agregue otra etiqueta y establezca su propiedad Text en esta fórmula:
CountA (Inventory.UnitsInStock)
La etiqueta muestra el valor 5, el número de celdas no vacías en la columna UnitsInStock.
4. Agregue otra etiqueta y establezca su propiedad Text en esta fórmula:
CountRows(Inventory)
La etiqueta muestra el valor 5 porque la colección contiene cinco filas.
Funciones Acos, Acot, Asin, Atan, Atan2, Cos, Cot,
Degrees, Pi, Radians, Sin y Tan en PowerApps
08/10/2019 • 9 minutes to read
Descripción
Funciones principales
La función Cos devuelve el coseno de su argumento, un ángulo especificado en radianes.
La función Cot devuelve la cotangente de su argumento, un ángulo especificado en radianes.
La función Sin devuelve el seno de su argumento, un ángulo especificado en radianes.
La función Tan devuelve la tangente de su argumento, un ángulo especificado en radianes.
Funciones inversas
El Acos función devuelve el arcocoseno, o coseno inverso, de su argumento. El arcocoseno es el ángulo cuyo
coseno es el argumento. El ángulo devuelto se expresa en radianes en el intervalo de 0 (cero) a π.
La función Acot devuelve el valor principal de la arcocotangente, o cotangente inversa, de su argumento. El ángulo
devuelto se expresa en radianes en el intervalo de 0 (cero) a π.
La función Asin devuelve el arcoseno, o seno inverso, de su argumento. El arcoseno es el ángulo cuyo seno es el
argumento. El ángulo devuelto se expresa en radianes en el intervalo de -π/2 a π/2.
La función Atan devuelve la arcotangente, o tangente inversa, de su argumento. La arcotangente es el ángulo cuya
tangente es el argumento. El ángulo devuelto se expresa en radianes en el intervalo de -π/2 a π/2.
La función Atan2 devuelve la arcotangente, o tangente inversa, de las coordenadas x e y especificadas como
argumentos. La arcotangente es el ángulo desde el eje x a una línea que contiene el origen (0, 0) y un punto con las
coordenadas (x, y). El ángulo se expresa en radianes entre -π y π, excluyendo -π. Un resultado positivo representa
un ángulo con rotación levógira (hacia la izquierda) desde el eje x; un resultado negativo representa un ángulo con
rotación dextrógira (hacia la derecha). Atan2( a; b ) es igual a Atan( b/a ) , excepto que a puede ser igual a 0 (cero)
con la función Atan2.
Funciones auxiliares
La función Degrees convierte radianes en grados. π radianes equivalen a 180 grados.
La función Pi devuelve el número transcendente π, que comienza 3,141592...
La función Radians convierte grados en radianes.
Notas
Si pasa un solo número a estas funciones, el valor que se devuelve es un resultado único. Si pasa una tabla de una
sola columna que contiene números, el valor que se muestra es una tabla de resultados de una sola columna, un
resultado para cada registro en la tabla del argumento. Si tiene una tabla con varias columnas, puede convertirla en
una tabla de una sola columna, como se describe en cómo trabajar con tablas.
Si algún argumento resultase en un valor no definido, el resultado es blank. Esto puede ocurrir, por ejemplo, al
utilizar las funciones inversas con argumentos que están fuera del intervalo.
Sintaxis
Funciones principales
Cos( Radians )
Cot( Radians )
Sin( Radians )
Tan( Radians )
Radians: requerido. Ángulo sobre el cual operar.
Cos( SingleColumnTable )
Cot( SingleColumnTable )
Sin( SingleColumnTable )
Tan( SingleColumnTable )
SingleColumnTable: requerido. Una tabla de ángulos de una sola columna sobre la que se va a actuar.
Funciones inversas
Acos( Number )
Acot( Number )
Asin( Number )
Atan( Number )
Number: requerido. El número sobre el cual operar.
Acos( SingleColumnTable )
Acot( SingleColumnTable )
Asin( SingleColumnTable )
Atan( SingleColumnTable )
SingleColumnTable: requerido. Una tabla de números de una sola columna sobre la cual operar.
Atan2( X; Y )
X: requerido. coordenadas del eje X.
Y: requerido. coordenadas del eje Y.
Funciones del asistente
Degrees( Radians )
Radians: requerido. Ángulo en radianes para convertir en grados.
Pi()
Radians( Degrees )
Degrees: requerido. Ángulo en grados para convertir en radianes.
Ejemplos
Número único
FÓRMULA DESCRIPCIÓN RESULTADO
Descripción
Funciones principales
La función Cos devuelve el coseno de su argumento, un ángulo especificado en radianes.
La función Cot devuelve la cotangente de su argumento, un ángulo especificado en radianes.
La función Sin devuelve el seno de su argumento, un ángulo especificado en radianes.
La función Tan devuelve la tangente de su argumento, un ángulo especificado en radianes.
Funciones inversas
El Acos función devuelve el arcocoseno, o coseno inverso, de su argumento. El arcocoseno es el ángulo cuyo
coseno es el argumento. El ángulo devuelto se expresa en radianes en el intervalo de 0 (cero) a π.
La función Acot devuelve el valor principal de la arcocotangente, o cotangente inversa, de su argumento. El ángulo
devuelto se expresa en radianes en el intervalo de 0 (cero) a π.
La función Asin devuelve el arcoseno, o seno inverso, de su argumento. El arcoseno es el ángulo cuyo seno es el
argumento. El ángulo devuelto se expresa en radianes en el intervalo de -π/2 a π/2.
La función Atan devuelve la arcotangente, o tangente inversa, de su argumento. La arcotangente es el ángulo cuya
tangente es el argumento. El ángulo devuelto se expresa en radianes en el intervalo de -π/2 a π/2.
La función Atan2 devuelve la arcotangente, o tangente inversa, de las coordenadas x e y especificadas como
argumentos. La arcotangente es el ángulo desde el eje x a una línea que contiene el origen (0, 0) y un punto con las
coordenadas (x, y). El ángulo se expresa en radianes entre -π y π, excluyendo -π. Un resultado positivo representa
un ángulo con rotación levógira (hacia la izquierda) desde el eje x; un resultado negativo representa un ángulo con
rotación dextrógira (hacia la derecha). Atan2( a; b ) es igual a Atan( b/a ) , excepto que a puede ser igual a 0 (cero)
con la función Atan2.
Funciones auxiliares
La función Degrees convierte radianes en grados. π radianes equivalen a 180 grados.
La función Pi devuelve el número transcendente π, que comienza 3,141592...
La función Radians convierte grados en radianes.
Notas
Si pasa un solo número a estas funciones, el valor que se devuelve es un resultado único. Si pasa una tabla de una
sola columna que contiene números, el valor que se muestra es una tabla de resultados de una sola columna, un
resultado para cada registro en la tabla del argumento. Si tiene una tabla con varias columnas, puede convertirla en
una tabla de una sola columna, como se describe en cómo trabajar con tablas.
Si algún argumento resultase en un valor no definido, el resultado es blank. Esto puede ocurrir, por ejemplo, al
utilizar las funciones inversas con argumentos que están fuera del intervalo.
Sintaxis
Funciones principales
Cos( Radians )
Cot( Radians )
Sin( Radians )
Tan( Radians )
Radians: requerido. Ángulo sobre el cual operar.
Cos( SingleColumnTable )
Cot( SingleColumnTable )
Sin( SingleColumnTable )
Tan( SingleColumnTable )
SingleColumnTable: requerido. Una tabla de ángulos de una sola columna sobre la que se va a actuar.
Funciones inversas
Acos( Number )
Acot( Number )
Asin( Number )
Atan( Number )
Number: requerido. El número sobre el cual operar.
Acos( SingleColumnTable )
Acot( SingleColumnTable )
Asin( SingleColumnTable )
Atan( SingleColumnTable )
SingleColumnTable: requerido. Una tabla de números de una sola columna sobre la cual operar.
Atan2( X; Y )
X: requerido. coordenadas del eje X.
Y: requerido. coordenadas del eje Y.
Funciones del asistente
Degrees( Radians )
Radians: requerido. Ángulo en radianes para convertir en grados.
Pi()
Radians( Degrees )
Degrees: requerido. Ángulo en grados para convertir en radianes.
Ejemplos
Número único
FÓRMULA DESCRIPCIÓN RESULTADO
Cuenta todos los registros de una tabla o todos los registros que cumplen una condición.
Descripción
La función Count cuenta el número de registros que contienen un número en una tabla de una sola columna.
La función CountA cuenta el número de registros que no están blank en una tabla de una sola columna. Esta
función incluye texto vacío ("") en el recuento.
La función CountIf cuenta el número de registros de una tabla que son true para una fórmula lógica. La fórmula
puede hacer referencia a columnas de la tabla.
La función CountRows cuenta el número de registros de una tabla.
Cada una de estas funciones devuelve un número.
Cuando se usan con un origen de datos, estas funciones no se pueden delegar. Solo se recuperará la primera parte
del origen de datos, y después se aplicará la función. Es posible que el resultado no represente la historia completa.
Aparecerá una advertencia en el momento de la creación para recordarle esta limitación y para sugerirle un cambio
a alternativas delegables siempre que sea posible. Para obtener más información, consulte la información general
sobre delegación
Sintaxis
Count( SingleColumnTable )
CountA ( SingleColumnTable )
SingleColumnTable: requerido. Columna de registros que se van a contar.
CountIf( Table; LogicalFormula )
Table: requerido. Tabla de registros que se van a contar.
LogicalFormula: requerido. Fórmula que se evalúa para cada registro de la tabla. Se cuentan los registros que
devuelven el valor true para esta fórmula. La fórmula puede hacer referencia a columnas de la tabla.
CountRows( Table )
Table: requerido. Tabla de registros que se van a contar.
Ejemplo
1. Importe o cree una colección denominada Inventory, como se describe en el primer subprocedimiento de
Show images and text in a gallery (Mostrar imágenes y texto en una galería).
2. Agregue una etiqueta y establezca su propiedad Text en esta fórmula:
CountIf(Inventory; UnitsInStock < 30)
La etiqueta muestra el valor 2 porque dos productos (Ganymede y Callisto) tienen menos de 30 unidades en
existencias.
3. Agregue otra etiqueta y establezca su propiedad Text en esta fórmula:
CountA (Inventory.UnitsInStock)
La etiqueta muestra el valor 5, el número de celdas no vacías en la columna UnitsInStock.
4. Agregue otra etiqueta y establezca su propiedad Text en esta fórmula:
CountRows(Inventory)
La etiqueta muestra el valor 5 porque la colección contiene cinco filas.
Funciones Count, CountA, CountIf y CountRows en
PowerApps
08/10/2019 • 3 minutes to read
Cuenta todos los registros de una tabla o todos los registros que cumplen una condición.
Descripción
La función Count cuenta el número de registros que contienen un número en una tabla de una sola columna.
La función CountA cuenta el número de registros que no están blank en una tabla de una sola columna. Esta
función incluye texto vacío ("") en el recuento.
La función CountIf cuenta el número de registros de una tabla que son true para una fórmula lógica. La fórmula
puede hacer referencia a columnas de la tabla.
La función CountRows cuenta el número de registros de una tabla.
Cada una de estas funciones devuelve un número.
Cuando se usan con un origen de datos, estas funciones no se pueden delegar. Solo se recuperará la primera parte
del origen de datos, y después se aplicará la función. Es posible que el resultado no represente la historia completa.
Aparecerá una advertencia en el momento de la creación para recordarle esta limitación y para sugerirle un cambio
a alternativas delegables siempre que sea posible. Para obtener más información, consulte la información general
sobre delegación
Sintaxis
Count( SingleColumnTable )
CountA ( SingleColumnTable )
SingleColumnTable: requerido. Columna de registros que se van a contar.
CountIf( Table; LogicalFormula )
Table: requerido. Tabla de registros que se van a contar.
LogicalFormula: requerido. Fórmula que se evalúa para cada registro de la tabla. Se cuentan los registros que
devuelven el valor true para esta fórmula. La fórmula puede hacer referencia a columnas de la tabla.
CountRows( Table )
Table: requerido. Tabla de registros que se van a contar.
Ejemplo
1. Importe o cree una colección denominada Inventory, como se describe en el primer subprocedimiento de
Show images and text in a gallery (Mostrar imágenes y texto en una galería).
2. Agregue una etiqueta y establezca su propiedad Text en esta fórmula:
CountIf(Inventory; UnitsInStock < 30)
La etiqueta muestra el valor 2 porque dos productos (Ganymede y Callisto) tienen menos de 30 unidades en
existencias.
3. Agregue otra etiqueta y establezca su propiedad Text en esta fórmula:
CountA (Inventory.UnitsInStock)
La etiqueta muestra el valor 5, el número de celdas no vacías en la columna UnitsInStock.
4. Agregue otra etiqueta y establezca su propiedad Text en esta fórmula:
CountRows(Inventory)
La etiqueta muestra el valor 5 porque la colección contiene cinco filas.
Funciones Count, CountA, CountIf y CountRows
en PowerApps
08/10/2019 • 3 minutes to read
Cuenta todos los registros de una tabla o todos los registros que cumplen una condición.
Descripción
La función Count cuenta el número de registros que contienen un número en una tabla de una sola
columna.
La función CountA cuenta el número de registros que no están blank en una tabla de una sola columna.
Esta función incluye texto vacío ("") en el recuento.
La función CountIf cuenta el número de registros de una tabla que son true para una fórmula lógica. La
fórmula puede hacer referencia a columnas de la tabla.
La función CountRows cuenta el número de registros de una tabla.
Cada una de estas funciones devuelve un número.
Cuando se usan con un origen de datos, estas funciones no se pueden delegar. Solo se recuperará la primera
parte del origen de datos, y después se aplicará la función. Es posible que el resultado no represente la
historia completa. Aparecerá una advertencia en el momento de la creación para recordarle esta limitación y
para sugerirle un cambio a alternativas delegables siempre que sea posible. Para obtener más información,
consulte la información general sobre delegación
Sintaxis
Count( SingleColumnTable )
CountA ( SingleColumnTable )
SingleColumnTable: requerido. Columna de registros que se van a contar.
CountIf( Table; LogicalFormula )
Table: requerido. Tabla de registros que se van a contar.
LogicalFormula: requerido. Fórmula que se evalúa para cada registro de la tabla. Se cuentan los registros
que devuelven el valor true para esta fórmula. La fórmula puede hacer referencia a columnas de la tabla.
CountRows( Table )
Table: requerido. Tabla de registros que se van a contar.
Ejemplo
1. Importe o cree una colección denominada Inventory, como se describe en el primer
subprocedimiento de Show images and text in a gallery (Mostrar imágenes y texto en una galería).
2. Agregue una etiqueta y establezca su propiedad Text en esta fórmula:
CountIf(Inventory; UnitsInStock < 30)
La etiqueta muestra el valor 2 porque dos productos (Ganymede y Callisto) tienen menos de 30
unidades en existencias.
3. Agregue otra etiqueta y establezca su propiedad Text en esta fórmula:
CountA (Inventory.UnitsInStock)
La etiqueta muestra el valor 5, el número de celdas no vacías en la columna UnitsInStock.
4. Agregue otra etiqueta y establezca su propiedad Text en esta fórmula:
CountRows(Inventory)
La etiqueta muestra el valor 5 porque la colección contiene cinco filas.
Tipos de datos en aplicaciones de lienzo
26/11/2019 • 31 minutes to read
La información fluye a través de una aplicación en pequeños valores discretos, muy parecidos a las celdas de una
hoja de cálculo. Por ejemplo, los datos de un campo de cumpleaños y un campo de aniversario fluyen como un
valor de fecha que incluye el año, el mes y el día. La aplicación sabe cómo dar formato a estos valores, restringir la
entrada a lo apropiado para cada uno y compartir los valores con una base de datos. Los cumpleaños difieren de
los aniversarios a los usuarios, pero el sistema los controla exactamente de la misma manera. En este caso, Date
es un ejemplo de un tipo de datos.
En este artículo se proporcionan detalles sobre los tipos de datos que admiten las aplicaciones de canvas. Cuando
una aplicación se conecta a un origen de datos externo, cada tipo de datos de ese origen se asigna a un tipo de
datos para las aplicaciones de canvas.
Posteriormente Una fecha sin una hora, en la zona Fecha (2019, 5, 16)
horaria del usuario de la aplicación.
DateTime Una fecha con una hora, en la zona Fechahoranumero ("May 16, 2019
horaria del usuario de la aplicación. 1:23:09 PM")
Tiempo Una hora sin fecha, en la zona horaria Hora (11, 23, 45)
del usuario de la aplicación.
Muchos de estos tipos de datos son similares y tienen la misma representación subyacente, como un campo de
hipervínculo que se trata como texto. Los tipos de datos adicionales proporcionan mejores experiencias
predeterminadas en formularios y otros controles.
En blanco
Todos los tipos de datos pueden tener un valor en blanco (es decir, ningún valor). El término "null" se usa a
menudo en las bases de datos para este concepto.
Utilice la función Blank con la función set o patch para establecer una variable o un campo en blanco. Por
ejemplo, set (x, Blank ()) quita cualquier valor de la variable global x.
Compruebe si hay un valor en blanco mediante la función esblanco. Reemplace los valores en blanco posibles
por valores que no esténen blanco mediante la función Coalesce .
Dado que todos los tipos de datos admiten valores en blanco, los tipos de datos booleanos y dos opciones
tienen eficazmente tres valores posibles.
Para usar este recurso en una aplicación, especifíquelo en la propiedad imagen de un control imagen :
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAFAQMAAACtnVQoAAAABlBMVEUAAAB0J3UMNU6VAAAAAXRSTlMAQObYZgA
AABRJREFUCNdjUGJgCGVg6GgAkkA2AA8/AffqCEBsAAAAAElFTkSuQmCC"
Puede mostrar la imagen más reciente capturada en un control de cámara si establece la propiedad imagen de
un control imagen en la propiedad foto del control cámara. La aplicación contiene la imagen en memoria y la
propiedad Photo del control de cámara devuelve una referencia de URI a la imagen. Por ejemplo, puede tomar
una foto y la propiedad Photo de la cámara podría devolver
"appres://blobmanager/7b12ffa2ea4547e5b3812cb1c7b0a2a0/1" .
El URI se usa para hacer referencia a una imagen u otro archivo multimedia almacenado en una base de datos. De
este modo, la aplicación no recupera los datos reales hasta que realmente se necesita. Por ejemplo, los datos
adjuntos de una entidad Common Data Service podrían devolver "appres://datasources/Contacts/Table/..."
como en el ejemplo de cámara, puede mostrar esta imagen estableciendo la propiedad imagen de un control
imagen en esta referencia, que recupera los datos binarios.
Al guardar un tipo de datos multimedia, como una imagen, en una base de datos, la aplicación envía la imagen o
los datos multimedia reales, no la referencia de URI.
Límites de tamaño
Como cadenas de texto y URI, estos tipos de datos no tienen ningún límite preestablecido para su longitud.
Los datos binarios a los que hacen referencia estos tipos de datos tampoco tienen un límite preestablecido en el
tamaño. Por ejemplo, una imagen capturada a través del control de la cámara a la que se hace referencia ahora
como "appres://..." puede ser tan grande y alta como para la cámara del dispositivo. La resolución, la velocidad
de fotogramas y otros atributos de archivos multimedia no están limitados por el tipo de datos, pero los controles
específicos para reproducir y capturar medios pueden tener sus propias limitaciones.
Sin embargo, todos los tamaños de datos están sujetos a la cantidad de memoria disponible en la aplicación. Los
exploradores que se ejecutan en un equipo de escritorio suelen admitir más de 100 megabytes de datos. Sin
embargo, la cantidad de memoria disponible en un dispositivo, como un teléfono, puede ser mucho menor,
normalmente en el intervalo de 30-70 megabytes. Para determinar si la aplicación se ejecutará dentro de estos
límites, pruebe los escenarios comunes en todos los dispositivos en los que se debe ejecutar.
Como procedimiento recomendado, conserve los datos en la memoria solo cuando sea necesario. Cargar
imágenes en una base de datos tan pronto como pueda; Descargue imágenes solo cuando el usuario de la
aplicación las solicite.
Número y moneda
Los tipos de datos Number y Currency usan el estándar de punto flotante de doble precisión IEEE 754. Este
estándar proporciona un gran número de números en los que trabajar, desde – 1,79769 x 10308 hasta 1,79769 x
10308. El valor más pequeño que se puede representar es 5 x 10– 324.
Las aplicaciones de lienzo pueden representar exactamente números enteros (o enteros) entre –
9.007.199.254.740.991 (– (253 – 1)) y 9.007.199.254.740.991 (253 – 1), ambos incluidos. Este intervalo es mayor
que los tipos de datos enteros de 32 bits (o 4 bytes) que usan habitualmente las bases de datos. Sin embargo, las
aplicaciones de canvas no pueden representar tipos de datos enteros de 64 bits (o 8 bytes). Es posible que quiera
almacenar el número en un campo de texto o usar una columna calculada para crear una copia del número en un
campo de texto, de modo que se asigne a un tipo de datos de texto en la aplicación Canvas. De esta manera,
puede mantener, mostrar y escribir estos valores, así como compararlos para determinar si son iguales; sin
embargo, en este formulario no se pueden realizar cálculos numéricos.
La aritmética de punto flotante es aproximada, por lo que a veces puede proporcionar resultados inesperados con
muchos ejemplos documentados. Podría esperar que la fórmula 55/100 * 100 devuelva exactamente 55 y (55/100
* 100)-55 para que se devuelva exactamente cero. Sin embargo, la última fórmula devuelve 7,1054 x 10– 15, que es
muy pequeño pero no cero. Esta pequeña diferencia no provoca normalmente un problema y la aplicación la
redondea al mostrar el resultado. Sin embargo, las pequeñas diferencias pueden componerse en cálculos
posteriores y parecen dar la respuesta equivocada.
Los sistemas de base de datos suelen almacenar monedas y realizar cálculos mediante el uso de matemáticas
decimales, que ofrece un intervalo menor pero mayor control sobre la precisión. De forma predeterminada, las
aplicaciones de canvas asignan divisas dentro y fuera de los valores de punto flotante; por consiguiente, el
resultado podría diferir de los cálculos que se realizan en un tipo de datos decimal nativo. Si este tipo de
discrepancia causa problemas, puede que desee trabajar con estos valores como texto, del mismo modo que con
los enteros grandes descritos anteriormente en esta sección.
Usuario local Domingo, puede 19 2019 Sábado, puede 18 2019 Domingo, puede 19 2019
4:00 AM 9:00 PM 8:00 AM
Independiente de la zona Domingo, puede 19 2019 Domingo, puede 19 2019 Domingo, puede 19 2019
horaria 4:00 AM 4:00 AM 4:00 AM
En el caso de la fecha y hora locales del usuario , las aplicaciones de lienzo usan la zona horaria del explorador o
el dispositivo, pero las aplicaciones controladas por modelos usan la configuración del usuario en Common Data
Service. Estos valores suelen coincidir, pero los resultados variarán si esta configuración es diferente.
Utilice las funciones DateAdd y TimeZoneInformation para volver a convertir la hora local a UTC y viceversa.
Vea los ejemplos al final de la documentación de estas funciones.
Equivalentes numéricos
Las aplicaciones de lienzo contienen y calculan todos los valores de fecha y hora, ya sean locales o de zona
horaria independientes de la hora UTC. La aplicación traduce los valores en función de la zona horaria del
usuario de la aplicación cuando los muestra y cuando el usuario de la aplicación los especifica.
Cuando una aplicación de lienzo Lee un valor independiente de la zona horaria de un origen de datos o escribe
este valor en un origen de datos, la aplicación ajusta automáticamente el valor para compensar la zona horaria del
usuario de la aplicación. A continuación, la aplicación trata el valor como un valor UTC, coherente con todos los
demás valores de fecha y hora de la aplicación. Debido a esta compensación, el valor independiente de la zona
horaria original aparece cuando la aplicación ajusta el valor UTC de la zona horaria del usuario de la aplicación.
Puede observar este comportamiento más detenidamente mediante el uso de la función Value para tener acceso
al valor numérico subyacente de un valor de fecha y hora. Esta función devuelve el valor de fecha y hora como el
número de milisegundos transcurridos desde el 1 de enero de 1970 00:00:00.000 UTC.
Dado que cada valor de fecha y hora se mantiene en UTC, el valor de la fórmula (fecha (1970; 1; 1)) no devolverá
cero en la mayoría de las partes del mundo porque la función Date devuelve una fecha en formato UTC. Por
ejemplo, la fórmula devolverá 28,8 millones en una zona horaria en la que se desplace la hora UTC en ocho horas.
Ese número refleja el número de milisegundos en ocho horas.
Volviendo al ejemplo anterior:
First(
ForAll(
MatchAll( "PT2H1M39S"; "PT(?:(?<hours>\d+)H)?(?:(?<minutes>\d+)M)?(?:(?<seconds>\d+)S)?" );
Time( Value( hours ); Value( minutes ); Value( seconds ) )
)
).Value
En el caso de los conjuntos de opciones globales (que comparten las entidades), el nombre de la enumeración de
conjuntos de opciones coincide con el nombre del conjunto de opciones global. En el caso de los conjuntos de
opciones locales (cuyo ámbito es una entidad), el nombre puede contener el nombre de la entidad. Este
comportamiento evita conflictos si varias entidades tienen conjuntos de opciones con el mismo nombre. Por
ejemplo, la entidad accounts puede tener una opción OrderStatus establecida y su nombre podría ser
OrderStatus (accounts) . Ese nombre contiene uno o varios espacios y paréntesis, por lo que debe encerrarlo con
comillas simples si hace referencia a él en una fórmula.
Además, los valores de dos opciones también pueden comportarse como valores booleanos. Por ejemplo, un valor
de dos opciones denominado TaxStatus podría tener las etiquetas gravable y No gravable, que corresponden a
true y false respectivamente. Para mostrarlo, puede usar esta fórmula:
If( ThisItem.Taxable = TaxStatus.Taxable; ...
Información general
Los orígenes de datos pueden proporcionar una gran cantidad de información para optimizar la experiencia
del usuario.
Puede usar información de nivel de columna para validar entradas de usuario y proporcionar una respuesta
inmediata al usuario antes de usar la función Patch . La función Validate usa esta misma información.
Puede usar información en el nivel de origen de datos para, por ejemplo, deshabilitar u ocultar los botones
Editar y Nuevo de los usuarios que no tienen permisos para editar y crear registros.
Los orígenes de datos varían en la cantidad de información que proporcionan; incluso pueden no ofrecer
ninguna. Las colecciones no proporcionan ninguna información. Si no se proporciona una parte de la
información, se utilizará el valor predeterminado o se devolverá blank.
Descripción
Información de columna
Puede usar DataSourceInfo para obtener información sobre una columna concreta de un origen de datos:
Sintaxis
DataSourceInfo( DataSource; Information; ColumnName )
DataSource: requerido. El origen de datos que se va a usar.
Information: requerido. El tipo de información que desea recuperar.
ColumnName: opcional. Para la información en el nivel de columna, el nombre de columna como una
cadena. La columna Teléfono se pasaría como "Teléfono" incluidas las comillas dobles. Para la
información en el nivel de origen de datos, el argumento ColumnName no se puede usar.
NOTE
En el caso de orígenes de datos de SharePoint y Excel que contengan nombres de columna con espacios,
especifique cada uno de ellos como "_x0020_" . Por ejemplo, especifique "Nombre de columna" como
"Nombre_x0020_de_columna" .
Ejemplos
Los ejemplos de esta sección usan este origen de datos, denominado IceCream:
El origen de datos también ha proporcionado esta información:
El nombre para mostrar para Quantity es "Cantidad disponible".
La longitud máxima de Flavor es de 30 caracteres.
La columna Flavor debe contener un valor. La columna Quantity no se requiere.
La cantidad mínima es 0.
La cantidad máxima es 100.
El usuario actual puede leer y editar los registros del origen de datos IceCream, pero no se pueden crear ni
eliminar registros.
Descripción
La función Date convierte los valores individuales de año, mes y día en un valor de fecha y hora. La parte de la hora
es la medianoche.
Si el año está comprendido entre 0 y 1899 (ambos incluidos), la función agrega ese valor a 1900 para calcular el
año. 70 se convierte en 1970.
Si el valor de Mes es menor que 1 o mayor que 12, el resultado restará o sumará esos meses desde el principio
del año especificado.
Si el valor de Día es mayor que el número de días del mes especificado, la función sumará esos días al primer
día del mes y devolverá una fecha correspondiente de un mes posterior. Si el valor de Día es menor que 1, la
función resta esa cantidad de días, más 1, desde el primer día del mes especificado.
La función Time convierte los valores individuales de hora, minuto y segundo en un valor de fecha y hora. El
resultado no tiene ninguna fecha asociada a él.
Consulte las funciones DateValue , TimeValue y DateTimeValue para obtener información acerca de cómo
convertir una cadena en un valor.
Consulte también cómo trabajar con fechas y horas para más información.
Sintaxis
Date( Year; Month; Day )
Year: requerido. Los números mayores a 1899 se interpretan como un absoluto (1980 se interpreta como 1980).
Los números comprendidos entre 0 y 1899 se interpretan en relación con 1900. (Por ejemplo, 80 se interpreta
como 1980).
Month: requerido. Un número comprendido entre 1 y 12.
Day: requerido. Un número comprendido entre 1 y 31.
Time( Hour; Minute; Second )
Hour: requerido. Un número comprendido entre 0 (12:00 a. m.) y 23 (11:00 p. m).
Minute: requerido. Un número comprendido entre 0 y 59.
Second: requerido. Un número comprendido entre 0 y 59.
Ejemplos
Fecha
Si un usuario escribe 1979 en un control de entrada de texto denominado HireYear, 3 en otro control denominado
HireMonth y 17 en un tercer control denominado HireDay, esta función debería devolver 3/17/1979:
Date(Value(HireYear.Text); Value(HireMonth.Text); Value(HireDay.Text))
Time
Si un usuario escribe 14 en un control de entrada de texto denominado BirthHour, 50 en otro control denominado
BirthMinute y 24 en un tercer control denominado BirthSecond, esta función debería devolver 02:50:24 p.
Text(Time(Value(BirthHour.Text); Value(BirthMinute.Text); Value(BirthSecond.Text)); "hh:mm:ss a/p")
Funciones DateAdd, DateDiff y TimeZoneOffset de
PowerApps
08/10/2019 • 6 minutes to read
Agrega valores de fecha y hora o encuentra la diferencia en estos valores y realiza la conversión entre la hora local
y UTC.
Descripción
La función DateAdd agrega un número de unidades a un valor de fecha y hora. El resultado es un nuevo valor de
fecha y hora. También puede restar un número de unidades de un valor de fecha y hora mediante la especificación
de un valor negativo.
La función DateDiff devuelve la diferencia entre dos valores de fecha y hora. El resultado es un número de
unidades.
En ambas funciones, las unidades pueden ser Milisegundos, Segundos, Minutos, Horas, Días, Meses,
Trimestres o Años. De forma predeterminada, ambas funciones usan días como unidades.
La función TimeZoneOffset devuelve el número de minutos entre la hora local del usuario y la Hora universal
coordinada (UTC ).
Puede usar DateAdd con TimeZoneOffset para realizar la conversión entre la hora local del usuario y la Hora
universal coordinada (UTC ). Al sumar TimeZoneOffset se convierte la hora local a UTC y al restarlo (agregar el
signo negativo) se convierte de UTC a la hora local.
Vea también tipos de datos Date, Time y DateTime, y trabajar con fechas y horas para obtener más información.
Sintaxis
DateAdd( DateTime; Addition [; Units ] )
DateTime: requerido. Valor de fecha y hora con el que operar.
Suma: requerido. Número, en unidades, para agregar a DateTime.
Unidades: opcional. Tipo de unidades que se van a agregar: Milisegundos, segundos, minutos, horas, días,
meses, trimestreso años. Si no se especifica, se usará Días.
DateDiff( StartDateTime; EndDateTime [; Units ] )
StartDateTime: requerido. Valor de fecha y hora de inicio.
EndDateTime: requerido. Valor de fecha y hora de finalización.
Unidades: opcional. Tipo de unidades que se van a agregar: Milisegundos, segundos, minutos, horas, días,
meses, trimestreso años. Si no se especifica, se usará Días.
TimeZoneOffset( [ DateTime ] )
DateTime: opcional. Valor de fecha y hora para el que se devuelve el desplazamiento. De forma predeterminada,
se utiliza la fecha y hora actuales.
Ejemplos
En todos estos ejemplos, se supone que la fecha y hora actuales son 15 de julio de 2013, 1:02 p.m.
DateAdd simple
FÓRMULA DESCRIPCIÓN RESULTADO
Text( DateAdd( Now(); 4; Hours ); Agrega cuatro horas a la fecha y hora "15-07-2013 17:02"
"dd-mm-yyyy hh:mm" ) actuales.
Text( DateAdd( Today(); 1; Months ); Agrega un mes a la fecha actual, sin "15-08-2013 00:00"
"dd-mm-yyyy hh:mm" ) tiempo dado que Today no devuelve
un componente de tiempo.
Text( DateAdd( Now(); ‑;30; Minutes Resta 30 minutos de la fecha y hora "15-07-2013 12:32"
); actuales.
"dd-mm-yyyy hh:mm" )
DateDiff simple
FÓRMULA DESCRIPCIÓN RESULTADO
Conversión a UTC
Para convertir a UTC (Hora universal coordinada), agregue TimeZoneOffset durante el tiempo especificado.
Imagine, por ejemplo, que los valores de fecha y hora actuales son 15 de julio de 2013, 1:02 p.m. en la Hora de
verano del Pacífico (PDT, UTC -7). Para determinar la hora actual en hora UTC, use:
DateAdd( Now(); TimeZoneOffset(); Minutes )
TimeZoneOffset toma como valor predeterminado la hora actual, por lo que no es necesario pasarle un
argumento.
Para ver el resultado, use la función Text con el formato dd -mm -aaaa hh:mm, que devolverá 15-07-2013 20:02.
Conversión desde UTC
Para convertir desde UTC, reste TimeZoneOffset (agregando el signo negativo) para la hora especificada.
Imagine, por ejemplo, que los valores de fecha y hora UTC 15 de julio de 2013, 8:02 p.m. se almacenan en una
variable llamada StartTime. Para ajustar la hora de la zona horaria del usuario, use:
DateAdd (StartTime, −TimeZoneOffset (StartTime), minutos)
Tenga en cuenta el signo negativo delante de TimeZoneOffset para restar el desplazamiento en lugar de sumarlo.
Para ver el resultado, use la función Text con el formato dd -mm -aaaa hh:mm, que devuelve 15-07-2013 13:02 en
la Hora de verano del Pacífico.
Funciones DateAdd, DateDiff y TimeZoneOffset de
PowerApps
08/10/2019 • 6 minutes to read
Agrega valores de fecha y hora o encuentra la diferencia en estos valores y realiza la conversión entre la hora local
y UTC.
Descripción
La función DateAdd agrega un número de unidades a un valor de fecha y hora. El resultado es un nuevo valor de
fecha y hora. También puede restar un número de unidades de un valor de fecha y hora mediante la especificación
de un valor negativo.
La función DateDiff devuelve la diferencia entre dos valores de fecha y hora. El resultado es un número de
unidades.
En ambas funciones, las unidades pueden ser Milisegundos, Segundos, Minutos, Horas, Días, Meses,
Trimestres o Años. De forma predeterminada, ambas funciones usan días como unidades.
La función TimeZoneOffset devuelve el número de minutos entre la hora local del usuario y la Hora universal
coordinada (UTC ).
Puede usar DateAdd con TimeZoneOffset para realizar la conversión entre la hora local del usuario y la Hora
universal coordinada (UTC ). Al sumar TimeZoneOffset se convierte la hora local a UTC y al restarlo (agregar el
signo negativo) se convierte de UTC a la hora local.
Vea también tipos de datos Date, Time y DateTime, y trabajar con fechas y horas para obtener más información.
Sintaxis
DateAdd( DateTime; Addition [; Units ] )
DateTime: requerido. Valor de fecha y hora con el que operar.
Suma: requerido. Número, en unidades, para agregar a DateTime.
Unidades: opcional. Tipo de unidades que se van a agregar: Milisegundos, segundos, minutos, horas, días,
meses, trimestreso años. Si no se especifica, se usará Días.
DateDiff( StartDateTime; EndDateTime [; Units ] )
StartDateTime: requerido. Valor de fecha y hora de inicio.
EndDateTime: requerido. Valor de fecha y hora de finalización.
Unidades: opcional. Tipo de unidades que se van a agregar: Milisegundos, segundos, minutos, horas, días,
meses, trimestreso años. Si no se especifica, se usará Días.
TimeZoneOffset( [ DateTime ] )
DateTime: opcional. Valor de fecha y hora para el que se devuelve el desplazamiento. De forma predeterminada,
se utiliza la fecha y hora actuales.
Ejemplos
En todos estos ejemplos, se supone que la fecha y hora actuales son 15 de julio de 2013, 1:02 p.m.
DateAdd simple
FÓRMULA DESCRIPCIÓN RESULTADO
Text( DateAdd( Now(); 4; Hours ); Agrega cuatro horas a la fecha y hora "15-07-2013 17:02"
"dd-mm-yyyy hh:mm" ) actuales.
Text( DateAdd( Today(); 1; Months ); Agrega un mes a la fecha actual, sin "15-08-2013 00:00"
"dd-mm-yyyy hh:mm" ) tiempo dado que Today no devuelve
un componente de tiempo.
Text( DateAdd( Now(); ‑;30; Minutes Resta 30 minutos de la fecha y hora "15-07-2013 12:32"
); actuales.
"dd-mm-yyyy hh:mm" )
DateDiff simple
FÓRMULA DESCRIPCIÓN RESULTADO
Conversión a UTC
Para convertir a UTC (Hora universal coordinada), agregue TimeZoneOffset durante el tiempo especificado.
Imagine, por ejemplo, que los valores de fecha y hora actuales son 15 de julio de 2013, 1:02 p.m. en la Hora de
verano del Pacífico (PDT, UTC -7). Para determinar la hora actual en hora UTC, use:
DateAdd( Now(); TimeZoneOffset(); Minutes )
TimeZoneOffset toma como valor predeterminado la hora actual, por lo que no es necesario pasarle un
argumento.
Para ver el resultado, use la función Text con el formato dd -mm -aaaa hh:mm, que devolverá 15-07-2013 20:02.
Conversión desde UTC
Para convertir desde UTC, reste TimeZoneOffset (agregando el signo negativo) para la hora especificada.
Imagine, por ejemplo, que los valores de fecha y hora UTC 15 de julio de 2013, 8:02 p.m. se almacenan en una
variable llamada StartTime. Para ajustar la hora de la zona horaria del usuario, use:
DateAdd (StartTime, −TimeZoneOffset (StartTime), minutos)
Tenga en cuenta el signo negativo delante de TimeZoneOffset para restar el desplazamiento en lugar de sumarlo.
Para ver el resultado, use la función Text con el formato dd -mm -aaaa hh:mm, que devuelve 15-07-2013 13:02 en
la Hora de verano del Pacífico.
Funciones DateValue, TimeValue y DateTimeValue en
PowerApps
08/10/2019 • 6 minutes to read
Descripción
La función DateValue convierte una cadena de fecha (por ejemplo, "10/01/2014") en un valor de fecha y hora.
La función TimeValue convierte una cadena de hora (por ejemplo, "12:15 p. m.") en un valor de fecha y hora.
La función DateTimeValue convierte una cadena de fecha y hora (por ejemplo, "10 de enero de 2013, 12:13
a. m.") en un valor de fecha y hora.
La función DateValue ignora cualquier información de hora en la cadena de fecha y la función TimeValue ignora
cualquier información de fecha en la cadena de hora.
De forma predeterminada, el idioma utilizado es el del usuario actual, pero puede invalidar esta opción para
asegurarse de que las cadenas se interpreten correctamente. Por ejemplo, "10/1/1920" se interpreta como el 1 de
octubre en "inglés" y como 10 de enero en "francés".
Las fechas deben estar en uno de estos formatos:
MM/DD/AAAA
DD/MM/AAAA
DD Mes AAAA
Mes DD, AAAA
Consulte las funciones Date y Time para convertir a partir de componentes numéricos la fecha, mes y año, y la
hora, minuto y segundo.
Consulte también cómo trabajar con fechas y horas para más información.
Para convertir números, consulte la función Value .
Sintaxis
DateValue( String [; Language ])
DateTimeValue( String [; Language ])
TimeValue( String [; Language ])
String: requerido. Una cadena de texto que contiene un valor de fecha, de hora, o una combinación de ambas.
Idioma: opcional. Una cadena de idioma, como la que devuelven los dos primeros caracteres de la función
Language . Si no se indica, se utilizará el idioma de cliente del usuario actual.
Ejemplos
DateValue
Si escribió 10/11/2014 en un control de entrada de texto denominado Startdate y, después, estableció la
propiedad Texto de una etiqueta en esta función:
Text(DateValue(Startdate.Text); DateTimeFormat.LongDate)
La etiqueta debería mostrar el sábado, 11 de octubre de 2014, si su equipo se ha configurado con la
configuración regional en.
NOTE
Puede utilizar varias opciones, excepto LongDateTime, con el parámetro DateTimeFormat. Para mostrar una lista de
esas opciones, escriba el parámetro, seguido inmediatamente de un signo de exclamación, en el cuadro de función.
NOTE
Puede utilizar varias opciones, excepto LongDateTime, con el parámetro DateTimeFormat. Para mostrar una lista de
esas opciones, escriba el parámetro, seguido inmediatamente de un signo de exclamación, en el cuadro de función.
Descripción
La función DateValue convierte una cadena de fecha (por ejemplo, "10/01/2014") en un valor de fecha y hora.
La función TimeValue convierte una cadena de hora (por ejemplo, "12:15 p. m.") en un valor de fecha y hora.
La función DateTimeValue convierte una cadena de fecha y hora (por ejemplo, "10 de enero de 2013, 12:13
a. m.") en un valor de fecha y hora.
La función DateValue ignora cualquier información de hora en la cadena de fecha y la función TimeValue ignora
cualquier información de fecha en la cadena de hora.
De forma predeterminada, el idioma utilizado es el del usuario actual, pero puede invalidar esta opción para
asegurarse de que las cadenas se interpreten correctamente. Por ejemplo, "10/1/1920" se interpreta como el 1 de
octubre en "inglés" y como 10 de enero en "francés".
Las fechas deben estar en uno de estos formatos:
MM/DD/AAAA
DD/MM/AAAA
DD Mes AAAA
Mes DD, AAAA
Consulte las funciones Date y Time para convertir a partir de componentes numéricos la fecha, mes y año, y la
hora, minuto y segundo.
Consulte también cómo trabajar con fechas y horas para más información.
Para convertir números, consulte la función Value .
Sintaxis
DateValue( String [; Language ])
DateTimeValue( String [; Language ])
TimeValue( String [; Language ])
String: requerido. Una cadena de texto que contiene un valor de fecha, de hora, o una combinación de ambas.
Idioma: opcional. Una cadena de idioma, como la que devuelven los dos primeros caracteres de la función
Language . Si no se indica, se utilizará el idioma de cliente del usuario actual.
Ejemplos
DateValue
Si escribió 10/11/2014 en un control de entrada de texto denominado Startdate y, después, estableció la
propiedad Texto de una etiqueta en esta función:
Text(DateValue(Startdate.Text); DateTimeFormat.LongDate)
La etiqueta debería mostrar el sábado, 11 de octubre de 2014, si su equipo se ha configurado con la
configuración regional en.
NOTE
Puede utilizar varias opciones, excepto LongDateTime, con el parámetro DateTimeFormat. Para mostrar una lista de
esas opciones, escriba el parámetro, seguido inmediatamente de un signo de exclamación, en el cuadro de función.
NOTE
Puede utilizar varias opciones, excepto LongDateTime, con el parámetro DateTimeFormat. Para mostrar una lista de
esas opciones, escriba el parámetro, seguido inmediatamente de un signo de exclamación, en el cuadro de función.
Descripción
La función Day devuelve el componente de día de un valor de fecha y hora, comprendido entre 1 y 31.
La función Month devuelve el componente de mes de un valor de fecha y hora, comprendido entre 1 y 12.
La función Year devuelve el componente de año de un valor de fecha y hora, a partir de 1900.
La función Hour devuelve el componente de hora de un valor de fecha y hora, comprendido entre 0 (12:00 a. m.) y
23 (11:00 p. m).
La función Minute devuelve el componente de minuto de un valor de fecha y hora, comprendido entre 0 y 59.
La función Second devuelve el componente de segundo de un valor de fecha y hora, comprendido entre 0 y 59.
La función Weekday devuelve el día de la semana de un valor de fecha y hora. De forma predeterminada, el
resultado está comprendido entre 1 (domingo) y 7 (sábado). Puede especificar un intervalo diferente con un código
de la función Weekday de la semana de Microsoft Excel o un valor de enumeración de StartOfWeek:
Sintaxis
Day( DateTime )
Month( DateTime )
Year( DateTime )
Hour( DateTime )
Minute( DateTime )
Second( DateTime )
DateTime: requerido. Valor de fecha y hora con el que operar.
Weekday( DateTime [; WeekdayFirst ] )
DateTime: requerido. Valor de fecha y hora con el que operar.
WeekdayFirst: opcional. Código de Excel que especifica qué día comienza la semana. Si no se indica, se usará 1
(primero el domingo).
Ejemplos
En el ejemplo siguiente, la hora actual es las 3:59:37 p. m. del jueves, 9 de abril de 2015.
Descripción
Use la función Defaults para rellenar previamente un formulario de entrada de datos, lo cual facilita el
rellenado.
Esta función devuelve un registro que contiene los valores predeterminados para el origen de datos. Si una
columna dentro del origen de datos no tiene ningún valor predeterminado, esa propiedad no estará presente.
Los orígenes de datos varían en la cantidad de información predeterminada que proporcionan; incluso pueden
no ofrecer ninguna. Cuando trabaje con una colección u otro origen de datos que no admita valores
predeterminados, la función Defaults devolverá un registro vacío.
Puede combinar la función Defaults con la función Patch para crear un registro.
Sintaxis
Defaults( DataSource )
DataSource: requerido. El origen de datos para el que quiere valores predeterminados.
Ejemplos
FÓRMULA DESCRIPCIÓN RESULTADO
Descripción
Funciones principales
La función Cos devuelve el coseno de su argumento, un ángulo especificado en radianes.
La función Cot devuelve la cotangente de su argumento, un ángulo especificado en radianes.
La función Sin devuelve el seno de su argumento, un ángulo especificado en radianes.
La función Tan devuelve la tangente de su argumento, un ángulo especificado en radianes.
Funciones inversas
El Acos función devuelve el arcocoseno, o coseno inverso, de su argumento. El arcocoseno es el ángulo cuyo
coseno es el argumento. El ángulo devuelto se expresa en radianes en el intervalo de 0 (cero) a π.
La función Acot devuelve el valor principal de la arcocotangente, o cotangente inversa, de su argumento. El ángulo
devuelto se expresa en radianes en el intervalo de 0 (cero) a π.
La función Asin devuelve el arcoseno, o seno inverso, de su argumento. El arcoseno es el ángulo cuyo seno es el
argumento. El ángulo devuelto se expresa en radianes en el intervalo de -π/2 a π/2.
La función Atan devuelve la arcotangente, o tangente inversa, de su argumento. La arcotangente es el ángulo cuya
tangente es el argumento. El ángulo devuelto se expresa en radianes en el intervalo de -π/2 a π/2.
La función Atan2 devuelve la arcotangente, o tangente inversa, de las coordenadas x e y especificadas como
argumentos. La arcotangente es el ángulo desde el eje x a una línea que contiene el origen (0, 0) y un punto con las
coordenadas (x, y). El ángulo se expresa en radianes entre -π y π, excluyendo -π. Un resultado positivo representa
un ángulo con rotación levógira (hacia la izquierda) desde el eje x; un resultado negativo representa un ángulo con
rotación dextrógira (hacia la derecha). Atan2( a; b ) es igual a Atan( b/a ) , excepto que a puede ser igual a 0 (cero)
con la función Atan2.
Funciones auxiliares
La función Degrees convierte radianes en grados. π radianes equivalen a 180 grados.
La función Pi devuelve el número transcendente π, que comienza 3,141592...
La función Radians convierte grados en radianes.
Notas
Si pasa un solo número a estas funciones, el valor que se devuelve es un resultado único. Si pasa una tabla de una
sola columna que contiene números, el valor que se muestra es una tabla de resultados de una sola columna, un
resultado para cada registro en la tabla del argumento. Si tiene una tabla con varias columnas, puede convertirla en
una tabla de una sola columna, como se describe en cómo trabajar con tablas.
Si algún argumento resultase en un valor no definido, el resultado es blank. Esto puede ocurrir, por ejemplo, al
utilizar las funciones inversas con argumentos que están fuera del intervalo.
Sintaxis
Funciones principales
Cos( Radians )
Cot( Radians )
Sin( Radians )
Tan( Radians )
Radians: requerido. Ángulo sobre el cual operar.
Cos( SingleColumnTable )
Cot( SingleColumnTable )
Sin( SingleColumnTable )
Tan( SingleColumnTable )
SingleColumnTable: requerido. Una tabla de ángulos de una sola columna sobre la que se va a actuar.
Funciones inversas
Acos( Number )
Acot( Number )
Asin( Number )
Atan( Number )
Number: requerido. El número sobre el cual operar.
Acos( SingleColumnTable )
Acot( SingleColumnTable )
Asin( SingleColumnTable )
Atan( SingleColumnTable )
SingleColumnTable: requerido. Una tabla de números de una sola columna sobre la cual operar.
Atan2( X; Y )
X: requerido. coordenadas del eje X.
Y: requerido. coordenadas del eje Y.
Funciones del asistente
Degrees( Radians )
Radians: requerido. Ángulo en radianes para convertir en grados.
Pi()
Radians( Degrees )
Degrees: requerido. Ángulo en grados para convertir en radianes.
Ejemplos
Número único
FÓRMULA DESCRIPCIÓN RESULTADO
Información general
Algunas señales pueden cambiar con frecuencia, lo cual obliga a la aplicación a volver a calcular cuando se
producen los cambios. Los cambios rápidos durante un largo período de tiempo pueden agotar la batería del
dispositivo. Puede utilizar estas funciones para activar o desactivar manualmente una señal.
Cuando no se usa una señal, esta se desactiva automáticamente.
Descripción
Las funciones Enable y Disable permiten activar y desactivar una señal respectivamente.
Estas funciones solo funcionan actualmente para la señal de ubicación .
Estas funciones no tienen ningún valor devuelto. Se pueden usar únicamente en fórmulas de comportamiento.
Sintaxis
Enable( Signal )
Disable( Signal )
Señal: requerido. La señal que va a activar o desactivar.
Función Distinct de PowerApps
05/11/2019 • 3 minutes to read
Descripción
La función DISTINCT evalúa una fórmula en cada registro de una tabla y devuelve una tabla de una columna
de los resultados con valores duplicados quitados. El nombre de la columna es result.
Los campos de registro que se están procesando actualmente estarán disponibles en la formula. Solo tiene que
hacer referencia a los campos por su nombre, como con cualquier otro valor. También puede hacer referencia a
propiedades de control y a otros valores desde toda la aplicación. Para obtener más detalles, vea los ejemplos
siguientes y trabajar con el ámbito de registros.
Cuando se usa con un origen de datos, esta función no se puede delegar. Solo se recuperará la primera parte del
origen de datos, y después se aplicará la función. Es posible que el resultado no represente la historia completa.
Aparecerá una advertencia en el momento de la creación para recordarle esta limitación y para sugerirle un
cambio a alternativas delegables siempre que sea posible. Para obtener más información, consulte la
información general sobre delegación
Sintaxis
Distinct( Table; Formula )
Table: requerido. Tabla en la cual se realizará la evaluación.
Formula: requerido. La fórmula que se evalúa en cada registro.
Ejemplo
1. Inserte un control de botón y establezca su propiedad alseleccionar en esta fórmula.
ClearCollect( CityPopulations;
{ City: "London"; Country: "United Kingdom"; Population: 8615000 };
{ City: "Berlin"; Country: "Germany"; Population: 3562000 };
{ City: "Madrid"; Country: "Spain"; Population: 3165000 };
{ City: "Hamburg"; Country: "Germany"; Population: 1760000 };
{ City: "Barcelona"; Country: "Spain"; Population: 1602000 };
{ City: "Munich"; Country: "Germany"; Population: 1494000 }
);;
Para ver el resultado de esta fórmula en la barra de fórmulas, seleccione toda la fórmula:
4. Use el vínculo Editar campos en el panel de propiedades de la tabla de datos para agregar la columna
de resultados :
5. Inserte un control etiqueta y establezca su propiedad texto en la fórmula:
Esta fórmula ordena los resultados de DISTINCT con la función de ordenación , toma el primer
registro de la tabla resultante con la primera función y extrae el campo de resultados para obtener solo
el nombre del país.
Funciones de descarga, Inicio y parámetro en
aplicaciones de Canvas
05/11/2019 • 2 minutes to read
Descripción
La función Download descarga un archivo de la Web al dispositivo local. Se pide al usuario una ubicación para
guardar el archivo. Download devuelve la ubicación donde el archivo se almacenó localmente como una cadena.
La función Launch inicia un página web o una aplicación. Opcionalmente, esta función puede pasar parámetros a la
aplicación.
En Internet Explorer y Microsoft Edge, la función Launch abre un sitio web o una aplicación solo si su
configuración de seguridad es igual o superior a la de la aplicación que contiene la función. Si, por ejemplo, agrega
la función de Inicio a una aplicación que se ejecutará en la zona de seguridad sitios de confianza , asegúrese de
que el sitio web o la aplicación que desea que la función abra se encuentra en la zona de sitios de confianza o
Intranet local (no en Sitios restringidos). Más información: cambiar la configuración de seguridad y privacidad
para Internet Explorer 11.
La función Param recupera un parámetro pasado a la aplicación cuando se inició. Si no se pasó el parámetro con
nombre, Param devuelve blank.
Sintaxis
Download( Address )
Address: requerido. La dirección de un recurso web para descargar.
Launch( Address [; ParameterName1; ParameterValue1; ... ] )
Address: requerido. La dirección de una página web o el identificador de una aplicación que se va a iniciar.
ParameterName(s) : valor opcional. Nombre del parámetro.
ParameterValue(s) : valor opcional. Valores de parámetro correspondientes para pasar a la aplicación o la página
web.
Param ( ParameterName )
ParameterName: requerido. El nombre del parámetro pasado a la aplicación.
Funciones AddColumns, DropColumns, RenameColumns y
ShowColumns en PowerApps
08/10/2019 • 13 minutes to read
Forma una tabla agregando, quitando, cambiando el nombre y seleccionando sus columnas.
Información general
Estas funciones dan forma a una tabla mediante el ajuste de sus columnas:
Reducción de una tabla que contiene varias columnas a una sola columna para su uso con las funciones de columna única, como
Lower o Abs .
Incorporación de una columna calculada a una tabla (por ejemplo, una columna Total Price que muestre el resultado de multiplicar
Quantity por Unit Price).
Cambio del nombre de una columna a algo más significativo, para mostrarla a los usuarios o para su uso en las fórmulas.
Una tabla es un valor en PowerApps, como una cadena o un número. Puede especificar una tabla como un argumento en una fórmula, y
las funciones pueden devolver una tabla como resultado.
NOTE
Las funciones que se describen en este tema no modifican la tabla original. En su lugar, toman esa tabla como argumento y devuelven una nueva
tabla con una transformación aplicada. Consulte cómo trabajar con tablas para más detalles.
No se pueden modificar las columnas de un origen de datos mediante el uso de estas funciones. Tiene que modificar los datos en su
origen. Puede agregar columnas a una colección con la función Collect . Consulte cómo trabajar con fuentes de datos para más detalles.
Descripción
La función AddColumns agrega una columna a una tabla y una fórmula define los valores de esa columna. Las columnas existentes
permanecen sin modificar.
La fórmula se evalúa para cada registro de la tabla.
Los campos de registro que se están procesando actualmente estarán disponibles en la formula. Solo tiene que hacer referencia a los
campos por su nombre, como con cualquier otro valor. También puede hacer referencia a propiedades de control y a otros valores desde
toda la aplicación. Para obtener más detalles, vea los ejemplos siguientes y trabajar con el ámbito de registros.
La función DropColumns excluye las columnas de una tabla. El resto de las columnas permanece sin modificar. DropColumns excluye
las columnas y ShowColumns las incluye.
Use la función RenameColumns para cambiar el nombre de una o varias columnas de una tabla al proporcionar al menos un par de
argumentos que especifiquen el nombre de una columna que contiene la tabla (el nombre antiguo, que se quiere reemplazar) y el
nombre de una columna que la tabla no contiene (el nombre nuevo, que se quiere usar). El nombre antiguo ya debe existir en la tabla y
el nuevo nombre no. Cada nombre de columna puede aparecer solo una vez en la lista de argumentos como un nombre de columna
antiguo o nuevo. Para cambiar el nombre de una columna por un nombre de columna existente, primero quite la columna existente con
DropColumns o cambie el nombre de la columna existente al anidar una función RenameColumns dentro de otra.
La función ShowColumns incluye columnas de una tabla y quita todas las demás columnas. Puede usar ShowColumns para crear una
tabla de una sola columna a partir de una tabla de varias columnas. ShowColumns incluye columnas y DropColumns las excluye.
Para todas estas funciones, el resultado es una nueva tabla con la transformación aplicada. La tabla original no se modifica. No se puede
modificar una tabla existente con una fórmula. SharePoint, Common Data Service, SQL Server y otros orígenes de datos proporcionan
herramientas para modificar las columnas de listas, entidades y tablas, a las que se suele hacer referencia como esquema. Las funciones
de este tema solo transforman una tabla de entrada, sin modificar la original, en una tabla de salida para su uso posterior.
Los argumentos de estas funciones admiten la delegación. Por ejemplo, una función de filtro que se usa como argumento para extraer
los registros relacionados realiza búsquedas en todas las listas, incluso si el ' [dbo]. [ AllListings] ' el origen de datos contiene un
millón de filas:
AddColumns( RealEstateAgents;
"Listings";
Filter( '[dbo].[AllListings]'; ListingAgentName = AgentName )
)
Sin embargo, el resultado de estas funciones está sujeto al límite de registros que no son de delegación. En este ejemplo, solo se
devuelven los registros 500, incluso si el origen de datos RealEstateAgents tiene 501 o más registros.
Si utiliza AddColumns de esta manera, el filtro debe realizar llamadas independientes en el origen de datos para cada uno de esos
primeros registros en RealEstateAgents, lo que provoca una gran cantidad de chatter de red. Si [dbo]. [ AllListings] es lo
suficientemente pequeño y no cambia con frecuencia, puede llamar a la función Collect en OnStart para almacenar en caché el origen
de datos en la aplicación cuando se inicia. Como alternativa, puede reestructurar la aplicación para que extraiga los registros
relacionados solo cuando el usuario los solicite.
Sintaxis
AddColumns( Table; ColumnName1; Formula1 [; ColumnName2; Formula2; ... ] )
Table: requerido. La tabla sobre la cual se opera.
ColumnName(s) : requerido. Nombres de las columnas para agregar. Tiene que especificar una cadena (por ejemplo, "Name" entre
comillas dobles incluidas) para este argumento.
Formula (s) : requerido. La fórmula o fórmulas para evaluar para cada registro. Se agregará el resultado como el valor de la nueva
columna correspondiente. Puede hacer referencia a otras columnas de la tabla en esta fórmula.
DropColumns( Table; ColumnName1 [; ColumnName2; ... ] )
Table: requerido. La tabla sobre la cual se opera.
ColumnName(s) : requerido. Nombres de las columnas para excluir. Tiene que especificar una cadena (por ejemplo, "Name" entre
comillas dobles incluidas) para este argumento.
Cambiarnombrecolumnas( TABLE; OldColumnName1; NewColumnName1 [; OldColumnName2; NewColumnName2;...])
Table: requerido. La tabla sobre la cual se opera.
OldColumnName: requerido. Nombre de una columna de la tabla original cuyo nombre se va a cambiar. Este elemento aparece en
primer lugar en el par de argumentos (o en primer lugar en cada par de argumentos si la fórmula incluye más de un par). Este
nombre tiene que ser una cadena (por ejemplo, "Name" con comillas dobles incluidas).
NewColumnName: requerido. Nombre de reemplazo. Este elemento aparece por último lugar en el par de argumentos (o por último
lugar en cada par de argumentos si la fórmula incluye más de un par). Tiene que especificar una cadena (por ejemplo, "Customer
Name" con comillas dobles incluidas) para este argumento.
ShowColumns( Table; ColumnName1 [; ColumnName2; ... ] )
Table: requerido. La tabla sobre la cual se opera.
ColumnName(s) : requerido. Nombres de las columnas para incluir. Tiene que especificar una cadena (por ejemplo, "Name" entre
comillas dobles incluidas) para este argumento.
Ejemplos
En los ejemplos en esta sección, use el origen de datos IceCreamSales, que contiene los datos de esta tabla:
Ninguno de estos ejemplos modificar el origen de datos IceCreamSales. Cada función transforma el valor del origen de datos como
una tabla y devuelve ese valor como resultado.
Paso a paso
Vamos a probar algunos de los ejemplos anteriores de este tema.
1. Cree una colección agregando un control de botón y estableciendo su propiedad alseleccionar en esta fórmula:
ClearCollect( IceCreamSales;
Table(
{ Flavor: "Strawberry"; UnitPrice: 1,99; QuantitySold: 20 };
{ Flavor: "Chocolate"; UnitPrice: 2,99; QuantitySold: 45 };
{ Flavor: "Vanilla"; UnitPrice: 1,50; QuantitySold: 35 }
)
)
ClearCollect( FirstExample;
AddColumns( IceCreamSales; "Revenue"; UnitPrice * QuantitySold )
)
4. En el menú archivo , seleccione coleccionesy, a continuación, seleccione IceCreamSales para mostrar esa recopilación.
Como se muestra en este gráfico, la segunda fórmula no modificó esta colección. La función AddColumns usó IceCreamSales
como argumento de solo lectura; la función no modificó la tabla a la que hace referencia ese argumento.
5. Seleccione FirstExample.
Como se muestra en este gráfico, la segunda fórmula devolvió una nueva tabla con la columna agregada. La función
ClearCollect capturó la nueva tabla en la colección FirstExample , agregando algo a la tabla original a medida que fluye a través
de la función sin modificar el origen:
Funciones EditForm, NewForm, SubmitForm,
ResetForm y ViewForm de PowerApps
08/10/2019 • 10 minutes to read
Vea, edite o cree un elemento, guarde el contenido y restablezca los controles de un control Editar formulario .
Información general
Estas funciones cambian el estado del control Editar formulario. El control de formulario puede estar en uno de
estos modos:
MODO DESCRIPCIÓN
Descripción
Estas funciones a menudo se invocan desde la fórmula OnSelect de un control Botón o Imagen para que el
usuario pueda guardar las modificaciones, abandonarlas o crear un registro. También puede usar conjuntamente
controles y estas funciones para crear una solución completa.
Estas funciones no devuelven ningún valor.
SubmitForm
Use la función SubmitForm de la propiedad OnSelect de un control Botón para guardar los cambios de un
control Formulario en el origen de datos.
Antes de enviar cualquier cambio, esta función comprueba problemas de validación con cualquier campo que se
haya marcado como requerido o que tenga una o más restricciones en su valor. Este comportamiento es idéntico al
de la función Validate .
SubmitForm también comprueba la propiedad Valid del control Formulario, que es una agregación de todas las
propiedades Valid de los controles Card que contiene el control Formulario. Si se produce un problema, no se
envían los datos y las propiedades Error y ErrorKind del control Formulario se establecen en consecuencia.
Si se supera la validación, SubmitForm envía el cambio al origen de datos.
Si se realiza correctamente, se ejecutará el comportamiento OnSuccess del formulario y se borrarán las
propiedades Error y ErrorKind . Si el formulario se encontraba en modo FormMode.New, se devolverá al
modo FormMode.Edit.
Si no se realiza correctamente, se ejecutará el comportamiento OnFailure del formulario y se establecerán las
propiedades Error y ErrorKind en consecuencia. El modo del formulario no se modifica.
EditForm
La función EditForm cambia el modo del control Formulario a FormMode.Edit. En este modo, el contenido de la
propiedad Elemento del control Formulario se utiliza para rellenar el formulario. Si la función SubmitForm se
ejecuta cuando el formulario está en este modo, se cambiará un registro, no se creará. FormMode.Edit es el valor
predeterminado del control Formulario.
NewForm
La función NewForm cambia el modo del control Formulario a FormMode.New. En este modo, el contenido de
la propiedad Elemento del control Formulario se omite y los valores predeterminados de la propiedad
DataSource rellenan el formulario. Si la función SubmitForm se ejecuta cuando el formulario está en este modo,
se creará un registro, no se cambiará.
ResetForm
La función ResetForm restablece el contenido de un formulario a sus valores iniciales, el contenido que había antes
de que el usuario realizara cambios. Si el formulario está en modo FormMode.New, se restablecerá al modo
FormMode.Edit. El comportamiento OnReset del control Formulario también se ejecutará. También puede
restablecer controles individuales con la función Reset pero únicamente desde dentro del formulario.
ViewForm
La función ViewForm cambia el modo del control Formulario a FormMode.View. En este modo, el contenido de
la propiedad Elemento del control Formulario se utiliza para rellenar el formulario. Las funciones SubmitForm y
ResetForm no tienen ningún efecto cuando se está en este modo.
Propiedad DisplayMode
El modo actual se puede leer mediante la propiedad Modo. El modo determina también el valor de la propiedad
DisplayMode que pueden usar las tarjetas de datos y controles del control de formulario. A menudo, la propiedad
DisplayMode de la tarjeta de datos se establecerá en Parent. DisplayMode (que hace referencia al formulario)
como lo hará la propiedad DisplayMode del control (que hace referencia a la tarjeta de datos):
Sintaxis
SubmitForm ( FormName )
FormName: requerido. Control Formulario para enviar al origen de datos.
EditForm ( FormName )
FormName: requerido. Control Formulario para cambiar al modo FormMode.Edit.
NewForm ( FormName )
FormName: requerido. Control Formulario para cambiar al modo FormMode.New.
ResetForm ( FormName )
FormName: requerido. Control Formulario para restablecer los valores iniciales. También cambia el formulario
del modo FormMode.New al modo FormMode.Edit.
ViewForm ( FormName )
FormName: requerido. Control Formulario para cambiar al modo FormMode.View.
Ejemplos
Consulte Formularios de datos para obtener ejemplos completos.
1. Agregue un control Botón, establezca la propiedad Text para mostrar Guardar y establezca la propiedad
OnSelect en esta fórmula:
SubmitForm ( EditForm )
2. Establezca la propiedad OnFailure de un control Formulario blank y la propiedad OnSuccess en esta
fórmula:
Back()
3. Asigne el nombre ErrorText a un control Label y establezca su propiedad Text en esta fórmula:
EditForm.Error
Cuando el usuario selecciona el botón Guardar, los cambios del control Formulario se envían al origen de
datos subyacente.
Si el envío se realiza correctamente, los cambios se guardan o, si el control Formulario está en modo
New, se creará un registro. ErrorText es blank y vuelve a aparecer la pantalla anterior.
Si se produce un error en el envío, ErrorText mostrará un mensaje de error descriptivo y la pantalla
actual permanecerá visible para que el usuario pueda corregir el problema e intentarlo de nuevo.
4. Agregue un control Botón, establezca su propiedad Text para que muestre Cancelar y establezca su
propiedad OnSelect en esta fórmula:
ResetForm ( EditForm );; Back()
Si el usuario selecciona el botón Cancelar, los valores del control Formulario se restablecen a su estado
original, el estado que tenían antes de que el usuario empezara a editarlo, vuelve a aparecer la pantalla
anterior y se devuelve el control Formulario al modo Edit si estaba en modo New.
5. Agregue un control Botón, establezca su propiedad Text para mostrar Nuevo y establezca su propiedad
OnSelect en esta fórmula:
NewForm ( EditForm );; Navigate( EditScreen; None )
Cuando el usuario selecciona el botón New, se activa el control Formulario en modo New, los valores
predeterminados del origen de datos del control Formulario rellenan el control y aparece la pantalla que
contiene el control Formulario. Cuando se ejecuta la función SubmitForm, se crea un registro en lugar de
actualizarlo.
Funciones Enable y Disable en PowerApps
07/10/2019 • 2 minutes to read
Información general
Algunas señales pueden cambiar con frecuencia, lo cual obliga a la aplicación a volver a calcular cuando se
producen los cambios. Los cambios rápidos durante un largo período de tiempo pueden agotar la batería del
dispositivo. Puede utilizar estas funciones para activar o desactivar manualmente una señal.
Cuando no se usa una señal, esta se desactiva automáticamente.
Descripción
Las funciones Enable y Disable permiten activar y desactivar una señal respectivamente.
Estas funciones solo funcionan actualmente para la señal de ubicación .
Estas funciones no tienen ningún valor devuelto. Se pueden usar únicamente en fórmulas de
comportamiento.
Sintaxis
Enable( Signal )
Disable( Signal )
Señal: requerido. La señal que va a activar o desactivar.
Funciones EndsWith y StartsWith en PowerApps
08/10/2019 • 10 minutes to read
Comprueba si una cadena de texto comienza o termina con otra cadena de texto.
Descripción
La función EndsWith comprueba si una cadena de texto termina con otra.
La función StartsWith comprueba si una cadena de texto comienza con otra.
Para ambas funciones, las pruebas no distinguen mayúsculas de minúsculas. El valor devuelto por ambas es un
valor booleano true o false.
Use EndsWith y StartsWith con la función Filter para buscar los datos dentro de la aplicación. También puede
usar el operador in o la función Search para realizar una búsqueda en cualquier lugar dentro de las cadenas de
texto, no solo al principio o al final. La selección de las funciones dependerá de las necesidades de la aplicación y las
funciones que se pueden delegar para el origen de datos específico. Si una de estas funciones no se puede delegar,
aparece una advertencia de delegación en el momento de la creación para avisarle de esta limitación.
Sintaxis
EndsWith( Text; EndText )
Text: requerido. Texto que se va a probar.
EndText: requerido. Texto que desea buscar al final de Text. Si EndText es una cadena vacía, EndsWith devuelve
true.
StartsWith( Text; StartText )
Text: requerido. Texto que se va a probar.
StartText: requerido. El texto que desea buscar al principio de Text. Si StartText es una cadena vacía, StartsWith
devuelve true.
Ejemplos
FÓRMULA DESCRIPCIÓN RESULTADO
EndsWith( "Di siempre hola"; "hola" Comprueba si "Di siempre hola" true
) termina con "hola" .
FÓRMULA DESCRIPCIÓN RESULTADO
StartsWith( "Hello World"; "hello" ) Prueba si "Hello World" comienza con true
"hello" . La prueba no distingue
mayúsculas de minúsculas.
StartsWith( "Good bye"; "hello" ) Prueba si "Good bye" comienza con false
"hello" .
StartsWith( "Always say hello"; Prueba si "Always say hello" comienza false
"hello" ) con "hello" . Aunque "hello" aparece en
el texto, no aparece al principio.
StartsWith( "Bye bye"; "" ) Comprueba si "Bye bye" comienza con true
una cadena vacía (Len devuelve 0). Para
facilitar su uso en expresiones Filter,
StartsWith está definida para devolver
true en este caso.
Para crear este origen de datos como una colección, cree un control Botón y establezca la propiedad OnSelect en
esta fórmula:
ClearCollect (clientes; tabla ({nombre: "Fred Garcia"; compañía: "Northwind Traders"}; {nombre: "Cole
Miller"; empresa: "Contoso"}; {Name: "Glenda Johnson"; compañía: "Contoso"}; {Name: "Mike Collins";
Company: "Adventure Works"}; {nombre: "Colleen Jones"; compañía: "Adventure Works"}))
Como en este ejemplo, puede mostrar una lista de registros en un control Galería en la parte inferior de una
pantalla. Cerca de la parte superior de la pantalla, puede agregar un control Entrada de texto denominado
SearchInput, de modo que los usuarios puedan especificar los registros que más les interesen.
A medida que el usuario escribe caracteres en SearchInput, automáticamente se filtran los resultados en la galería.
En este caso, se configura la galería para que muestre los registros para los que el nombre del cliente (no el nombre
de la empresa) comienza con la secuencia de caracteres de SearchInput. Si el usuario escribe co en el cuadro de
búsqueda, la galería muestra estos resultados:
Para filtrar según la columna Nombre, establezca la propiedad Elementos del control Galería en una de estas
fórmulas:
Puede expandir la búsqueda para incluir la columna Empresa además de la columna Nombre:
Información general
Pueden producirse errores cuando se cambia un registro de un origen de datos. Esto puede deberse a
numerosas causas, como interrupciones de red, permisos inadecuados y conflictos de edición.
La función Patch y otras funciones de datos no devuelven errores directamente. En su lugar, devuelven el
resultado de la operación. Una vez que se haya ejecutado una función de datos, puede usar la función
Errors para obtener los detalles de los errores. Puede comprobar la existencia de errores con la función
[IsEmpty] en la fórmula IsEmpty( Errors ( ... ) ) .
Puede evitar que se produzcan algunos errores mediante las funciones Validate y DataSourceInfo . En el
tema relativo al trabajo con orígenes de datos, encontrará más sugerencias sobre cómo trabajar con los
errores y evitarlos.
Descripción
La función Errors devuelve una tabla de errores que contiene las columnas siguientes:
Registro. Registro del origen de datos que contenía el error. Si el error se produjo durante la creación de
un registro, esta columna será blank.
Columna. Columna que produjo el error, en caso de que el error pueda atribuirse a una sola columna.
De lo contrario, será blank.
Mensaje. Descripción del error. Esta cadena de error se puede mostrar para el usuario final. Tenga en
cuenta que este mensaje puede generarlo el origen de datos, por lo que podría ser largo y contener
nombres de columna sin formato carentes de significado para el usuario.
Error. Código de error que se puede usar en las fórmulas para ayudar a resolver el error:
ERRORKIND DESCRIPCIÓN
Los errores pueden devolverse para el origen de datos completo o para una sola fila seleccionada si se
proporciona el argumento Record a la función.
La función Patch u otras funciones de datos pueden devolver un valor blank si, por ejemplo, no se pudo
crear un registro. Si pasa un valor blank a Errors, le devolverá información de error adecuada en estos
casos. El uso posterior de funciones de datos en el mismo origen de datos borrará esta información de
error.
Si no hay ningún error, la tabla que Errors devuelve estará vacía y se podrá probar con la función IsEmpty
.
Sintaxis
Errors( DataSource [; Record ] )
DataSource: requerido. Origen de datos para el que quiere devolver errores.
Record: opcional. Registro específico para el que quiere devolver errores. Si no especifica este
argumento, la función devuelve errores para todo el origen de datos.
Ejemplos
Paso a paso
En este ejemplo, vamos a trabajar con el origen de datos IceCream:
Puede colocar una etiqueta en el formulario para mostrar este error al usuario.
Para mostrar el error, establezca la propiedad Text de la etiqueta en esta fórmula:
Label.Text = First(Errors( IceCream; EditRecord )).Message
También puede agregar un botón Recargar en el formulario para que el usuario pueda resolver
eficazmente el conflicto.
Para mostrar el botón solo cuando se haya producido un conflicto, establezca la propiedad Visible del
botón en esta fórmula:
!IsEmpty( Lookup( Errors( IceCream; EditRecord ); Error = ErrorKind.Conflict ) )
Para revertir el cambio cuando el usuario selecciona el botón, establezca su propiedad OnSelect en
esta fórmula:
ReloadButton.OnSelect = Revert( IceCream; EditRecord )
Funciones EncodeUrl y PlainText en PowerApps
07/10/2019 • 2 minutes to read
Descripción
La función EncodeUrl codifica una cadena de dirección URL, reemplazando algunos caracteres no alfanuméricos
por% y un número hexadecimal.
La función Plaintext quita las etiquetas HTML y XML, convirtiendo algunas etiquetas como estas en un símbolo
adecuado:
"
El valor devuelto de estas funciones es la cadena codificada o descodificada. Esta función no quita todas las
etiquetas HTML y XML.
Sintaxis
EncodeUrl( String )
String: requerido. Dirección URL que se va a codificar.
PlainText( String )
String: requerido. Cadena de la que se van a quitar las etiquetas HTML y XML.
Ejemplos
Si muestra una fuente RSS en una galería de texto y, después, establece la propiedad Text de una etiqueta de esa
galería en ThisItem.description, la etiqueta podría mostrar el código HTML o XML sin formato, como en este
ejemplo:
Descripción
La función Exit permite salir de la aplicación en ejecución. Se devuelve al usuario a la lista de aplicaciones, donde
puede seleccionar otra aplicación para abrirla.
Sintaxis
Exit()
Funciones Abs, Exp, Ln, Power y Sqrt en PowerApps
08/10/2019 • 4 minutes to read
Calcula valores absolutos, logaritmos naturales, raíces cuadradas y los resultados de elevar e o cualquier número a
una potencia especificada.
Descripción
La función Abs muestra el valor no negativo de su argumento. Si el número es negativo, Abs muestra el
equivalente positivo.
La función Exp muestra e elevado a la potencia de su argumento. El número trascendente e comienza con
2,7182818...
La función Ln muestra el argumento natural (e base) de su argumento.
La función Power muestra un número elevado a una potencia. Es equivalente a usar el operador ^ .
La función Sqrt muestra el número que, cuando se multiplica por sí mismo, es igual a su argumento.
Si pasa un solo número, el valor que se muestra es un resultado único basado en la función llamada. Si pasa una
tabla de una sola columna que contiene números, el valor que se muestra es una tabla de resultados de una sola
columna, un resultado para cada registro en la tabla del argumento. Si tiene una tabla con varias columnas, puede
convertirla en una tabla de una sola columna, como se describe en cómo trabajar con tablas.
Si algún argumento pudiera mostrar un valor no definido, el resultado queda en blanco. Por ejemplo, esto puede
pasar con las raíces cuadradas y los logaritmos de números negativos.
Sintaxis
Abs( Number )
Exp( Number )
Ln( Number )
Sqrt( Number )
Number: requerido. El número sobre el cual operar.
Power( Base; Exponente )
Base: requerido. Número base que se va a elevar.
Exponent: requerido. El exponente al que se eleva el número base.
Abs( SingleColumnTable )
Exp( SingleColumnTable )
Ln( SingleColumnTable )
Sqrt( SingleColumnTable )
SingleColumnTable: requerido. Una tabla de números de una sola columna sobre la cual operar.
Ejemplos
Número único
FÓRMULA DESCRIPCIÓN RESULTADO
Descripción
La función Filter busca registros en una tabla que satisface una fórmula. Use la función Filter para buscar un
conjunto de registros que coinciden con uno o varios criterios y descartar aquellos que no lo hacen.
La función LookUp busca el primer registro de una tabla que satisface una fórmula. Use LookUp para encontrar
un único registro que coincida con uno o varios criterios.
En ambos casos, la fórmula se evalúa para cada registro de la tabla. Los registros que dan como resultado true se
incluyen en el resultado. Además de los operadores de la fórmula normal, puede usar los operadores in y exactin
para las coincidencias de subcadenas.
Los campos de registro que se están procesando actualmente estarán disponibles en la formula. Solo tiene que
hacer referencia a los campos por su nombre, como con cualquier otro valor. También puede hacer referencia a
propiedades de control y a otros valores desde toda la aplicación. Para obtener más detalles, vea los ejemplos
siguientes y trabajar con el ámbito de registros.
La función Search busca registros en una tabla que contengan una cadena en una de sus columnas. La cadena
puede estar en cualquier lugar dentro de la columna. Por ejemplo, si busca "rob" o "bert" encontrará una
coincidencia en una columna que contiene "Roberto". La búsqueda no distingue mayúsculas de minúsculas. A
diferencia de Filter y LookUp, la función Search usa solo una cadena de coincidencia en lugar de una fórmula.
Filter y Search devuelven una tabla que contiene las mismas columnas que la tabla original y los registros que
coinciden con los criterios. LookUp devuelve solo el primer registro encontrado después de aplicar una fórmula
para reducir el registro a un solo valor. Si no se encuentra ningún registro, las funciones Filter y Search devuelven
una tabla vacía, y LookUp devuelve blank.
Las tablas son un valor en PowerApps, tal como una cadena o un número. Se pueden pasar a funciones y las
funciones pueden devolverlas. Las funciones Filter, Search y LookUp no modifican la tabla. En vez de eso, usan la
tabla como argumento y devuelven una tabla, un registro o un solo valor de ella. Consulte cómo trabajar con tablas
para más detalles.
Delegación
Siempre que sea posible, PowerApps delegará las operaciones de filtrado y ordenación al origen de datos y se
desplazará por los resultados a petición. Por ejemplo, cuando se inicia una aplicación que muestra un control
Galería lleno de datos, inicialmente solo se traerá al dispositivo el primer conjunto de registros. A medida que el
usuario se desplace por los datos, se traerán más datos del origen de datos. El resultado es un inicio más rápido de
la aplicación y acceso a conjuntos de datos muy grandes.
Sin embargo, la delegación no siempre es posible. La compatibilidad de funciones y operadores con la delegación
varía según el origen de datos. Si la delegación completa de una fórmula no es posible, el entorno de creación
indicará la parte que no se puede delegar con una advertencia. Si es posible, considere la posibilidad de cambiar la
fórmula para que no incluya las funciones y los operadores que no se pueden delegar. La lista de delegación detalla
qué orígenes de datos y operaciones se pueden delegar.
Si la delegación no es posible, PowerApps solo descargará un conjunto reducido de registros para trabajar
localmente. Las funciones de filtrado y ordenación trabajarán con un conjunto reducido de registros. En la Galería
puede no estará disponible la historia completa, y esto puede resultar confuso a los usuarios.
Consulte la información general sobre delegación para obtener más información.
Sintaxis
Filter( Table; Formula1 [; Formula2; ... ] )
Table: requerido. La tabla en la que se va a buscar.
Formula (s) : requerido. La fórmula por la que se evalúa cada registro de la tabla. La función devuelve todos los
registros cuyo resultado es true. Puede hacer referencia a columnas dentro de la tabla. Si se proporciona más
de una fórmula, los resultados de todas las fórmulas se combinan con la función And .
Search( Table; SearchString; Column1 [; Column2; ... ] )
Table: requerido. La tabla en la que se va a buscar.
SearchString: requerido. La cadena que se va a buscar. Si es blank o es una cadena vacía, se devolverán todos
los registros.
Column(s) : requerido. Los nombres de las columnas dentro de Table que se van a buscar. Las columnas en las
que se va a buscar deben contener texto. Los nombres de las columnas deben ser cadenas e ir entre comillas
dobles. Sin embargo, los nombres de las columnas deben ser estáticos y no se pueden calcular con una fórmula.
Si se encuentra SearchString dentro de los datos de cualquiera de estas columnas como una coincidencia
parcial, se devolverá el registro completo.
NOTE
En el caso de orígenes de datos de SharePoint y Excel que contengan nombres de columna con espacios, especifique cada uno
de ellos como "_x0020_" . Por ejemplo, especifique "Nombre de columna" como "Nombre_x0020_de_columna" .
Ejemplos
Los ejemplos siguientes usan el origen de datos IceCream:
FÓRMULA DESCRIPCIÓN RESULTADO
LookUp( IceCream; Quantity > 150; Busca un registro cuyo valor de 250
Quantity + OnOrder ) Quantity sea mayor que 100. En este
caso, devuelve varios. Para el primer
registro que se encuentra, que es el
Flavor "Vanilla", devuelve la suma de las
columnas Quantity y OnOrder.
LookUp( IceCream; Flavor = Busca un registro cuyo valor de Flavor Tipo "Vainilla", cantidad: 200, en orden:
"Vanilla" ) sea igual a "Vanilla". En este caso, 75}
devuelve uno. Como no se proporcionó
ninguna fórmula de reducción, se
devuelve todo el registro.
Para crear este origen de datos como una colección, cree un control Botón y establezca la propiedad OnSelect en
esta fórmula:
ClearCollect (clientes; tabla ({nombre: "Fred Garcia"; compañía: "Northwind Traders"}; {nombre: "Cole
Miller"; empresa: "Contoso"}; {Name: "Glenda Johnson"; compañía: "Contoso"}; {Name: "Mike Collins";
Company: "Adventure Works"}; {nombre: "Colleen Jones"; compañía: "Adventure Works"}))
Como en este ejemplo, puede mostrar una lista de registros en un control Galería en la parte inferior de una
pantalla. Cerca de la parte superior de la pantalla, puede agregar un control Entrada de texto denominado
SearchInput, de modo que los usuarios puedan especificar los registros que más les interesen.
A medida que el usuario escribe caracteres en SearchInput, automáticamente se filtran los resultados en la galería.
En este caso, se configura la galería para que muestre los registros para los que el nombre del cliente (no el nombre
de la empresa) comienza con la secuencia de caracteres de SearchInput. Si el usuario escribe co en el cuadro de
búsqueda, la galería muestra estos resultados:
Para filtrar según la columna Nombre, establezca la propiedad Elementos del control Galería en una de estas
fórmulas:
Puede expandir la búsqueda para incluir la columna Empresa además de la columna Nombre:
FÓRMULA DESCRIPCIÓN RESULTADO
Descripción
La función Find busca una cadena dentro de otra cadena y distingue mayúsculas de minúsculas. Para omitir
mayúsculas y minúsculas, utilice primero la función Lower en los argumentos.
La función Find devuelve la posición inicial de la cadena que se ha encontrado. El primer carácter de la cadena
ocupa la posición 1. La función Find devuelve blank si la cadena en la que está buscando no contiene la cadena
que está buscando.
Sintaxis
Find( FindString; WithinString [; StartingPosition ] )
FindString: requerido. La cadena que se va a buscar.
WithinString: requerido. La cadena dentro de la que se va a buscar.
StartingPosition: requerido. La posición inicial para empezar a buscar. El primer carácter ocupa la posición 1.
Funciones First, FirstN, Last y LastN en PowerApps
08/10/2019 • 2 minutes to read
Descripción
La función First devuelve el primer registro de una tabla.
La función FirstN devuelve el primer conjunto de registros de una tabla; el segundo argumento especifica el
número de registros que se van a devolver.
La función Last devuelve el último registro de una tabla.
La función LastN devuelve el último conjunto de registros de una tabla; el segundo argumento especifica el
número de registros que se van a devolver.
First y Last devuelven un único registro. FirstN y LastN devuelven una tabla, incluso si se especifica solo un único
registro.
Cuando se usan con un origen de datos, estas funciones no se pueden delegar. Solo se recuperará la primera parte
del origen de datos, y después se aplicará la función. Es posible que el resultado no represente la historia completa.
Aparecerá una advertencia en el momento de la creación para recordarle esta limitación y para sugerirle un cambio
a alternativas delegables siempre que sea posible. Para obtener más información, consulte la información general
sobre delegación
Sintaxis
First( Table )
Last( Table )
Table: requerido. La tabla sobre la cual se opera.
FirstN ( Table [; NumberOfRecords ] )
LastN ( Table [; NumberOfRecords ] )
Table: requerido. La tabla sobre la cual se opera.
NumberOfRecords: opcional. Número de registros que se va a devolver. Si no especifica este argumento, la
función devolverá un registro.
Ejemplos
Esta fórmula devuelve el primer registro de una tabla denominada Empleados:
First(Employees)
Esta fórmula devuelve los últimos 15 registros de una tabla denominada Empleados:
LastN (Employees; 15)
Funciones First, FirstN, Last y LastN en PowerApps
08/10/2019 • 2 minutes to read
Descripción
La función First devuelve el primer registro de una tabla.
La función FirstN devuelve el primer conjunto de registros de una tabla; el segundo argumento especifica el
número de registros que se van a devolver.
La función Last devuelve el último registro de una tabla.
La función LastN devuelve el último conjunto de registros de una tabla; el segundo argumento especifica el
número de registros que se van a devolver.
First y Last devuelven un único registro. FirstN y LastN devuelven una tabla, incluso si se especifica solo un único
registro.
Cuando se usan con un origen de datos, estas funciones no se pueden delegar. Solo se recuperará la primera parte
del origen de datos, y después se aplicará la función. Es posible que el resultado no represente la historia completa.
Aparecerá una advertencia en el momento de la creación para recordarle esta limitación y para sugerirle un cambio
a alternativas delegables siempre que sea posible. Para obtener más información, consulte la información general
sobre delegación
Sintaxis
First( Table )
Last( Table )
Table: requerido. La tabla sobre la cual se opera.
FirstN ( Table [; NumberOfRecords ] )
LastN ( Table [; NumberOfRecords ] )
Table: requerido. La tabla sobre la cual se opera.
NumberOfRecords: opcional. Número de registros que se va a devolver. Si no especifica este argumento, la
función devolverá un registro.
Ejemplos
Esta fórmula devuelve el primer registro de una tabla denominada Empleados:
First(Employees)
Esta fórmula devuelve los últimos 15 registros de una tabla denominada Empleados:
LastN (Employees; 15)
Función ForAll en PowerApps
08/10/2019 • 17 minutes to read
Calcula valores y realiza acciones para todos los registros de una tabla.
Descripción
La función ForAll evalúa una fórmula para todos los registros de una tabla. La fórmula puede calcular un valor o
realizar acciones, como modificar datos o trabajar con una conexión. Utilice la función with para evaluar una
fórmula para un único registro.
Los campos de registro que se están procesando actualmente estarán disponibles en la formula. Solo tiene que
hacer referencia a los campos por su nombre, como con cualquier otro valor. También puede hacer referencia a
propiedades de control y a otros valores desde toda la aplicación. Para obtener más detalles, vea los ejemplos
siguientes y trabajar con el ámbito de registros.
Valor devuelto
Se devuelve el resultado de cada evaluación de fórmula en una tabla, en el mismo orden que la tabla de entrada.
Si el resultado de la fórmula es un valor único, la tabla resultante será una tabla con una sola columna. Si el
resultado de la fórmula es un registro, la tabla resultante contendrá registros con las mismas columnas que el
registro del resultado.
Si el resultado de la fórmula es un valor blank, no habrá ningún registro en la tabla de resultados para ese
registro de entrada. En este caso, habrá menos registros en la tabla de resultados que en la tabla de origen.
Realización de acciones
La fórmula puede incluir funciones que realicen acciones, como modificar los registros de un origen de datos con
las funciones Patch y Collect . La fórmula también puede llamar a métodos en las conexiones. Se pueden realizar
varias acciones por registro mediante el operador ; . No se puede modificar la tabla objeto de la función ForAll.
Al escribir la fórmula, tenga en cuenta que los registros se pueden procesar en cualquier orden y, siempre que
sea posible, en paralelo. Se puede procesar el primer registro de la tabla después del último registro. Tenga
cuidado para evitar la ordenación de las dependencias. Por esta razón, no puede usar las funciones
UpdateContext , Clear y ClearCollect dentro de una función ForAll ya que se podrían usar fácilmente para
mantener variables que son susceptibles de sufrir este efecto. Puede usar Collect , pero el orden en que se
agregan los registros no está definido.
Varias funciones que modifican los orígenes de datos, incluidas las funciones Collect, Remove y Update,
devuelven el origen de datos que han cambiado como su valor devuelto. Estos valores devueltos pueden ser
grandes y consumir recursos significativos si se devuelven para cada registro de la tabla ForAll. También es
posible que estos valores devueltos no sean los esperados, ya que ForAll puede funcionar en paralelo y puede
separar los efectos secundarios de estas funciones a partir de la obtención de su resultado. Afortunadamente, si el
valor devuelto desde ForAll no se utiliza realmente, y este suele ser el caso de las funciones de modificación de
datos, el valor devuelto no se creará con lo que no habrá ningún problema de recursos u ordenación. Sin
embargo, si va a utilizar el resultado de una función ForAll y el de alguna de las funciones que devuelve un
origen de datos, medite concienzudamente sobre cómo estructurar el resultado y pruébelas primero en
conjuntos de datos pequeños.
Alternativas
Muchas funciones de PowerApps pueden procesar más de un valor a la vez mediante el uso de una tabla de una
sola columna. Por ejemplo, la función Len puede procesar una tabla de valores de texto, devolviendo una tabla de
longitudes, de la misma manera que podría hacerlo la función ForAll. Esto hace que no sea necesario usar la
función ForAll en muchos casos, puede resultar más eficaz y es más fácil de leer.
Otra consideración a tener en cuenta es que ForAll no es delegable mientras que otras funciones sí que lo
pueden ser como, por ejemplo, Filter.
Delegación
Cuando se usa con un origen de datos, esta función no se puede delegar. Solo se recuperará la primera parte del
origen de datos, y después se aplicará la función. Es posible que el resultado no represente la historia completa.
Aparecerá una advertencia en el momento de la creación para recordarle esta limitación y para sugerirle un
cambio a alternativas delegables siempre que sea posible. Para obtener más información, consulte la información
general sobre delegación
Sintaxis
ForAll( Table; Formula )
Table: requerido. Tabla sobre la que se va a actuar.
Formula: requerido. La fórmula que se evalúa para todos los registros de la tabla.
Ejemplos
Cálculos
Los ejemplos siguientes usan el origen de datos Cuadrados:
Para crear este origen de datos como una colección, establezca la propiedad OnSelect de un control Botón en
esta fórmula, abra el modo de vista previa y, a continuación, haga clic o pulse en el botón:
ClearCollect( Squares; [ "1"; "4"; "9" ] )
Este ejemplo usa también una conexión con Microsoft Translator. Para agregar esta conexión a la aplicación,
consulte el tema acerca de cómo administrar conexiones.
ClearCollect( Products;
Table(
{ Product: "Widget"; 'Quantity Requested': 6; 'Quantity Available': 3 };
{ Product: "Gadget"; 'Quantity Requested': 10; 'Quantity Available': 20 };
{ Product: "Gizmo"; 'Quantity Requested': 4; 'Quantity Available': 11 };
{ Product: "Apparatus"; 'Quantity Requested': 7; 'Quantity Available': 6 }
)
)
Nuestro objetivo es trabajar con una tabla derivada que incluya solo los artículos de los que se ha solicitado una
cantidad mayor a la disponible y para los cuales hay que realizar un pedido:
Se puede realizar esta tarea de dos maneras diferentes, que generan el mismo resultado, y cada una con sus
ventajas y desventajas.
Forma de tabla a petición
No haga esa copia Podemos utilizar la fórmula siguiente en cualquier lugar que sea necesario:
Se crea un ámbito de registro mediante las funciones Filter y AddColumns que permite realizar las operaciones
de comparación y resta, respectivamente, con los campos 'Cantidad en pedido' y 'Cantidad disponible' de
cada registro.
En este ejemplo, la función Filter se puede delegar. Esto es importante, ya que puede encontrar todos los
productos que cumplen los criterios, incluso si se trata solo de unos pocos registros en una tabla de millones de
ellos. En este momento, las funciones ShowColumns y AddColumns no se pueden delegar, por lo que se
limitará el número real de productos que es necesario solicitar. Si sabe que el tamaño de este resultado siempre
será relativamente pequeño, este enfoque es adecuado.
Y dado que no realizamos una copia, no hay ninguna copia adicional de la información para administrar o que
esté obsoleta.
Función ForAll a petición
Otro enfoque consiste en utilizar la función ForAll para reemplazar las funciones de forma de tabla:
ForAll( Products;
If( 'Quantity Requested' > 'Quantity Available';
{
Product: Product;
'Quantity To Order': 'Quantity Requested' - 'Quantity Available'
}
)
)
Esta fórmula puede ser más sencilla de leer y escribir para algunas personas.
No se puede delegar ninguna parte de ForAll. Solo se evaluará la primera parte de la tabla Productos, lo cual
podría ser un problema si esta tabla es muy grande. Dado que la función Filter se pudo delegar en el ejemplo
anterior, esta podría funcionar mejor con grandes conjuntos de datos.
Recopilación de resultados
En algunos casos, puede que sea necesario realizar una copia de los datos. Puede que necesite mover
información de un origen de datos a otro. En este ejemplo, se realizan los pedidos a través de una tabla
denominada NewOrderdel sistema del proveedor. Para interacciones de usuario de alta velocidad, puede que
desee almacenar en caché una copia local de una tabla para que no haya ninguna latencia del servidor.
Se utilizará la misma forma de tabla que en los dos ejemplos anteriores, pero se capturará el resultado en una
colección:
ClearCollect( NewOrder;
ShowColumns(
AddColumns(
Filter( Products; 'Quantity Requested' > 'Quantity Available' );
"Quantity To Order"; 'Quantity Requested' - 'Quantity Available'
);
"Product";
"Quantity To Order"
)
)
ClearCollect( NewOrder;
ForAll( Products;
If( 'Quantity Requested' > 'Quantity Available';
{
Product: Product;
'Quantity To Order': 'Quantity Requested' - 'Quantity Available'
}
}
)
)
Las funciones ClearCollect y Collect no se pueden delegar. Como consecuencia, la cantidad de datos que se
pueden mover de esta manera es limitada.
Recopilación dentro de ForAll
Por último, se puede realizar la función Collect directamente dentro de ForAll:
Clear( ProductsToOrder );;
ForAll( Products;
If( 'Quantity Requested' > 'Quantity Available';
Collect( NewOrder;
{
Product: Product;
'Quantity To Order': 'Quantity Requested' - 'Quantity Available'
}
)
)
)
Una vez más, la función ForAll no se puede delegar en este momento. Si la tabla Productos es grande, la
función ForAll buscará solo en el primer conjunto de registros y puede que se pasen por alto algunos productos
que es necesario solicitar. Pero en el caso de tablas que sabemos que seguirán siendo pequeñas, este enfoque es
adecuado.
Tenga en cuenta que no vamos a capturar el resultado de la función ForAll. Las llamadas de la función Collect
realizadas desde dentro de ella devolverán el origen de datos NewOrder para todos los registros, lo que podría
agregarse a muchos datos si los fuéramos a capturar.
Funciones GroupBy y Ungroup en PowerApps
08/10/2019 • 9 minutes to read
Descripción
La función GroupBy devuelve una tabla con registros agrupados en función de los valores de una o varias
columnas. Los registros del mismo grupo se colocan en un único registro, con una columna agregada que contiene
una tabla anidada de las columnas restantes.
La función Ungroup invierte el proceso realizado por GroupBy. Esta función devuelve una tabla y divide en
registros individuales todos los registros que estaban agrupados.
Puede agrupar los registros mediante GroupBy, modificar la tabla que devuelve y, a continuación, desagrupar los
registros de la tabla modificada mediante la función Ungroup. Por ejemplo, puede quitar un grupo de registros
siguiendo este enfoque:
Use la función GroupBy.
Use la función Filter para quitar todo el grupo de registros.
Use la función Ungroup.
También puede agregar los resultados en función de una agrupación:
Use la función GroupBy.
Use la función AddColumns con Sum , Average y otras funciones de agregado para agregar una nueva
columna que sea un agregado de las tablas de grupos.
Use la función DropColumns para quitar la tabla de grupo.
Ungroup intenta conservar el orden original de los registros que se proporcionan a GroupBy. Esto no siempre es
posible (por ejemplo, si la tabla original contiene registros blank).
Una tabla es un valor en PowerApps, como una cadena o un número. Puede especificar una tabla como argumento
para una función y una función puede devolver una tabla. GroupBy y Ungroup no modifican una tabla; en lugar
de eso, toman una tabla como argumento y devuelven una tabla diferente. Consulte cómo trabajar con tablas para
más detalles.
Sintaxis
GroupBy( Table; ColumnName1 [; ColumnName2; ... ]; GroupColumnName )
Table: requerido. Tabla que se desea agrupar.
ColumnName(s) : requerido. Los nombres de columna en Table mediante los que se van a agrupar los
registros. Estas columnas se convierten en columnas en la tabla resultante.
GroupColumnName: requerido. El nombre de la columna para el almacenamiento de datos de registro que
no están en el ColumnName(s) .
NOTE
En el caso de orígenes de datos de SharePoint y Excel que contengan nombres de columna con espacios, especifique
cada uno de ellos como "_x0020_" . Por ejemplo, especifique "Nombre de columna" como
"Nombre_x0020_de_columna" .
NOTE
En el caso de orígenes de datos de SharePoint y Excel que contengan nombres de columna con espacios, especifique
cada uno de ellos como "_x0020_" . Por ejemplo, especifique "Nombre de columna" como
"Nombre_x0020_de_columna" .
Ejemplos
Crear una colección
1. Agregue un botón y establezca su propiedad Text para que el botón muestre Original.
2. Establezca la propiedad OnSelect del botón Original en esta fórmula:
ClearCollect( CityPopulations;
{ City: "London"; Country: "United Kingdom"; Population: 8615000};
{ City: "Berlin"; Country: "Germany"; Population: 3562000};
{ City: "Madrid"; Country: "Spain"; Population: 3165000};
{ City: "Rome"; Country: "Italy"; Population: 2874000};
{ City: "Paris"; Country: "France"; Population: 2273000};
{ City: "Hamburg"; Country: "Germany"; Population: 1760000};
{ City: "Barcelona"; Country: "Spain"; Population: 1602000};
{ City: "Munich"; Country: "Germany"; Population: 1494000};
{ City: "Milan"; Country: "Italy"; Population: 1344000}
)
4. Para mostrar esta colección, seleccione Colecciones en el menú Archivo y, a continuación, seleccione la
colección CityPopulations. Aparecerán los cinco primeros registros de la colección:
Registros de grupo
1. Agregue otro botón y establezca su propiedad Text en "Group" .
2. Establezca la propiedad OnSelect de este botón en esta fórmula:
ClearCollect( CitiesByCountry; GroupBy( CityPopulations; "Country"; "Cities" ) )
3. Mientras mantiene presionada la tecla Alt, seleccione el botón Grupo.
Acaba de crear una recopilación denominada CitiesByCountry, en la que se agrupan los registros de la
colección anterior mediante la columna País.
4. Para mostrar los primeros cinco registros de esta colección, seleccione Colecciones en el menú Archivo.
5. Para mostrar la población de las ciudades de un país o región, seleccione el icono de tabla de la columna
Ciudades de ese país (por ejemplo, Alemania):
Agregación de resultados
Otra cosa que podemos hacer con una tabla agrupada consiste en agregar los resultados. En este ejemplo, se
sumará la población de las ciudades más importantes de cada país.
1. Agregue otro botón y establezca su propiedad Text para que el botón muestre "Sum" .
2. Establezca la propiedad OnSelect del botón "Sum" en esta fórmula:
ClearCollect( CityPopulationsSum; AddColumns( CitiesByCountry; "Sum of City Populations";
Sum ( Cities; Population ) ) )
Que da como resultado:
AddColumns comienza con la colección básica de CitiesByCountry y agrega una nueva columna
denominada Sum of City Populations. Los valores de esta columna se calculan fila por fila según la
fórmula Sum ( Cities; Population ) . AddColumns proporciona el valor de la columna Cities (una tabla)
para cada fila y Sum el valor de Population de cada fila de esta subtabla.
Ahora que tenemos la suma que queremos, podemos usar la función DropColumns para quitar las
subtablas.
3. Agregue otro botón y establezca su propiedad Text para que el botón muestre "SumOnly" .
4. Establezca la propiedad OnSelect del botón "SumOnly" en esta fórmula:
ClearCollect( CityPopulationsSumOnly; DropColumns( CityPopulationsSum; "Cities" ) )
Que da como resultado:
Convierta una cadena de GUID (identificador único global) en un valor GUID o cree un valor GUID.
Descripción
Use la función GUID para convertir una cadena que contiene la representación hexadecimal de un GUID a un
valor GUID que se puede pasar a una base de datos. Los sistemas de base de datos, como Common Data Service
y SQL Server, usan los valores GUID como claves.
La cadena que se pase puede contener letras mayúsculas o minúsculas, pero debe tener 32 dígitos hexadecimales
en cualquiera de estos formatos:
"123e4567-e89b-12d3-a456-426655440000" (guiones en ubicaciones estándar)
"123e4567e89b12d3a456426655440000" (sin guiones)
Si no se especifica un argumento, esta función crea un GUID.
Para convertir un valor GUID en una cadena, simplemente úselo en un contexto de cadena. El valor GUID se
convertirá en una cadena de representación hexadecimal con letras minúsculas y guiones.
Al generar un nuevo GUID, esta función usa números pseudoaleatorios para crear una versión 4 del GUID de
IETF RFC 4122 . Al convertir una cadena en un GUID, esta función admite cualquier versión de GUID aceptando
cualquier cadena de 32 dígitos hexadecimales.
Funciones volátiles
GUID es una función volátil cuando se usa sin argumento. Cada vez que se evalúa, la función devuelve un valor
diferente.
Cuando se usa en una fórmula de flujo de datos, una función volátil solo devuelve un valor diferente si se vuelve a
evaluar la fórmula en la que aparece. Si no se realiza ningún otro cambio en la fórmula, presenta el mismo valor
durante la ejecución de la aplicación.
Por ejemplo, un control de etiqueta en el que la propiedad Text se establece en GUID () no cambiará mientras la
aplicación está activa. Solo se generará un valor distinto si la aplicación se cierra y se vuelve a abrir.
La función se volverá a evaluar si forma parte de una fórmula en la que haya cambiado algún otro elemento. Si,
por ejemplo, la propiedad Text de un control Label se establece en esta fórmula, se genera un GUID cada vez que
el usuario cambia el valor del control Text input:
TextInput1.Text & " " & GUID ()
Cuando se usa en una fórmula de comportamiento, GUID se evalúa cada vez que se evalúa la fórmula. Para más
información, vea los ejemplos más adelante en este tema.
Sintaxis
GUID ( [ GUIDString ] )
GUIDString (opcional). Cadena de texto que contiene la representación hexadecimal de un GUID. Si no se
especifica ninguna cadena, se crea un GUID.
Ejemplos
Uso básico
Para devolver un valor GUID basado en la representación de cadena hexadecimal:
GUID ( "0f8fad5b-d9cb-469f-a165-70867728950e" )
También puede especificar la cadena de GUID sin guiones. Esta fórmula devuelve el mismo valor GUID:
GUID ( "0f8fad5bd9cb469fa16570867728950e" )
Se utiliza en contexto para establecer el campo Estado de un nuevo registro de la base de datos en un valor
establecido:
Patch (productos; valores predeterminados (productos); {estado: GUID ("F9168C5E -CEB2-4faa-B6BF-
329BF39FA1E4")})
Probablemente no quiera mostrar los GUID a los usuarios, pero los GUID pueden ayudarle a depurar la
aplicación. Para mostrar el valor del campo Estado en el registro que creó en el ejemplo anterior, establezca la
propiedad Text de un control Label en esta fórmula:
First( Products ).Status
El control Label mostrará f9168c5e-ceb2-4faa-b6bf-329bf39fa1e4.
Creación de una tabla de valores GUID
1. Establezca la propiedad OnSelect de un control de botón en esta fórmula:
ClearCollect( NewGUIDs; ForAll( [ 1; 2; 3; 4; 5 ]; GUID () ) )
Con esta fórmula se crea una tabla de una sola columna que se usa para iterar cinco veces, lo que produce
cinco GUID.
2. Agregue un control Data Table , establezca su propiedad Items en NewGUIDs y muestre el campo Valor.
3. Haga clic en el botón o púlselo para seleccionarlo, manteniendo la tecla Alt presionada.
La tabla de datos muestra una lista de GUID:
Descripción
La función HashTags analiza una cadena en busca de hashtags. Los hashtags comienzan por un carácter de
almohadilla (#), que va seguido de cualquier combinación de:
letras mayúsculas y minúsculas
números
caracteres de subrayado
símbolos de moneda (por ejemplo, $)
HashTags devuelve una tabla de una sola columna que contiene los hashtags de la cadena. Si la cadena no
contiene ningún hashtag, la función devuelve una tabla de una sola columna que está vacía.
Sintaxis
HashTags( String )
String: requerido. Cadena en la que se van a buscar hashtags.
Ejemplos
Paso a paso
1. Agregue un control Entrada de texto , asígnele el nombre Tweet y escriba esta frase:
Esta #aplicación es #SORPRENDENTE y puede #contar123 # o #123abc; pero no #1-23 ni #$*
(#@")
2. Agregue una galería vertical personalizada y establezca su propiedad Elementos en esta función:
HashTags(Tweet.Text)
3. Agregue un control Etiqueta a la plantilla de la galería.
La galería mostrará estos hashtags:
#aplicación
#SORPRENDENTE
#contar123
#123abc
#1
Funciones Day, Month, Year, Hour, Minute, Second y
Weekday en PowerApps
08/10/2019 • 4 minutes to read
Descripción
La función Day devuelve el componente de día de un valor de fecha y hora, comprendido entre 1 y 31.
La función Month devuelve el componente de mes de un valor de fecha y hora, comprendido entre 1 y 12.
La función Year devuelve el componente de año de un valor de fecha y hora, a partir de 1900.
La función Hour devuelve el componente de hora de un valor de fecha y hora, comprendido entre 0 (12:00 a. m.) y
23 (11:00 p. m).
La función Minute devuelve el componente de minuto de un valor de fecha y hora, comprendido entre 0 y 59.
La función Second devuelve el componente de segundo de un valor de fecha y hora, comprendido entre 0 y 59.
La función Weekday devuelve el día de la semana de un valor de fecha y hora. De forma predeterminada, el
resultado está comprendido entre 1 (domingo) y 7 (sábado). Puede especificar un intervalo diferente con un código
de la función Weekday de la semana de Microsoft Excel o un valor de enumeración de StartOfWeek:
Sintaxis
Day( DateTime )
Month( DateTime )
Year( DateTime )
Hour( DateTime )
Minute( DateTime )
Second( DateTime )
DateTime: requerido. Valor de fecha y hora con el que operar.
Weekday( DateTime [; WeekdayFirst ] )
DateTime: requerido. Valor de fecha y hora con el que operar.
WeekdayFirst: opcional. Código de Excel que especifica qué día comienza la semana. Si no se indica, se usará 1
(primero el domingo).
Ejemplos
En el ejemplo siguiente, la hora actual es las 3:59:37 p. m. del jueves, 9 de abril de 2015.
Determina si se cumple alguna condición de un conjunto (If) o si el resultado de una fórmula coincide con algún
valor de un conjunto (Switch) y luego devuelve un resultado o ejecuta una acción.
Descripción
La función If comprueba una o varias condiciones hasta que encuentra un resultado verdadero. Si se encuentra un
resultado de este tipo, se devuelve un valor correspondiente. Si no se encuentra ningún resultado de este tipo, se
devuelve un valor predeterminado. En cualquier caso, el valor devuelto podría ser una cadena para mostrar, una
fórmula para evaluar u otra forma de resultado.
La función Switch evalúa una fórmula y determina si el resultado coincide con algún valor de una secuencia que
especifique. Si se encuentra una coincidencia, se devuelve un valor correspondiente. Si no se encuentra ninguna
coincidencia, se devuelve un valor predeterminado. En cualquier caso, el valor devuelto podría ser una cadena para
mostrar, una fórmula para evaluar u otra forma de resultado.
Las funciones If y Switch son muy parecidas, así que debe usar aquella que mejor se adapte a su situación:
Use If para evaluar una única condición. La sintaxis más común para esta función es If( Condition; ThenResult;
DefaultResult ), que proporciona el patrón común "if … then ... else ..." que puede verse en otras herramientas de
programación.
Use If para evaluar varias condiciones no relacionadas. En PowerApps (a diferencia de Microsoft Excel), puede
especificar varias condiciones sin tener que anidar fórmulas If.
Use Switch para evaluar una condición única contra varias coincidencias posibles. También podría usar If en
este caso, pero tendría que repetir la fórmula con cada posible coincidencia.
Puede usar ambas funciones en fórmulas de comportamiento para crear una bifurcación entre dos o más acciones.
Solo una bifurcación desencadenará una acción. Las condiciones y coincidencias se evalúan en orden y se detienen
si una condición es verdadera o se encuentra una coincidencia.
Se devuelve en blanco si ninguna condición es verdadera, no se encuentra ninguna coincidencia y no especifica un
resultado predeterminado.
Sintaxis
If( Condition; ThenResult [; DefaultResult ] )
If( Condition1; ThenResult1 [; Condition2; ThenResult2; ... [ ; DefaultResult ] ] )
Condition(s) : requerido. Fórmulas para comprobar que una condición es verdadera. Tales fórmulas contienen
normalmente operadores de comparación (como < , > y = ) y permiten probar funciones como IsBlank e
IsEmpty .
ThenResult(s) : requerido. El valor correspondiente que se devuelve para una condición que se evalúa como true.
DefaultResult: opcional. El valor que se devuelve si ninguna condición se evalúa como verdadera. Si no se
especifica este argumento, se devolverá un valor blank.
Switch( Formula; Match1; Result1 [; Match2; Result2; ... [; DefaultResult ] ] )
Formula: requerido. Fórmula para evaluar coincidencias. Esta fórmula se evalúa solo una vez.
Match(s) (Coincidencias): requerido. Valores para comparar con el resultado de Fórmula. Si se encuentra una
coincidencia exacta, se devuelve el Resultado correspondiente.
Result(s) : requerido. El valor correspondiente que se devolverá cuando se encuentre una coincidencia exacta.
DefaultResult: opcional. Si no se encuentra una coincidencia exacta, se devuelve este valor. Si no se especifica
este argumento, se devolverá un valor blank.
Ejemplos
Valores en las fórmulas
En los ejemplos siguientes, un control Control deslizante (llamado Slider1) tiene un valor de 25.
If( Slider1.Value > 1000; "Result1"; Las condiciones primera y segunda son "Result3"
Slider1.Value > 50; "Result2"; falsas, se proporcionó un valor para
"Result3") DefaultResult, y es el que se devuelve.
Switch( Slider1.Value; 25; "Result1" ) El valor del control deslizante coincide "Result1"
con el primer valor que se comprueba, y
se devuelve el resultado
correspondiente.
Switch( Slider1.Value; 20; "Result1"; El valor del control deslizante coincide "Result2"
25; "Result2"; 30; "Result3" ) con el segundo valor que se comprueba,
y se devuelve el resultado
correspondiente.
FÓRMULA DESCRIPCIÓN RESULTADO
Paso a paso
1. Agregue un control Entrada de texto y asígnele el nombre Text1, siempre que no sea su nombre
predeterminado.
2. En Text1, escriba 30.
3. Agregue un control Label y establezca su propiedad Text en esta fórmula:
If( Value(Text1.Text) < 20; "Order MANY more!"; Value(Text1.Text) < 40; "Order more!"; Text1.Text
)
El control Etiqueta muestra Order more! dado que el valor de Text1 es superior a 20, pero inferior a 40.
4. En Text1, escriba 15.
El control Etiqueta muestra Order MANY more! dado que el valor de Text1 es inferior a 20.
5. En Text1, escriba 50.
El control Etiqueta muestra el valor que escribió porque es superior a 40.
Función IfError en PowerApps
08/10/2019 • 7 minutes to read
Descripción
NOTE
Esta función forma parte de una característica experimental y está sujeta a cambios. El comportamiento que se describe en
este tema solo está disponible cuando está activada la característica de Administración de errores de nivel de fórmula . Esta
configuración de nivel de aplicación está desactivada de forma predeterminada. Para activar esta característica, abra la
pestaña archivo , seleccione Configuración de la aplicación en el menú de la izquierda y, a continuación, seleccione
características experimentales. Sus comentarios nos sirven mucho: denos su opinión en los foros de la comunidad de
PowerApps.
La función de error de prueba comprueba uno o más valores hasta que encuentra un resultado de error. Si la
función encuentra un error, la función devuelve un valor correspondiente. De lo contrario, la función devuelve un
valor predeterminado. En cualquier caso, la función podría devolver una cadena para mostrar, una fórmula para
evaluar u otra forma de resultado. La función que se va a una vez es similar a la función If : Una prueba de error
en busca de errores, mientras que si comprueba true.
Use si es un valor erróneo para reemplazar los valores de error por valores válidos. Por ejemplo, use esta función
si los datos proporcionados por el usuario pueden dar lugar a una división por cero. Cree una fórmula para
reemplazar el resultado por un valor 0 u otro que sea adecuado para la aplicación, de modo que los cálculos
descendentes puedan continuar. La fórmula puede ser tan sencilla como en este ejemplo:
IfError( 1/x; 0 )
Si el valor de x no es cero, la fórmula devuelve 1/x. De lo contrario, 1/x genera un error y la fórmula devuelve 0
en su lugar.
Use un error en las fórmulas de comportamiento para realizar una acción y comprobar si hay un error antes de
realizar acciones adicionales, como en este patrón:
IfError(
Patch( DS1; ... ); Notify( "problem in the first action" );
Patch( DS2; ... ); Notify( "problem in the second action" )
)
Si la primera revisión detecta un problema, la primera notificación se ejecuta, no se realiza ningún otro
procesamiento y la segunda revisión no se ejecuta. Si la primera revisión se realiza correctamente, se ejecuta la
segunda revisión y, si encuentra un problema, se ejecuta la segunda notificación .
Si la fórmula no encuentra errores y ha especificado el argumento opcional DefaultResult , la fórmula devuelve el
valor que especificó para ese argumento. Si la fórmula no encuentra ningún error y no se ha especificado ese
argumento, la fórmula devuelve el último argumento de valor evaluado.
Sintaxis
' No se pudo ( Value1, Fallback1 [, value2, Fallback2,... [, DefaultResult ]] )
Value (s) : requerido. Fórmulas para probar si hay un valor de error.
Fallback(s) : obligatorio. Las fórmulas que se van a evaluar y los valores que se van a devolver si los
argumentos de valor coincidente devolvieron un error.
DefaultResult: opcional. Fórmulas que se van a evaluar si la fórmula no encuentra errores.
Ejemplos
FÓRMULA DESCRIPCIÓN RESULTADO
Paso a paso
1. Agregue un control Text input y asígnele el nombre TextInput1, siempre que no sea su nombre
predeterminado.
2. Agregue un control Label y asígnele el nombre Label1, siempre que no sea su nombre predeterminado.
3. Establezca la fórmula para la propiedad Text de Label1 en:
IfError( Value( TextInput1.Text ); -1 )
4. En TextInput1, escriba 1234.
Label1 mostrará el valor 1234, ya que se trata de una entrada válida para la función Value.
5. En TextInput1, escriba ToInfinity.
Label1 mostrará el valor -1, ya que se trata de una entrada no válida para la función Value. Si no se ajustara
la función Value con IfError, la etiqueta no mostraría ningún valor, ya que el valor de error se trata como
blank.
Funciones Blank, Coalesce, IsBlank e IsEmpty en
PowerApps
26/11/2019 • 16 minutes to read
Comprueba si un valor está en blanco o una tabla no contiene registros, y proporciona una manera de crear valores
blank.
Información general
Blank es un marcador de posición para "sin valor" o "valor desconocido". Por ejemplo, la propiedad seleccionada
de un control de cuadro combinado está en blanco si el usuario no ha realizado una selección. Muchos orígenes
de datos pueden almacenar y devolver valores NULL, que se representan en PowerApps como en blanco.
Cualquier propiedad o valor calculado en PowerApps puede estar en blanco. Por ejemplo, un valor booleano
normalmente tiene uno de dos valores: true o false. Pero además de estos dos, también puede estar en blanco , lo
que indica que no se conoce el estado. Esto es similar a Microsoft Excel, donde una celda de hoja de cálculo empieza
en blanco sin contenido, pero puede contener los valores true o false (entre otros). En cualquier momento, se
puede volver a borrar el contenido de la celda y devolverlo a un estado en blanco .
Una cadena vacía hace referencia a una cadena que no contiene ningún carácter. La función Len devuelve cero para
este tipo de cadena y se puede escribir en una fórmula como dos comillas dobles sin nada entre "" . Algunos
controles y orígenes de datos usan una cadena vacía para indicar una condición de "sin valor". Para simplificar la
creación de aplicaciones , las funciones esblanco y Coalesce comprueban si hay valores en blanco o cadenas
vacías.
En el contexto de la función IsEmpty , Empty es específico de las tablas que no contienen registros. La estructura
de tabla puede estar intacta, con nombres de columna, pero ningún dato en la tabla. Una tabla puede comenzar
como vacía, obtener registros y ya no estar vacía y luego quitarse los registros y estar de nuevo vacía.
NOTE
Estamos en un período de transición. Hasta ahora, el espacio en blanco también se ha utilizado para notificar los errores, lo
que impide que se diferencie un "valor" no válido de un error. Por esta razón, en este momento, solo se admite el
almacenamiento de valores en blanco para las colecciones locales. Puede almacenar valores en blanco en otros orígenes de
datos si activa la característica experimental "administración de errores de nivel de fórmulas" en el menú Archivo,
configuración de la aplicación, configuración avanzada, características experimentales. Estamos trabajando activamente para
finalizar esta característica y completar la separación adecuada de los valores en blanco de los errores.
Descripción
La función Blank devuelve un valor blank. Use esta función para almacenar un valor NULL en un origen de datos
que admita estos valores, de forma que se quiten en la práctica todos los valores del campo.
La función esblanco comprueba un valor en blanco o una cadena vacía. La prueba incluye cadenas vacías para
facilitar la creación de aplicaciones, ya que algunos orígenes de datos y controles usan una cadena vacía cuando no
hay ningún valor. Para probar específicamente si hay un valor en blanco , use if( Value = Blank(); ... en lugar de
esblanco.
La función Coalesce evalúa sus argumentos en orden y devuelve el primer valor que no está en blanco ni una
cadena vacía. Utilice esta función para reemplazar un valor en blanco o una cadena vacía con un valor diferente,
pero sin modificar los valores de cadena que no esténen blanco y que no estén vacíos. Si todos los argumentos
están en blanco o cadenas vacías, la función devuelve un valor enblanco, lo que permite que la combinación sea
una buena manera de convertir cadenas vacías en valores en blanco . Todos los argumentos de Coalesce debe ser
del mismo tipo; por ejemplo, no puede combinar números con cadenas de texto.
Coalesce( value1; value2 ) es el equivalente más conciso de
If( Not IsBlank( value1 ); value1; Not IsBlank( value2 ); value2 ) y no requiere que value1 y value2 se evalúen
dos veces. La función If devuelve un valor en blanco si no hay ninguna fórmula "Else", como es el caso.
La función IsEmpty comprueba si una tabla contiene registros. Es equivalente a usar la función CountRows y la
comprobación de cero. Puede usar IsEmpty para comprobar errores de origen de datos en combinación con la
función Errors .
El valor devuelto para IsBlank e IsEmpty es un valor booleano true o false.
Sintaxis
En blanco()
Coalesce( Valor1 [; Valor2; ... ] )
Valores: requerido. Valores que se van a comprobar. Cada valor se evalúa en orden hasta que se encuentra un
valor que no está en blanco y no es una cadena vacía. Los valores después de este punto no se evalúan.
IsBlank( Value )
Value: requerido. Valor que se va a comprobar para un valor en blanco o una cadena vacía.
IsEmpty( Table )
Table: requerido. Tabla en la que se van a comprobar registros.
Ejemplos
En blanco
NOTE
Actualmente, el siguiente ejemplo solo funciona en colecciones locales. Puede almacenar valores en blanco en otros orígenes
de datos si activa la característica experimental "administración de errores de nivel de fórmulas" en el menú Archivo,
configuración de la aplicación, configuración avanzada, características experimentales. Estamos trabajando activamente para
finalizar esta característica y completar la separación de los valores en blanco de los errores.
3. Obtenga una vista previa de la aplicación, haga clic o pulse en el botón que agregó y luego cierre la vista
previa.
4. En el menú Archivo, haga clic o pulse en Colecciones.
Aparece la colección Cities, que muestra un registro con "Seattle" y "Rainy":
5. Haga clic o pulse en la flecha Atrás para volver al área de trabajo predeterminada.
6. Agregue un control Label y establezca su propiedad Text en esta fórmula:
8. Obtenga una vista previa de la aplicación, haga clic o pulse en el botón que agregó y luego cierre la vista
previa.
El campo Weather del primer registro de Cities se sustituye por un valor blank, de forma que se reemplaza
el valor inicial "Rainy" que estaba ahí anteriormente.
Coalesce (Blank (), "", Blank (), "", 3, Coalesce comienza al principio de la 3
4) lista de argumentos y evalúa cada
argumento a su vez hasta que se
encuentra un valor que no estáen
blanco y una cadena no vacía. En este
caso, los cuatro primeros argumentos
devuelven un valor en blanco o una
cadena vacía, por lo que la evaluación
continúa hasta el quinto argumento. El
quinto argumento es una cadena que
no estáen blanco y no está vacía, por lo
que la evaluación se detiene aquí. Se
devuelve el valor del quinto argumento
y no se evalúa el sexto argumento.
IsBlank
1. Cree una aplicación desde el principio, agregue un control de entrada de texto y llámelo FirstName.
2. Agregue una etiqueta y establezca su propiedad Texto en esta fórmula:
IsBlank( Mid( "Hello"; 17; 2 ) ) El carácter inicial de Mid está más allá true
del final de la cadena. El resultado es una
cadena vacía.
IsBlank( If( false; false ) ) Una función If sin ElseResult. Como la true
condición es siempre false, esta función
If siempre devuelve blank.
IsEmpty
1. Cree una aplicación desde el principio y agregue un control Botón.
2. Establezca la propiedad OnSelect del botón en esta fórmula:
Collect( IceCream; { Flavor: "Strawberry"; Quantity: 300 }; { Flavor: "Chocolate"; Quantity: 100 } )
3. Obtenga una vista previa de la aplicación, haga clic o pulse en el botón que agregó y luego cierre la vista
previa.
Se crea una colección denominada IceCream con estos datos:
Esta colección tiene dos registros y no está vacía. IsEmpty( IceCream ) devuelve false y CountRows(
IceCream ) devuelve 2.
4. Agregue un segundo botón y establezca su propiedad OnSelect en esta fórmula:
Clear( IceCream )
5. Obtener una vista previa de la aplicación, haga clic o pulse en el segundo botón y luego cierre la vista previa.
Ahora, la colección está vacía:
La función Clear quita todos los registros de una colección, lo que da lugar a una colección vacía. IsEmpty(
IceCream ) devuelve true y CountRows( IceCream ) devuelve 0.
También puede usar IsEmpty para comprobar si una tabla calculada está vacía, como muestran estos ejemplos:
Comprueba si un valor está en blanco o una tabla no contiene registros, y proporciona una
manera de crear valores blank.
Información general
Blank es un marcador de posición para "sin valor" o "valor desconocido". Por ejemplo, la
propiedad seleccionada de un control de cuadro combinado está en blanco si el usuario no
ha realizado una selección. Muchos orígenes de datos pueden almacenar y devolver valores
NULL, que se representan en PowerApps como en blanco.
Cualquier propiedad o valor calculado en PowerApps puede estar en blanco. Por ejemplo, un
valor booleano normalmente tiene uno de dos valores: true o false. Pero además de estos dos,
también puede estar en blanco , lo que indica que no se conoce el estado. Esto es similar a
Microsoft Excel, donde una celda de hoja de cálculo empieza en blanco sin contenido, pero
puede contener los valores true o false (entre otros). En cualquier momento, se puede volver a
borrar el contenido de la celda y devolverlo a un estado en blanco .
Una cadena vacía hace referencia a una cadena que no contiene ningún carácter. La función Len
devuelve cero para este tipo de cadena y se puede escribir en una fórmula como dos comillas
dobles sin nada entre "" . Algunos controles y orígenes de datos usan una cadena vacía para
indicar una condición de "sin valor". Para simplificar la creación de aplicaciones , las funciones
esblanco y Coalesce comprueban si hay valores en blanco o cadenas vacías.
En el contexto de la función IsEmpty , Empty es específico de las tablas que no contienen
registros. La estructura de tabla puede estar intacta, con nombres de columna, pero ningún dato
en la tabla. Una tabla puede comenzar como vacía, obtener registros y ya no estar vacía y luego
quitarse los registros y estar de nuevo vacía.
NOTE
Estamos en un período de transición. Hasta ahora, el espacio en blanco también se ha utilizado para
notificar los errores, lo que impide que se diferencie un "valor" no válido de un error. Por esta razón, en
este momento, solo se admite el almacenamiento de valores en blanco para las colecciones locales.
Puede almacenar valores en blanco en otros orígenes de datos si activa la característica experimental
"administración de errores de nivel de fórmulas" en el menú Archivo, configuración de la aplicación,
configuración avanzada, características experimentales. Estamos trabajando activamente para finalizar
esta característica y completar la separación adecuada de los valores en blanco de los errores.
Descripción
La función Blank devuelve un valor blank. Use esta función para almacenar un valor NULL en
un origen de datos que admita estos valores, de forma que se quiten en la práctica todos los
valores del campo.
La función esblanco comprueba un valor en blanco o una cadena vacía. La prueba incluye
cadenas vacías para facilitar la creación de aplicaciones, ya que algunos orígenes de datos y
controles usan una cadena vacía cuando no hay ningún valor. Para probar específicamente si hay
un valor en blanco , use if( Value = Blank(); ... en lugar de esblanco.
La función Coalesce evalúa sus argumentos en orden y devuelve el primer valor que no está en
blanco ni una cadena vacía. Utilice esta función para reemplazar un valor en blanco o una
cadena vacía con un valor diferente, pero sin modificar los valores de cadena que no esténen
blanco y que no estén vacíos. Si todos los argumentos están en blanco o cadenas vacías, la
función devuelve un valor enblanco, lo que permite que la combinación sea una buena manera
de convertir cadenas vacías en valores en blanco . Todos los argumentos de Coalesce debe ser
del mismo tipo; por ejemplo, no puede combinar números con cadenas de texto.
Coalesce( value1; value2 ) es el equivalente más conciso de
If( Not IsBlank( value1 ); value1; Not IsBlank( value2 ); value2 ) y no requiere que value1
y value2 se evalúen dos veces. La función If devuelve un valor en blanco si no hay ninguna
fórmula "Else", como es el caso.
La función IsEmpty comprueba si una tabla contiene registros. Es equivalente a usar la función
CountRows y la comprobación de cero. Puede usar IsEmpty para comprobar errores de
origen de datos en combinación con la función Errors .
El valor devuelto para IsBlank e IsEmpty es un valor booleano true o false.
Sintaxis
En blanco()
Coalesce( Valor1 [; Valor2; ... ] )
Valores: requerido. Valores que se van a comprobar. Cada valor se evalúa en orden hasta que
se encuentra un valor que no está en blanco y no es una cadena vacía. Los valores después
de este punto no se evalúan.
IsBlank( Value )
Value: requerido. Valor que se va a comprobar para un valor en blanco o una cadena vacía.
IsEmpty( Table )
Table: requerido. Tabla en la que se van a comprobar registros.
Ejemplos
En blanco
NOTE
Actualmente, el siguiente ejemplo solo funciona en colecciones locales. Puede almacenar valores en
blanco en otros orígenes de datos si activa la característica experimental "administración de errores de
nivel de fórmulas" en el menú Archivo, configuración de la aplicación, configuración avanzada,
características experimentales. Estamos trabajando activamente para finalizar esta característica y
completar la separación de los valores en blanco de los errores.
3. Obtenga una vista previa de la aplicación, haga clic o pulse en el botón que agregó y
luego cierre la vista previa.
4. En el menú Archivo, haga clic o pulse en Colecciones.
Aparece la colección Cities, que muestra un registro con "Seattle" y "Rainy":
5. Haga clic o pulse en la flecha Atrás para volver al área de trabajo predeterminada.
6. Agregue un control Label y establezca su propiedad Text en esta fórmula:
8. Obtenga una vista previa de la aplicación, haga clic o pulse en el botón que agregó y
luego cierre la vista previa.
El campo Weather del primer registro de Cities se sustituye por un valor blank, de
forma que se reemplaza el valor inicial "Rainy" que estaba ahí anteriormente.
IsBlank
1. Cree una aplicación desde el principio, agregue un control de entrada de texto y llámelo
FirstName.
2. Agregue una etiqueta y establezca su propiedad Texto en esta fórmula:
IsEmpty
1. Cree una aplicación desde el principio y agregue un control Botón.
2. Establezca la propiedad OnSelect del botón en esta fórmula:
Collect( IceCream; { Flavor: "Strawberry"; Quantity: 300 }; { Flavor: "Chocolate";
Quantity: 100 } )
3. Obtenga una vista previa de la aplicación, haga clic o pulse en el botón que agregó y
luego cierre la vista previa.
Se crea una colección denominada IceCream con estos datos:
Esta colección tiene dos registros y no está vacía. IsEmpty( IceCream ) devuelve false y
CountRows( IceCream ) devuelve 2.
4. Agregue un segundo botón y establezca su propiedad OnSelect en esta fórmula:
Clear( IceCream )
5. Obtener una vista previa de la aplicación, haga clic o pulse en el segundo botón y luego
cierre la vista previa.
Ahora, la colección está vacía:
La función Clear quita todos los registros de una colección, lo que da lugar a una
colección vacía. IsEmpty( IceCream ) devuelve true y CountRows( IceCream )
devuelve 0.
También puede usar IsEmpty para comprobar si una tabla calculada está vacía, como muestran
estos ejemplos:
Comprueba si hay coincidencias o extrae partes de una cadena de texto basándose en un patrón.
Descripción
La función IsMatch comprueba si una cadena de texto coincide con un patrón que puede incluir caracteres normales, patrones
predefinidos o una expresión regular. Las funciones Match y MatchAll devuelven lo que coincidía, incluidas las subcoincidencias.
Use IsMatch para validar que un usuario ha escrito en un control Entrada de texto . Por ejemplo, puede confirmar si el usuario ha
escrito una dirección de correo electrónico válida antes de que el resultado se guarde en el origen de datos. Si la entrada no coincide con
los criterios, agregue otros controles que pidan al usuario que corrija la entrada.
Use Match para extraer la primera cadena de texto que coincida con un patrón y MatchAll para extraer todas las cadenas de texto que
coincidan. También puede extraer coincidencias secundarias para analizar cadenas complejas.
Match devuelve un registro de información para la primera coincidencia encontrada y MatchAll devuelve una tabla de registros para
cada coincidencia encontrada. El registro o los registros contienen:
Subcoincidencias Tabla de texto de una sola columna ( valorde Tabla de subcoincidencias con nombre y sin
columna) nombre en el orden en que aparecen en la
expresión regular. Por lo general, las
subcoincidencias con nombre son más fáciles de
trabajar con y se recomiendan. Use las funciones
forall o Last( firstn( ... )) para trabajar con una
subcoincidencia individual. Si no se definen
subcoincidencias en la expresión regular, esta
tabla estará presente pero vacía.
. punto
? signo de interrogación
* asterisco
+ signo más
() paréntesis
[] corchetes
{} llaves
^ símbolo de intercalación
$ signo de dólar
| barra vertical
Por ejemplo, puede buscar la coincidencia de "Hello?" mediante el patrón "Hello\?" con una barra diagonal delante del signo de
interrogación.
Patrones predefinidos
Los patrones predefinidos proporcionan una manera sencilla de buscar coincidencias con uno de un juego de caracteres o con una
secuencia de varios caracteres. Use el operador de concatenación de cadenas & para combinar sus propias cadenas de texto con
miembros de la enumeración Match :
Por ejemplo, el patrón "A" & MultipleDigits buscará la coincidencia con la letra "A" seguido de uno o varios dígitos.
Expresiones regulares
El patrón que usan estas funciones es una expresión regular. Los caracteres ordinarios y los patrones predefinidos que se describen
anteriormente en este tema ayudan a crear expresiones regulares.
Las expresiones regulares son muy eficaces, están disponibles en muchos lenguajes de programación y se usan para multitud de
propósitos. También pueden parecerse a menudo como una secuencia aleatoria de signos de puntuación. En este artículo no se
describen todos los aspectos de las expresiones regulares, pero hay una gran cantidad de información, tutoriales y herramientas
disponibles en la Web.
Las expresiones regulares se encuentran en distintos dialectos y PowerApps usa una variante del dialecto de JavaScript. Consulte
Sintaxis de expresiones regulares para obtener una introducción a la sintaxis. Se admiten las subcoincidencias con nombre (que a veces
se denominan grupos de captura con nombre):
Subcoincidencias con nombre: (?<nombre>...)
Referencias inversas con nombre: \k<nombre>
En la tabla de enumeración coincidir anteriormente en este tema, cada enumeración aparece en la misma fila que la expresión regular
correspondiente.
Opciones de coincidencia
Para modificar el comportamiento de estas funciones, puede especificar una o varias opciones, que se pueden combinar mediante el
operador de concatenación de cadenas ( & ).
BeginsWith El patrón debe coincidir desde el principio del Agrega un ^ al principio de la expresión regular.
texto.
Complete Valor predeterminado para IsMatch. El patrón Agrega un ^ al inicio y una $ al final de la
debe coincidir con toda la cadena de texto, de expresión regular.
principio a fin.
EndsWith El patrón debe coincidir con el final de la cadena Agrega $ al final de la expresión regular.
de texto.
IgnoreCase Trata las letras mayúsculas y minúsculas como No modifica la expresión regular. Esta opción es
idénticas. De forma predeterminada, la equivalente al modificador "i" estándar de las
búsqueda de coincidencia distingue mayúsculas expresiones regulares.
y minúsculas.
Multiline Busca la coincidencia entre varias líneas. No modifica la expresión regular. Esta opción es
equivalente al modificador estándar "m" de las
expresiones regulares.
El uso de MatchAll es equivalente a usar el modificador estándar "g" para las expresiones regulares.
Sintaxis
IsMatch( Text; Pattern [; Options ] )
Text: requerido. La cadena de texto que se va a probar.
Pattern: requerido. Patrón que se va a probar como una cadena de texto. Concatene los patrones predefinidos que define la
enumeración Match o proporcione una expresión regular. Pattern debe ser una fórmula constante sin variables, orígenes de datos u
otras referencias dinámicas que cambian a medida que se ejecuta la aplicación.
Options: valor opcional. Una combinación de cadena de texto de valores de enumeración MatchOptions . De forma predeterminada,
se usa MatchOptions.Complete.
Match( texto; patrón [; Opciones ])
Text: requerido. Cadena de texto que debe coincidir.
Pattern: requerido. Patrón que debe coincidir como una cadena de texto. Concatene los patrones predefinidos que define la
enumeración Match o proporcione una expresión regular. Pattern debe ser una fórmula constante sin variables, orígenes de datos u
otras referencias dinámicas que cambian a medida que se ejecuta la aplicación.
Options: valor opcional. Una combinación de cadena de texto de valores de enumeración MatchOptions . De forma predeterminada,
se usa MatchOptions. Contains .
MatchAll( texto; patrón [; Opciones ])
Text: requerido. Cadena de texto que debe coincidir.
Pattern: requerido. Patrón que debe coincidir como una cadena de texto. Concatene los patrones predefinidos que define la
enumeración Match o proporcione una expresión regular. Pattern debe ser una fórmula constante sin variables, orígenes de datos u
otras referencias dinámicas que cambian a medida que se ejecuta la aplicación.
Options: valor opcional. Una combinación de cadena de texto de valores de enumeración MatchOptions . De forma predeterminada,
se usa MatchOptions. Contains .
Ejemplos de IsMatch
Caracteres normales
Imagine que la aplicación contiene un control Entrada de texto denominado TextInput1. El usuario escribe valores en este control
para almacenarlos en una base de datos.
El usuario escribe Hello world en TextInput1.
IsMatch( TextInput1.Text; "Hello world" Comprueba si la entrada del usuario coincide true
) exactamente con la cadena "Hello World".
IsMatch( TextInput1.Text; "Good bye" ) Comprueba si la entrada del usuario coincide false
exactamente con la cadena "Good Bye".
Patrones predefinidos
FÓRMULA DESCRIPCIÓN RESULTADO
IsMatch( "123-45-7890"; Digit & Digit & Busca la coincidencia con un número de la true
Digit & Hyphen & Digit & Digit & Hyphen Seguridad Social de Estados Unidos.
& Digit & Digit & Digit & Digit )
IsMatch( "123.456"; MultipleDigits & Busca la coincidencia con una secuencia de true
Period & OptionalDigits ) dígitos, un punto y luego cero o más dígitos.
IsMatch( "123"; MultipleDigits & Period Busca la coincidencia con una secuencia de false
& OptionalDigits ) dígitos, un punto y luego cero o más dígitos. No
aparece un punto en el texto para que coincida,
por lo que no coincide con este patrón.
Expresiones regulares
FÓRMULA DESCRIPCIÓN RESULTADO
IsMatch( "986"; "\d+" ) Coincide con un entero mayor que cero. true
IsMatch( "111-111-111"; "\d{3}-\d{2}- Lo mismo que el ejemplo anterior, pero uno de false
\d{4}" ) los guiones está fuera de lugar en la entrada.
IsMatch( "AStrongPasswordNot"; "(?!^[0- Valida una contraseña segura, que debe false
9]\*$)(?!^[a-zA-Z]\*$)([a-zA-Z0-9] contener ocho, nueve o 10 caracteres, además
{8,10})" )
de al menos un dígito y al menos un carácter
alfabético. La cadena no debe contener
caracteres especiales.
IsMatch( "<https://microsoft.com>"; " Valida una dirección URL http, https o ftp. true
(ht|f)tp(s?)\:\/\/\[0-9a-zA-Z\]([-
.\w]\*[0-9a-zA-Z])\*(:(0-9)\*)\*(\/?)
([a-zA-Z0-9\-\.\?\,\'\/\\\+&%\$#_]\*)?"
)
Match( "PT2H1M39S"; "PT(?:<hours>\d+)H)? Extrae las horas, los minutos y los segundos de {
(?:(?<minutes>\d+)M)?(?:(? un valor de duración ISO 8601. Los números horas: "2",
<seconds>\d+)S)?" )
extraídos siguen en una cadena de texto; Utilice minutos: "1",
la función Value para convertirlo en un número segundos: "39",
antes de que se realicen operaciones FullMatch: "PT2H1M39S",
matemáticas en él. Subcoincidencias: [ "2", "1", "39" ],
StartMatch: 1
}
Vamos a profundizar en el último ejemplo. Si desea convertir esta cadena en un valor de fecha y hora mediante la función Time , debe
pasar individualmente las coincidencias con nombre. Para ello, puede usar la función with que funciona en el registro que coincide con
las devoluciones:
With(
Match( "PT2H1M39S"; "PT(?:(?<hours>\d+)H)?(?:(?<minutes>\d+)M)?(?:(?<seconds>\d+)S)?" );
Time( Value( hours ); Value( minutes ); Value( seconds ) )
)
En estos ejemplos, agregue un control botón , establezca su propiedad alseleccionar en esta fórmula y, a continuación, seleccione el
botón:
Set( pangram; "The quick brown fox jumps over the lazy dog." )
FÓRMULA DESCRIPCIÓN RESULTADO
MatchAll( pangram; "\b\wo\w\b" ) Busca todas las palabras de tres letras con una
"o" en el centro. Tenga en cuenta que "Brown"
se excluye porque no es una palabra de tres
letras y, por lo tanto, no coincide con "\b" (límite
de palabras).
Match( pangram; "\b\wo\w\b\s\*(? Coincide con todos los caracteres entre "Fox" y {
<between>\w.+\w)\s\*\b\wo\w\b" ) "Dog". entre: "salta sobre el Lazy",
FullMatch: "Fox salta sobre el perro diferido ",
Subcoincidencias: ["salta sobre el Lazy"],
StartMatch: 17
}
Descripción
La función IsNumeric comprueba si un valor es numérico. Otros tipos de valores son booleanos, cadena, tabla y
registro.
El valor devuelto es un valor booleano true o false.
Sintaxis
IsNumeric( Value )
Value: requerido. Valor que se va a probar.
Funciones Now, Today e IsToday en PowerApps
08/10/2019 • 7 minutes to read
Devuelve la fecha y hora actuales y comprueba si un valor de fecha y hora es el día de hoy.
Descripción
La función Now devuelve la fecha y hora actuales como un valor de fecha y hora.
La función Today devuelve la fecha actual como un valor de fecha y hora. La parte de la hora es la medianoche.
Today tiene el mismo valor a lo largo del día, desde hoy a medianoche hasta mañana a medianoche.
La función IsToday comprueba si un valor de fecha y hora está comprendido entre hoy a medianoche y mañana a
medianoche. Con esta función, se devuelve un valor booleano true o false.
Todas estas funciones funcionan con la hora local del usuario actual.
Consulte cómo trabajar con fechas y horas para más información.
Funciones volátiles
Now y Today son funciones volátiles. Cada vez que se evalúa una de estas funciones, se devuelve un valor
diferente.
Cuando se usa en una fórmula de flujo de datos, una función volátil solo devuelve un valor diferente si se vuelve a
evaluar la fórmula en la que aparece. Si no hay ningún otro cambio en la fórmula, presenta el mismo valor durante
la ejecución de la aplicación.
Por ejemplo, un control de etiqueta con Label1.Text = Now() no cambiará mientras la aplicación esté activa. Solo
se generará un nuevo valor si se cierra y se vuelve a abrir la aplicación.
Si la función forma parte de una fórmula en la que haya cambiado algún elemento más, se volverá a evaluar. Por
ejemplo, si modificamos el ejemplo para incluir un control deslizante con Label1.Text = DateAdd( Now();
Slider1.Value; Minutes ) , se recuperará la hora actual cada vez que cambie el valor del control deslizante.
Asimismo, se volverá a evaluar la propiedad de texto de la etiqueta.
Cuando se usa en una fórmula de comportamiento, las funciones volátiles se evalúan cada vez que se evalúa la
fórmula de comportamiento. Encontrará un ejemplo a continuación.
Sintaxis
Now()
Today()
IsToday( DateTime )
DateTime: requerido. El valor de fecha y hora para comprobar.
Ejemplos
En los ejemplos de esta sección, la hora actual es 3:59 AM el 12 de febrero de 2015 y el idioma es en-us.
FÓRMULA DESCRIPCIÓN RESULTADO
Text( Now(); "mm/dd/yyyy Recupera la fecha y hora actuales y las "02/12/2015 03:59:00"
hh:mm:ss" ) muestra como una cadena.
Text( Today(); "mm/dd/yyyy Recupera solo la fecha actual, dejando la "02/12/2015 00:00:00"
hh:mm:ss" ) parte de hora como medianoche, y la
muestra como una cadena.
Text( DateAdd( Today(); 12 ); Recupera la fecha actual, agrega 12 días "02/24/2015 00:00:00"
"mm/dd/yyyy hh:mm:ss" ) al resultado y lo muestra como una
cadena.
4. Pulse F5 para obtener una versión preliminar de la aplicación y, a continuación, inicie el temporizador. Para
ello, haga clic en él o púlselo.
La etiqueta muestra la hora local de forma continua, segundo a segundo.
Comprueba una referencia de registro para un tipo de entidad específico (IsType) y trata la referencia como un
tipo específico (astype).
Descripción
Lea comprender las referencias de registros y las búsquedas polimórficas para obtener una introducción más
amplia y más detalles.
Normalmente, un campo de búsqueda hace referencia a los registros de una entidad determinada. Dado que el
tipo de entidad está bien establecido, puede tener acceso a los campos de la búsqueda mediante una notación de
puntos simple. Por ejemplo, primero (cuentas). Contacto principal '. ' Nombre completo ' se dirige de la
entidad accounts al registro de contacto principal de la entidad Contacts y extrae el campo de nombre
completo .
Common Data Service también admite campos de búsqueda polimórficos, que pueden hacer referencia a los
registros de un conjunto de entidades, como en estos ejemplos.
En las fórmulas de canvas-App, puede usar referencias de registros para trabajar con búsquedas polimórficas.
Dado que una referencia de registro puede hacer referencia a distintas entidades, no sabe qué campos estarán
disponibles cuando escriba una fórmula. El . La notación de campo no está disponible. Dichas fórmulas se deben
adaptar a los registros que encuentra la aplicación cuando se ejecuta.
La función IsType comprueba si una referencia de registro hace referencia a un tipo de entidad concreto. La
función devuelve un valor booleano TRUE o FALSE.
La función astype trata una referencia de registro como un tipo de entidad concreto, que a veces se conoce
como conversión. Puede usar el resultado como si fuera un registro de la entidad y, de nuevo, usar . Notación de
campo para tener acceso a todos los campos de ese registro. Se produce un error si la referencia no es del tipo
específico.
Use estas funciones juntas para probar primero el tipo de entidad de un registro y, a continuación, tratarlo como
un registro de ese tipo para que los campos estén disponibles:
Solo necesita estas funciones si tiene acceso a los campos de una referencia de registro. Por ejemplo, puede usar
referencias de registros en la función de filtro sin IsType o astype:
Filter( Accounts; Owner = First( Users ) )
Del mismo modo, puede usar referencias de registros con la función patch :
Si se usa en un contexto de registro, como en un control de Galería o de edición de formulario , puede que
tenga que usar el operador de desambiguación global para hacer referencia al tipo de entidad. Por ejemplo, esta
fórmula sería efectiva en una galería que muestre una lista de contactos en la que el nombre de la compañía es
una búsqueda de clientes :
En ambas funciones, se especifica el tipo mediante el nombre del origen de datos que está conectado a la
entidad. Para que la fórmula funcione, también debe agregar un origen de datos a la aplicación para cualquier
tipo que desee probar o convertir. Por ejemplo, debe agregar la entidad users como origen de datos si desea
usar IsType y astype con una búsqueda de propietario y registros de esa entidad. Solo puede Agregar los
orígenes de datos que usa realmente en la aplicación; no es necesario agregar todas las entidades a las que
podría hacer referencia una búsqueda.
Si la referencia del registro está en blanco, IsType devuelve false y astype devuelve Blank. Todos los campos de
un registro en blanco estarán en blanco.
Sintaxis
Astype( RecordReference; EntityType )
RecordReference : requerido. Una referencia de registro, a menudo un campo de búsqueda que puede hacer
referencia a un registro en cualquiera de las varias entidades.
EntityType : requerido. Entidad específica que se va a probar.
IsType( RecordReference; EntityType )
RecordReference : requerido. Una referencia de registro, a menudo un campo de búsqueda que puede hacer
referencia a un registro en cualquiera de las varias entidades.
EntityType : requerido. La entidad específica a la que se debe convertir el registro.
Ejemplo
Comprender las referencias de registros y las búsquedas polimórficas contiene extensos ejemplos.
1. Cree una aplicación de lienzo en blanco para tabletas.
2. En la pestaña Ver , seleccione orígenes de datosy, a continuación, agregue las entidades contactos y
cuentas como orígenes de datos.
3. Inserte un control Galería con una orientación vertical en blanco .
4. En la pestaña propiedades situada cerca del lado derecho de la pantalla, establezca la propiedad
elementos de la galería en contactos.
Genera una cadena de texto JSON para una tabla, un registro o un valor.
Descripción
La función JSON devuelve la representación notación de objetos JavaScript (JSON ) de una estructura de datos
como texto para que sea adecuada para el almacenamiento o la transmisión a través de una red. ECMA-404 y
IETF RFC 8259 describen el formato, que es ampliamente utilizado por JavaScript y otros lenguajes de
programación.
Las aplicaciones de lienzo admiten los tipos de datos que esta tabla muestra con detalles sobre su representación
de texto:
Record Lista delimitada por comas, entre { y } , { "First Name": "Fred"; "Age": 21
de los campos y sus valores. Esta }
notación es similar a la de los registros
de las aplicaciones de lienzo, pero el
nombre siempre está entre comillas
dobles. Este formato no admite
registros basados en relaciones de
varios a uno.
Cuadro Lista delimitada por comas, entre [ y ] , [ { "First Name": "Fred"; "Age":
de registros. Este formato no admite 21 }; { "First Name": "Jean";
"Age": 20 } ]
tablas basadas en relaciones uno a
varios.
Especifique el argumento de formato opcional para controlar la legibilidad del resultado y el modo en que se
administran los tipos de datos binarios y no compatibles. De forma predeterminada, la salida es lo más compacta
posible sin espacios ni líneas nuevas innecesarias, y no se permiten tipos de datos no admitidos ni datos binarios.
Puede combinar varios formatos si especifica el operador & .
ENUMERACIÓN JSONFORMAT DESCRIPCIÓN
Use las funciones Mostrarcolumnas y DropColumns para controlar los datos que incluye el resultado y para
quitar los tipos de datos no admitidos.
Dado que JSON puede ser de memoria y de proceso intensivo, solo puede usar esta función en funciones de
comportamiento. Puede capturar el resultado de JSON en una variable, que puede usar en el flujo de datos.
Si una columna tiene un nombre para mostrar y un nombre lógico, el resultado contiene el nombre lógico. Los
nombres para mostrar reflejan el idioma del usuario de la aplicación y, por lo tanto, son inadecuados para la
transferencia de datos a un servicio común.
Sintaxis
JSON ( Structure [; Format ])
Structure : requerido. La estructura de datos que se va a convertir en JSON. Se admiten tablas, registros y
valores primitivos, anidados arbitrariamente.
Format : opcional. Valor de enumeración JSONFormat . El valor predeterminado es Compact, que no agrega
líneas nuevas ni espacios y bloquea los datos binarios y las columnas no admitidas.
Ejemplos
Datos jerárquicos
1. Inserte un control de botón y establezca su propiedad alseleccionar en esta fórmula.
ClearCollect( CityPopulations;
{ City: "London"; Country: "United Kingdom"; Population: 8615000 };
{ City: "Berlin"; Country: "Germany"; Population: 3562000 };
{ City: "Madrid"; Country: "Spain"; Population: 3165000 };
{ City: "Hamburg"; Country: "Germany"; Population: 1760000 };
{ City: "Barcelona"; Country: "Spain"; Population: 1602000 };
{ City: "Munich"; Country: "Germany"; Population: 1494000 }
);;
ClearCollect( CitiesByCountry; GroupBy( CityPopulations; "Country"; "Cities" ) )
También puede mostrar esta colección seleccionando archivo > configuración de la aplicación >
Configuración avanzada > la vista de resultado de la barra de fórmulas, seleccionando el nombre de la
colección en la barra de fórmulas y, a continuación, seleccionando la flecha hacia abajo situada junto al
nombre de la colección en la barra de fórmulas.
CitiesByCountryJSON
La etiqueta muestra este resultado, todo en una sola línea sin espacios, adecuada para la transmisión a
través de una red:
[{"Cities":[{"City":"London","Population":8615000}],"Country":"United Kingdom"},{"Cities":
[{"City":"Berlin","Population":3562000},{"City":"Hamburg","Population":1760000},
{"City":"Munich","Population":1494000}],"Country":"Germany"},{"Cities":
[{"City":"Madrid","Population":3165000},{"City":"Barcelona","Population":1602000}],"Country":"Spain"}]
6. Cambie la fórmula del segundo botón para que la salida sea más legible.
[
{
"Cities": [
{
"City": "London",
"Population": 8615000
}
],
"Country": "United Kingdom"
},
{
"Cities": [
{
"City": "Berlin",
"Population": 3562000
},
{
"City": "Hamburg",
"Population": 1760000
},
{
"City": "Munich",
"Population": 1494000
}
],
"Country": "Germany"
},
{
"Cities": [
{
"City": "Madrid",
"Population": 3165000
},
{
"City": "Barcelona",
"Population": 1602000
}
],
"Country": "Spain"
}
]
ImageJSON
5. Cambie el tamaño del control y reduzca el tamaño de fuente según sea necesario para mostrar la mayor
parte del resultado.
La etiqueta muestra la cadena de texto que la función JSON capturó.
"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVyc2lvbj0iMS4x
Ig0KCSB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3h
saW5rIiB4bWxuczphPSJodHRwOi8vbnMuYWRvYmUuY29tL0Fkb2JlU1ZHVmlld2VyRXh0ZW5zaW9ucy8zLjAvIg0KCSB4PSIwcHgiIH
k9IjBweCIgd2lkdGg9IjI3MHB4IiBoZWlnaHQ9IjI3MHB4IiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyNzAgMjcwIiB4bWw6c
3BhY2U9InByZXNlcnZlIj4NCgk8ZyBjbGFzcz0ic3QwIj4NCgkJPHJlY3QgeT0iMC43IiBmaWxsPSIjRTlFOUU5IiB3aWR0aD0iMjY5
IiBoZWlnaHQ9IjI2OS4zIi8+DQoJCTxwb2x5Z29uIGZpbGw9IiNDQkNCQ0EiIHBvaW50cz0iMjc3LjksMTg3LjEgMjQ1LDE0My40IDE
4OC42LDIwMi44IDc1LDgwLjUgLTQuMSwxNjUuMyAtNC4xLDI3MiAyNzcuOSwyNzIiLz4NCgkJPGVsbGlwc2UgZmlsbD0iI0NCQ0JDQS
IgY3g9IjIwMi40IiBjeT0iODQuMSIgcng9IjI0LjQiIHJ5PSIyNC4zIi8+DQoJPC9nPg0KPC9zdmc+"
Función Language en PowerApps
08/10/2019 • 8 minutes to read
Descripción
La función Language devuelve el idioma, el alfabeto y la región del usuario actual como una etiqueta de
idioma.
Use la información de idioma para adaptar la aplicación a las configuraciones regionales. Por ejemplo, si va a
crear una aplicación que se usará en Italia y Francia, puede usar Language para mostrar automáticamente
cadenas en italiano y francés a los usuarios que se encuentren estas ubicaciones diferentes.
Etiquetas Language
Las etiquetas de idioma pueden presentar uno de estos tres formatos:
Sintaxis
Language()
Ejemplos
Configuración regional del usuario
Se supone que el sistema operativo host o el explorador usan la configuración regional predeterminada
para la ubicación.
FÓRMULA LOCATION VALOR DEVUELTO
Tabla de localización
Un enfoque sencillo para la localización consiste en crear una hoja de cálculo de Excel en la que se asigne un
TextID definido por el autor a un texto traducido para el idioma del usuario. Aunque podría utilizar una
colección o cualquier otro origen de datos para esta tabla, hemos elegido Excel porque a los traductores les
resulta fácil de editar y administrar fuera de la aplicación.
1. Cree la siguiente tabla en Excel:
La entrada con blank para la columna Language se usará como el valor predeterminado si no hay
ninguna cadena de texto específica para un idioma determinado. Esta entrada debe aparecer después
de todas las demás entradas para un determinado TextID.
Para nuestros propósitos, solo necesitamos consultar el idioma de la configuración regional, no la
región. Si consideraciones regionales fueran importantes, podríamos haber incluido el valor completo
de la etiqueta de idioma en la tabla anterior.
2. Use la cinta de opciones Insertar y el comando Tabla para convertirla en una tabla de Excel
apropiada. De forma predeterminada, se denominará Table1, pero puede asignarle el nombre quiera
con la cinta de opciones Herramientas de tabla/Diseño y el cuadro de texto Nombre de la tabla
del extremo izquierdo.
3. Guarde el archivo de Excel en el sistema de archivos local.
4. En PowerApps, en el panel derecho, pulse o haga clic en la pestaña Orígenes de datos y, después,
pulse o haga clic en Agregar origen de datos.
5. Pulse o haga clic en Agregar datos estáticos a la aplicación, pulse o haga clic en el archivo de
Excel que ha guardado y, luego, en Abrir.
6. Seleccione la tabla que ha creado y, después, pulse o haga clic en Conectar.
En la aplicación, en los casos en los que antes habría usado el texto "Hello" , use la siguiente fórmula en su
lugar:
LookUp( Table1; TextID = "Hello" && (LanguageTag = Left( Language(); 2 ) || IsBlank(
LanguageTag ))).LocalizedText
Esta fórmula buscará el valor adecuado de LocalizedText para el idioma del usuario y, si no lo encuentra,
recurrirá a la versión predeterminada blank.
Tenga en cuenta que las cadenas traducidas a otros idiomas podrían ocupar más espacio que las que están
en su idioma. En muchos casos, las etiquetas y otros elementos que muestran las cadenas en la interfaz de
usuario necesitarán ser más anchos para dar cabida a esas cadenas.
Servicio de traducción
Puede traducir texto a petición con un servicio de traducción, como el servicio Microsoft Translator:
1. En PowerApps, en el panel derecho, pulse o haga clic en la pestaña Orígenes de datos y, después, pulse
o haga clic en Agregar origen de datos.
2. Pulse o haga clic en Microsoft Translator.
En la aplicación, en los casos en los que antes habría usado el texto "Hello" , use la siguiente fórmula en su
lugar:
MicrosoftTranslator.Translate( "Hello"; Language() )
El servicio Microsoft Translator usa las mismas etiquetas de idioma que devuelve la función Language.
Este enfoque tiene algunas desventajas en comparación con el ejemplo anterior, en el que se usaba una
tabla de cadenas de texto traducida previamente:
La traducción tardará en completarse, ya que requiere llamar a un servicio a través de la red. Esto implica
que transcurrirá un tiempo hasta que pueda ver el texto traducido en la aplicación.
La traducción será mecánica y es posible que los resultados no sean los esperados ni la mejor opción
para el contexto de su aplicación.
Funciones First, FirstN, Last y LastN en PowerApps
08/10/2019 • 2 minutes to read
Descripción
La función First devuelve el primer registro de una tabla.
La función FirstN devuelve el primer conjunto de registros de una tabla; el segundo argumento especifica el
número de registros que se van a devolver.
La función Last devuelve el último registro de una tabla.
La función LastN devuelve el último conjunto de registros de una tabla; el segundo argumento especifica el
número de registros que se van a devolver.
First y Last devuelven un único registro. FirstN y LastN devuelven una tabla, incluso si se especifica solo un único
registro.
Cuando se usan con un origen de datos, estas funciones no se pueden delegar. Solo se recuperará la primera parte
del origen de datos, y después se aplicará la función. Es posible que el resultado no represente la historia completa.
Aparecerá una advertencia en el momento de la creación para recordarle esta limitación y para sugerirle un cambio
a alternativas delegables siempre que sea posible. Para obtener más información, consulte la información general
sobre delegación
Sintaxis
First( Table )
Last( Table )
Table: requerido. La tabla sobre la cual se opera.
FirstN ( Table [; NumberOfRecords ] )
LastN ( Table [; NumberOfRecords ] )
Table: requerido. La tabla sobre la cual se opera.
NumberOfRecords: opcional. Número de registros que se va a devolver. Si no especifica este argumento, la
función devolverá un registro.
Ejemplos
Esta fórmula devuelve el primer registro de una tabla denominada Empleados:
First(Employees)
Esta fórmula devuelve los últimos 15 registros de una tabla denominada Empleados:
LastN (Employees; 15)
Funciones First, FirstN, Last y LastN en
PowerApps
08/10/2019 • 2 minutes to read
Descripción
La función First devuelve el primer registro de una tabla.
La función FirstN devuelve el primer conjunto de registros de una tabla; el segundo argumento
especifica el número de registros que se van a devolver.
La función Last devuelve el último registro de una tabla.
La función LastN devuelve el último conjunto de registros de una tabla; el segundo argumento
especifica el número de registros que se van a devolver.
First y Last devuelven un único registro. FirstN y LastN devuelven una tabla, incluso si se especifica
solo un único registro.
Cuando se usan con un origen de datos, estas funciones no se pueden delegar. Solo se recuperará la
primera parte del origen de datos, y después se aplicará la función. Es posible que el resultado no
represente la historia completa. Aparecerá una advertencia en el momento de la creación para
recordarle esta limitación y para sugerirle un cambio a alternativas delegables siempre que sea
posible. Para obtener más información, consulte la información general sobre delegación
Sintaxis
First( Table )
Last( Table )
Table: requerido. La tabla sobre la cual se opera.
FirstN ( Table [; NumberOfRecords ] )
LastN ( Table [; NumberOfRecords ] )
Table: requerido. La tabla sobre la cual se opera.
NumberOfRecords: opcional. Número de registros que se va a devolver. Si no especifica este
argumento, la función devolverá un registro.
Ejemplos
Esta fórmula devuelve el primer registro de una tabla denominada Empleados:
First(Employees)
Esta fórmula devuelve los últimos 15 registros de una tabla denominada Empleados:
LastN (Employees; 15)
Funciones de descarga, Inicio y parámetro en
aplicaciones de Canvas
05/11/2019 • 2 minutes to read
Descripción
La función Download descarga un archivo de la Web al dispositivo local. Se pide al usuario una ubicación para
guardar el archivo. Download devuelve la ubicación donde el archivo se almacenó localmente como una cadena.
La función Launch inicia un página web o una aplicación. Opcionalmente, esta función puede pasar parámetros a la
aplicación.
En Internet Explorer y Microsoft Edge, la función Launch abre un sitio web o una aplicación solo si su
configuración de seguridad es igual o superior a la de la aplicación que contiene la función. Si, por ejemplo, agrega
la función de Inicio a una aplicación que se ejecutará en la zona de seguridad sitios de confianza , asegúrese de
que el sitio web o la aplicación que desea que la función abra se encuentra en la zona de sitios de confianza o
Intranet local (no en Sitios restringidos). Más información: cambiar la configuración de seguridad y privacidad
para Internet Explorer 11.
La función Param recupera un parámetro pasado a la aplicación cuando se inició. Si no se pasó el parámetro con
nombre, Param devuelve blank.
Sintaxis
Download( Address )
Address: requerido. La dirección de un recurso web para descargar.
Launch( Address [; ParameterName1; ParameterValue1; ... ] )
Address: requerido. La dirección de una página web o el identificador de una aplicación que se va a iniciar.
ParameterName(s) : valor opcional. Nombre del parámetro.
ParameterValue(s) : valor opcional. Valores de parámetro correspondientes para pasar a la aplicación o la página
web.
Param ( ParameterName )
ParameterName: requerido. El nombre del parámetro pasado a la aplicación.
Funciones Left, Mid y Right en PowerApps
08/10/2019 • 5 minutes to read
Descripción
Las funciones Left, Mid y Right devuelven una parte de una cadena.
Left: devuelve los caracteres del principio de una cadena.
Mid: devuelve los caracteres centrales de una cadena.
Right: devuelve los caracteres del final de una cadena.
Si especifica una cadena como argumento, la función devuelve la parte que ha solicitado de la cadena. Si especifica
una tabla de una columna que contiene cadenas, la función devuelve una tabla de una columna de las partes que
solicitó de esas cadenas. Si especifica una tabla con varias columnas, puede convertirla en una tabla de una
columna, como se describe en la sección sobre cómo trabajar con tablas.
Si la posición inicial es negativa o sobrepasa el final de la cadena, Mid devuelve blank. Puede comprobar la longitud
de una cadena mediante la función Len . Si se solicitan más caracteres de los que contiene la cadena, la función
devuelve tantos caracteres como sea posible.
Sintaxis
Left( String; NumberOfCharacters )
Mid( String; StartingPosition; NumberOfCharacters )
Right( String; NumberOfCharacters )
String: requerido. La cadena hasta la cual se extrae el resultado o desde la que se extrae el resultado.
StartingPosition: requerido (solo Mid). La posición inicial. El primer carácter de la cadena ocupa la posición 1.
NumberOfCharacters : requerido (soloizquierda y derecha ). El número de caracteres que se va a devolver. Si se
omite para la función Mid , la función devuelve la parte desde la posición inicial hasta el final de la cadena.
Left( SingleColumnTable; NumberOfCharacters )
Mid( SingleColumnTable; StartingPosition; NumberOfCharacters )
Right( SingleColumnTable; NumberOfCharacters )
SingleColumnTable: requerido. Una tabla de una columna de cadenas de la cual se extraen los resultados.
StartingPosition: requerido (solo Mid). La posición inicial. El primer carácter de la cadena ocupa la posición 1.
NumberOfCharacters : requerido (soloizquierda y derecha ). El número de caracteres que se va a devolver. Si se
omite para la función Mid , la función devuelve la parte desde la posición inicial hasta el final de la cadena.
Ejemplos
Cadena única
En los ejemplos de esta sección se usa un control de entrada de texto como origen de datos. El control se denomina
Author y contiene la cadena "E". E. Cummings".
FÓRMULA DESCRIPCIÓN RESULTADO
Descripción
Si especifica una cadena única como argumento, el valor devuelto es la longitud como un número. Si
especifica una tabla de una columna que contiene cadenas, el valor devuelto es una tabla de una columna que
contiene la longitud de cada cadena. Si tiene una tabla con varias columnas, puede convertirla en una tabla de
una sola columna, como se describe en cómo trabajar con tablas.
Si especifica una cadena en blanco , Len devuelve 0.
Sintaxis
Len( String )
String: requerido. La cadena que se va a medir.
Len( SingleColumnTable )
SingleColumnTable: requerido. Una tabla de una columna de cadenas para medir.
Ejemplos
Cadena única
En los ejemplos de esta sección, el origen de datos es un control de entrada de texto que se denomina Autor y
que contiene la cadena "E". E. Cummings".
Calcula valores absolutos, logaritmos naturales, raíces cuadradas y los resultados de elevar e o cualquier número a
una potencia especificada.
Descripción
La función Abs muestra el valor no negativo de su argumento. Si el número es negativo, Abs muestra el
equivalente positivo.
La función Exp muestra e elevado a la potencia de su argumento. El número trascendente e comienza con
2,7182818...
La función Ln muestra el argumento natural (e base) de su argumento.
La función Power muestra un número elevado a una potencia. Es equivalente a usar el operador ^ .
La función Sqrt muestra el número que, cuando se multiplica por sí mismo, es igual a su argumento.
Si pasa un solo número, el valor que se muestra es un resultado único basado en la función llamada. Si pasa una
tabla de una sola columna que contiene números, el valor que se muestra es una tabla de resultados de una sola
columna, un resultado para cada registro en la tabla del argumento. Si tiene una tabla con varias columnas, puede
convertirla en una tabla de una sola columna, como se describe en cómo trabajar con tablas.
Si algún argumento pudiera mostrar un valor no definido, el resultado queda en blanco. Por ejemplo, esto puede
pasar con las raíces cuadradas y los logaritmos de números negativos.
Sintaxis
Abs( Number )
Exp( Number )
Ln( Number )
Sqrt( Number )
Number: requerido. El número sobre el cual operar.
Power( Base; Exponente )
Base: requerido. Número base que se va a elevar.
Exponent: requerido. El exponente al que se eleva el número base.
Abs( SingleColumnTable )
Exp( SingleColumnTable )
Ln( SingleColumnTable )
Sqrt( SingleColumnTable )
SingleColumnTable: requerido. Una tabla de números de una sola columna sobre la cual operar.
Ejemplos
Número único
FÓRMULA DESCRIPCIÓN RESULTADO
Descripción
La función SaveData almacena una colección para su uso posterior con un nombre.
La función LoadData vuelve a cargar una colección por el nombre guardado anteriormente con SaveData. No se
puede utilizar esta función para cargar una colección de otro origen.
Use estas funciones para mejorar el rendimiento de inicio de la aplicación almacenando en caché los datos de la
fórmula app. OnStart en una primera ejecución y volviendo a cargar la memoria caché local en ejecuciones
posteriores. También puede usar estas funciones para agregar funcionalidades sin conexión sencillas a la aplicación.
No puede usar estas funciones dentro de un explorador, ya sea al crear la aplicación en PowerApps Studio o al
ejecutar la aplicación en el reproductor Web. Para probar la aplicación, ejecútela en PowerApps Mobile en un
dispositivo iPhone o Android.
Estas funciones están limitadas por la cantidad de memoria de la aplicación disponible, ya que operan en una
colección en memoria. La memoria disponible puede variar según el dispositivo y el sistema operativo, la memoria
que usa el reproductor de PowerApps y la complejidad de la aplicación en términos de pantallas y controles. Si
almacena más de unos megabytes de datos, pruebe la aplicación con los escenarios esperados en los dispositivos
en los que espera que la aplicación se ejecute. Por lo general, debe esperar entre 30 y 70 megabytes de memoria
disponible.
LoadData no crea la colección; la función solo rellena una colección existente. Primero tiene que crear la colección
con las columnas correctas utilizando Recopilar . Los datos cargados se anexarán a la colección; Utilice primero la
función Clear si desea empezar con una colección vacía.
El almacenamiento está cifrado y se encuentra en una ubicación privada en el dispositivo local, aislado de otros
usuarios y otras aplicaciones.
Sintaxis
SaveData( Colección; Nombre )
LoadData( Collection; Name [; IgnoreNonexistentFile ])
Colección: requerido. Colección para almacenar o cargar.
Nombre: requerido. Nombre del almacenamiento. Tiene que usar el mismo nombre para guardar y cargar el
mismo conjunto de datos. El espacio de nombres no se comparte con otros usuarios o aplicaciones.
IgnoreNonexistentFile: opcional. Valor booleano (true/false) que indica si la función LoadData debe mostrar o
ignorar los errores cuando no encuentre un archivo coincidente. Si especifica false, se mostrarán los errores. Si
especifica true, se omitirán los errores, lo que resulta útil para escenarios sin conexión. SaveData puede crear
un archivo si el dispositivo está desconectado (es decir, si el estado Connection.Connected es false).
Ejemplos
FÓRMULA DESCRIPCIÓN RESULTADO
SaveData(LocalTweets; "Tweets") Guarde la colección LocalTweets como Los datos se guardan localmente para
una caché de archivos local en el que LoadData puede cargarlos en una
dispositivo. colección.
Señales Acceleration, App, Compass,
Connection y Location en PowerApps
07/10/2019 • 9 minutes to read
Descripción y sintaxis
Las señales son valores que pueden cambiar en cualquier momento, independientemente de cómo el
usuario pueda interactuar con la aplicación. Las fórmulas que se basan en señales se recalculan
automáticamente a medida que estos valores cambian.
Normalmente, las señales devuelven un registro de información. Puede usar y almacenar esta
información como un registro, o puede extraer propiedades individuales mediante el operador .
NOTE
Las funciones Acceleration y Compass devuelven valores precisos en un reproductor nativo, como en iOS o
Android, pero esas funciones devuelven valores cero a medida que crea o modifica una aplicación en el explorador.
Acceleration
La señal Acceleration devuelve la aceleración del dispositivo en tres dimensiones en relación con la
pantalla del dispositivo. La aceleración se mide en unidades g de 9,81 m/s2 o 32,2 ft/s2 (la aceleración
que imparte la Tierra en los objetos en su superficie debida a la gravedad).
PROPIEDAD DESCRIPCIÓN
App
Entre otras propiedades, el objeto de aplicación incluye una señal que indica la pantalla que se muestra.
PROPIEDAD DESCRIPCIÓN
PROPIEDAD DESCRIPCIÓN
Conexión
La señal Connection devuelve información acerca de la conexión de red. Cuando está en una conexión
medida, puede que desee limitar la cantidad de datos que envíe o reciba a través de la red.
PROPIEDAD DESCRIPCIÓN
Location
La señal Location devuelve la ubicación del dispositivo según el sistema GPS (Global Positioning
System) y otra información de dispositivo, como las comunicaciones de la torre de telefonía móvil y la
dirección IP.
Cuando un usuario tiene acceso a la información de ubicación por primera vez, el dispositivo puede
solicitar que el usuario permita el acceso a esta información.
A medida que cambia la ubicación, las dependencias de la ubicación se recalcularán continuamente, lo
que consumirá corriente de la batería del dispositivo. Para conservar la vida útil de la batería, puede usar
las funciones Enable y Disable para activar y desactivar las actualizaciones de la ubicación. La ubicación
se desactiva automáticamente si la pantalla mostrada no depende de la información de la ubicación.
PROPIEDAD DESCRIPCIÓN
Ejemplos
En un campo de béisbol, un lanzador lanza un teléfono desde el montículo del jarra a un captador en la
placa de inicio. El teléfono se encuentra situado horizontalmente con respecto a la tierra, la parte superior
de la pantalla está orientada al lanzador, y el lanzador no hace ningún giro. En esta ubicación, el teléfono
tiene una cobertura medida, pero no tiene Wi-Fi. Se muestra la pantalla PlayBall.
FÓRMULA DESCRIPCIÓN RESULTADO
Descripción
La función Filter busca registros en una tabla que satisface una fórmula. Use la función Filter para buscar un
conjunto de registros que coinciden con uno o varios criterios y descartar aquellos que no lo hacen.
La función LookUp busca el primer registro de una tabla que satisface una fórmula. Use LookUp para encontrar
un único registro que coincida con uno o varios criterios.
En ambos casos, la fórmula se evalúa para cada registro de la tabla. Los registros que dan como resultado true se
incluyen en el resultado. Además de los operadores de la fórmula normal, puede usar los operadores in y exactin
para las coincidencias de subcadenas.
Los campos de registro que se están procesando actualmente estarán disponibles en la formula. Solo tiene que
hacer referencia a los campos por su nombre, como con cualquier otro valor. También puede hacer referencia a
propiedades de control y a otros valores desde toda la aplicación. Para obtener más detalles, vea los ejemplos
siguientes y trabajar con el ámbito de registros.
La función Search busca registros en una tabla que contengan una cadena en una de sus columnas. La cadena
puede estar en cualquier lugar dentro de la columna. Por ejemplo, si busca "rob" o "bert" encontrará una
coincidencia en una columna que contiene "Roberto". La búsqueda no distingue mayúsculas de minúsculas. A
diferencia de Filter y LookUp, la función Search usa solo una cadena de coincidencia en lugar de una fórmula.
Filter y Search devuelven una tabla que contiene las mismas columnas que la tabla original y los registros que
coinciden con los criterios. LookUp devuelve solo el primer registro encontrado después de aplicar una fórmula
para reducir el registro a un solo valor. Si no se encuentra ningún registro, las funciones Filter y Search devuelven
una tabla vacía, y LookUp devuelve blank.
Las tablas son un valor en PowerApps, tal como una cadena o un número. Se pueden pasar a funciones y las
funciones pueden devolverlas. Las funciones Filter, Search y LookUp no modifican la tabla. En vez de eso, usan la
tabla como argumento y devuelven una tabla, un registro o un solo valor de ella. Consulte cómo trabajar con tablas
para más detalles.
Delegación
Siempre que sea posible, PowerApps delegará las operaciones de filtrado y ordenación al origen de datos y se
desplazará por los resultados a petición. Por ejemplo, cuando se inicia una aplicación que muestra un control
Galería lleno de datos, inicialmente solo se traerá al dispositivo el primer conjunto de registros. A medida que el
usuario se desplace por los datos, se traerán más datos del origen de datos. El resultado es un inicio más rápido de
la aplicación y acceso a conjuntos de datos muy grandes.
Sin embargo, la delegación no siempre es posible. La compatibilidad de funciones y operadores con la delegación
varía según el origen de datos. Si la delegación completa de una fórmula no es posible, el entorno de creación
indicará la parte que no se puede delegar con una advertencia. Si es posible, considere la posibilidad de cambiar la
fórmula para que no incluya las funciones y los operadores que no se pueden delegar. La lista de delegación detalla
qué orígenes de datos y operaciones se pueden delegar.
Si la delegación no es posible, PowerApps solo descargará un conjunto reducido de registros para trabajar
localmente. Las funciones de filtrado y ordenación trabajarán con un conjunto reducido de registros. En la Galería
puede no estará disponible la historia completa, y esto puede resultar confuso a los usuarios.
Consulte la información general sobre delegación para obtener más información.
Sintaxis
Filter( Table; Formula1 [; Formula2; ... ] )
Table: requerido. La tabla en la que se va a buscar.
Formula (s) : requerido. La fórmula por la que se evalúa cada registro de la tabla. La función devuelve todos los
registros cuyo resultado es true. Puede hacer referencia a columnas dentro de la tabla. Si se proporciona más
de una fórmula, los resultados de todas las fórmulas se combinan con la función And .
Search( Table; SearchString; Column1 [; Column2; ... ] )
Table: requerido. La tabla en la que se va a buscar.
SearchString: requerido. La cadena que se va a buscar. Si es blank o es una cadena vacía, se devolverán todos
los registros.
Column(s) : requerido. Los nombres de las columnas dentro de Table que se van a buscar. Las columnas en las
que se va a buscar deben contener texto. Los nombres de las columnas deben ser cadenas e ir entre comillas
dobles. Sin embargo, los nombres de las columnas deben ser estáticos y no se pueden calcular con una fórmula.
Si se encuentra SearchString dentro de los datos de cualquiera de estas columnas como una coincidencia
parcial, se devolverá el registro completo.
NOTE
En el caso de orígenes de datos de SharePoint y Excel que contengan nombres de columna con espacios, especifique cada uno
de ellos como "_x0020_" . Por ejemplo, especifique "Nombre de columna" como "Nombre_x0020_de_columna" .
Ejemplos
Los ejemplos siguientes usan el origen de datos IceCream:
FÓRMULA DESCRIPCIÓN RESULTADO
LookUp( IceCream; Quantity > 150; Busca un registro cuyo valor de 250
Quantity + OnOrder ) Quantity sea mayor que 100. En este
caso, devuelve varios. Para el primer
registro que se encuentra, que es el
Flavor "Vanilla", devuelve la suma de las
columnas Quantity y OnOrder.
LookUp( IceCream; Flavor = Busca un registro cuyo valor de Flavor Tipo "Vainilla", cantidad: 200, en orden:
"Vanilla" ) sea igual a "Vanilla". En este caso, 75}
devuelve uno. Como no se proporcionó
ninguna fórmula de reducción, se
devuelve todo el registro.
Para crear este origen de datos como una colección, cree un control Botón y establezca la propiedad OnSelect en
esta fórmula:
ClearCollect (clientes; tabla ({nombre: "Fred Garcia"; compañía: "Northwind Traders"}; {nombre: "Cole
Miller"; empresa: "Contoso"}; {Name: "Glenda Johnson"; compañía: "Contoso"}; {Name: "Mike Collins";
Company: "Adventure Works"}; {nombre: "Colleen Jones"; compañía: "Adventure Works"}))
Como en este ejemplo, puede mostrar una lista de registros en un control Galería en la parte inferior de una
pantalla. Cerca de la parte superior de la pantalla, puede agregar un control Entrada de texto denominado
SearchInput, de modo que los usuarios puedan especificar los registros que más les interesen.
A medida que el usuario escribe caracteres en SearchInput, automáticamente se filtran los resultados en la galería.
En este caso, se configura la galería para que muestre los registros para los que el nombre del cliente (no el nombre
de la empresa) comienza con la secuencia de caracteres de SearchInput. Si el usuario escribe co en el cuadro de
búsqueda, la galería muestra estos resultados:
Para filtrar según la columna Nombre, establezca la propiedad Elementos del control Galería en una de estas
fórmulas:
Puede expandir la búsqueda para incluir la columna Empresa además de la columna Nombre:
FÓRMULA DESCRIPCIÓN RESULTADO
Convierte las letras de una cadena de texto en todo minúsculas, todo mayúsculas o en mayúsculas o minúsculas,
según corresponda.
Descripción
Las funciones Lower, Upper y Proper convierten las letras de una cadena en mayúsculas o minúsculas.
Lower convierte las letras mayúsculas en minúsculas.
Upper convierte las letras minúsculas en mayúsculas.
Proper convierte la primera letra de cada palabra en mayúscula si está en minúscula o en minúscula si está en
mayúscula.
Las tres funciones omiten los caracteres que no son letras.
Si se pasa una cadena única, el valor devuelto es la versión convertida de dicha cadena. Si se pasa una tabla de una
columna que contiene cadenas, el valor devuelto es una tabla de una columna de cadenas convertidas. Si tiene una
tabla con varias columnas, puede convertirla en una tabla de una sola columna, como se describe en cómo trabajar
con tablas.
Sintaxis
Lower( String )
Upper( String )
Proper( String )
String: requerido. La cadena que se va a convertir.
Lower( SingleColumnTable )
Upper( SingleColumnTable )
Proper( SingleColumnTable )
SingleColumnTable: requerido. Una tabla de una columna de cadenas para convertir.
Ejemplos
Cadena única
En los ejemplos de esta sección se usa un control de entrada de texto, llamado Author, como origen de datos. El
control contiene la cadena "E". E. CummINGS".
Cada fórmula devuelve una tabla de una columna que contiene las cadenas convertidas.
Comprueba si hay coincidencias o extrae partes de una cadena de texto basándose en un patrón.
Descripción
La función IsMatch comprueba si una cadena de texto coincide con un patrón que puede incluir caracteres normales, patrones
predefinidos o una expresión regular. Las funciones Match y MatchAll devuelven lo que coincidía, incluidas las subcoincidencias.
Use IsMatch para validar que un usuario ha escrito en un control Entrada de texto . Por ejemplo, puede confirmar si el usuario ha
escrito una dirección de correo electrónico válida antes de que el resultado se guarde en el origen de datos. Si la entrada no coincide con
los criterios, agregue otros controles que pidan al usuario que corrija la entrada.
Use Match para extraer la primera cadena de texto que coincida con un patrón y MatchAll para extraer todas las cadenas de texto que
coincidan. También puede extraer coincidencias secundarias para analizar cadenas complejas.
Match devuelve un registro de información para la primera coincidencia encontrada y MatchAll devuelve una tabla de registros para
cada coincidencia encontrada. El registro o los registros contienen:
Subcoincidencias Tabla de texto de una sola columna ( valorde Tabla de subcoincidencias con nombre y sin
columna) nombre en el orden en que aparecen en la
expresión regular. Por lo general, las
subcoincidencias con nombre son más fáciles de
trabajar con y se recomiendan. Use las funciones
forall o Last( firstn( ... )) para trabajar con una
subcoincidencia individual. Si no se definen
subcoincidencias en la expresión regular, esta
tabla estará presente pero vacía.
. punto
? signo de interrogación
* asterisco
+ signo más
() paréntesis
[] corchetes
{} llaves
^ símbolo de intercalación
$ signo de dólar
| barra vertical
Por ejemplo, puede buscar la coincidencia de "Hello?" mediante el patrón "Hello\?" con una barra diagonal delante del signo de
interrogación.
Patrones predefinidos
Los patrones predefinidos proporcionan una manera sencilla de buscar coincidencias con uno de un juego de caracteres o con una
secuencia de varios caracteres. Use el operador de concatenación de cadenas & para combinar sus propias cadenas de texto con
miembros de la enumeración Match :
Por ejemplo, el patrón "A" & MultipleDigits buscará la coincidencia con la letra "A" seguido de uno o varios dígitos.
Expresiones regulares
El patrón que usan estas funciones es una expresión regular. Los caracteres ordinarios y los patrones predefinidos que se describen
anteriormente en este tema ayudan a crear expresiones regulares.
Las expresiones regulares son muy eficaces, están disponibles en muchos lenguajes de programación y se usan para multitud de
propósitos. También pueden parecerse a menudo como una secuencia aleatoria de signos de puntuación. En este artículo no se
describen todos los aspectos de las expresiones regulares, pero hay una gran cantidad de información, tutoriales y herramientas
disponibles en la Web.
Las expresiones regulares se encuentran en distintos dialectos y PowerApps usa una variante del dialecto de JavaScript. Consulte
Sintaxis de expresiones regulares para obtener una introducción a la sintaxis. Se admiten las subcoincidencias con nombre (que a veces
se denominan grupos de captura con nombre):
Subcoincidencias con nombre: (?<nombre>...)
Referencias inversas con nombre: \k<nombre>
En la tabla de enumeración coincidir anteriormente en este tema, cada enumeración aparece en la misma fila que la expresión regular
correspondiente.
Opciones de coincidencia
Para modificar el comportamiento de estas funciones, puede especificar una o varias opciones, que se pueden combinar mediante el
operador de concatenación de cadenas ( & ).
BeginsWith El patrón debe coincidir desde el principio del Agrega un ^ al principio de la expresión regular.
texto.
Complete Valor predeterminado para IsMatch. El patrón Agrega un ^ al inicio y una $ al final de la
debe coincidir con toda la cadena de texto, de expresión regular.
principio a fin.
EndsWith El patrón debe coincidir con el final de la cadena Agrega $ al final de la expresión regular.
de texto.
IgnoreCase Trata las letras mayúsculas y minúsculas como No modifica la expresión regular. Esta opción es
idénticas. De forma predeterminada, la equivalente al modificador "i" estándar de las
búsqueda de coincidencia distingue mayúsculas expresiones regulares.
y minúsculas.
Multiline Busca la coincidencia entre varias líneas. No modifica la expresión regular. Esta opción es
equivalente al modificador estándar "m" de las
expresiones regulares.
El uso de MatchAll es equivalente a usar el modificador estándar "g" para las expresiones regulares.
Sintaxis
IsMatch( Text; Pattern [; Options ] )
Text: requerido. La cadena de texto que se va a probar.
Pattern: requerido. Patrón que se va a probar como una cadena de texto. Concatene los patrones predefinidos que define la
enumeración Match o proporcione una expresión regular. Pattern debe ser una fórmula constante sin variables, orígenes de datos u
otras referencias dinámicas que cambian a medida que se ejecuta la aplicación.
Options: valor opcional. Una combinación de cadena de texto de valores de enumeración MatchOptions . De forma predeterminada,
se usa MatchOptions.Complete.
Match( texto; patrón [; Opciones ])
Text: requerido. Cadena de texto que debe coincidir.
Pattern: requerido. Patrón que debe coincidir como una cadena de texto. Concatene los patrones predefinidos que define la
enumeración Match o proporcione una expresión regular. Pattern debe ser una fórmula constante sin variables, orígenes de datos u
otras referencias dinámicas que cambian a medida que se ejecuta la aplicación.
Options: valor opcional. Una combinación de cadena de texto de valores de enumeración MatchOptions . De forma predeterminada,
se usa MatchOptions. Contains .
MatchAll( texto; patrón [; Opciones ])
Text: requerido. Cadena de texto que debe coincidir.
Pattern: requerido. Patrón que debe coincidir como una cadena de texto. Concatene los patrones predefinidos que define la
enumeración Match o proporcione una expresión regular. Pattern debe ser una fórmula constante sin variables, orígenes de datos u
otras referencias dinámicas que cambian a medida que se ejecuta la aplicación.
Options: valor opcional. Una combinación de cadena de texto de valores de enumeración MatchOptions . De forma predeterminada,
se usa MatchOptions. Contains .
Ejemplos de IsMatch
Caracteres normales
Imagine que la aplicación contiene un control Entrada de texto denominado TextInput1. El usuario escribe valores en este control
para almacenarlos en una base de datos.
El usuario escribe Hello world en TextInput1.
IsMatch( TextInput1.Text; "Hello world" Comprueba si la entrada del usuario coincide true
) exactamente con la cadena "Hello World".
IsMatch( TextInput1.Text; "Good bye" ) Comprueba si la entrada del usuario coincide false
exactamente con la cadena "Good Bye".
Patrones predefinidos
FÓRMULA DESCRIPCIÓN RESULTADO
IsMatch( "123-45-7890"; Digit & Digit & Busca la coincidencia con un número de la true
Digit & Hyphen & Digit & Digit & Hyphen Seguridad Social de Estados Unidos.
& Digit & Digit & Digit & Digit )
IsMatch( "123.456"; MultipleDigits & Busca la coincidencia con una secuencia de true
Period & OptionalDigits ) dígitos, un punto y luego cero o más dígitos.
IsMatch( "123"; MultipleDigits & Period Busca la coincidencia con una secuencia de false
& OptionalDigits ) dígitos, un punto y luego cero o más dígitos. No
aparece un punto en el texto para que coincida,
por lo que no coincide con este patrón.
Expresiones regulares
FÓRMULA DESCRIPCIÓN RESULTADO
IsMatch( "986"; "\d+" ) Coincide con un entero mayor que cero. true
IsMatch( "111-111-111"; "\d{3}-\d{2}- Lo mismo que el ejemplo anterior, pero uno de false
\d{4}" ) los guiones está fuera de lugar en la entrada.
IsMatch( "AStrongPasswordNot"; "(?!^[0- Valida una contraseña segura, que debe false
9]\*$)(?!^[a-zA-Z]\*$)([a-zA-Z0-9] contener ocho, nueve o 10 caracteres, además
{8,10})" )
de al menos un dígito y al menos un carácter
alfabético. La cadena no debe contener
caracteres especiales.
IsMatch( "<https://microsoft.com>"; " Valida una dirección URL http, https o ftp. true
(ht|f)tp(s?)\:\/\/\[0-9a-zA-Z\]([-
.\w]\*[0-9a-zA-Z])\*(:(0-9)\*)\*(\/?)
([a-zA-Z0-9\-\.\?\,\'\/\\\+&%\$#_]\*)?"
)
Match( "PT2H1M39S"; "PT(?:<hours>\d+)H)? Extrae las horas, los minutos y los segundos de {
(?:(?<minutes>\d+)M)?(?:(? un valor de duración ISO 8601. Los números horas: "2",
<seconds>\d+)S)?" )
extraídos siguen en una cadena de texto; Utilice minutos: "1",
la función Value para convertirlo en un número segundos: "39",
antes de que se realicen operaciones FullMatch: "PT2H1M39S",
matemáticas en él. Subcoincidencias: [ "2", "1", "39" ],
StartMatch: 1
}
Vamos a profundizar en el último ejemplo. Si desea convertir esta cadena en un valor de fecha y hora mediante la función Time , debe
pasar individualmente las coincidencias con nombre. Para ello, puede usar la función with que funciona en el registro que coincide con
las devoluciones:
With(
Match( "PT2H1M39S"; "PT(?:(?<hours>\d+)H)?(?:(?<minutes>\d+)M)?(?:(?<seconds>\d+)S)?" );
Time( Value( hours ); Value( minutes ); Value( seconds ) )
)
En estos ejemplos, agregue un control botón , establezca su propiedad alseleccionar en esta fórmula y, a continuación, seleccione el
botón:
Set( pangram; "The quick brown fox jumps over the lazy dog." )
FÓRMULA DESCRIPCIÓN RESULTADO
MatchAll( pangram; "\b\wo\w\b" ) Busca todas las palabras de tres letras con una
"o" en el centro. Tenga en cuenta que "Brown"
se excluye porque no es una palabra de tres
letras y, por lo tanto, no coincide con "\b" (límite
de palabras).
Match( pangram; "\b\wo\w\b\s\*(? Coincide con todos los caracteres entre "Fox" y {
<between>\w.+\w)\s\*\b\wo\w\b" ) "Dog". entre: "salta sobre el Lazy",
FullMatch: "Fox salta sobre el perro diferido ",
Subcoincidencias: ["salta sobre el Lazy"],
StartMatch: 17
}
Comprueba si hay coincidencias o extrae partes de una cadena de texto basándose en un patrón.
Descripción
La función IsMatch comprueba si una cadena de texto coincide con un patrón que puede incluir caracteres normales, patrones
predefinidos o una expresión regular. Las funciones Match y MatchAll devuelven lo que coincidía, incluidas las subcoincidencias.
Use IsMatch para validar que un usuario ha escrito en un control Entrada de texto . Por ejemplo, puede confirmar si el usuario ha
escrito una dirección de correo electrónico válida antes de que el resultado se guarde en el origen de datos. Si la entrada no coincide con
los criterios, agregue otros controles que pidan al usuario que corrija la entrada.
Use Match para extraer la primera cadena de texto que coincida con un patrón y MatchAll para extraer todas las cadenas de texto que
coincidan. También puede extraer coincidencias secundarias para analizar cadenas complejas.
Match devuelve un registro de información para la primera coincidencia encontrada y MatchAll devuelve una tabla de registros para
cada coincidencia encontrada. El registro o los registros contienen:
Subcoincidencias Tabla de texto de una sola columna ( valorde Tabla de subcoincidencias con nombre y sin
columna) nombre en el orden en que aparecen en la
expresión regular. Por lo general, las
subcoincidencias con nombre son más fáciles de
trabajar con y se recomiendan. Use las funciones
forall o Last( firstn( ... )) para trabajar con una
subcoincidencia individual. Si no se definen
subcoincidencias en la expresión regular, esta
tabla estará presente pero vacía.
Patrones
La clave para usar estas funciones es describir el patrón que debe coincidir. El patrón en una cadena de texto se describe como una
combinación de:
Caracteres normales, como "abc" o "123" .
Patrones predefinidos, como Letter, MultipleDigits o Email. (La enumeración Match define estos patrones).
Códigos de expresión regular, como "\d + \s + \d +" o "[a-z] +" .
Combine estos elementos mediante el operador de concatenación de cadenas & . Por ejemplo, "abc" & Digit & "\s+" es un patrón
válido que busca la coincidencia de los caracteres "a", "b" y "c", seguido de un dígito del 0 al 9, seguido de al menos un carácter de
espacio en blanco.
Caracteres normales
El patrón más sencillo es una secuencia de caracteres normales que deben coincidir exactamente.
Por ejemplo, cuando se usa con la función IsMatch , la cadena "Hello" coincide exactamente con el patrón "Hello" . Ni más ni menos. La
cadena "hello!" no coincide con el patrón debido al signo de exclamación del final y porque el caso es incorrecto para la letra "h".
(Consulte MatchOptions para ver formas de modificar este comportamiento).
En el lenguaje del patrón, algunos caracteres están reservados para fines especiales. Para usar estos caracteres, anteponga al carácter un
\ (barra diagonal inversa) para indicar que el carácter debe tomarse literalmente, o bien puede usar uno de los patrones predefinidos que
se describen más adelante en este tema. En esta tabla se enumeran los caracteres especiales:
. punto
? signo de interrogación
* asterisco
+ signo más
() paréntesis
[] corchetes
{} llaves
^ símbolo de intercalación
$ signo de dólar
| barra vertical
Por ejemplo, puede buscar la coincidencia de "Hello?" mediante el patrón "Hello\?" con una barra diagonal delante del signo de
interrogación.
Patrones predefinidos
Los patrones predefinidos proporcionan una manera sencilla de buscar coincidencias con uno de un juego de caracteres o con una
secuencia de varios caracteres. Use el operador de concatenación de cadenas & para combinar sus propias cadenas de texto con
miembros de la enumeración Match :
Por ejemplo, el patrón "A" & MultipleDigits buscará la coincidencia con la letra "A" seguido de uno o varios dígitos.
Expresiones regulares
El patrón que usan estas funciones es una expresión regular. Los caracteres ordinarios y los patrones predefinidos que se describen
anteriormente en este tema ayudan a crear expresiones regulares.
Las expresiones regulares son muy eficaces, están disponibles en muchos lenguajes de programación y se usan para multitud de
propósitos. También pueden parecerse a menudo como una secuencia aleatoria de signos de puntuación. En este artículo no se
describen todos los aspectos de las expresiones regulares, pero hay una gran cantidad de información, tutoriales y herramientas
disponibles en la Web.
Las expresiones regulares se encuentran en distintos dialectos y PowerApps usa una variante del dialecto de JavaScript. Consulte
Sintaxis de expresiones regulares para obtener una introducción a la sintaxis. Se admiten las subcoincidencias con nombre (que a veces
se denominan grupos de captura con nombre):
Subcoincidencias con nombre: (?<nombre>...)
Referencias inversas con nombre: \k<nombre>
En la tabla de enumeración coincidir anteriormente en este tema, cada enumeración aparece en la misma fila que la expresión regular
correspondiente.
Opciones de coincidencia
Para modificar el comportamiento de estas funciones, puede especificar una o varias opciones, que se pueden combinar mediante el
operador de concatenación de cadenas ( & ).
ENUMERACIÓN MATCHOPTIONS DESCRIPCIÓN IMPACTO EN UNA EXPRESIÓN REGULAR
BeginsWith El patrón debe coincidir desde el principio del Agrega un ^ al principio de la expresión regular.
texto.
Complete Valor predeterminado para IsMatch. El patrón Agrega un ^ al inicio y una $ al final de la
debe coincidir con toda la cadena de texto, de expresión regular.
principio a fin.
EndsWith El patrón debe coincidir con el final de la cadena Agrega $ al final de la expresión regular.
de texto.
IgnoreCase Trata las letras mayúsculas y minúsculas como No modifica la expresión regular. Esta opción es
idénticas. De forma predeterminada, la equivalente al modificador "i" estándar de las
búsqueda de coincidencia distingue mayúsculas expresiones regulares.
y minúsculas.
Multiline Busca la coincidencia entre varias líneas. No modifica la expresión regular. Esta opción es
equivalente al modificador estándar "m" de las
expresiones regulares.
El uso de MatchAll es equivalente a usar el modificador estándar "g" para las expresiones regulares.
Sintaxis
IsMatch( Text; Pattern [; Options ] )
Text: requerido. La cadena de texto que se va a probar.
Pattern: requerido. Patrón que se va a probar como una cadena de texto. Concatene los patrones predefinidos que define la
enumeración Match o proporcione una expresión regular. Pattern debe ser una fórmula constante sin variables, orígenes de datos u
otras referencias dinámicas que cambian a medida que se ejecuta la aplicación.
Options: valor opcional. Una combinación de cadena de texto de valores de enumeración MatchOptions . De forma predeterminada,
se usa MatchOptions.Complete.
Match( texto; patrón [; Opciones ])
Text: requerido. Cadena de texto que debe coincidir.
Pattern: requerido. Patrón que debe coincidir como una cadena de texto. Concatene los patrones predefinidos que define la
enumeración Match o proporcione una expresión regular. Pattern debe ser una fórmula constante sin variables, orígenes de datos u
otras referencias dinámicas que cambian a medida que se ejecuta la aplicación.
Options: valor opcional. Una combinación de cadena de texto de valores de enumeración MatchOptions . De forma predeterminada,
se usa MatchOptions. Contains .
MatchAll( texto; patrón [; Opciones ])
Text: requerido. Cadena de texto que debe coincidir.
Pattern: requerido. Patrón que debe coincidir como una cadena de texto. Concatene los patrones predefinidos que define la
enumeración Match o proporcione una expresión regular. Pattern debe ser una fórmula constante sin variables, orígenes de datos u
otras referencias dinámicas que cambian a medida que se ejecuta la aplicación.
Options: valor opcional. Una combinación de cadena de texto de valores de enumeración MatchOptions . De forma predeterminada,
se usa MatchOptions. Contains .
Ejemplos de IsMatch
Caracteres normales
Imagine que la aplicación contiene un control Entrada de texto denominado TextInput1. El usuario escribe valores en este control
para almacenarlos en una base de datos.
El usuario escribe Hello world en TextInput1.
IsMatch( TextInput1.Text; "Hello world" Comprueba si la entrada del usuario coincide true
) exactamente con la cadena "Hello World".
FÓRMULA DESCRIPCIÓN RESULTADO
IsMatch( TextInput1.Text; "Good bye" ) Comprueba si la entrada del usuario coincide false
exactamente con la cadena "Good Bye".
Patrones predefinidos
FÓRMULA DESCRIPCIÓN RESULTADO
IsMatch( "123-45-7890"; Digit & Digit & Busca la coincidencia con un número de la true
Digit & Hyphen & Digit & Digit & Hyphen Seguridad Social de Estados Unidos.
& Digit & Digit & Digit & Digit )
IsMatch( "123.456"; MultipleDigits & Busca la coincidencia con una secuencia de true
Period & OptionalDigits ) dígitos, un punto y luego cero o más dígitos.
IsMatch( "123"; MultipleDigits & Period Busca la coincidencia con una secuencia de false
& OptionalDigits ) dígitos, un punto y luego cero o más dígitos. No
aparece un punto en el texto para que coincida,
por lo que no coincide con este patrón.
Expresiones regulares
FÓRMULA DESCRIPCIÓN RESULTADO
IsMatch( "986"; "\d+" ) Coincide con un entero mayor que cero. true
IsMatch( "111-111-111"; "\d{3}-\d{2}- Lo mismo que el ejemplo anterior, pero uno de false
\d{4}" ) los guiones está fuera de lugar en la entrada.
IsMatch( "AStrongPasswordNot"; "(?!^[0- Valida una contraseña segura, que debe false
9]\*$)(?!^[a-zA-Z]\*$)([a-zA-Z0-9] contener ocho, nueve o 10 caracteres, además
{8,10})" )
de al menos un dígito y al menos un carácter
alfabético. La cadena no debe contener
caracteres especiales.
FÓRMULA DESCRIPCIÓN RESULTADO
IsMatch( "<https://microsoft.com>"; " Valida una dirección URL http, https o ftp. true
(ht|f)tp(s?)\:\/\/\[0-9a-zA-Z\]([-
.\w]\*[0-9a-zA-Z])\*(:(0-9)\*)\*(\/?)
([a-zA-Z0-9\-\.\?\,\'\/\\\+&%\$#_]\*)?"
)
Match( "PT2H1M39S"; "PT(?:<hours>\d+)H)? Extrae las horas, los minutos y los segundos de {
(?:(?<minutes>\d+)M)?(?:(? un valor de duración ISO 8601. Los números horas: "2",
<seconds>\d+)S)?" )
extraídos siguen en una cadena de texto; Utilice minutos: "1",
la función Value para convertirlo en un número segundos: "39",
antes de que se realicen operaciones FullMatch: "PT2H1M39S",
matemáticas en él. Subcoincidencias: [ "2", "1", "39" ],
StartMatch: 1
}
Vamos a profundizar en el último ejemplo. Si desea convertir esta cadena en un valor de fecha y hora mediante la función Time , debe
pasar individualmente las coincidencias con nombre. Para ello, puede usar la función with que funciona en el registro que coincide con
las devoluciones:
With(
Match( "PT2H1M39S"; "PT(?:(?<hours>\d+)H)?(?:(?<minutes>\d+)M)?(?:(?<seconds>\d+)S)?" );
Time( Value( hours ); Value( minutes ); Value( seconds ) )
)
En estos ejemplos, agregue un control botón , establezca su propiedad alseleccionar en esta fórmula y, a continuación, seleccione el
botón:
Set( pangram; "The quick brown fox jumps over the lazy dog." )
MatchAll( pangram; "\b\wo\w\b" ) Busca todas las palabras de tres letras con una
"o" en el centro. Tenga en cuenta que "Brown"
se excluye porque no es una palabra de tres
letras y, por lo tanto, no coincide con "\b" (límite
de palabras).
Match( pangram; "\b\wo\w\b\s\*(? Coincide con todos los caracteres entre "Fox" y {
<between>\w.+\w)\s\*\b\wo\w\b" ) "Dog". entre: "salta sobre el Lazy",
FullMatch: "Fox salta sobre el perro diferido ",
Subcoincidencias: ["salta sobre el Lazy"],
StartMatch: 17
}
Descripción
La función Average calcula el promedio, o media aritmética, de los argumentos.
La función Max encuentra el valor máximo.
La función Min encuentra el valor mínimo.
La función Sum calcula la suma de los argumentos.
La función StdevP calcula la desviación estándar de los argumentos.
La función VarP calcula la varianza de los argumentos.
Puede proporcionar los valores de estas funciones como:
Argumentos independientes. Por ejemplo, Sum ( 1; 2; 3 ) da 6 como resultado.
Una tabla y una fórmula para operar sobre esa tabla. La suma total se calculará según los valores de la fórmula
para cada registro.
Los campos de registro que se están procesando actualmente estarán disponibles en la formula. Solo tiene que
hacer referencia a los campos por su nombre, como con cualquier otro valor. También puede hacer referencia a
propiedades de control y a otros valores desde toda la aplicación. Para obtener más detalles, vea los ejemplos
siguientes y trabajar con el ámbito de registros.
Estas funciones solo operan sobre valores numéricos. Se omiten otros tipos de valores, como cadenas o registros.
Use la función Value para convertir en número una cadena.
Las funciones Average, Max, Min y Sum se pueden delegar cuando se usan con un origen de datos que admite la
delegación de dichas funciones. Sin embargo, StdevP y VarP no se puede delegar en ningún origen de datos. Si no
se admite la delegación, solo se recuperará la primera parte de los datos y, después, la función se aplicará
localmente. Es posible que el resultado no represente la situación completa. Aparece una advertencia de delegación
durante la creación para recordarle esta limitación y sugerirle que cambie a alternativas que puedan delegarse
siempre que sea posible. Para más información, consulte la introducción a la delegación.
Sintaxis
Average( NumericalFormula1; [ NumericalFormula2; ... ] )
Max( NumericalFormula1; [ NumericalFormula2; ... ] )
Min( NumericalFormula1; [ NumericalFormula2; ... ] )
Sum ( NumericalFormula1; [ NumericalFormula2; ... ] )
StdevP ( NumericalFormula1; [ NumericalFormula2; ... ] )
VarP ( NumericalFormula1; [ NumericalFormula2; ... ] )
NumericalFormula (s) : requerido. Los valores numéricos en que se va a operar.
Average( Table; NumericalFormula )
Max( Table; NumericalFormula )
Min( Table; NumericalFormula )
Sum ( Table; NumericalFormula )
StdevP ( Table; NumericalFormula )
VarP ( Table; NumericalFormula )
Table: requerido. La tabla sobre la cual se opera.
NumericalFormula: requerido. La fórmula que se evalúa en cada registro. El resultado de esta fórmula se usa
para la agregación. Puede usar columnas de la tabla en la fórmula.
Ejemplos
Paso a paso
Imaginemos que tiene un origen de datos llamado Sales que contiene una columna CostPerUnit y una columna
UnitsSold, y establece la propiedad Text de una etiqueta en esta función:
Sum (Sales; CostPerUnit * UnitsSold)
Para mostrar las ventas totales, la etiqueta multiplicaría los valores de esas columnas para cada registro y luego
agregaría juntos los resultados de todos los registros:
Pongamos otro ejemplo: imaginemos que tiene controles deslizantes llamados Slider1, Slider2 y Slider3 y una
etiqueta con la propiedad Text establecida en esta fórmula:
Sum (Slider1.Value; Slider2.Value; Slider3.Value)
La etiqueta mostraría la suma de todos los valores en los que se establecieron los controles deslizantes.
Funciones Left, Mid y Right en PowerApps
08/10/2019 • 5 minutes to read
Descripción
Las funciones Left, Mid y Right devuelven una parte de una cadena.
Left: devuelve los caracteres del principio de una cadena.
Mid: devuelve los caracteres centrales de una cadena.
Right: devuelve los caracteres del final de una cadena.
Si especifica una cadena como argumento, la función devuelve la parte que ha solicitado de la cadena. Si especifica
una tabla de una columna que contiene cadenas, la función devuelve una tabla de una columna de las partes que
solicitó de esas cadenas. Si especifica una tabla con varias columnas, puede convertirla en una tabla de una
columna, como se describe en la sección sobre cómo trabajar con tablas.
Si la posición inicial es negativa o sobrepasa el final de la cadena, Mid devuelve blank. Puede comprobar la longitud
de una cadena mediante la función Len . Si se solicitan más caracteres de los que contiene la cadena, la función
devuelve tantos caracteres como sea posible.
Sintaxis
Left( String; NumberOfCharacters )
Mid( String; StartingPosition; NumberOfCharacters )
Right( String; NumberOfCharacters )
String: requerido. La cadena hasta la cual se extrae el resultado o desde la que se extrae el resultado.
StartingPosition: requerido (solo Mid). La posición inicial. El primer carácter de la cadena ocupa la posición 1.
NumberOfCharacters : requerido (soloizquierda y derecha ). El número de caracteres que se va a devolver. Si se
omite para la función Mid , la función devuelve la parte desde la posición inicial hasta el final de la cadena.
Left( SingleColumnTable; NumberOfCharacters )
Mid( SingleColumnTable; StartingPosition; NumberOfCharacters )
Right( SingleColumnTable; NumberOfCharacters )
SingleColumnTable: requerido. Una tabla de una columna de cadenas de la cual se extraen los resultados.
StartingPosition: requerido (solo Mid). La posición inicial. El primer carácter de la cadena ocupa la posición 1.
NumberOfCharacters : requerido (soloizquierda y derecha ). El número de caracteres que se va a devolver. Si se
omite para la función Mid , la función devuelve la parte desde la posición inicial hasta el final de la cadena.
Ejemplos
Cadena única
En los ejemplos de esta sección se usa un control de entrada de texto como origen de datos. El control se denomina
Author y contiene la cadena "E". E. Cummings".
FÓRMULA DESCRIPCIÓN RESULTADO
Descripción
La función Average calcula el promedio, o media aritmética, de los argumentos.
La función Max encuentra el valor máximo.
La función Min encuentra el valor mínimo.
La función Sum calcula la suma de los argumentos.
La función StdevP calcula la desviación estándar de los argumentos.
La función VarP calcula la varianza de los argumentos.
Puede proporcionar los valores de estas funciones como:
Argumentos independientes. Por ejemplo, Sum ( 1; 2; 3 ) da 6 como resultado.
Una tabla y una fórmula para operar sobre esa tabla. La suma total se calculará según los valores de la fórmula
para cada registro.
Los campos de registro que se están procesando actualmente estarán disponibles en la formula. Solo tiene que
hacer referencia a los campos por su nombre, como con cualquier otro valor. También puede hacer referencia a
propiedades de control y a otros valores desde toda la aplicación. Para obtener más detalles, vea los ejemplos
siguientes y trabajar con el ámbito de registros.
Estas funciones solo operan sobre valores numéricos. Se omiten otros tipos de valores, como cadenas o registros.
Use la función Value para convertir en número una cadena.
Las funciones Average, Max, Min y Sum se pueden delegar cuando se usan con un origen de datos que admite la
delegación de dichas funciones. Sin embargo, StdevP y VarP no se puede delegar en ningún origen de datos. Si no
se admite la delegación, solo se recuperará la primera parte de los datos y, después, la función se aplicará
localmente. Es posible que el resultado no represente la situación completa. Aparece una advertencia de delegación
durante la creación para recordarle esta limitación y sugerirle que cambie a alternativas que puedan delegarse
siempre que sea posible. Para más información, consulte la introducción a la delegación.
Sintaxis
Average( NumericalFormula1; [ NumericalFormula2; ... ] )
Max( NumericalFormula1; [ NumericalFormula2; ... ] )
Min( NumericalFormula1; [ NumericalFormula2; ... ] )
Sum ( NumericalFormula1; [ NumericalFormula2; ... ] )
StdevP ( NumericalFormula1; [ NumericalFormula2; ... ] )
VarP ( NumericalFormula1; [ NumericalFormula2; ... ] )
NumericalFormula (s) : requerido. Los valores numéricos en que se va a operar.
Average( Table; NumericalFormula )
Max( Table; NumericalFormula )
Min( Table; NumericalFormula )
Sum ( Table; NumericalFormula )
StdevP ( Table; NumericalFormula )
VarP ( Table; NumericalFormula )
Table: requerido. La tabla sobre la cual se opera.
NumericalFormula: requerido. La fórmula que se evalúa en cada registro. El resultado de esta fórmula se usa
para la agregación. Puede usar columnas de la tabla en la fórmula.
Ejemplos
Paso a paso
Imaginemos que tiene un origen de datos llamado Sales que contiene una columna CostPerUnit y una columna
UnitsSold, y establece la propiedad Text de una etiqueta en esta función:
Sum (Sales; CostPerUnit * UnitsSold)
Para mostrar las ventas totales, la etiqueta multiplicaría los valores de esas columnas para cada registro y luego
agregaría juntos los resultados de todos los registros:
Pongamos otro ejemplo: imaginemos que tiene controles deslizantes llamados Slider1, Slider2 y Slider3 y una
etiqueta con la propiedad Text establecida en esta fórmula:
Sum (Slider1.Value; Slider2.Value; Slider3.Value)
La etiqueta mostraría la suma de todos los valores en los que se establecieron los controles deslizantes.
Funciones Day, Month, Year, Hour, Minute, Second y
Weekday en PowerApps
08/10/2019 • 4 minutes to read
Descripción
La función Day devuelve el componente de día de un valor de fecha y hora, comprendido entre 1 y 31.
La función Month devuelve el componente de mes de un valor de fecha y hora, comprendido entre 1 y 12.
La función Year devuelve el componente de año de un valor de fecha y hora, a partir de 1900.
La función Hour devuelve el componente de hora de un valor de fecha y hora, comprendido entre 0 (12:00 a. m.) y
23 (11:00 p. m).
La función Minute devuelve el componente de minuto de un valor de fecha y hora, comprendido entre 0 y 59.
La función Second devuelve el componente de segundo de un valor de fecha y hora, comprendido entre 0 y 59.
La función Weekday devuelve el día de la semana de un valor de fecha y hora. De forma predeterminada, el
resultado está comprendido entre 1 (domingo) y 7 (sábado). Puede especificar un intervalo diferente con un código
de la función Weekday de la semana de Microsoft Excel o un valor de enumeración de StartOfWeek:
Sintaxis
Day( DateTime )
Month( DateTime )
Year( DateTime )
Hour( DateTime )
Minute( DateTime )
Second( DateTime )
DateTime: requerido. Valor de fecha y hora con el que operar.
Weekday( DateTime [; WeekdayFirst ] )
DateTime: requerido. Valor de fecha y hora con el que operar.
WeekdayFirst: opcional. Código de Excel que especifica qué día comienza la semana. Si no se indica, se usará 1
(primero el domingo).
Ejemplos
En el ejemplo siguiente, la hora actual es las 3:59:37 p. m. del jueves, 9 de abril de 2015.
Descripción
La función Mod devuelve el resto después de que un número se divide por un divisor.
El resultado tiene el mismo signo que el divisor.
Sintaxis
Mod( Number; Divisor )
Number: requerido. Número que se divide.
Divisor: requerido. Número por el que se divide.
Funciones Day, Month, Year, Hour, Minute, Second y
Weekday en PowerApps
08/10/2019 • 4 minutes to read
Descripción
La función Day devuelve el componente de día de un valor de fecha y hora, comprendido entre 1 y 31.
La función Month devuelve el componente de mes de un valor de fecha y hora, comprendido entre 1 y 12.
La función Year devuelve el componente de año de un valor de fecha y hora, a partir de 1900.
La función Hour devuelve el componente de hora de un valor de fecha y hora, comprendido entre 0 (12:00 a. m.) y
23 (11:00 p. m).
La función Minute devuelve el componente de minuto de un valor de fecha y hora, comprendido entre 0 y 59.
La función Second devuelve el componente de segundo de un valor de fecha y hora, comprendido entre 0 y 59.
La función Weekday devuelve el día de la semana de un valor de fecha y hora. De forma predeterminada, el
resultado está comprendido entre 1 (domingo) y 7 (sábado). Puede especificar un intervalo diferente con un código
de la función Weekday de la semana de Microsoft Excel o un valor de enumeración de StartOfWeek:
Sintaxis
Day( DateTime )
Month( DateTime )
Year( DateTime )
Hour( DateTime )
Minute( DateTime )
Second( DateTime )
DateTime: requerido. Valor de fecha y hora con el que operar.
Weekday( DateTime [; WeekdayFirst ] )
DateTime: requerido. Valor de fecha y hora con el que operar.
WeekdayFirst: opcional. Código de Excel que especifica qué día comienza la semana. Si no se indica, se usará 1
(primero el domingo).
Ejemplos
En el ejemplo siguiente, la hora actual es las 3:59:37 p. m. del jueves, 9 de abril de 2015.
Información general
La mayoría de las aplicaciones contienen varias pantallas. Use las funciones Back y
Navigate para cambiar la pantalla que se muestra. Por ejemplo, establezca la propiedad
OnSelect de un botón en una fórmula que incluya una función Navigate si desea mostrar
una pantalla diferente cuando un usuario selecciona ese botón. En esta fórmula, puede
especificar una transición visual, como Fade, para controlar cómo se cambia de una pantalla
a otra.
Back y Navigate cambian solo la pantalla que se muestra. Las pantallas que no se
muestran actualmente siguen funcionando en segundo plano. Puede crear fórmulas que
hagan referencia a propiedades de controles en otras pantallas. Por ejemplo, un usuario
puede cambiar el valor de un control deslizante en una pantalla, navegar a una pantalla
diferente que use ese valor en una fórmula y determinar cómo afecta a lo que ocurre en la
nueva pantalla. El usuario puede volver a navegar a la pantalla original y confirmar que el
control deslizante ha conservado su valor.
Las variables de contexto también se conservan cuando un usuario navega entre pantallas.
Puede usar Navigate para establecer una o varias variables de contexto para la pantalla que
mostrará la fórmula, que es la única manera de establecer una variable de contexto desde
fuera de la pantalla. Este enfoque se puede usar para pasar parámetros a una pantalla. Si ha
usado otra herramienta de programación, este enfoque es similar a pasar parámetros a
procedimientos.
Puede utilizar cualquiera de las funciones solo dentro de una fórmula de comportamiento.
Navigate
En el primer argumento, especifique el nombre de la pantalla para mostrar.
En el segundo argumento, especifique cómo se cambia la pantalla anterior a la nueva
pantalla:
Puede usar Navigate para crear o actualizar las variables de contexto de la nueva pantalla.
Como tercer argumento opcional, pase un registro que contenga el nombre de la variable de
contexto como un nombre de columna y el nuevo valor para la variable de contexto. Este
registro es el mismo que el registro que se usa con la función UpdateContext .
Establezca la propiedad OnHidden de la pantalla anterior, la propiedad OnVisible de la
nueva pantalla o ambas para realizar cambios adicionales durante la transición. La
propiedad App.ActiveScreen se actualizará para reflejar el cambio.
Navigate normalmente devuelve true , pero devolverá false si se produce un error.
Back
La función atrás vuelve a la pantalla que se mostró más recientemente.
Para cada llamada a Navigate , la aplicación realiza un seguimiento de la pantalla que
apareció y la transición. Puede usar llamadas sucesivas hacia atrás para volver a la pantalla
que aparecía cuando el usuario inició la aplicación.
Cuando se ejecuta la función back , se usa de forma predeterminada la transición inversa.
Por ejemplo, si aparece una pantalla a través de la transición CoverRight , el retroceso usa
la descubierta (que a la izquierda) para volver. Desvanecer y ninguno son sus propios
inversos. Pase un argumento opcional al de vuelta para forzar una transición específica.
Back devuelve normalmente true , pero devuelve false si el usuario no ha navegado a otra
pantalla desde el inicio de la aplicación.
Sintaxis
Atrás([ transición ])
Transición : opcional. Transición visual que se va a usar entre la pantalla actual y la
pantalla anterior. Consulte la lista de valores válidos para este argumento anteriormente
en este tema. De forma predeterminada, la transición a través de la que se devuelve una
pantalla es el inverso de la transición a través de la cual apareció.
Navegar( pantalla [; transición [; UpdateContextRecord ]])
Screen: requerido. La pantalla que se va a mostrar.
Transición : opcional. La transición visual usada entre la pantalla actual y la siguiente
pantalla. Consulte la lista de valores válidos para este argumento anteriormente en este
tema. El valor predeterminado es None.
UpdateContextRecord: valor opcional. Un registro que contiene el nombre de al menos
una columna y un valor para cada columna. Este registro actualiza las variables de
contexto de la pantalla nueva como si se pasaran a la función UpdateContext .
Ejemplos
FÓRMULA DESCRIPCIÓN RESULTADO
Paso a paso
1. Cree una aplicación vacía.
2. Agregue una segunda pantalla a ella.
La aplicación contiene dos pantallas en blanco: Screen1 y Screen2.
3. Establezca la propiedad Fill de Screen2 en el valor Gray .
4. En Screen2, agregue un botón y establezca su propiedad alseleccionar en esta
fórmula:
Back()
Vea, edite o cree un elemento, guarde el contenido y restablezca los controles de un control Editar formulario .
Información general
Estas funciones cambian el estado del control Editar formulario. El control de formulario puede estar en uno de
estos modos:
MODO DESCRIPCIÓN
Descripción
Estas funciones a menudo se invocan desde la fórmula OnSelect de un control Botón o Imagen para que el
usuario pueda guardar las modificaciones, abandonarlas o crear un registro. También puede usar conjuntamente
controles y estas funciones para crear una solución completa.
Estas funciones no devuelven ningún valor.
SubmitForm
Use la función SubmitForm de la propiedad OnSelect de un control Botón para guardar los cambios de un
control Formulario en el origen de datos.
Antes de enviar cualquier cambio, esta función comprueba problemas de validación con cualquier campo que se
haya marcado como requerido o que tenga una o más restricciones en su valor. Este comportamiento es idéntico al
de la función Validate .
SubmitForm también comprueba la propiedad Valid del control Formulario, que es una agregación de todas las
propiedades Valid de los controles Card que contiene el control Formulario. Si se produce un problema, no se
envían los datos y las propiedades Error y ErrorKind del control Formulario se establecen en consecuencia.
Si se supera la validación, SubmitForm envía el cambio al origen de datos.
Si se realiza correctamente, se ejecutará el comportamiento OnSuccess del formulario y se borrarán las
propiedades Error y ErrorKind . Si el formulario se encontraba en modo FormMode.New, se devolverá al
modo FormMode.Edit.
Si no se realiza correctamente, se ejecutará el comportamiento OnFailure del formulario y se establecerán las
propiedades Error y ErrorKind en consecuencia. El modo del formulario no se modifica.
EditForm
La función EditForm cambia el modo del control Formulario a FormMode.Edit. En este modo, el contenido de la
propiedad Elemento del control Formulario se utiliza para rellenar el formulario. Si la función SubmitForm se
ejecuta cuando el formulario está en este modo, se cambiará un registro, no se creará. FormMode.Edit es el valor
predeterminado del control Formulario.
NewForm
La función NewForm cambia el modo del control Formulario a FormMode.New. En este modo, el contenido de
la propiedad Elemento del control Formulario se omite y los valores predeterminados de la propiedad
DataSource rellenan el formulario. Si la función SubmitForm se ejecuta cuando el formulario está en este modo,
se creará un registro, no se cambiará.
ResetForm
La función ResetForm restablece el contenido de un formulario a sus valores iniciales, el contenido que había antes
de que el usuario realizara cambios. Si el formulario está en modo FormMode.New, se restablecerá al modo
FormMode.Edit. El comportamiento OnReset del control Formulario también se ejecutará. También puede
restablecer controles individuales con la función Reset pero únicamente desde dentro del formulario.
ViewForm
La función ViewForm cambia el modo del control Formulario a FormMode.View. En este modo, el contenido de
la propiedad Elemento del control Formulario se utiliza para rellenar el formulario. Las funciones SubmitForm y
ResetForm no tienen ningún efecto cuando se está en este modo.
Propiedad DisplayMode
El modo actual se puede leer mediante la propiedad Modo. El modo determina también el valor de la propiedad
DisplayMode que pueden usar las tarjetas de datos y controles del control de formulario. A menudo, la propiedad
DisplayMode de la tarjeta de datos se establecerá en Parent. DisplayMode (que hace referencia al formulario)
como lo hará la propiedad DisplayMode del control (que hace referencia a la tarjeta de datos):
Sintaxis
SubmitForm ( FormName )
FormName: requerido. Control Formulario para enviar al origen de datos.
EditForm ( FormName )
FormName: requerido. Control Formulario para cambiar al modo FormMode.Edit.
NewForm ( FormName )
FormName: requerido. Control Formulario para cambiar al modo FormMode.New.
ResetForm ( FormName )
FormName: requerido. Control Formulario para restablecer los valores iniciales. También cambia el formulario
del modo FormMode.New al modo FormMode.Edit.
ViewForm ( FormName )
FormName: requerido. Control Formulario para cambiar al modo FormMode.View.
Ejemplos
Consulte Formularios de datos para obtener ejemplos completos.
1. Agregue un control Botón, establezca la propiedad Text para mostrar Guardar y establezca la propiedad
OnSelect en esta fórmula:
SubmitForm ( EditForm )
2. Establezca la propiedad OnFailure de un control Formulario blank y la propiedad OnSuccess en esta
fórmula:
Back()
3. Asigne el nombre ErrorText a un control Label y establezca su propiedad Text en esta fórmula:
EditForm.Error
Cuando el usuario selecciona el botón Guardar, los cambios del control Formulario se envían al origen de
datos subyacente.
Si el envío se realiza correctamente, los cambios se guardan o, si el control Formulario está en modo
New, se creará un registro. ErrorText es blank y vuelve a aparecer la pantalla anterior.
Si se produce un error en el envío, ErrorText mostrará un mensaje de error descriptivo y la pantalla
actual permanecerá visible para que el usuario pueda corregir el problema e intentarlo de nuevo.
4. Agregue un control Botón, establezca su propiedad Text para que muestre Cancelar y establezca su
propiedad OnSelect en esta fórmula:
ResetForm ( EditForm );; Back()
Si el usuario selecciona el botón Cancelar, los valores del control Formulario se restablecen a su estado
original, el estado que tenían antes de que el usuario empezara a editarlo, vuelve a aparecer la pantalla
anterior y se devuelve el control Formulario al modo Edit si estaba en modo New.
5. Agregue un control Botón, establezca su propiedad Text para mostrar Nuevo y establezca su propiedad
OnSelect en esta fórmula:
NewForm ( EditForm );; Navigate( EditScreen; None )
Cuando el usuario selecciona el botón New, se activa el control Formulario en modo New, los valores
predeterminados del origen de datos del control Formulario rellenan el control y aparece la pantalla que
contiene el control Formulario. Cuando se ejecuta la función SubmitForm, se crea un registro en lugar de
actualizarlo.
Funciones And, Or y Not en PowerApps
26/11/2019 • 5 minutes to read
Funciones de lógica booleana usadas comúnmente para manipular los resultados de pruebas y comparaciones.
Descripción
La función And devuelve true si todos los argumentos son verdaderos.
La función Or devuelve true si todos sus argumentos son verdaderos.
La función Not devuelve true si su argumento es falso y devuelve false si su argumento es verdadero.
Estas funciones funcionan de la misma manera que en Excel. También puede usar operadores para realizar estas
mismas operaciones, usando la sintaxis de Visual Basic o JavaScript:
NOTACIÓN DE FUNCIÓN VISUAL BASIC NOTACIÓN DE OPERADOR NOTACIÓN DEL OPERADOR DE JAVASCRIPT
Not (x) No x ! x1
Estas funciones trabajan con valores lógicos. No se pueden pasar un número o una cadena directamente. en su
lugar, debe realizar una comparación o una prueba. Por ejemplo, esta fórmula lógica x > 1 se evalúa como el valor
booleano true si x es mayor que 1. Si x es menor que 1, la fórmula se evalúa como false.
Sintaxis
And( LogicalFormula1; LogicalFormula2 [; LogicalFormula3; ... ] )
Or( LogicalFormula1; LogicalFormula2 [; LogicalFormula3; ... ] )
Not( LogicalFormula )
LogicalFormula (s) : requerido. Fórmulas lógicas para evaluar y con las que operar.
Ejemplos
En los ejemplos de esta sección se usan estas variables globales:
un = false
b = true
x = 10
y = 100
s = "Hola mundo"
Para crear estas variables globales en una aplicación, inserte un control de botón y establezca su propiedad
alseleccionar en esta fórmula:
Set( a; false );; Set( b; true );; Set( x; 10 );; Set( y; 100 );; Set( s; "Hello World" )
Seleccione el botón (haciendo clic en él mientras mantiene presionada la tecla Alt) y, a continuación, establezca la
propiedad texto de un control etiqueta en una fórmula de la primera columna de la tabla siguiente.
Or ( Len ( s ) < 10, x < 100, y < 100 ) Comprueba si la longitud de s es menor true
que 10, si x es menor que 100 y si y es
menor que 100. El primer y el tercer
argumento son false, pero el segundo
es true. Por lo tanto, la función devuelve
true.
Descripción
La función Notify muestra un mensaje de pancarta al usuario en la parte superior de la pantalla, superpuesto
sobre lo que se muestre actualmente.
Se usa el color y el icono adecuados según el tipo del mensaje. El tipo se especifica mediante el segundo
argumento de la función:
Los mensajes se muestran cuando se crea la aplicación y cuando los usuarios finales la usan.
Notify solo se puede usar en fórmulas de comportamiento.
Notify se puede emparejar con la función IfError para detectar y notificar errores con un mensaje de error
personalizado.
PowerApps también puede enviar notificaciones de inserción mediante un mecanismo completamente diferente a
Notify. Para obtener más información, vea Envío de una notificación push en PowerApps.
Notify siempre devuelve true.
Tenga en cuenta Esta función se denominaba anteriormente ShowError cuando solo podía mostrar mensajes de
error.
Sintaxis
Notify( Message; [ NotificationType ] )
Mensaje: es necesario. Mensaje que se va a mostrar al usuario.
NotificationType: opcional. El tipo de mensaje que se va a mostrar de la tabla anterior. El valor predeterminado
es NotificationType.Information.
Ejemplos
Paso a paso
1. Agregue un control Botón a la pantalla.
2. Establezca la propiedad OnSelect del control Botón en:
Notify( "Hello, World" )
3. Haga clic o presione el botón.
Cada vez que se hace clic en el botón, se muestra el mensaje Hello, World al usuario como una
información.
4. Cambie el tipo de mensaje para indicar un error. Agregue un segundo argumento a la fórmula:
Notify( "Hello, World"; NotificationType.Error )
5. Haga clic o presione el botón.
Ahora, cada vez que se hace clic en el botón, se muestra el mensaje Hello, World al usuario como un error.
6. Cambie el tipo de mensaje para indicar una advertencia. Cambie el segundo argumento de la fórmula:
Notify( "Hello, World"; NotificationType.Warning )
7. Haga clic o presione el botón.
Ahora, cada vez que se hace clic en el botón, se muestra el mensaje Hello, World al usuario como una
advertencia.
8. Cambie el tipo de mensaje para indicar que es correcto. Cambie el segundo argumento de la fórmula:
Notify( "Hello, World"; NotificationType.Success )
9. Haga clic o presione el botón.
Ahora, cada vez que se hace clic en el botón, se muestra el mensaje Hello, World al usuario como una
operación correcta.
Funciones Now, Today e IsToday en PowerApps
08/10/2019 • 7 minutes to read
Devuelve la fecha y hora actuales y comprueba si un valor de fecha y hora es el día de hoy.
Descripción
La función Now devuelve la fecha y hora actuales como un valor de fecha y hora.
La función Today devuelve la fecha actual como un valor de fecha y hora. La parte de la hora es la medianoche.
Today tiene el mismo valor a lo largo del día, desde hoy a medianoche hasta mañana a medianoche.
La función IsToday comprueba si un valor de fecha y hora está comprendido entre hoy a medianoche y mañana a
medianoche. Con esta función, se devuelve un valor booleano true o false.
Todas estas funciones funcionan con la hora local del usuario actual.
Consulte cómo trabajar con fechas y horas para más información.
Funciones volátiles
Now y Today son funciones volátiles. Cada vez que se evalúa una de estas funciones, se devuelve un valor
diferente.
Cuando se usa en una fórmula de flujo de datos, una función volátil solo devuelve un valor diferente si se vuelve a
evaluar la fórmula en la que aparece. Si no hay ningún otro cambio en la fórmula, presenta el mismo valor durante
la ejecución de la aplicación.
Por ejemplo, un control de etiqueta con Label1.Text = Now() no cambiará mientras la aplicación esté activa. Solo
se generará un nuevo valor si se cierra y se vuelve a abrir la aplicación.
Si la función forma parte de una fórmula en la que haya cambiado algún elemento más, se volverá a evaluar. Por
ejemplo, si modificamos el ejemplo para incluir un control deslizante con Label1.Text = DateAdd( Now();
Slider1.Value; Minutes ) , se recuperará la hora actual cada vez que cambie el valor del control deslizante.
Asimismo, se volverá a evaluar la propiedad de texto de la etiqueta.
Cuando se usa en una fórmula de comportamiento, las funciones volátiles se evalúan cada vez que se evalúa la
fórmula de comportamiento. Encontrará un ejemplo a continuación.
Sintaxis
Now()
Today()
IsToday( DateTime )
DateTime: requerido. El valor de fecha y hora para comprobar.
Ejemplos
En los ejemplos de esta sección, la hora actual es 3:59 AM el 12 de febrero de 2015 y el idioma es en-us.
FÓRMULA DESCRIPCIÓN RESULTADO
Text( Now(); "mm/dd/yyyy Recupera la fecha y hora actuales y las "02/12/2015 03:59:00"
hh:mm:ss" ) muestra como una cadena.
Text( Today(); "mm/dd/yyyy Recupera solo la fecha actual, dejando la "02/12/2015 00:00:00"
hh:mm:ss" ) parte de hora como medianoche, y la
muestra como una cadena.
Text( DateAdd( Today(); 12 ); Recupera la fecha actual, agrega 12 días "02/24/2015 00:00:00"
"mm/dd/yyyy hh:mm:ss" ) al resultado y lo muestra como una
cadena.
4. Pulse F5 para obtener una versión preliminar de la aplicación y, a continuación, inicie el temporizador. Para
ello, haga clic en él o púlselo.
La etiqueta muestra la hora local de forma continua, segundo a segundo.
Algunos de estos operadores dependen del idioma del autor. Para más información,
consulte Aplicaciones globales.
* 2*3 Multiplicación
^ 2^3 Exponenciación,
equivalente a la
función Power
% 20 % Porcentaje
(equivalente a "*
1/100")
& Operador de "hello" & " " & Hace que varias
concatenación de "world" cadenas aparezcan
cadenas continuas
&& o And Operadores lógicos Precio < 100 && Conjunción lógica,
Slider1.Value = 20 equivalente a la
o Price < 100 And función And
Slider1.Value = 20
@ [@MyVariable] Desambiguación
global
SÍMBOLO TIPO SINTAXIS DESCRIPCIÓN
operadores in y exactin
Los operadores in y exactin se pueden usar para buscar una cadena en un origen de
datos, como una colección o una tabla importada. El operador in identifica
coincidencias, independientemente del caso, mientras que exactin identifica
coincidencias solo si coinciden las mayúsculas. Este es un ejemplo:
1. Cree o importe una colección denominada Inventario y muéstrela en una
galería, como describe el primer procedimiento de Show images and text in a
gallery, including gallery selection, sort, and filter (Mostrar texto e imágenes de
una galería, incluidos la selección, ordenación y filtro de la galería).
2. Establezca la propiedad Elementos de la galería en esta fórmula:
Filter(Inventory; "E" in ProductName)
La galería muestra todos los productos, excepto Callisto, porque el nombre de
ese producto es el único que no contiene la letra que ha especificado.
3. Cambie la propiedad Elementos de la galería a esta fórmula:
Filter(Inventory; "E" exactin ProductName)
La galería muestra solo Europa, porque es la única palabra que contiene la letra
que ha especificado con el uso de mayúsculas y minúsculas que ha especificado.
Operador ThisItem
Puede mostrar datos en los controles Galería , Formulario de edición o Formulario
de presentación enlazándolos a una tabla o una colección. Estos controles son un
contenedor para otros controles y tarjetas. Todas las tarjetas o controles del contenedor
pueden acceder a los datos enlazados a través del operador ThisItem .
El operador ThisItem se usa para especificar la columna de datos de cada tarjeta o
control en el control externo. Por ejemplo, el operador de la galería de productos de
Show images and text in a gallery, including gallery selection, sort, and filter (Mostrar
texto e imágenes de una galería, incluidos la selección, ordenación y filtro de la galería)
especificaba que el control de imagen mostraba el diseño del producto, la etiqueta
superior mostraba el nombre del producto y la etiqueta inferior mostraba el número de
unidades en existencias.
En el caso de las galerías anidadas, ThisItem hace referencia a los elementos de la
galería más interna. Suponiendo que los campos de fila de las galerías interna y externa
no están en conflicto, también puede utilizar los nombres de campo (columna) no
completos directamente. Este enfoque permite que las reglas de una galería interna
hagan referencia a elementos de una galería externa.
Operador Parent
Algunos controles hospedan otros controles. Por ejemplo, los controles Pantalla ,
Galería , Tarjeta , Formulario de edición y Formulario de presentación son
contenedores de controles. Al control que hospeda se le denomina el "control primario"
de los controles que contiene.
En PowerApps se puede hacer referencia a todos los controles por su nombre desde
cualquier lugar de la aplicación. Screen1 puede ser el nombre de una pantalla de una
aplicación. Para recuperar el color de fondo de esta pantalla, puede usar Screen1.Fill.
Los controles de esta pantalla tienen otra opción. Pueden usar una referencia relativa:
Parent. Fill. El operador Parent hace referencia al control que hospeda este control, y
que hace que todas sus propiedades estén disponibles. Parent resulta muy útil, ya que
no depende del nombre del control. Puede copiar y pegar un control contenedor sin
necesidad de ajustar ninguna de las referencia del contenedor. Este operador también
hace que la relación entre los controles primarios y secundarios sea más clara al leer
fórmulas.
Operador de desambiguación
Algunas funciones crean ámbitos de registro para acceder a los campos de la tabla
mientras se procesa cada registro, como Filter, AddColumns y Sum. Los nombres de
campo agregados con el ámbito de registro invalidan los mismos nombres de los
restantes lugares de la aplicación. Cuando esto sucede, para acceder a los valores desde
fuera del ámbito de registro hay que utilizar el operador de desambiguación @ :
Para acceder a valores de ámbitos de registro anidados, use el operador @ con el
nombre de la tabla en la que opera mediante este modelo:
Table [@ FieldName ]
Para acceder a valores globales, como orígenes de datos, colecciones y variables de
contexto, use el modelo [@ ObjectName ] (sin designación de tabla).
Para obtener más información y ejemplos, vea los ámbitos de registro.
Funciones And, Or y Not en PowerApps
26/11/2019 • 5 minutes to read
Funciones de lógica booleana usadas comúnmente para manipular los resultados de pruebas y
comparaciones.
Descripción
La función And devuelve true si todos los argumentos son verdaderos.
La función Or devuelve true si todos sus argumentos son verdaderos.
La función Not devuelve true si su argumento es falso y devuelve false si su argumento es verdadero.
Estas funciones funcionan de la misma manera que en Excel. También puede usar operadores para realizar
estas mismas operaciones, usando la sintaxis de Visual Basic o JavaScript:
Not (x) No x ! x1
Estas funciones trabajan con valores lógicos. No se pueden pasar un número o una cadena directamente. en
su lugar, debe realizar una comparación o una prueba. Por ejemplo, esta fórmula lógica x > 1 se evalúa
como el valor booleano true si x es mayor que 1. Si x es menor que 1, la fórmula se evalúa como false.
Sintaxis
And( LogicalFormula1; LogicalFormula2 [; LogicalFormula3; ... ] )
Or( LogicalFormula1; LogicalFormula2 [; LogicalFormula3; ... ] )
Not( LogicalFormula )
LogicalFormula (s) : requerido. Fórmulas lógicas para evaluar y con las que operar.
Ejemplos
En los ejemplos de esta sección se usan estas variables globales:
un = false
b = true
x = 10
y = 100
s = "Hola mundo"
Para crear estas variables globales en una aplicación, inserte un control de botón y establezca su propiedad
alseleccionar en esta fórmula:
Set( a; false );; Set( b; true );; Set( x; 10 );; Set( y; 100 );; Set( s; "Hello World" )
Seleccione el botón (haciendo clic en él mientras mantiene presionada la tecla Alt) y, a continuación,
establezca la propiedad texto de un control etiqueta en una fórmula de la primera columna de la tabla
siguiente.
Descripción
La función Download descarga un archivo de la Web al dispositivo local. Se pide al usuario una ubicación para
guardar el archivo. Download devuelve la ubicación donde el archivo se almacenó localmente como una
cadena.
La función Launch inicia un página web o una aplicación. Opcionalmente, esta función puede pasar parámetros
a la aplicación.
En Internet Explorer y Microsoft Edge, la función Launch abre un sitio web o una aplicación solo si su
configuración de seguridad es igual o superior a la de la aplicación que contiene la función. Si, por ejemplo,
agrega la función de Inicio a una aplicación que se ejecutará en la zona de seguridad sitios de confianza ,
asegúrese de que el sitio web o la aplicación que desea que la función abra se encuentra en la zona de sitios de
confianza o Intranet local (no en Sitios restringidos). Más información: cambiar la configuración de
seguridad y privacidad para Internet Explorer 11.
La función Param recupera un parámetro pasado a la aplicación cuando se inició. Si no se pasó el parámetro
con nombre, Param devuelve blank.
Sintaxis
Download( Address )
Address: requerido. La dirección de un recurso web para descargar.
Launch( Address [; ParameterName1; ParameterValue1; ... ] )
Address: requerido. La dirección de una página web o el identificador de una aplicación que se va a iniciar.
ParameterName(s) : valor opcional. Nombre del parámetro.
ParameterValue(s) : valor opcional. Valores de parámetro correspondientes para pasar a la aplicación o la
página web.
Param ( ParameterName )
ParameterName: requerido. El nombre del parámetro pasado a la aplicación.
Función Patch en PowerApps
08/10/2019 • 12 minutes to read
Modifica o crea uno o varios registros de un origen de datos o combina registros fuera de
un origen de datos.
Use la función Patch para modificar registros en situaciones complejas, como cuando se
realizan actualizaciones que no requieren interacción del usuario o se usan formularios que
abarcan varias pantallas.
En situaciones menos complejas, puede utilizar el control Formulario de edición para
actualizar registros en un origen de datos con mayor facilidad. Cuando agrega un control
Formulario de edición, proporciona a los usuarios un formulario para rellenar y después
guarda los cambios en un origen de datos. Para más información, consulte Descripción de
los formularios de datos.
Información general
Use la función Patch para modificar uno o varios registros de un origen de datos. Los
valores de campos específicos se modifican sin que otras propiedades se vean afectadas. Por
ejemplo, esta fórmula cambia el número de teléfono de un cliente llamado Contoso:
Patch( Customers; First( Filter( Customers; Name = "Contoso" ) ); { Phone: “1-212-555-
1234” } )
Use Patch con la función Defaults para crear registros. Use este comportamiento para
crear una sola pantalla tanto para crear como para editar registros. Por ejemplo, la siguiente
fórmula crea un registro para un cliente llamado Contoso:
Patch( Customers; Defaults( Customer ); { Name: “Contoso” } )
Incluso si no está trabajando con un origen de datos, puede usar Patch para combinar dos o
más registros. Por ejemplo, esta fórmula combina dos registros en uno que identifica tanto
el número de teléfono como la ubicación de Contoso:
Patch( { Name: "Contoso"; Phone: “1-212-555-1234” }; { Name: "Contoso"; Location:
“Midtown” } )
Descripción
Modificar o crear un registro en un origen de datos
Para usar esta función con un origen de datos, especifique el origen de datos y, a
continuación, especifique un registro base:
Para modificar un registro, el registro base debe proceder de un origen de datos. El
registro base puede proceder de una propiedad Items de la galería, haberse colocado en
una variable de contexto o proceder de algún otro sitio. Sin embargo, debe poder realizar
un seguimiento del registro base hasta el origen de datos. Esto es importante, ya que el
registro incluirá información adicional para ayudar a encontrar el registro para la
modificación.
Para crear un registro, use la función Defaults para crear un registro base con valores
predeterminados.
A continuación, especifique uno o más registros de cambio, cada uno de los cuales contenga
nuevos valores de propiedad que reemplacen los valores de propiedad en el registro base.
Los registros de cambio se procesan en orden, desde el principio de la lista de argumentos
hasta el final, donde los valores de propiedad últimos reemplazan a los primeros.
El valor devuelto de Patch es el registro modificado o creado. Si ha creado un registro, el
valor devuelto puede incluir propiedades que el origen de datos generó automáticamente.
Al actualizar un origen de datos, pueden surgir uno o varios problemas. Use la función
Errors para identificar y examinar los problemas, como se describe en Working with Data
Sources (Uso de orígenes de datos).
Las funciones relacionadas incluyen Update , que puede usar para reemplazar un registro
entero, o Collect , que puede usar para crear un registro. Puede usar la función UpdateIf
para modificar propiedades específicas de varios registros según una condición.
Modificar o crear un conjunto de registros en un origen de datos
Patch también puede utilizarse para crear o modificar varios registros con una sola llamada.
En lugar de pasar un único registro base, se puede proporcionar una tabla de registros base
en el segundo argumento. También se proporcionan registros de cambio en una tabla, que se
corresponden uno a uno con los registros base. El número de registros en cada tabla de
cambios debe ser el mismo que el número de registros en la tabla base.
Cuando se usa Patch de esta manera, el valor devuelto también es una tabla donde cada
registro se corresponde uno a uno con los registros base y de cambio.
Combinar registros fuera de un origen de datos
Especifique dos o más registros que desee combinar. Los registros se procesan en orden
desde el principio de la lista de argumentos hasta el final, donde los valores de propiedad
últimos reemplazan a los primeros.
Patch devuelve el registro combinado y no modifica sus argumentos ni los registros de
ningún origen de datos.
Sintaxis
Modificar o crear un registro en un origen de datos
Patch( DataSource; BaseRecord; ChangeRecord1 [; ChangeRecord2; … ])
DataSource: requerido. El origen de datos que contiene el registro que desea modificar o
que contendrá el registro que desea crear.
BaseRecord: valor necesario. El registro para modificar o crear. Si el registro proviene de
un origen de datos, el registro se encuentra y se modifica. Si se usa el resultado de
Defaults , se crea un registro.
ChangeRecord (s) : requerido. Uno o más registros que contienen propiedades para
modificar en BaseRecord. Los registros de cambio se procesan en orden, desde el
principio de la lista de argumentos hasta el final, donde los valores de propiedad últimos
reemplazan a los primeros.
Modificar o crear un conjunto de registros en un origen de datos
Patch( DataSource; BaseRecordsTable; ChangeRecordTable1 [; ChangeRecordTable2;... ] )
DataSource: requerido. El origen de datos que contiene los registros que desea modificar
o que contendrá los registros que desea crear.
BaseRecordTable: requerido. Una tabla de registros para modificar o crear. Si el registro
proviene de un origen de datos, el registro se encuentra y se modifica. Si se usa el
resultado de Defaults , se crea un registro.
ChangeRecordTable(s) : requerido. Una o varias tablas de registros que contienen
propiedades para modificar de cada registro de BaseRecordTable. Los registros de cambio
se procesan en orden, desde el principio de la lista de argumentos hasta el final, donde
los valores de propiedad últimos reemplazan a los primeros.
Combinar registros
Patch( Record1; Record2 [; …] )
Registro (s) : requerido. Al menos dos de los registros que desea combinar. Los registros se
procesan en orden desde el principio de la lista de argumentos hasta el final, donde los
valores de propiedad últimos reemplazan a los primeros.
Ejemplos
Modificar o crear un registro (en un origen de datos )
En estos ejemplos, modificará o creará un registro en un origen de datos denominado
IceCream, que contiene los datos de esta tabla y generará automáticamente los valores de
la columna ID:
Después de que se han evaluado las fórmulas anteriores, el origen de datos termina con
estos valores:
Combinar registros (fuera de un origen de datos )
Patch( { Name: "James"; Sco Combina dos registros fuera de { Name: "Jim", Score: 90,
re: 90 }; un origen de datos: Passed: true }
{ Name: "Jim"; Passed: true } Los valores de la
) columna Name de cada
registro no coinciden. El
resultado contiene el
valor (Jim) en el registro
que se aproxima más al
final de la lista de
argumentos en lugar
del valor (James) en el
registro que está más
cerca del principio.
El primer registro
contiene una columna
(Score) que no existe
en el segundo registro.
El resultado contiene
esa columna con su
valor (90).
El segundo registro
contiene una columna
(Passed) que no existe
en el primer registro. El
resultado contiene esa
columna con su valor
(true).
Funciones Acos, Acot, Asin, Atan, Atan2, Cos, Cot,
Degrees, Pi, Radians, Sin y Tan en PowerApps
08/10/2019 • 9 minutes to read
Descripción
Funciones principales
La función Cos devuelve el coseno de su argumento, un ángulo especificado en radianes.
La función Cot devuelve la cotangente de su argumento, un ángulo especificado en radianes.
La función Sin devuelve el seno de su argumento, un ángulo especificado en radianes.
La función Tan devuelve la tangente de su argumento, un ángulo especificado en radianes.
Funciones inversas
El Acos función devuelve el arcocoseno, o coseno inverso, de su argumento. El arcocoseno es el ángulo cuyo
coseno es el argumento. El ángulo devuelto se expresa en radianes en el intervalo de 0 (cero) a π.
La función Acot devuelve el valor principal de la arcocotangente, o cotangente inversa, de su argumento. El ángulo
devuelto se expresa en radianes en el intervalo de 0 (cero) a π.
La función Asin devuelve el arcoseno, o seno inverso, de su argumento. El arcoseno es el ángulo cuyo seno es el
argumento. El ángulo devuelto se expresa en radianes en el intervalo de -π/2 a π/2.
La función Atan devuelve la arcotangente, o tangente inversa, de su argumento. La arcotangente es el ángulo cuya
tangente es el argumento. El ángulo devuelto se expresa en radianes en el intervalo de -π/2 a π/2.
La función Atan2 devuelve la arcotangente, o tangente inversa, de las coordenadas x e y especificadas como
argumentos. La arcotangente es el ángulo desde el eje x a una línea que contiene el origen (0, 0) y un punto con las
coordenadas (x, y). El ángulo se expresa en radianes entre -π y π, excluyendo -π. Un resultado positivo representa
un ángulo con rotación levógira (hacia la izquierda) desde el eje x; un resultado negativo representa un ángulo con
rotación dextrógira (hacia la derecha). Atan2( a; b ) es igual a Atan( b/a ) , excepto que a puede ser igual a 0 (cero)
con la función Atan2.
Funciones auxiliares
La función Degrees convierte radianes en grados. π radianes equivalen a 180 grados.
La función Pi devuelve el número transcendente π, que comienza 3,141592...
La función Radians convierte grados en radianes.
Notas
Si pasa un solo número a estas funciones, el valor que se devuelve es un resultado único. Si pasa una tabla de una
sola columna que contiene números, el valor que se muestra es una tabla de resultados de una sola columna, un
resultado para cada registro en la tabla del argumento. Si tiene una tabla con varias columnas, puede convertirla en
una tabla de una sola columna, como se describe en cómo trabajar con tablas.
Si algún argumento resultase en un valor no definido, el resultado es blank. Esto puede ocurrir, por ejemplo, al
utilizar las funciones inversas con argumentos que están fuera del intervalo.
Sintaxis
Funciones principales
Cos( Radians )
Cot( Radians )
Sin( Radians )
Tan( Radians )
Radians: requerido. Ángulo sobre el cual operar.
Cos( SingleColumnTable )
Cot( SingleColumnTable )
Sin( SingleColumnTable )
Tan( SingleColumnTable )
SingleColumnTable: requerido. Una tabla de ángulos de una sola columna sobre la que se va a actuar.
Funciones inversas
Acos( Number )
Acot( Number )
Asin( Number )
Atan( Number )
Number: requerido. El número sobre el cual operar.
Acos( SingleColumnTable )
Acot( SingleColumnTable )
Asin( SingleColumnTable )
Atan( SingleColumnTable )
SingleColumnTable: requerido. Una tabla de números de una sola columna sobre la cual operar.
Atan2( X; Y )
X: requerido. coordenadas del eje X.
Y: requerido. coordenadas del eje Y.
Funciones del asistente
Degrees( Radians )
Radians: requerido. Ángulo en radianes para convertir en grados.
Pi()
Radians( Degrees )
Degrees: requerido. Ángulo en grados para convertir en radianes.
Ejemplos
Número único
FÓRMULA DESCRIPCIÓN RESULTADO
Descripción
La función EncodeUrl codifica una cadena de dirección URL, reemplazando algunos caracteres no alfanuméricos
por% y un número hexadecimal.
La función Plaintext quita las etiquetas HTML y XML, convirtiendo algunas etiquetas como estas en un símbolo
adecuado:
"
El valor devuelto de estas funciones es la cadena codificada o descodificada. Esta función no quita todas las
etiquetas HTML y XML.
Sintaxis
EncodeUrl( String )
String: requerido. Dirección URL que se va a codificar.
PlainText( String )
String: requerido. Cadena de la que se van a quitar las etiquetas HTML y XML.
Ejemplos
Si muestra una fuente RSS en una galería de texto y, después, establece la propiedad Text de una etiqueta de esa
galería en ThisItem.description, la etiqueta podría mostrar el código HTML o XML sin formato, como en este
ejemplo:
Calcula valores absolutos, logaritmos naturales, raíces cuadradas y los resultados de elevar e o cualquier número a
una potencia especificada.
Descripción
La función Abs muestra el valor no negativo de su argumento. Si el número es negativo, Abs muestra el
equivalente positivo.
La función Exp muestra e elevado a la potencia de su argumento. El número trascendente e comienza con
2,7182818...
La función Ln muestra el argumento natural (e base) de su argumento.
La función Power muestra un número elevado a una potencia. Es equivalente a usar el operador ^ .
La función Sqrt muestra el número que, cuando se multiplica por sí mismo, es igual a su argumento.
Si pasa un solo número, el valor que se muestra es un resultado único basado en la función llamada. Si pasa una
tabla de una sola columna que contiene números, el valor que se muestra es una tabla de resultados de una sola
columna, un resultado para cada registro en la tabla del argumento. Si tiene una tabla con varias columnas, puede
convertirla en una tabla de una sola columna, como se describe en cómo trabajar con tablas.
Si algún argumento pudiera mostrar un valor no definido, el resultado queda en blanco. Por ejemplo, esto puede
pasar con las raíces cuadradas y los logaritmos de números negativos.
Sintaxis
Abs( Number )
Exp( Number )
Ln( Number )
Sqrt( Number )
Number: requerido. El número sobre el cual operar.
Power( Base; Exponente )
Base: requerido. Número base que se va a elevar.
Exponent: requerido. El exponente al que se eleva el número base.
Abs( SingleColumnTable )
Exp( SingleColumnTable )
Ln( SingleColumnTable )
Sqrt( SingleColumnTable )
SingleColumnTable: requerido. Una tabla de números de una sola columna sobre la cual operar.
Ejemplos
Número único
FÓRMULA DESCRIPCIÓN RESULTADO
Convierte las letras de una cadena de texto en todo minúsculas, todo mayúsculas o en mayúsculas o minúsculas,
según corresponda.
Descripción
Las funciones Lower, Upper y Proper convierten las letras de una cadena en mayúsculas o minúsculas.
Lower convierte las letras mayúsculas en minúsculas.
Upper convierte las letras minúsculas en mayúsculas.
Proper convierte la primera letra de cada palabra en mayúscula si está en minúscula o en minúscula si está en
mayúscula.
Las tres funciones omiten los caracteres que no son letras.
Si se pasa una cadena única, el valor devuelto es la versión convertida de dicha cadena. Si se pasa una tabla de una
columna que contiene cadenas, el valor devuelto es una tabla de una columna de cadenas convertidas. Si tiene una
tabla con varias columnas, puede convertirla en una tabla de una sola columna, como se describe en cómo trabajar
con tablas.
Sintaxis
Lower( String )
Upper( String )
Proper( String )
String: requerido. La cadena que se va a convertir.
Lower( SingleColumnTable )
Upper( SingleColumnTable )
Proper( SingleColumnTable )
SingleColumnTable: requerido. Una tabla de una columna de cadenas para convertir.
Ejemplos
Cadena única
En los ejemplos de esta sección se usa un control de entrada de texto, llamado Author, como origen de datos. El
control contiene la cadena "E". E. CummINGS".
Cada fórmula devuelve una tabla de una columna que contiene las cadenas convertidas.
Descripción
Funciones principales
La función Cos devuelve el coseno de su argumento, un ángulo especificado en radianes.
La función Cot devuelve la cotangente de su argumento, un ángulo especificado en radianes.
La función Sin devuelve el seno de su argumento, un ángulo especificado en radianes.
La función Tan devuelve la tangente de su argumento, un ángulo especificado en radianes.
Funciones inversas
El Acos función devuelve el arcocoseno, o coseno inverso, de su argumento. El arcocoseno es el ángulo cuyo
coseno es el argumento. El ángulo devuelto se expresa en radianes en el intervalo de 0 (cero) a π.
La función Acot devuelve el valor principal de la arcocotangente, o cotangente inversa, de su argumento. El ángulo
devuelto se expresa en radianes en el intervalo de 0 (cero) a π.
La función Asin devuelve el arcoseno, o seno inverso, de su argumento. El arcoseno es el ángulo cuyo seno es el
argumento. El ángulo devuelto se expresa en radianes en el intervalo de -π/2 a π/2.
La función Atan devuelve la arcotangente, o tangente inversa, de su argumento. La arcotangente es el ángulo cuya
tangente es el argumento. El ángulo devuelto se expresa en radianes en el intervalo de -π/2 a π/2.
La función Atan2 devuelve la arcotangente, o tangente inversa, de las coordenadas x e y especificadas como
argumentos. La arcotangente es el ángulo desde el eje x a una línea que contiene el origen (0, 0) y un punto con las
coordenadas (x, y). El ángulo se expresa en radianes entre -π y π, excluyendo -π. Un resultado positivo representa
un ángulo con rotación levógira (hacia la izquierda) desde el eje x; un resultado negativo representa un ángulo con
rotación dextrógira (hacia la derecha). Atan2( a; b ) es igual a Atan( b/a ) , excepto que a puede ser igual a 0 (cero)
con la función Atan2.
Funciones auxiliares
La función Degrees convierte radianes en grados. π radianes equivalen a 180 grados.
La función Pi devuelve el número transcendente π, que comienza 3,141592...
La función Radians convierte grados en radianes.
Notas
Si pasa un solo número a estas funciones, el valor que se devuelve es un resultado único. Si pasa una tabla de una
sola columna que contiene números, el valor que se muestra es una tabla de resultados de una sola columna, un
resultado para cada registro en la tabla del argumento. Si tiene una tabla con varias columnas, puede convertirla en
una tabla de una sola columna, como se describe en cómo trabajar con tablas.
Si algún argumento resultase en un valor no definido, el resultado es blank. Esto puede ocurrir, por ejemplo, al
utilizar las funciones inversas con argumentos que están fuera del intervalo.
Sintaxis
Funciones principales
Cos( Radians )
Cot( Radians )
Sin( Radians )
Tan( Radians )
Radians: requerido. Ángulo sobre el cual operar.
Cos( SingleColumnTable )
Cot( SingleColumnTable )
Sin( SingleColumnTable )
Tan( SingleColumnTable )
SingleColumnTable: requerido. Una tabla de ángulos de una sola columna sobre la que se va a actuar.
Funciones inversas
Acos( Number )
Acot( Number )
Asin( Number )
Atan( Number )
Number: requerido. El número sobre el cual operar.
Acos( SingleColumnTable )
Acot( SingleColumnTable )
Asin( SingleColumnTable )
Atan( SingleColumnTable )
SingleColumnTable: requerido. Una tabla de números de una sola columna sobre la cual operar.
Atan2( X; Y )
X: requerido. coordenadas del eje X.
Y: requerido. coordenadas del eje Y.
Funciones del asistente
Degrees( Radians )
Radians: requerido. Ángulo en radianes para convertir en grados.
Pi()
Radians( Degrees )
Degrees: requerido. Ángulo en grados para convertir en radianes.
Ejemplos
Número único
FÓRMULA DESCRIPCIÓN RESULTADO
Descripción
La función Rand devuelve un número seudoaleatorio que es mayor o igual que 0 y menor que 1.
Funciones volátiles
Rand es una función volátil. Cada vez que se evalúa la función, esta devuelve un valor diferente.
Cuando se usa en una fórmula de flujo de datos, una función volátil solo devuelve un valor diferente si se vuelve a
evaluar la fórmula en la que aparece. Si no hay ningún otro cambio en la fórmula, presenta el mismo valor durante
la ejecución de la aplicación.
Por ejemplo, un control de etiqueta con Label1.Text = Rand() no cambiará mientras la aplicación esté activa. Solo
se generará un nuevo valor si se cierra y se vuelve a abrir la aplicación.
Si la función forma parte de una fórmula en la que haya cambiado algún elemento más, se volverá a evaluar. Por
ejemplo, si modificamos el ejemplo para incluir un control deslizante con Label1.Text = Slider1.Value + Rand()
, se generará un nuevo número aleatorio cada vez que cambie el valor del control deslizante. Asimismo, se volverá
a evaluar la propiedad de texto de la etiqueta. Encontrará el ejemplo a continuación.
Cuando se usa en una fórmula de comportamiento, Rand se evalúa cada vez que se evalúa la fórmula de
comportamiento. Encontrará un ejemplo a continuación.
Sintaxis
Rand()
Ejemplos
Mostrar un número aleatorio diferente a medida que cambia la entrada del usuario
1. Agregue un control Control deslizante y, si tiene otro nombre, cámbielo a Slider1.
2. Agregue un control Label y establezca su propiedad Text en esta fórmula:
Slider1.Value + Rand()
La etiqueta muestra 50, que es el valor predeterminado del control deslizante, más un decimal aleatorio:
3. Cambie el valor del control deslizante manteniendo la tecla Alt presionada.
Cada vez que cambie el valor del control deslizante, la parte decimal de la etiqueta mostrará un número
aleatorio diferente:
3. Haga clic en el botón o púlselo para seleccionarlo, manteniendo la tecla Alt presionada.
En la tabla de datos se muestran cinco números decimales aleatorios:
4. Vuelva a seleccionar el botón para mostrar una lista de números aleatorios diferentes:
Para generar un número aleatorio único en lugar de una tabla, use Set( RandomNumber; Rand() ) .
Función Refresh en PowerApps
07/10/2019 • 2 minutes to read
Descripción
La función Refresh recupera una nueva copia de un origen de datos. Verá los cambios que realizaron otros
usuarios.
Refresh no tiene ningún valor devuelto y solo se puede usar en fórmulas de comportamiento.
Sintaxis
Refresh( DataSource )
DataSource: requerido. El origen de datos que desea actualizar.
Ejemplo
En este ejemplo, actualizará el origen de datos denominado IceCream, que empieza con estos datos:
Un usuario de otro dispositivo cambia la columna Quantity en el registro Strawberry a 400. No verá este
cambio hasta que se ejecuta esta fórmula:
Refresh( IceCream )
Una vez ejecutada la fórmula, las galerías que están enlazadas al origen de datos IceCream mostrarán el valor
actualizado de Strawberry:
Funciones de relación y desrelación en PowerApps
26/11/2019 • 19 minutes to read
Relacionar y desrelacionar registros de dos entidades a través de una relación de uno a varios o de varios a varios.
Descripción
La función Relate vincula dos registros a través de una relación de uno a varios o de varios a varios en Common
Data Service. La función no relacional invierte el proceso y quita el vínculo.
En el caso de las relaciones uno a varios, la entidad muchos tiene un campo de clave externa que apunta a un
registro de la entidad. Relacionar establece este campo para que señale a un registro específico de la entidad,
mientras que sin relación establece este campo en en blanco. Si el campo ya está establecido cuando se llama a
Relate , el vínculo existente se pierde en favor del nuevo vínculo. También puede establecer este campo mediante la
función patch o un control Edit Form . no es necesario usar la función Relate .
En el caso de las relaciones de varios a varios, el sistema que vincula los registros mantiene una tabla combinada
oculta. No se puede obtener acceso a esta tabla de combinación directamente; solo se puede leer a través de una
proyección uno a varios y establecerse a través de las funciones relacionar y no relacionar . Ninguna entidad
relacionada tiene una clave externa.
Los datos de la entidad que especifique en el primer argumento se actualizarán para reflejar el cambio, pero los
datos de la entidad que especifique en el segundo argumento no lo serán. Esos datos se deben actualizar
manualmente con la función de actualización para mostrar el resultado de la operación.
Estas funciones nunca crean o eliminan un registro. Solo relacionan o desrelacionan dos registros que ya existen.
Estas funciones solo se pueden usar en fórmulas de comportamiento.
NOTE
Estas funciones forman parte de una característica de vista previa y su comportamiento solo está disponible cuando está
habilitada la característica datos relacionales, conjuntos de opciones y otras características nuevas de CDs . Se trata de
una configuración de nivel de aplicación que está habilitada de forma predeterminada para las nuevas aplicaciones. Para
encontrar este modificador de características, abra el menú archivo , seleccione Configuración de la aplicacióny, a
continuación, seleccione Configuración avanzada. Sus comentarios nos sirven mucho: denos su opinión en los foros de la
comunidad de PowerApps.
Sintaxis
Relacionar( Entity1RelatedTable; Entity2Record )
Entity1RelatedTable : requerido. Para un registro de Entity1, la tabla de registros Entity2 relacionados con una
relación de uno a varios o de varios a varios.
Entity2Record : requerido. Registro Entity2 que se va a agregar a la relación.
No relacionar( Entity1RelatedTable; Entity2Record )
Entity1RelatedTable : requerido. Para un registro de Entity1, la tabla de registros Entity2 relacionados con una
relación de uno a varios o de varios a varios.
Entity2Record : requerido. Registro Entity2 que se va a quitar de la relación.
Ejemplos
Considere una entidad Products con las siguientes relaciones, tal como se ha visualizado en el visor de entidades
del portal de PowerApps:
Los productos y las reservas se relacionan a través de una relación de uno a varios. Para relacionar el primer
registro de la entidad reservas con el primer registro de la entidad productos :
Relate( First( Products ).Reservations; First( Reservations ) )
En ningún momento se crea o quita un registro, solo se modificó la relación entre los registros.
Los productos y los contactos se relacionan a través de una relación de varios a varios. Para relacionar el primer
registro de la entidad Contacts con el primer registro de la entidad Products :
Relate( First( Products ).Contacts; First( Contacts ) )
Como las relaciones varios a varios son simétricas, podríamos hacer esto también en la dirección opuesta:
Relate( First( Contacts ).Products; First( Products ) )
de
Unrelate( First( Contacts ).Products; First( Products ) )
En el siguiente tutorial se realizan exactamente estas operaciones en estas entidades mediante una aplicación con
controles de Galería y de cuadro combinado para seleccionar los registros implicados.
Estos ejemplos dependen de los datos de ejemplo que se instalan en el entorno. Cree un entorno de prueba que
incluya datos de ejemplo o agregue datos de ejemplo a un entorno existente.
Uno a varios
Función Relate
En primer lugar, creará una aplicación sencilla para ver y reasignar las reservas asociadas a un producto.
1. Cree una aplicación de Tablet PC en blanco.
2. En la pestaña Vista, seleccione Orígenes de datos.
3. En el panel datos , seleccione Agregar origen de datos > Common Data Service > productos >
conectar.
La entidad Products forma parte de los datos de ejemplo cargados anteriormente.
4. En la pestaña Insertar , agregue un control Galería vertical en blanco.
5. Asegúrese de que el control que acaba de agregar se denomina Gallery1y, a continuación, muévalo y
cambie su tamaño para rellenar el lado izquierdo de la pantalla.
6. En la pestaña propiedades , establezca la propiedad elementos de Gallery1en productos y su diseño en
imagen y título.
8. Seleccione la pantalla para evitar que se inserte el siguiente elemento en Gallery1. Agregue un segundo
control Galería vertical en blanco y asegúrese de que se denomina Gallery2.
Gallery2 mostrará las reservas de cualquier producto que seleccione el usuario en Gallery1.
9. Mueva y cambie el tamaño de Gallery2 para rellenar el cuadrante superior derecho de la pantalla.
10. opta Agregue el control de etiqueta azul sobre Gallery2, como se muestra en el gráfico siguiente.
11. En la barra de fórmulas, establezca la propiedad Items de Gallery2 en Gallery1. Selected. reservas.
13. En Gallery2, agregue un control de cuadro combinado , asegúrese de que se llama ComboBox1y, a
continuación, muévalo y cambie su tamaño para evitar que se bloqueen los demás controles de Gallery2.
14. En la pestaña propiedades , establezca la propiedad elementos de ComboBox1en productos.
15. Desplácese hacia abajo en la pestaña propiedades y establezca la propiedad Permitir selección múltiple
de ComboBox1en OFF.
16. En la barra de fórmulas, establezca la propiedad DefaultSelectedItems de ComboBox1en ThisItem. '
Product reservation ' .
Cuando el usuario selecciona este icono, la reserva actual cambia al producto que el usuario seleccionó en
ComboBox1.
No Relacionate (función )
Llegados a este punto, puede trasladar la relación de un registro a otro, pero no puede quitar la relación por
completo. Puede usar la función no relacionar para desconectar un registro de reserva de cualquier producto.
1. En la pestaña Vista, seleccione Orígenes de datos.
2. En el panel datos , seleccione Agregar origen de datos > Common Data Service > reservas >
conectar.
3. En Gallery2, establezca la fórmula alseleccionar para NextArrow2 en esta fórmula:
Aparece una advertencia de delegación, pero no importa la pequeña cantidad de datos en este ejemplo.
Con estos cambios, los usuarios pueden borrar la selección en ComboBox1 para un contacto si esa persona no ha
reservado un producto. Los contactos que no han reservado un producto aparecen en Gallery2_1 en los que los
usuarios pueden asignar cada contacto a un producto.
Varios a varios
Crear una relación de varios a varios
Los datos de ejemplo no incluyen una relación de varios a varios, pero creará uno entre la entidad productos y la
entidad contactos. Los usuarios pueden relacionar cada producto con más de un contacto y cada contacto con más
de un producto.
1. En esta página, seleccione datos en la barra de navegación izquierda y, a continuación, seleccione
entidades.
3. Para crear la vista inversa, cambie estas fórmulas en los controles de Screen1_1:
Screen1_1. divisible = Refresh( Contacts )
Gallery1_1. Items = Contacts
Title1_1. Text = ThisItem.'Full Name'
Label1_1. Text = "Selected Contact Products"
Gallery2_1. Items = Gallery1_1.Selected.Products
Title2_1. Text = ThisItem.Name
Icon1_1. Select = Unrelate( Gallery1_1.Selected.Products; ThisItem )
ComboBox1_1. Items = Products
Icon2_1. Select = Relate( Gallery1_1.Selected.Products; ComboBox1_1.Selected )
El resultado tendrá un aspecto muy similar al de la pantalla anterior, pero se incluye en la relación del lado de
los contactos .
4. Inserte un icono de flechas hacia arriba y establezca su propiedad Alseleccionar en Navigate (Screen1,
None) . Haga lo mismo en Screen1 con la fórmula navigate (Screen1_1, None) .
Con esta nueva pantalla, los usuarios pueden agregar un contacto a un producto y, a continuación, pasar a una vista
de contactos y ver el producto asociado. Las relaciones son simétricas y se comparten entre las dos pantallas.
Funciones Remove y RemoveIf en PowerApps
08/10/2019 • 6 minutes to read
Descripción
Función Remove
Use la función Remove para quitar un registro o registros específicos de un origen de datos.
Para las colecciones, tiene que coincidir con todo el registro. Puede usar el argumento Todo para quitar todas las
copias de un registro; en caso contrario, se quita solo una copia del registro.
Función RemoveIf
Use la función RemoveIf para quitar un registro o registros en función de una condición o un conjunto de
condiciones. Cada condición puede ser cualquier fórmula que da como resultado true o false y puede hacer
referencia a columnas del origen de datos por su nombre. Cada condición se evalúa individualmente para cada
registro, y si todas las condiciones se evalúan como true se elimina el registro.
Remove y RemoveIf devuelven el origen de datos modificado como una tabla. Puede usar ambas funciones
únicamente en fórmulas de comportamiento.
También puede usar la función Clear para eliminar registros en un origen de datos.
Delegación
Cuando se usan con un origen de datos, estas funciones no se pueden delegar. Solo se recuperará la primera parte
del origen de datos, y después se aplicará la función. Es posible que el resultado no represente la historia completa.
Aparecerá una advertencia en el momento de la creación para recordarle esta limitación y para sugerirle un cambio
a alternativas delegables siempre que sea posible. Para obtener más información, consulte la información general
sobre delegación
Sintaxis
Remove( DataSource; Record1 [; Record2; ... ] [; All ] )
DataSource: requerido. El origen de datos que contiene el registro o los registros que desea quitar.
Registro (s) : requerido. El registro o los registros que se van a quitar.
Todo: opcional. En una colección, el mismo registro puede aparecer más de una vez. Puede agregar el
argumento Todo para quitar todas las copias del registro.
Remove( DataSource; Table [; All ] )
DataSource: requerido. El origen de datos que contiene los registros que desea quitar.
Table: requerido. Tabla de registros que se van a quitar.
Todo: opcional. En una colección, el mismo registro puede aparecer más de una vez. Puede agregar el
argumento Todo para quitar todas las copias del registro.
RemoveIf( DataSource; Condición [;...])
DataSource: requerido. El origen de datos que contiene el registro o los registros que desea quitar.
Condition(s) : requerido. Una fórmula que se evalúa como true para el registro o los registros que se van a
quitar. Puede usar nombres de columna de DataSource en la fórmula. Si especifica varias Condiciones, todas se
deben evaluar como true para el registro o registros que va a quitar.
Ejemplos
En estos ejemplos, va a quitar un registro o registros de un origen de datos que se denomina IceCream y que
comienza con los datos en esta tabla:
Paso a paso
1. Importe o cree una colección denominada Inventory y muéstrela en una galería, como se describe en el
artículo sobre la visualización de datos en una galería.
2. En la galería, establezca la propiedad OnSelect de la imagen en la expresión:
Remove(Inventory; ThisItem )
3. Presione F5 y, a continuación, seleccione una imagen en la galería.
El elemento se quita de la galería y la colección.
Funciones Remove y RemoveIf en PowerApps
08/10/2019 • 6 minutes to read
Descripción
Función Remove
Use la función Remove para quitar un registro o registros específicos de un origen de datos.
Para las colecciones, tiene que coincidir con todo el registro. Puede usar el argumento Todo para quitar
todas las copias de un registro; en caso contrario, se quita solo una copia del registro.
Función RemoveIf
Use la función RemoveIf para quitar un registro o registros en función de una condición o un conjunto
de condiciones. Cada condición puede ser cualquier fórmula que da como resultado true o false y puede
hacer referencia a columnas del origen de datos por su nombre. Cada condición se evalúa
individualmente para cada registro, y si todas las condiciones se evalúan como true se elimina el registro.
Remove y RemoveIf devuelven el origen de datos modificado como una tabla. Puede usar ambas
funciones únicamente en fórmulas de comportamiento.
También puede usar la función Clear para eliminar registros en un origen de datos.
Delegación
Cuando se usan con un origen de datos, estas funciones no se pueden delegar. Solo se recuperará la
primera parte del origen de datos, y después se aplicará la función. Es posible que el resultado no
represente la historia completa. Aparecerá una advertencia en el momento de la creación para recordarle
esta limitación y para sugerirle un cambio a alternativas delegables siempre que sea posible. Para
obtener más información, consulte la información general sobre delegación
Sintaxis
Remove( DataSource; Record1 [; Record2; ... ] [; All ] )
DataSource: requerido. El origen de datos que contiene el registro o los registros que desea quitar.
Registro (s) : requerido. El registro o los registros que se van a quitar.
Todo: opcional. En una colección, el mismo registro puede aparecer más de una vez. Puede agregar el
argumento Todo para quitar todas las copias del registro.
Remove( DataSource; Table [; All ] )
DataSource: requerido. El origen de datos que contiene los registros que desea quitar.
Table: requerido. Tabla de registros que se van a quitar.
Todo: opcional. En una colección, el mismo registro puede aparecer más de una vez. Puede agregar el
argumento Todo para quitar todas las copias del registro.
RemoveIf( DataSource; Condición [;...])
DataSource: requerido. El origen de datos que contiene el registro o los registros que desea quitar.
Condition(s) : requerido. Una fórmula que se evalúa como true para el registro o los registros que se
van a quitar. Puede usar nombres de columna de DataSource en la fórmula. Si especifica varias
Condiciones, todas se deben evaluar como true para el registro o registros que va a quitar.
Ejemplos
En estos ejemplos, va a quitar un registro o registros de un origen de datos que se denomina IceCream
y que comienza con los datos en esta tabla:
Paso a paso
1. Importe o cree una colección denominada Inventory y muéstrela en una galería, como se describe en
el artículo sobre la visualización de datos en una galería.
2. En la galería, establezca la propiedad OnSelect de la imagen en la expresión:
Remove(Inventory; ThisItem )
3. Presione F5 y, a continuación, seleccione una imagen en la galería.
El elemento se quita de la galería y la colección.
Funciones AddColumns, DropColumns, RenameColumns y
ShowColumns en PowerApps
08/10/2019 • 13 minutes to read
Forma una tabla agregando, quitando, cambiando el nombre y seleccionando sus columnas.
Información general
Estas funciones dan forma a una tabla mediante el ajuste de sus columnas:
Reducción de una tabla que contiene varias columnas a una sola columna para su uso con las funciones de columna única, como
Lower o Abs .
Incorporación de una columna calculada a una tabla (por ejemplo, una columna Total Price que muestre el resultado de multiplicar
Quantity por Unit Price).
Cambio del nombre de una columna a algo más significativo, para mostrarla a los usuarios o para su uso en las fórmulas.
Una tabla es un valor en PowerApps, como una cadena o un número. Puede especificar una tabla como un argumento en una fórmula, y
las funciones pueden devolver una tabla como resultado.
NOTE
Las funciones que se describen en este tema no modifican la tabla original. En su lugar, toman esa tabla como argumento y devuelven una nueva
tabla con una transformación aplicada. Consulte cómo trabajar con tablas para más detalles.
No se pueden modificar las columnas de un origen de datos mediante el uso de estas funciones. Tiene que modificar los datos en su
origen. Puede agregar columnas a una colección con la función Collect . Consulte cómo trabajar con fuentes de datos para más detalles.
Descripción
La función AddColumns agrega una columna a una tabla y una fórmula define los valores de esa columna. Las columnas existentes
permanecen sin modificar.
La fórmula se evalúa para cada registro de la tabla.
Los campos de registro que se están procesando actualmente estarán disponibles en la formula. Solo tiene que hacer referencia a los
campos por su nombre, como con cualquier otro valor. También puede hacer referencia a propiedades de control y a otros valores desde
toda la aplicación. Para obtener más detalles, vea los ejemplos siguientes y trabajar con el ámbito de registros.
La función DropColumns excluye las columnas de una tabla. El resto de las columnas permanece sin modificar. DropColumns excluye
las columnas y ShowColumns las incluye.
Use la función RenameColumns para cambiar el nombre de una o varias columnas de una tabla al proporcionar al menos un par de
argumentos que especifiquen el nombre de una columna que contiene la tabla (el nombre antiguo, que se quiere reemplazar) y el
nombre de una columna que la tabla no contiene (el nombre nuevo, que se quiere usar). El nombre antiguo ya debe existir en la tabla y
el nuevo nombre no. Cada nombre de columna puede aparecer solo una vez en la lista de argumentos como un nombre de columna
antiguo o nuevo. Para cambiar el nombre de una columna por un nombre de columna existente, primero quite la columna existente con
DropColumns o cambie el nombre de la columna existente al anidar una función RenameColumns dentro de otra.
La función ShowColumns incluye columnas de una tabla y quita todas las demás columnas. Puede usar ShowColumns para crear una
tabla de una sola columna a partir de una tabla de varias columnas. ShowColumns incluye columnas y DropColumns las excluye.
Para todas estas funciones, el resultado es una nueva tabla con la transformación aplicada. La tabla original no se modifica. No se puede
modificar una tabla existente con una fórmula. SharePoint, Common Data Service, SQL Server y otros orígenes de datos proporcionan
herramientas para modificar las columnas de listas, entidades y tablas, a las que se suele hacer referencia como esquema. Las funciones
de este tema solo transforman una tabla de entrada, sin modificar la original, en una tabla de salida para su uso posterior.
Los argumentos de estas funciones admiten la delegación. Por ejemplo, una función de filtro que se usa como argumento para extraer
los registros relacionados realiza búsquedas en todas las listas, incluso si el ' [dbo]. [ AllListings] ' el origen de datos contiene un
millón de filas:
AddColumns( RealEstateAgents;
"Listings";
Filter( '[dbo].[AllListings]'; ListingAgentName = AgentName )
)
Sin embargo, el resultado de estas funciones está sujeto al límite de registros que no son de delegación. En este ejemplo, solo se
devuelven los registros 500, incluso si el origen de datos RealEstateAgents tiene 501 o más registros.
Si utiliza AddColumns de esta manera, el filtro debe realizar llamadas independientes en el origen de datos para cada uno de esos
primeros registros en RealEstateAgents, lo que provoca una gran cantidad de chatter de red. Si [dbo]. [ AllListings] es lo
suficientemente pequeño y no cambia con frecuencia, puede llamar a la función Collect en OnStart para almacenar en caché el origen
de datos en la aplicación cuando se inicia. Como alternativa, puede reestructurar la aplicación para que extraiga los registros
relacionados solo cuando el usuario los solicite.
Sintaxis
AddColumns( Table; ColumnName1; Formula1 [; ColumnName2; Formula2; ... ] )
Table: requerido. La tabla sobre la cual se opera.
ColumnName(s) : requerido. Nombres de las columnas para agregar. Tiene que especificar una cadena (por ejemplo, "Name" entre
comillas dobles incluidas) para este argumento.
Formula (s) : requerido. La fórmula o fórmulas para evaluar para cada registro. Se agregará el resultado como el valor de la nueva
columna correspondiente. Puede hacer referencia a otras columnas de la tabla en esta fórmula.
DropColumns( Table; ColumnName1 [; ColumnName2; ... ] )
Table: requerido. La tabla sobre la cual se opera.
ColumnName(s) : requerido. Nombres de las columnas para excluir. Tiene que especificar una cadena (por ejemplo, "Name" entre
comillas dobles incluidas) para este argumento.
Cambiarnombrecolumnas( TABLE; OldColumnName1; NewColumnName1 [; OldColumnName2; NewColumnName2;...])
Table: requerido. La tabla sobre la cual se opera.
OldColumnName: requerido. Nombre de una columna de la tabla original cuyo nombre se va a cambiar. Este elemento aparece en
primer lugar en el par de argumentos (o en primer lugar en cada par de argumentos si la fórmula incluye más de un par). Este
nombre tiene que ser una cadena (por ejemplo, "Name" con comillas dobles incluidas).
NewColumnName: requerido. Nombre de reemplazo. Este elemento aparece por último lugar en el par de argumentos (o por último
lugar en cada par de argumentos si la fórmula incluye más de un par). Tiene que especificar una cadena (por ejemplo, "Customer
Name" con comillas dobles incluidas) para este argumento.
ShowColumns( Table; ColumnName1 [; ColumnName2; ... ] )
Table: requerido. La tabla sobre la cual se opera.
ColumnName(s) : requerido. Nombres de las columnas para incluir. Tiene que especificar una cadena (por ejemplo, "Name" entre
comillas dobles incluidas) para este argumento.
Ejemplos
En los ejemplos en esta sección, use el origen de datos IceCreamSales, que contiene los datos de esta tabla:
Ninguno de estos ejemplos modificar el origen de datos IceCreamSales. Cada función transforma el valor del origen de datos como
una tabla y devuelve ese valor como resultado.
Paso a paso
Vamos a probar algunos de los ejemplos anteriores de este tema.
1. Cree una colección agregando un control de botón y estableciendo su propiedad alseleccionar en esta fórmula:
ClearCollect( IceCreamSales;
Table(
{ Flavor: "Strawberry"; UnitPrice: 1,99; QuantitySold: 20 };
{ Flavor: "Chocolate"; UnitPrice: 2,99; QuantitySold: 45 };
{ Flavor: "Vanilla"; UnitPrice: 1,50; QuantitySold: 35 }
)
)
ClearCollect( FirstExample;
AddColumns( IceCreamSales; "Revenue"; UnitPrice * QuantitySold )
)
4. En el menú archivo , seleccione coleccionesy, a continuación, seleccione IceCreamSales para mostrar esa recopilación.
Como se muestra en este gráfico, la segunda fórmula no modificó esta colección. La función AddColumns usó IceCreamSales
como argumento de solo lectura; la función no modificó la tabla a la que hace referencia ese argumento.
5. Seleccione FirstExample.
Como se muestra en este gráfico, la segunda fórmula devolvió una nueva tabla con la columna agregada. La función
ClearCollect capturó la nueva tabla en la colección FirstExample , agregando algo a la tabla original a medida que fluye a través
de la función sin modificar el origen:
Funciones Replace y Substitute en PowerApps
26/11/2019 • 6 minutes to read
Descripción
La función Replace identifica el texto que se debe reemplazar según la posición inicial y la longitud.
La función Substitute identifica el texto que se debe reemplazar buscando una cadena coincidente. Si se encuentra
más de una coincidencia, puede reemplazar todas ellas o especificar una para reemplazar.
Si pasa una única cadena, el valor devuelto es la cadena modificada. Si pasa una tabla de una sola columna que
contiene cadenas, el valor devuelto es la tabla de una sola columna con cadenas modificadas. Si tiene una tabla con
varias columnas, puede convertirla en una tabla de una sola columna, como se describe en cómo trabajar con
tablas.
Sintaxis
Replace( String; StartingPosition; NumberOfCharacters; NewString )
String: requerido. La cadena en la que se va a actuar.
StartingPosition: requerido. La posición del carácter en la que se va a iniciar el reemplazo. El primer carácter de
String está en la posición 1.
NumberOfCharacters: requerido. El número de caracteres que se van a reemplazar en String.
NewString: requerido. La cadena de reemplazo. El número de caracteres de este argumento puede diferir del
argumento NumberOfCharacters.
Substitute( String; OldString; NewString [; InstanceNumber ] )
String: requerido. La cadena en la que se va a actuar.
OldString: requerido. La cadena que se va a reemplazar.
NewString: requerido. La cadena de reemplazo. OldString y NewString pueden tener longitudes distintas.
InstanceNumber: opcional. Use este argumento para especificar la instancia de OldString que se va a
reemplazar si String contiene más de una instancia. Si no especifica este argumento, se reemplazarán todas las
instancias.
Replace( SingleColumnTable; StartingPosition; NumberOfCharacters; NewString )
SingleColumnTable: requerido. Una tabla de números de una sola columna sobre la que se va a actuar.
StartingPosition: requerido. La posición del carácter en la que se va a iniciar el reemplazo. El primer carácter de
cada cadena de la tabla se encuentra en la posición 1.
NumberOfCharacters: requerido. El número de caracteres que se van a reemplazar en cada cadena.
NewString: requerido. La cadena de reemplazo. El número de caracteres de este argumento puede diferir del
argumento NumberOfCharacters.
Substitute( SingleColumnTable; OldString; NewString [; InstanceNumber ] )
SingleColumnTable: requerido. Una tabla de números de una sola columna sobre la que se va a actuar.
OldString: requerido. La cadena que se va a reemplazar.
NewString: requerido. La cadena de reemplazo. OldString y NewString pueden tener longitudes distintas.
InstanceNumber: opcional. Use este argumento para especificar la instancia de OldString que se va a
reemplazar si String contiene más de una instancia. Si no especifica este argumento, se reemplazarán todas las
instancias.
Ejemplos
FÓRMULA DESCRIPCIÓN RESULTADO
Substitute ("Quarter 1, 2018", "1", Sustituye solo la primera instancia de "Trimestre 2, 2018"
"2", 1) "1" por "2" porque el cuarto argumento
(InstanceNumber) se proporciona con
un 1.
Substitute ("Quarter 1, 2011", "1", Sustituye solo la tercera instancia de "1" "Trimestre 1, 2012"
"2", 3) por "2" porque el cuarto argumento
(InstanceNumber) se proporciona con
un 3.
Substitute ("Quarter 1, 2011", "1", Sustituye todas las instancias de "1" por "Trimestre 2, 2022"
"2") "2" porque no se proporciona el cuarto
argumento (InstanceNumber).
Descripción
La función Reset restablece un control al valor de su propiedad Default. Se descartan los cambios que haya
realizado el usuario.
No es posible restablecer los controles que estén en un control Galería o Editar formulario desde fuera de
dichos controles. Los controles se puede restablecer desde las fórmulas de los controles que estén en la misma
galería o formulario. También es posible restablecer todos los controles de un formulario con la función
ResetForm.
La función Reset es una alternativa al uso la propiedad Reset de los controles de entrada y, por lo general, se
prefiere usar la función, en lugar de la propiedad. La propiedad Reset puede ser una opción mejor si es preciso
restablecer conjuntamente muchos controles de varias fórmulas. La activación o desactivación de la propiedad
Reset se puede realizar desde un control Botón con la fórmula Reset = Button.Pressed o desde una variable
con Reset = MyVar, y la activación o desactivación de MyVar con la fórmula Button.OnSelect = Set( MyVar;
true );; Set( MyVar; false ) .
Los controles de entrada también se restablecen cuando su propiedad Default cambia.
Reset no tiene ningún valor devuelto y solo se puede usar en fórmulas de comportamiento.
Sintaxis
Reset( Control )
Control (se requiere). El control que se restablece.
Ejemplo
1. Inserte un control Entrada de texto en una pantalla. De forma predeterminada, su nombre será TextInput1
y el valor de su propiedad Default será "Entrada de texto" .
2. Escriba un valor nuevo en el cuadro de texto.
3. Inserte un control Botón en la pantalla.
4. Establezca la propiedad OnSelect del botón en Reset( TextInput1 ) .
5. Seleccione el botón. Esto puede hacerse incluso durante la creación mediante la realización de la selección
hacia los extremos del control.
6. El contenido del cuadro de texto volverá al valor de la propiedad Default.
Funciones EditForm, NewForm, SubmitForm,
ResetForm y ViewForm de PowerApps
08/10/2019 • 10 minutes to read
Vea, edite o cree un elemento, guarde el contenido y restablezca los controles de un control Editar formulario .
Información general
Estas funciones cambian el estado del control Editar formulario. El control de formulario puede estar en uno de
estos modos:
MODO DESCRIPCIÓN
Descripción
Estas funciones a menudo se invocan desde la fórmula OnSelect de un control Botón o Imagen para que el
usuario pueda guardar las modificaciones, abandonarlas o crear un registro. También puede usar conjuntamente
controles y estas funciones para crear una solución completa.
Estas funciones no devuelven ningún valor.
SubmitForm
Use la función SubmitForm de la propiedad OnSelect de un control Botón para guardar los cambios de un
control Formulario en el origen de datos.
Antes de enviar cualquier cambio, esta función comprueba problemas de validación con cualquier campo que se
haya marcado como requerido o que tenga una o más restricciones en su valor. Este comportamiento es idéntico al
de la función Validate .
SubmitForm también comprueba la propiedad Valid del control Formulario, que es una agregación de todas las
propiedades Valid de los controles Card que contiene el control Formulario. Si se produce un problema, no se
envían los datos y las propiedades Error y ErrorKind del control Formulario se establecen en consecuencia.
Si se supera la validación, SubmitForm envía el cambio al origen de datos.
Si se realiza correctamente, se ejecutará el comportamiento OnSuccess del formulario y se borrarán las
propiedades Error y ErrorKind . Si el formulario se encontraba en modo FormMode.New, se devolverá al
modo FormMode.Edit.
Si no se realiza correctamente, se ejecutará el comportamiento OnFailure del formulario y se establecerán las
propiedades Error y ErrorKind en consecuencia. El modo del formulario no se modifica.
EditForm
La función EditForm cambia el modo del control Formulario a FormMode.Edit. En este modo, el contenido de la
propiedad Elemento del control Formulario se utiliza para rellenar el formulario. Si la función SubmitForm se
ejecuta cuando el formulario está en este modo, se cambiará un registro, no se creará. FormMode.Edit es el valor
predeterminado del control Formulario.
NewForm
La función NewForm cambia el modo del control Formulario a FormMode.New. En este modo, el contenido de
la propiedad Elemento del control Formulario se omite y los valores predeterminados de la propiedad
DataSource rellenan el formulario. Si la función SubmitForm se ejecuta cuando el formulario está en este modo,
se creará un registro, no se cambiará.
ResetForm
La función ResetForm restablece el contenido de un formulario a sus valores iniciales, el contenido que había antes
de que el usuario realizara cambios. Si el formulario está en modo FormMode.New, se restablecerá al modo
FormMode.Edit. El comportamiento OnReset del control Formulario también se ejecutará. También puede
restablecer controles individuales con la función Reset pero únicamente desde dentro del formulario.
ViewForm
La función ViewForm cambia el modo del control Formulario a FormMode.View. En este modo, el contenido de
la propiedad Elemento del control Formulario se utiliza para rellenar el formulario. Las funciones SubmitForm y
ResetForm no tienen ningún efecto cuando se está en este modo.
Propiedad DisplayMode
El modo actual se puede leer mediante la propiedad Modo. El modo determina también el valor de la propiedad
DisplayMode que pueden usar las tarjetas de datos y controles del control de formulario. A menudo, la propiedad
DisplayMode de la tarjeta de datos se establecerá en Parent. DisplayMode (que hace referencia al formulario)
como lo hará la propiedad DisplayMode del control (que hace referencia a la tarjeta de datos):
Sintaxis
SubmitForm ( FormName )
FormName: requerido. Control Formulario para enviar al origen de datos.
EditForm ( FormName )
FormName: requerido. Control Formulario para cambiar al modo FormMode.Edit.
NewForm ( FormName )
FormName: requerido. Control Formulario para cambiar al modo FormMode.New.
ResetForm ( FormName )
FormName: requerido. Control Formulario para restablecer los valores iniciales. También cambia el formulario
del modo FormMode.New al modo FormMode.Edit.
ViewForm ( FormName )
FormName: requerido. Control Formulario para cambiar al modo FormMode.View.
Ejemplos
Consulte Formularios de datos para obtener ejemplos completos.
1. Agregue un control Botón, establezca la propiedad Text para mostrar Guardar y establezca la propiedad
OnSelect en esta fórmula:
SubmitForm ( EditForm )
2. Establezca la propiedad OnFailure de un control Formulario blank y la propiedad OnSuccess en esta
fórmula:
Back()
3. Asigne el nombre ErrorText a un control Label y establezca su propiedad Text en esta fórmula:
EditForm.Error
Cuando el usuario selecciona el botón Guardar, los cambios del control Formulario se envían al origen de
datos subyacente.
Si el envío se realiza correctamente, los cambios se guardan o, si el control Formulario está en modo
New, se creará un registro. ErrorText es blank y vuelve a aparecer la pantalla anterior.
Si se produce un error en el envío, ErrorText mostrará un mensaje de error descriptivo y la pantalla
actual permanecerá visible para que el usuario pueda corregir el problema e intentarlo de nuevo.
4. Agregue un control Botón, establezca su propiedad Text para que muestre Cancelar y establezca su
propiedad OnSelect en esta fórmula:
ResetForm ( EditForm );; Back()
Si el usuario selecciona el botón Cancelar, los valores del control Formulario se restablecen a su estado
original, el estado que tenían antes de que el usuario empezara a editarlo, vuelve a aparecer la pantalla
anterior y se devuelve el control Formulario al modo Edit si estaba en modo New.
5. Agregue un control Botón, establezca su propiedad Text para mostrar Nuevo y establezca su propiedad
OnSelect en esta fórmula:
NewForm ( EditForm );; Navigate( EditScreen; None )
Cuando el usuario selecciona el botón New, se activa el control Formulario en modo New, los valores
predeterminados del origen de datos del control Formulario rellenan el control y aparece la pantalla que
contiene el control Formulario. Cuando se ejecuta la función SubmitForm, se crea un registro en lugar de
actualizarlo.
Función Revert en PowerApps
08/10/2019 • 3 minutes to read
Descripción
La función Revert actualiza un origen de datos completo o un único registro en ese origen de datos. Verá los
cambios que realizaron otros usuarios.
Para los registros revertidos, Revert también borra todos los errores de la tabla que la función Errors devuelve.
Si la función Errors informa sobre un conflicto después de Patch u otra operación de datos, use Revert en el
registro para iniciar con la versión en conflicto y vuelva a aplicar el cambio.
Revert no tiene ningún valor devuelto. Se puede usar únicamente en una fórmula de comportamiento.
Sintaxis
Revert( DataSource [; Record ] )
DataSource: requerido. El origen de datos que desea revertir.
Registro: opcional. El registro que desea revertir. Si no se especifica un registro, se revierte el origen de datos
completo.
Ejemplo
En este ejemplo, revertirá el origen de datos denominado IceCream, que empieza con los datos en esta tabla:
Un usuario de otro dispositivo cambia la propiedad Quantity en el registro Strawberry a 400. Aproximadamente
al mismo tiempo, usted cambia la misma propiedad del mismo registro a 500, sin tener conocimiento sobre el otro
cambio.
Usa la función Patch para actualizar el registro:
Patch (IceCream; primero (filtrar (IceCream; Flavor = "fresa")); {Quantity: 500})
Compruebe la tabla Errors y encuentre un error:
Tomando como base la columna Error, tiene un botón Volver a cargar para que la propiedad OnSelect para
establecer esta fórmula:
Revert( IceCream; First( Filter( IceCream; Flavor = "Strawberry" ) ) )
Después de seleccionar el botón Recargar, la tabla Errores está vacíay el nuevo valor para Strawberry se ha
cargado:
Ha aplicado el cambio encima del cambio anterior y se ha cambiado el cambio correctamente porque el conflicto
se ha resuelto.
Enumeración de color y las funciones
ColorFade, ColorValue y RGBA en PowerApps
05/11/2019 • 18 minutes to read
Usar valores de color integrados, definir colores personalizados y usar el canal alfa.
Descripción
Mediante el uso de la enumeración de color , puede tener acceso fácilmente a los colores definidos por
hojas de estilo CSS de HTML (CSS ). Por ejemplo, color. red devuelve rojo puro. Puede encontrar una
lista de estos colores al final de este tema.
La función ColorValue devuelve un color basado en una cadena de color de una CSS. La cadena
puede adoptar cualquiera de estas formas:
El nombre de color de CSS: "RoxyBrown" y "OliveDrab" son ejemplos. Estos nombres no
incluyen espacios. La lista de colores admitidos aparece más adelante en este tema.
valor hexadecimal de 6 dígitos: Como ejemplo "#ffd700" es igual que "Gold". La cadena tiene
el formato "#RRGGBB", donde RR es la parte roja en dos dígitos hexadecimales, GG es el verde y BB
es el azul.
valor hexadecimal de 8 dígitos: Por ejemplo, "#ff7f5080" es igual que "Coral" con un canal alfa
50%. La cadena tiene el formato "#RRGGBBAA", donde RR, GGy BB son idénticos al formato de 6
dígitos. El canal alfa se representa mediante AA: 00 representa completamente transparente y FF
representa totalmente opaco.
La función RGBA devuelve un color basado en los componentes rojo, verde y azul. La función también
incluye un canal alfa para mezclar colores de controles que están superpuestos entre sí. Un canal alfa
varía desde 0 o 0% (que es completamente transparente e invisible) hasta 1 o 100% (que es
completamente opaco y se bloquea completamente cualquier capa detrás de un control).
La función ColorFade devuelve una versión más clara o más oscura de un color. La cantidad de
desvanecimiento varía entre-1 (que oscurece completamente un color hasta el negro) hasta 0 (que no
afecta al color) a 1 (que ilumina completamente un color a blanco).
Canal alfa
En una aplicación de lienzo, puede capas de controles de un lado a otro y especificar la transparencia de
un control para todos los controles que están detrás. Como resultado, los colores se fusionarán a través
de las capas. Por ejemplo, en este diagrama se muestra cómo se mezclan los tres colores primarios con
una configuración alfa de 50%:
También puede mezclar imágenes en formatos de archivo que admiten canales alfa. Por ejemplo, no
puede mezclar archivos. JPEG, pero puede mezclar archivos. png. En el gráfico siguiente se muestran
los mismos colores rojo, verde y azul del ejemplo anterior, pero el color rojo aparece como una línea
ondulada (en lugar de un círculo) en un archivo. png con un canal alfa 50%:
Si especifica un valor de enumeración de color o crea una fórmula de ColorValue con un nombre de
color o un valor hexadecimal de 6 dígitos, el valor de alfa es 100%, que es completamente opaco.
Sintaxis
Color.ColorName
ColorName: requerido. El nombre de un color de hoja de estilo CSS. La lista de posibles valores de
enumeración aparece al final de este tema.
ColorValue( CSSColor )
CSSColor: requerido. La definición de un color de hoja de estilo CSS. Puede especificar un nombre,
como OliveDrab, o un valor hexadecimal, como #6b8e23 o #7fffd420. Los valores hexadecimales
pueden adoptar la forma de #RRGGBB o #RRGGBBAA.
RGBA ( Red; Green; Blue; Alpha )
Red, Green, Blue: requerido. Valores de componente de color, que van desde 0 (sin saturación) hasta
255 (saturación completa).
Alpha: requerido. Componente alfa, que va de 0 (totalmente transparente) a 1 (totalmente opaco).
También puede usar un porcentaje, de 0 % a 100 %.
ColorFade( Color; FadeAmount )
Color: requerido. Un valor de color como Color.Red o el resultado de ColorValue o RGBA.
FadeAmount: requerido. Número entre -1 y 1. -1 oscurece completamente un color a negro, 0 no
afecta al color y 1 ilumina completamente un color a blanco. También puede usar un porcentaje
entre-100% y 100%.
Colores integrados
ENUMERACIÓN DE COLOR COLORVALUE RGBA MUESTRA DE COLOR
Descripción
Las funciones Left, Mid y Right devuelven una parte de una cadena.
Left: devuelve los caracteres del principio de una cadena.
Mid: devuelve los caracteres centrales de una cadena.
Right: devuelve los caracteres del final de una cadena.
Si especifica una cadena como argumento, la función devuelve la parte que ha solicitado de la cadena. Si
especifica una tabla de una columna que contiene cadenas, la función devuelve una tabla de una columna
de las partes que solicitó de esas cadenas. Si especifica una tabla con varias columnas, puede convertirla
en una tabla de una columna, como se describe en la sección sobre cómo trabajar con tablas.
Si la posición inicial es negativa o sobrepasa el final de la cadena, Mid devuelve blank. Puede comprobar
la longitud de una cadena mediante la función Len . Si se solicitan más caracteres de los que contiene la
cadena, la función devuelve tantos caracteres como sea posible.
Sintaxis
Left( String; NumberOfCharacters )
Mid( String; StartingPosition; NumberOfCharacters )
Right( String; NumberOfCharacters )
String: requerido. La cadena hasta la cual se extrae el resultado o desde la que se extrae el resultado.
StartingPosition: requerido (solo Mid). La posición inicial. El primer carácter de la cadena ocupa la
posición 1.
NumberOfCharacters : requerido (soloizquierda y derecha ). El número de caracteres que se va a
devolver. Si se omite para la función Mid , la función devuelve la parte desde la posición inicial hasta el
final de la cadena.
Left( SingleColumnTable; NumberOfCharacters )
Mid( SingleColumnTable; StartingPosition; NumberOfCharacters )
Right( SingleColumnTable; NumberOfCharacters )
SingleColumnTable: requerido. Una tabla de una columna de cadenas de la cual se extraen los
resultados.
StartingPosition: requerido (solo Mid). La posición inicial. El primer carácter de la cadena ocupa la
posición 1.
NumberOfCharacters : requerido (soloizquierda y derecha ). El número de caracteres que se va a
devolver. Si se omite para la función Mid , la función devuelve la parte desde la posición inicial hasta el
final de la cadena.
Ejemplos
Cadena única
En los ejemplos de esta sección se usa un control de entrada de texto como origen de datos. El control se
denomina Author y contiene la cadena "E". E. Cummings".
Redondea un número.
Descripción
Las funciones Round, RoundDown y RoundUp redondean un número al número especificado de posiciones
decimales:
Round redondea si el dígito siguiente es 5 o un número superior. En caso contrario, esta función redondea a
menos.
RoundDown siempre redondea hacia abajo al número anterior.
RoundUp siempre redondea hacia arriba al número siguiente.
Si se pasa un número único, el valor devuelto es la versión redondeada de dicho número. Si pasa una tabla de una
sola columna que contiene números, el valor devuelto es una tabla de una sola columna de números redondeados.
Si tiene una tabla con varias columnas, puede convertirla en una tabla de una sola columna, como se describe en
cómo trabajar con tablas.
Sintaxis
Round( Number; DecimalPlaces )
RoundDown( Number; DecimalPlaces )
RoundUp( Number; DecimalPlaces )
Number: requerido. Número que se va a redondear.
DecimalPlaces: requerido. El número de posiciones a la derecha del separador decimal que se desea utilizar para
redondear. Use 0 para redondear a un número entero.
Funciones Round, RoundDown y RoundUp en
PowerApps
08/10/2019 • 2 minutes to read
Redondea un número.
Descripción
Las funciones Round, RoundDown y RoundUp redondean un número al número especificado de posiciones
decimales:
Round redondea si el dígito siguiente es 5 o un número superior. En caso contrario, esta función redondea a
menos.
RoundDown siempre redondea hacia abajo al número anterior.
RoundUp siempre redondea hacia arriba al número siguiente.
Si se pasa un número único, el valor devuelto es la versión redondeada de dicho número. Si pasa una tabla de una
sola columna que contiene números, el valor devuelto es una tabla de una sola columna de números redondeados.
Si tiene una tabla con varias columnas, puede convertirla en una tabla de una sola columna, como se describe en
cómo trabajar con tablas.
Sintaxis
Round( Number; DecimalPlaces )
RoundDown( Number; DecimalPlaces )
RoundUp( Number; DecimalPlaces )
Number: requerido. Número que se va a redondear.
DecimalPlaces: requerido. El número de posiciones a la derecha del separador decimal que se desea utilizar para
redondear. Use 0 para redondear a un número entero.
Funciones Round, RoundDown y RoundUp en
PowerApps
08/10/2019 • 2 minutes to read
Redondea un número.
Descripción
Las funciones Round, RoundDown y RoundUp redondean un número al número especificado de posiciones
decimales:
Round redondea si el dígito siguiente es 5 o un número superior. En caso contrario, esta función redondea
a menos.
RoundDown siempre redondea hacia abajo al número anterior.
RoundUp siempre redondea hacia arriba al número siguiente.
Si se pasa un número único, el valor devuelto es la versión redondeada de dicho número. Si pasa una tabla de
una sola columna que contiene números, el valor devuelto es una tabla de una sola columna de números
redondeados. Si tiene una tabla con varias columnas, puede convertirla en una tabla de una sola columna,
como se describe en cómo trabajar con tablas.
Sintaxis
Round( Number; DecimalPlaces )
RoundDown( Number; DecimalPlaces )
RoundUp( Number; DecimalPlaces )
Number: requerido. Número que se va a redondear.
DecimalPlaces: requerido. El número de posiciones a la derecha del separador decimal que se desea utilizar
para redondear. Use 0 para redondear a un número entero.
Funciones SaveData y LoadData en PowerApps
08/10/2019 • 4 minutes to read
Descripción
La función SaveData almacena una colección para su uso posterior con un nombre.
La función LoadData vuelve a cargar una colección por el nombre guardado anteriormente con SaveData.
No se puede utilizar esta función para cargar una colección de otro origen.
Use estas funciones para mejorar el rendimiento de inicio de la aplicación almacenando en caché los datos de
la fórmula app. OnStart en una primera ejecución y volviendo a cargar la memoria caché local en
ejecuciones posteriores. También puede usar estas funciones para agregar funcionalidades sin conexión
sencillas a la aplicación.
No puede usar estas funciones dentro de un explorador, ya sea al crear la aplicación en PowerApps Studio o
al ejecutar la aplicación en el reproductor Web. Para probar la aplicación, ejecútela en PowerApps Mobile en
un dispositivo iPhone o Android.
Estas funciones están limitadas por la cantidad de memoria de la aplicación disponible, ya que operan en una
colección en memoria. La memoria disponible puede variar según el dispositivo y el sistema operativo, la
memoria que usa el reproductor de PowerApps y la complejidad de la aplicación en términos de pantallas y
controles. Si almacena más de unos megabytes de datos, pruebe la aplicación con los escenarios esperados
en los dispositivos en los que espera que la aplicación se ejecute. Por lo general, debe esperar entre 30 y 70
megabytes de memoria disponible.
LoadData no crea la colección; la función solo rellena una colección existente. Primero tiene que crear la
colección con las columnas correctas utilizando Recopilar . Los datos cargados se anexarán a la colección;
Utilice primero la función Clear si desea empezar con una colección vacía.
El almacenamiento está cifrado y se encuentra en una ubicación privada en el dispositivo local, aislado de
otros usuarios y otras aplicaciones.
Sintaxis
SaveData( Colección; Nombre )
LoadData( Collection; Name [; IgnoreNonexistentFile ])
Colección: requerido. Colección para almacenar o cargar.
Nombre: requerido. Nombre del almacenamiento. Tiene que usar el mismo nombre para guardar y cargar
el mismo conjunto de datos. El espacio de nombres no se comparte con otros usuarios o aplicaciones.
IgnoreNonexistentFile: opcional. Valor booleano (true/false) que indica si la función LoadData debe
mostrar o ignorar los errores cuando no encuentre un archivo coincidente. Si especifica false, se
mostrarán los errores. Si especifica true, se omitirán los errores, lo que resulta útil para escenarios sin
conexión. SaveData puede crear un archivo si el dispositivo está desconectado (es decir, si el estado
Connection.Connected es false).
Ejemplos
FÓRMULA DESCRIPCIÓN RESULTADO
SaveData(LocalTweets; "Tweets") Guarde la colección LocalTweets como Los datos se guardan localmente para
una caché de archivos local en el que LoadData puede cargarlos en
dispositivo. una colección.
Funciones Filter, Search y LookUp en
PowerApps
08/10/2019 • 18 minutes to read
Descripción
La función Filter busca registros en una tabla que satisface una fórmula. Use la función Filter para
buscar un conjunto de registros que coinciden con uno o varios criterios y descartar aquellos que no lo
hacen.
La función LookUp busca el primer registro de una tabla que satisface una fórmula. Use LookUp para
encontrar un único registro que coincida con uno o varios criterios.
En ambos casos, la fórmula se evalúa para cada registro de la tabla. Los registros que dan como
resultado true se incluyen en el resultado. Además de los operadores de la fórmula normal, puede usar
los operadores in y exactin para las coincidencias de subcadenas.
Los campos de registro que se están procesando actualmente estarán disponibles en la formula. Solo
tiene que hacer referencia a los campos por su nombre, como con cualquier otro valor. También puede
hacer referencia a propiedades de control y a otros valores desde toda la aplicación. Para obtener más
detalles, vea los ejemplos siguientes y trabajar con el ámbito de registros.
La función Search busca registros en una tabla que contengan una cadena en una de sus columnas. La
cadena puede estar en cualquier lugar dentro de la columna. Por ejemplo, si busca "rob" o "bert"
encontrará una coincidencia en una columna que contiene "Roberto". La búsqueda no distingue
mayúsculas de minúsculas. A diferencia de Filter y LookUp, la función Search usa solo una cadena de
coincidencia en lugar de una fórmula.
Filter y Search devuelven una tabla que contiene las mismas columnas que la tabla original y los
registros que coinciden con los criterios. LookUp devuelve solo el primer registro encontrado después
de aplicar una fórmula para reducir el registro a un solo valor. Si no se encuentra ningún registro, las
funciones Filter y Search devuelven una tabla vacía, y LookUp devuelve blank.
Las tablas son un valor en PowerApps, tal como una cadena o un número. Se pueden pasar a
funciones y las funciones pueden devolverlas. Las funciones Filter, Search y LookUp no modifican la
tabla. En vez de eso, usan la tabla como argumento y devuelven una tabla, un registro o un solo valor
de ella. Consulte cómo trabajar con tablas para más detalles.
Delegación
Siempre que sea posible, PowerApps delegará las operaciones de filtrado y ordenación al origen de
datos y se desplazará por los resultados a petición. Por ejemplo, cuando se inicia una aplicación que
muestra un control Galería lleno de datos, inicialmente solo se traerá al dispositivo el primer conjunto
de registros. A medida que el usuario se desplace por los datos, se traerán más datos del origen de
datos. El resultado es un inicio más rápido de la aplicación y acceso a conjuntos de datos muy grandes.
Sin embargo, la delegación no siempre es posible. La compatibilidad de funciones y operadores con la
delegación varía según el origen de datos. Si la delegación completa de una fórmula no es posible, el
entorno de creación indicará la parte que no se puede delegar con una advertencia. Si es posible,
considere la posibilidad de cambiar la fórmula para que no incluya las funciones y los operadores que
no se pueden delegar. La lista de delegación detalla qué orígenes de datos y operaciones se pueden
delegar.
Si la delegación no es posible, PowerApps solo descargará un conjunto reducido de registros para
trabajar localmente. Las funciones de filtrado y ordenación trabajarán con un conjunto reducido de
registros. En la Galería puede no estará disponible la historia completa, y esto puede resultar confuso
a los usuarios.
Consulte la información general sobre delegación para obtener más información.
Sintaxis
Filter( Table; Formula1 [; Formula2; ... ] )
Table: requerido. La tabla en la que se va a buscar.
Formula (s) : requerido. La fórmula por la que se evalúa cada registro de la tabla. La función
devuelve todos los registros cuyo resultado es true. Puede hacer referencia a columnas dentro de la
tabla. Si se proporciona más de una fórmula, los resultados de todas las fórmulas se combinan con
la función And .
Search( Table; SearchString; Column1 [; Column2; ... ] )
Table: requerido. La tabla en la que se va a buscar.
SearchString: requerido. La cadena que se va a buscar. Si es blank o es una cadena vacía, se
devolverán todos los registros.
Column(s) : requerido. Los nombres de las columnas dentro de Table que se van a buscar. Las
columnas en las que se va a buscar deben contener texto. Los nombres de las columnas deben ser
cadenas e ir entre comillas dobles. Sin embargo, los nombres de las columnas deben ser estáticos y
no se pueden calcular con una fórmula. Si se encuentra SearchString dentro de los datos de
cualquiera de estas columnas como una coincidencia parcial, se devolverá el registro completo.
NOTE
En el caso de orígenes de datos de SharePoint y Excel que contengan nombres de columna con espacios,
especifique cada uno de ellos como "_x0020_" . Por ejemplo, especifique "Nombre de columna" como
"Nombre_x0020_de_columna" .
Ejemplos
Los ejemplos siguientes usan el origen de datos IceCream:
FÓRMULA DESCRIPCIÓN RESULTADO
LookUp( IceCream; Flavor = Busca un registro cuyo valor de Tipo "Vainilla", cantidad: 200, en
"Vanilla" ) Flavor sea igual a "Vanilla". En este orden: 75}
caso, devuelve uno. Como no se
proporcionó ninguna fórmula de
reducción, se devuelve todo el
registro.
Para crear este origen de datos como una colección, cree un control Botón y establezca la propiedad
OnSelect en esta fórmula:
ClearCollect (clientes; tabla ({nombre: "Fred Garcia"; compañía: "Northwind Traders"};
{nombre: "Cole Miller"; empresa: "Contoso"}; {Name: "Glenda Johnson"; compañía:
"Contoso"}; {Name: "Mike Collins"; Company: "Adventure Works"}; {nombre: "Colleen
Jones"; compañía: "Adventure Works"}))
Como en este ejemplo, puede mostrar una lista de registros en un control Galería en la parte inferior
de una pantalla. Cerca de la parte superior de la pantalla, puede agregar un control Entrada de texto
denominado SearchInput, de modo que los usuarios puedan especificar los registros que más les
interesen.
A medida que el usuario escribe caracteres en SearchInput, automáticamente se filtran los resultados
en la galería. En este caso, se configura la galería para que muestre los registros para los que el
nombre del cliente (no el nombre de la empresa) comienza con la secuencia de caracteres de
SearchInput. Si el usuario escribe co en el cuadro de búsqueda, la galería muestra estos resultados:
Para filtrar según la columna Nombre, establezca la propiedad Elementos del control Galería en una
de estas fórmulas:
Puede expandir la búsqueda para incluir la columna Empresa además de la columna Nombre:
Descripción
La función Day devuelve el componente de día de un valor de fecha y hora, comprendido entre 1 y 31.
La función Month devuelve el componente de mes de un valor de fecha y hora, comprendido entre 1 y 12.
La función Year devuelve el componente de año de un valor de fecha y hora, a partir de 1900.
La función Hour devuelve el componente de hora de un valor de fecha y hora, comprendido entre 0 (12:00 a. m.) y
23 (11:00 p. m).
La función Minute devuelve el componente de minuto de un valor de fecha y hora, comprendido entre 0 y 59.
La función Second devuelve el componente de segundo de un valor de fecha y hora, comprendido entre 0 y 59.
La función Weekday devuelve el día de la semana de un valor de fecha y hora. De forma predeterminada, el
resultado está comprendido entre 1 (domingo) y 7 (sábado). Puede especificar un intervalo diferente con un código
de la función Weekday de la semana de Microsoft Excel o un valor de enumeración de StartOfWeek:
Sintaxis
Day( DateTime )
Month( DateTime )
Year( DateTime )
Hour( DateTime )
Minute( DateTime )
Second( DateTime )
DateTime: requerido. Valor de fecha y hora con el que operar.
Weekday( DateTime [; WeekdayFirst ] )
DateTime: requerido. Valor de fecha y hora con el que operar.
WeekdayFirst: opcional. Código de Excel que especifica qué día comienza la semana. Si no se indica, se usará 1
(primero el domingo).
Ejemplos
En el ejemplo siguiente, la hora actual es las 3:59:37 p. m. del jueves, 9 de abril de 2015.
Simula una acción de selección en un control, lo que provoca la evaluación de la fórmula OnSelect.
Descripción
La función Select simula una acción de selección en un control como si el usuario hubiera hecho clic en el control
o lo hubiera pulsado. Como resultado, la fórmula OnSelect se evalúa en el control de destino.
Use Select para propagar una acción seleccionada a un control primario. Este tipo de propagación es el
comportamiento predeterminado en, por ejemplo, las galerías. De forma predeterminada, la propiedad OnSelect
de cualquier control en un control Galería se establece en Select (primario) . De este modo, puede establecer el
valor de la propiedad OnSelect del propio control de la galería y que la fórmula se evaluará independientemente
de dónde un usuario podría haga clic o pulsar en la galería.
Si desea que uno o varios controles de la galería realizaran diferentes acciones de la propia galería, establezca la
propiedad OnSelect para esos controles en un valor distinto del valor predeterminado. Puede dejar los valores
predeterminados para las propiedades OnSelect de la mayoría de los controles de la galería si desea que realicen
la misma acción que la propia galería.
Select pone en cola la propiedad OnSelect de destino para su posterior procesamiento, que puede ocurrir una
vez finalizada la evaluación de la fórmula actual. Select no provoca que la propiedad OnSelect de destino se
evalúe inmediatamente; Select tampoco espera a que OnSelect termine de evaluarse.
Select no puede cruzar los límites de los controles de contenedor, como una galería o un formulario. Controles
dentro de un control de contenedor solo pueden ser el sujeto de una función Select en las fórmulas que están
dentro del mismo control de contenedor. No se puede utilizar Select entre pantallas.
Solo puede usar Select con controles que tienen una propiedad OnSelect.
Se pueden usar Select en fórmulas de comportamiento.
Un control no puede usar Select directa o indirectamente a través de otros controles.
Sintaxis
Select( Control )
Control (se requiere). El control para seleccionar en nombre del usuario.
Ejemplos
Uso básico
1. Agregue un control Botón y, si tiene otro nombre, cámbielo a Botón1.
2. Establezca la propiedad OnSelect de Botón1 en esta fórmula:
Notify( "Hola mundo" )
3. En la misma pestaña, agregue un segundo control Botón y establezca su propiedad OnSelect en esta
fórmula:
Select( Botón1 )
4. Mientras mantiene presionada la tecla Alt, seleccione el segundo botón.
Aparecerá una notificación en la parte superior de la aplicación. La propiedad OnSelect de Button1
generó esta notificación.
Control Galería
1. Agregue un control Galería vertical que contiene otros controles.
Información general
La función Set se usa para establecer el valor de una variable global, que guarda temporalmente un fragmento
de información, como el número de veces que el usuario ha seleccionado un botón o el resultado de una
operación de datos.
Las variables globales están disponibles en todas las pantallas de la aplicación. Son las variables más simples y
se pueden usar en la mayor parte de las situaciones. También hay variables de contexto cuyo ámbito es una sola
pantalla y colecciones que permiten modificar tablas a nivel de fila. Para obtener más información acerca de
estas otras opciones, consulte comprender las variables.
PowerApps se basa en fórmulas que se recalculan automáticamente a medida que el usuario interactúa con una
aplicación. Las fórmulas que dependan de una variable se actualizarán automáticamente cuando cambie. Sin
embargo, la variable no se actualizará automáticamente si cambia el valor de la fórmula utilizada en la función
set . Esto requiere que App Maker actualice manualmente la variable, lo que puede ser propenso a errores y
más difícil de entender. Antes de usar una variable, revise comprender las variables.
Descripción
Las variables globales se crean implícitamente mediante la función Set. No se requiere ninguna declaración
explícita. Si quita todas las funciones de conjunto de una variable global, la variable global dejará de existir. Para
borrar una variable, establezca su valor en el resultado de la función Blank .
Puede ver los valores de las variables, las definiciones y los usos con la vista variables en el menú archivo de
PowerApps Studio.
Tal como mostrarán los ejemplos de este mismo tema, las variables de contexto pueden contener distintos tipos
de información, entre los que se incluyen:
un valor único
un registro
una tabla
una referencia de objeto
el resultado de una fórmula
Una variable global guarda su valor hasta que se cierra la aplicación. Una vez que se cierre, el valor de la variable
global se perderá y deberá volver a crearlo al cargar la aplicación de nuevo.
Las variables globales no pueden usar el mismo nombre que una colección o un control existentes. Sin embargo,
pueden usar el mismo nombre que una variable de contexto. Para eliminar la ambigüedad entre ambas, use el
operador de desambiguación.
Set no devuelve ningún valor y solo se puede usar en una fórmula de comportamiento.
Sintaxis
Set( VariableName; Value )
VariableName (se requiere). Nombre de la variable global que se va a crear o actualizar.
Value (se requiere). Valor que se asigna a la variable de contexto.
Ejemplos
FÓRMULA DESCRIPCIÓN RESULTADO
Set( Counter; 1 ) Crea o modifica la variable global Counter tiene el valor 1. Para hacer
Counter y establece su valor en 1. referencia a dicha variable, utilice el
nombre Counter en una fórmula en
cualquier pantalla.
Set( Counter; Counter + 1 ) Aumenta el valor de la variable global Counter tiene el valor 3.
Counter del ejemplo anterior en 3.
Set( Name; "Lily" ) Crea o modifica la variable global Name tiene el valor Lily.
Name y establece su valor en Lily.
Set( Person; { Name: "Milton"; Crea o modifica la variable global Person tiene el valor del registro
Address: "1 Main St" } ) Person y establece su valor en un { Name: "Milton";
registro. El registro contiene dos Address: "1 Main St" } }.
columnas, llamadas Name y Address.
El valor de la columna Name es Haga referencia a este registro como
Milton, y el valor de la columna un todo con el nombre Person, o haga
Address es 1 Main St. referencia a una columna individual de
este registro con Person.Name o
Person.Address.
Set( Person; Trabaja con la función Patch para Person ahora tiene el valor del registro
Patch( Person; {Address: "2 Main St actualizar la variable global Person y { Name: "Milton";
"})) establece el valor de la columna Address: "2 Main St" } }.
Address en 2 Main St.
Función SetFocus en PowerApps
17/09/2019 • 13 minutes to read
DESCRIPCIÓN
La función SetFocus proporciona a un control el foco de entrada. El control recibe las pulsaciones de teclas del
usuario, lo que les permite escribir en un control entrada de texto o usar la tecla entrar para seleccionar un botón.
El usuario también puede usar la tecla Tab , tocar, Mouse u otro gesto para desplazar el foco de entrada. El
comportamiento de la tecla Tab se rige por la propiedad TabIndex .
Utilice la función SetFocus para establecer el foco cuando (cada uno de ellos tiene un ejemplo a continuación):
control de entrada recién expuesto o habilitado, para guiar al usuario en lo que viene después y para una
entrada de datos más rápida.
un formulario se valida, para centrarse y mostrar el control de entrada infractor para una resolución rápida.
se muestra una pantalla para centrar el primer control de entrada con la propiedad visible de la pantalla.
El control con el foco puede ser visualmente diferente en función de las propiedades FocusedBorderColor y
FocusedBorderThickness .
Limitaciones
SetFocus solo se puede usar con:
Button (control)
Control de icono
Control de imagen
Control Etiqueta
TextInput (control)
No se puede establecer el foco en los controles que se encuentran dentro de un control de Galería , un control de
formulario de edición o un componente. SetFocus se puede usar con un control en una pantalla de scrollbale.
Solo puede establecer el foco en los controles de la misma pantalla que la fórmula que contiene la llamada de
SetFocus .
El intento de establecer el foco en un control que tiene la propiedad DisplayMode establecida en deshabilitado
no tiene ningún efecto. El foco permanecerá en el lugar en el que se encontraba anteriormente.
En Apple iOS, el teclado en pantalla solo se mostrará automáticamente si se inició SetFocus mediante una acción
de usuario directa. Por ejemplo, al invocar a partir de la propiedad Alseleccionar de un botón, se mostrará el
teclado en pantalla, mientras que al invocar desde la vista visible de una pantalla no.
Solo puede usar SetFocus en fórmulas de comportamiento.
Sintaxis
SetFocus ( Control )
Control (se requiere). Control que se va a asignar al foco de entrada.
Ejemplos
Centrarse en un control de entrada recién expuesto o habilitado
Muchos carros de la compra permiten al cliente usar la dirección de envío como dirección de facturación, lo que
evita la necesidad de escribir la misma información dos veces. Si se desea una dirección de facturación diferente,
los cuadros de entrada de texto de dirección de facturación están habilitados y resulta útil guiar al cliente a estos
controles recién habilitados para una entrada de datos más rápida.
Hay muchas fórmulas en juego aquí, pero la que mueve el foco está en la propiedad AlDesactivar del control de
casilla :
SetFocus( BillingName )
La tecla Tab también se puede usar para cambiar el foco rápidamente de un campo a otro. Para ilustrar mejor, la
tecla Tab no se utilizó en la animación.
Para crear este ejemplo:
1. Cree una nueva aplicación.
2. Agregue controles etiqueta con el texto "dirección de envío", "nombre:", "dirección:", "dirección de facturación",
"nombre:" y "dirección:" y colóquelos tal como se muestra en la animación.
3. Agregue un control entrada de texto y cambie su nombre por ShippingName.
4. Agregue un control entrada de texto y cambie su nombre por ShippingAddress.
5. Agregue un control casilla y cambie su nombre a SyncAddresses.
6. Establezca la propiedad texto de este control en la fórmula "Use Shipping address as Billing address" .
7. Agregue un control entrada de texto y cambie su nombre por BillingName.
8. Establezca la propiedad predeterminada de este control en la fórmula ShippingName .
9. Establezca la propiedad DisplayMode de este control en la fórmula
If( SyncAddresses.Value; DisplayMode.View; DisplayMode.Edit ) . Esto habilitará o deshabilitará
automáticamente este control según el estado del control de casilla.
10. Agregue un control entrada de texto y cambie su nombre por BillingAddress.
11. Establezca la propiedad predeterminada de este control en la fórmula ShippingAddress .
12. Establezca la propiedad DisplayMode de este control en la fórmula
If( SyncAddresses.Value; DisplayMode.View; DisplayMode.Edit ) . Esto habilitará o deshabilitará
automáticamente este control según el estado del control de casilla.
13. Establezca la propiedad default de la casilla de verificación en la true fórmula. De forma predeterminada, la
dirección de facturación usará el mismo valor que la dirección de envío.
14. Establezca la propiedad alcomprobar de la casilla en la fórmula
Reset( BillingName );; Reset( BillingAddress ) . Si el usuario decide sincronizar las direcciones de envío y
facturación, se borrará cualquier entrada del usuario en los campos de dirección de facturación, lo que
permitirá que las propiedades predeterminadas de cada una de ellas extraigan los valores de los campos de
dirección de envío correspondientes.
15. Establezca la propiedad AlDesactivar de la casilla de verificación en la SetFocus( BillingName ) fórmula. Si el
usuario elige tener una dirección de facturación diferente, se moverá el foco al primer control en la dirección de
facturación. Los controles ya se habrán habilitado debido a sus propiedades DisplayMode .
Céntrese en los problemas de validación
NOTE
Aunque este ejemplo parece ser un control de formulario de edición , desafortunadamente el control no admite todavía
SetFocus . En su lugar, en este ejemplo se usa una pantalla desplazable para hospedar los controles de entrada.
Al validar un formulario, puede resultar útil no solo mostrar un mensaje si hay un problema, sino también tener el
usuario en el campo que causa el error. Puede ser especialmente útil si el campo en cuestión se desplaza fuera de la
pantalla y no es visible.
En esta animación, el botón de validación se presiona repetidamente hasta que todos los campos se han rellenado
correctamente. Tenga en cuenta que el puntero del mouse no se desplaza hacia abajo desde la parte superior de la
pantalla. En su lugar, la función SetFocus ha desplazado el foco de entrada al control que requiere atención con
esta fórmula:
NOTE
Aunque este ejemplo parece ser un control de formulario de edición , el control no admite unforutnatley SetFocus
todavía. En su lugar, en este ejemplo se usa una pantalla desplazable para hospedar los controles de entrada.
De forma similar a exponer un control de entrada, cuando se muestra una pantalla de entrada de datos resulta útil
centrar el primer control de entrada para una entrada de datos más rápida.
En esta animación, la pantalla de entrada de datos de la izquierda no usa SetFocus. Cuando no se muestra, no hay
ningún control de entrada que tenga el foco, lo que requiere que el usuario realice una tabulación, toque, mouse o
use otro medio para centrar el campo de nombre antes de que se pueda escribir en él un valor.
A la derecha, tenemos exactamente la misma aplicación con la propiedad visible de la pantalla de entrada de
datos establecida en esta fórmula:
SetFocus( Name )
Esto establece el foco en el campo de nombre automáticamente. El usuario puede empezar a escribir y tabular
inmediatamente entre los campos sin ninguna acción anterior requerida.
Para crear este ejemplo:
1. Cree la aplicación "Céntrese en los problemas de validación" anterior.
2. En esta pantalla, establezca la propiedad divisible en la fórmula SetFocus( Name ) .
3. Agregue una segunda pantalla.
4. Agregue un control de botón .
5. Establezca la propiedad alseleccionar de este control en la fórmula Navigate( Screen1 ) .
6. Obtenga una vista previa de la aplicación en esta pantalla. Presione el botón. Se evaluará la fórmula divisible y
el campo nombre estará automáticamente en el foco.
Funciones AddColumns, DropColumns, RenameColumns y
ShowColumns en PowerApps
08/10/2019 • 13 minutes to read
Forma una tabla agregando, quitando, cambiando el nombre y seleccionando sus columnas.
Información general
Estas funciones dan forma a una tabla mediante el ajuste de sus columnas:
Reducción de una tabla que contiene varias columnas a una sola columna para su uso con las funciones de columna única, como
Lower o Abs .
Incorporación de una columna calculada a una tabla (por ejemplo, una columna Total Price que muestre el resultado de multiplicar
Quantity por Unit Price).
Cambio del nombre de una columna a algo más significativo, para mostrarla a los usuarios o para su uso en las fórmulas.
Una tabla es un valor en PowerApps, como una cadena o un número. Puede especificar una tabla como un argumento en una fórmula, y
las funciones pueden devolver una tabla como resultado.
NOTE
Las funciones que se describen en este tema no modifican la tabla original. En su lugar, toman esa tabla como argumento y devuelven una nueva
tabla con una transformación aplicada. Consulte cómo trabajar con tablas para más detalles.
No se pueden modificar las columnas de un origen de datos mediante el uso de estas funciones. Tiene que modificar los datos en su
origen. Puede agregar columnas a una colección con la función Collect . Consulte cómo trabajar con fuentes de datos para más
detalles.
Descripción
La función AddColumns agrega una columna a una tabla y una fórmula define los valores de esa columna. Las columnas existentes
permanecen sin modificar.
La fórmula se evalúa para cada registro de la tabla.
Los campos de registro que se están procesando actualmente estarán disponibles en la formula. Solo tiene que hacer referencia a los
campos por su nombre, como con cualquier otro valor. También puede hacer referencia a propiedades de control y a otros valores desde
toda la aplicación. Para obtener más detalles, vea los ejemplos siguientes y trabajar con el ámbito de registros.
La función DropColumns excluye las columnas de una tabla. El resto de las columnas permanece sin modificar. DropColumns excluye
las columnas y ShowColumns las incluye.
Use la función RenameColumns para cambiar el nombre de una o varias columnas de una tabla al proporcionar al menos un par de
argumentos que especifiquen el nombre de una columna que contiene la tabla (el nombre antiguo, que se quiere reemplazar) y el
nombre de una columna que la tabla no contiene (el nombre nuevo, que se quiere usar). El nombre antiguo ya debe existir en la tabla y
el nuevo nombre no. Cada nombre de columna puede aparecer solo una vez en la lista de argumentos como un nombre de columna
antiguo o nuevo. Para cambiar el nombre de una columna por un nombre de columna existente, primero quite la columna existente con
DropColumns o cambie el nombre de la columna existente al anidar una función RenameColumns dentro de otra.
La función ShowColumns incluye columnas de una tabla y quita todas las demás columnas. Puede usar ShowColumns para crear
una tabla de una sola columna a partir de una tabla de varias columnas. ShowColumns incluye columnas y DropColumns las excluye.
Para todas estas funciones, el resultado es una nueva tabla con la transformación aplicada. La tabla original no se modifica. No se puede
modificar una tabla existente con una fórmula. SharePoint, Common Data Service, SQL Server y otros orígenes de datos proporcionan
herramientas para modificar las columnas de listas, entidades y tablas, a las que se suele hacer referencia como esquema. Las funciones
de este tema solo transforman una tabla de entrada, sin modificar la original, en una tabla de salida para su uso posterior.
Los argumentos de estas funciones admiten la delegación. Por ejemplo, una función de filtro que se usa como argumento para extraer
los registros relacionados realiza búsquedas en todas las listas, incluso si el ' [dbo]. [ AllListings] ' el origen de datos contiene un
millón de filas:
AddColumns( RealEstateAgents;
"Listings";
Filter( '[dbo].[AllListings]'; ListingAgentName = AgentName )
)
Sin embargo, el resultado de estas funciones está sujeto al límite de registros que no son de delegación. En este ejemplo, solo se
devuelven los registros 500, incluso si el origen de datos RealEstateAgents tiene 501 o más registros.
Si utiliza AddColumns de esta manera, el filtro debe realizar llamadas independientes en el origen de datos para cada uno de esos
primeros registros en RealEstateAgents, lo que provoca una gran cantidad de chatter de red. Si [dbo]. [ AllListings] es lo
suficientemente pequeño y no cambia con frecuencia, puede llamar a la función Collect en OnStart para almacenar en caché el origen
de datos en la aplicación cuando se inicia. Como alternativa, puede reestructurar la aplicación para que extraiga los registros
relacionados solo cuando el usuario los solicite.
Sintaxis
AddColumns( Table; ColumnName1; Formula1 [; ColumnName2; Formula2; ... ] )
Table: requerido. La tabla sobre la cual se opera.
ColumnName(s) : requerido. Nombres de las columnas para agregar. Tiene que especificar una cadena (por ejemplo, "Name" entre
comillas dobles incluidas) para este argumento.
Formula(s) : requerido. La fórmula o fórmulas para evaluar para cada registro. Se agregará el resultado como el valor de la nueva
columna correspondiente. Puede hacer referencia a otras columnas de la tabla en esta fórmula.
DropColumns( Table; ColumnName1 [; ColumnName2; ... ] )
Table: requerido. La tabla sobre la cual se opera.
ColumnName(s) : requerido. Nombres de las columnas para excluir. Tiene que especificar una cadena (por ejemplo, "Name" entre
comillas dobles incluidas) para este argumento.
Cambiarnombrecolumnas( TABLE; OldColumnName1; NewColumnName1 [; OldColumnName2; NewColumnName2;...])
Table: requerido. La tabla sobre la cual se opera.
OldColumnName: requerido. Nombre de una columna de la tabla original cuyo nombre se va a cambiar. Este elemento aparece en
primer lugar en el par de argumentos (o en primer lugar en cada par de argumentos si la fórmula incluye más de un par). Este
nombre tiene que ser una cadena (por ejemplo, "Name" con comillas dobles incluidas).
NewColumnName: requerido. Nombre de reemplazo. Este elemento aparece por último lugar en el par de argumentos (o por
último lugar en cada par de argumentos si la fórmula incluye más de un par). Tiene que especificar una cadena (por ejemplo,
"Customer Name" con comillas dobles incluidas) para este argumento.
ShowColumns( Table; ColumnName1 [; ColumnName2; ... ] )
Table: requerido. La tabla sobre la cual se opera.
ColumnName(s) : requerido. Nombres de las columnas para incluir. Tiene que especificar una cadena (por ejemplo, "Name" entre
comillas dobles incluidas) para este argumento.
Ejemplos
En los ejemplos en esta sección, use el origen de datos IceCreamSales, que contiene los datos de esta tabla:
Ninguno de estos ejemplos modificar el origen de datos IceCreamSales. Cada función transforma el valor del origen de datos como
una tabla y devuelve ese valor como resultado.
Paso a paso
Vamos a probar algunos de los ejemplos anteriores de este tema.
1. Cree una colección agregando un control de botón y estableciendo su propiedad alseleccionar en esta fórmula:
ClearCollect( IceCreamSales;
Table(
{ Flavor: "Strawberry"; UnitPrice: 1,99; QuantitySold: 20 };
{ Flavor: "Chocolate"; UnitPrice: 2,99; QuantitySold: 45 };
{ Flavor: "Vanilla"; UnitPrice: 1,50; QuantitySold: 35 }
)
)
ClearCollect( FirstExample;
AddColumns( IceCreamSales; "Revenue"; UnitPrice * QuantitySold )
)
4. En el menú archivo , seleccione coleccionesy, a continuación, seleccione IceCreamSales para mostrar esa recopilación.
Como se muestra en este gráfico, la segunda fórmula no modificó esta colección. La función AddColumns usó IceCreamSales
como argumento de solo lectura; la función no modificó la tabla a la que hace referencia ese argumento.
5. Seleccione FirstExample.
Como se muestra en este gráfico, la segunda fórmula devolvió una nueva tabla con la columna agregada. La función
ClearCollect capturó la nueva tabla en la colección FirstExample , agregando algo a la tabla original a medida que fluye a
través de la función sin modificar el origen:
Función Shuffle en PowerApps
07/10/2019 • 2 minutes to read
Descripción
La función Shuffle reordena los registros de una tabla.
Shuffle devuelve una tabla que tiene las mismas columnas y número de filas que el argumento.
Sintaxis
Shuffle( Table )
Table: requerido. La tabla que se va a ordenar de forma aleatoria.
Ejemplo
Si almacena detalles sobre las cartas de la baraja en una colección denominada Deck, esta fórmula devuelve una
copia de dicha colección que ha sido ordenada de forma aleatoria.
Shuffle(Deck)
Funciones Acos, Acot, Asin, Atan, Atan2, Cos, Cot,
Degrees, Pi, Radians, Sin y Tan en PowerApps
08/10/2019 • 9 minutes to read
Descripción
Funciones principales
La función Cos devuelve el coseno de su argumento, un ángulo especificado en radianes.
La función Cot devuelve la cotangente de su argumento, un ángulo especificado en radianes.
La función Sin devuelve el seno de su argumento, un ángulo especificado en radianes.
La función Tan devuelve la tangente de su argumento, un ángulo especificado en radianes.
Funciones inversas
El Acos función devuelve el arcocoseno, o coseno inverso, de su argumento. El arcocoseno es el ángulo cuyo
coseno es el argumento. El ángulo devuelto se expresa en radianes en el intervalo de 0 (cero) a π.
La función Acot devuelve el valor principal de la arcocotangente, o cotangente inversa, de su argumento. El ángulo
devuelto se expresa en radianes en el intervalo de 0 (cero) a π.
La función Asin devuelve el arcoseno, o seno inverso, de su argumento. El arcoseno es el ángulo cuyo seno es el
argumento. El ángulo devuelto se expresa en radianes en el intervalo de -π/2 a π/2.
La función Atan devuelve la arcotangente, o tangente inversa, de su argumento. La arcotangente es el ángulo cuya
tangente es el argumento. El ángulo devuelto se expresa en radianes en el intervalo de -π/2 a π/2.
La función Atan2 devuelve la arcotangente, o tangente inversa, de las coordenadas x e y especificadas como
argumentos. La arcotangente es el ángulo desde el eje x a una línea que contiene el origen (0, 0) y un punto con las
coordenadas (x, y). El ángulo se expresa en radianes entre -π y π, excluyendo -π. Un resultado positivo representa
un ángulo con rotación levógira (hacia la izquierda) desde el eje x; un resultado negativo representa un ángulo con
rotación dextrógira (hacia la derecha). Atan2( a; b ) es igual a Atan( b/a ) , excepto que a puede ser igual a 0 (cero)
con la función Atan2.
Funciones auxiliares
La función Degrees convierte radianes en grados. π radianes equivalen a 180 grados.
La función Pi devuelve el número transcendente π, que comienza 3,141592...
La función Radians convierte grados en radianes.
Notas
Si pasa un solo número a estas funciones, el valor que se devuelve es un resultado único. Si pasa una tabla de una
sola columna que contiene números, el valor que se muestra es una tabla de resultados de una sola columna, un
resultado para cada registro en la tabla del argumento. Si tiene una tabla con varias columnas, puede convertirla en
una tabla de una sola columna, como se describe en cómo trabajar con tablas.
Si algún argumento resultase en un valor no definido, el resultado es blank. Esto puede ocurrir, por ejemplo, al
utilizar las funciones inversas con argumentos que están fuera del intervalo.
Sintaxis
Funciones principales
Cos( Radians )
Cot( Radians )
Sin( Radians )
Tan( Radians )
Radians: requerido. Ángulo sobre el cual operar.
Cos( SingleColumnTable )
Cot( SingleColumnTable )
Sin( SingleColumnTable )
Tan( SingleColumnTable )
SingleColumnTable: requerido. Una tabla de ángulos de una sola columna sobre la que se va a actuar.
Funciones inversas
Acos( Number )
Acot( Number )
Asin( Number )
Atan( Number )
Number: requerido. El número sobre el cual operar.
Acos( SingleColumnTable )
Acot( SingleColumnTable )
Asin( SingleColumnTable )
Atan( SingleColumnTable )
SingleColumnTable: requerido. Una tabla de números de una sola columna sobre la cual operar.
Atan2( X; Y )
X: requerido. coordenadas del eje X.
Y: requerido. coordenadas del eje Y.
Funciones del asistente
Degrees( Radians )
Radians: requerido. Ángulo en radianes para convertir en grados.
Pi()
Radians( Degrees )
Degrees: requerido. Ángulo en grados para convertir en radianes.
Ejemplos
Número único
FÓRMULA DESCRIPCIÓN RESULTADO
Descripción
La función Sort ordena una tabla según una fórmula.
La fórmula se evalúa para cada registro de la tabla y los resultados se usan para ordenar la tabla. La fórmula debe
dar como resultado un número, una cadena o un valor booleano; no puede generar una tabla ni un registro.
Los campos de registro que se están procesando actualmente estarán disponibles en la formula. Solo tiene que
hacer referencia a los campos por su nombre, como con cualquier otro valor. También puede hacer referencia a
propiedades de control y a otros valores desde toda la aplicación. Para obtener más detalles, vea los ejemplos
siguientes y trabajar con el ámbito de registros.
Para ordenar primero por una columna y luego por otra, debe insertar una fórmula Sort dentro de otra. Por
ejemplo, puede usar esta fórmula para ordenar una tabla Contacts primero por una columna LastName y
después por una columna FirstName : Sort (sort (contactos, apellidos), FirstName)
La función SortByColumns también se puede usar para ordenar una tabla según una o más columnas.
La lista de parámetros para SortByColumns proporciona los nombres de las columnas según las cuales ordenar y
la dirección de ordenación por columna. La ordenación se realiza según el orden de los parámetros (ordenados
primero por la primera columna, luego la segunda, etc.). Los nombres de columna se especifican como cadenas y
requieren comillas dobles si se incluyen directamente en la lista de parámetros. Por ejemplo, SortByColumns(
CustomerTable; "LastName" ) .
Puede combinar SortByColumns con un control Menú desplegable o Cuadro de lista para permitir que los
usuarios seleccionen la columna según la cual ordenar.
Además de ordenar de manera ascendente o descendente, SortByColumns puede ordenar según una tabla de
valores de una sola columna. Por ejemplo, puede ordenar el registro según el nombre de un día de la semana si
suministra [ "Lunes"; "Martes"; "Miércoles"; "Jueves"; "Viernes"; "Sábado"; "Domingo" ] como el criterio
de ordenación. Todos los registros que incluyan Lunes" aparecerán primero, seguidos de los registros que incluyan
Martes, etc. Los registros encontrados que no aparezcan en la tabla de ordenación se colocan al final de la lista.
Las tablas son un valor en PowerApps, tal como una cadena o un número. Se pueden pasar a funciones y las
funciones pueden devolverlas. Sort y SortByColumn no modifican una tabla; en lugar de eso, toman una tabla
como argumento y devuelven una tabla nueva que se ordenó. Consulte cómo trabajar con tablas para más detalles.
Delegación
Siempre que sea posible, PowerApps delegará las operaciones de filtrado y ordenación al origen de datos y se
desplazará por los resultados a petición. Por ejemplo, cuando se inicia una aplicación que muestra un control
Galería lleno de datos, inicialmente solo se traerá al dispositivo el primer conjunto de registros. A medida que el
usuario se desplace por los datos, se traerán más datos del origen de datos. El resultado es un inicio más rápido de
la aplicación y acceso a conjuntos de datos muy grandes.
Sin embargo, la delegación no siempre es posible. La compatibilidad de funciones y operadores con la delegación
varía según el origen de datos. Si la delegación completa de una fórmula no es posible, el entorno de creación
indicará la parte que no se puede delegar con una advertencia. Si es posible, considere la posibilidad de cambiar la
fórmula para que no incluya las funciones y los operadores que no se pueden delegar. La lista de delegación detalla
qué orígenes de datos y operaciones se pueden delegar.
Si la delegación no es posible, PowerApps solo descargará un conjunto reducido de registros para trabajar
localmente. Las funciones de filtrado y ordenación trabajarán con un conjunto reducido de registros. En la Galería
puede no estará disponible la historia completa, y esto puede resultar confuso a los usuarios.
Consulte la información general sobre delegación para obtener más información.
Sintaxis
Sort( Table; Formula [; SortOrder ] )
Table: requerido. La tabla que se va a ordenar.
Formula: requerido. Esta fórmula se evalúa para cada registro de la tabla y los resultados se usan para ordenar
la tabla. Puede hacer referencia a columnas dentro de la tabla.
SortOrder: opcional. Especifique SortOrder.Descending para ordenar la tabla en orden descendente.
SortOrder.Ascending es el valor predeterminado.
SortByColumns( Table; ColumnName1 [; SortOrder1; ColumnName2; SortOrder2; ... ] )
Table: requerido. La tabla que se va a ordenar.
ColumnName(s) : requerido. Los nombres de las columnas según las cuales ordenar, como cadenas.
SortOrder (s) : opcional. SortOrder.Ascending o SortOrder.Descending. SortOrder.Ascending es el valor
predeterminado. Si se suministran varios ColumnNames, todas las columnas, menos la última, deben incluir
un SortOrder.
NOTE
En el caso de orígenes de datos de SharePoint y Excel que contengan nombres de columna con espacios, especifique
cada uno de ellos como "_x0020_" . Por ejemplo, especifique "Nombre de columna" como
"Nombre_x0020_de_columna" .
NOTE
En el caso de orígenes de datos de SharePoint y Excel que contengan nombres de columna con espacios, especifique
cada uno de ellos como "_x0020_" . Por ejemplo, especifique "Nombre de columna" como
"Nombre_x0020_de_columna" .
Ejemplos
En los ejemplos siguientes, usaremos el origen de datos IceCream, que contiene los datos de esta tabla:
FÓRMULA DESCRIPCIÓN RESULTADO
Paso a paso
Para ejecutar estos ejemplos, cree el origen de datos IceCream como una colección:
1. Agregue un botón y establezca su propiedad OnSelect en esta fórmula:
ClearCollect (IceCream; {Flavor: "Chocolate"; cantidad: 100; en orden: 150}; {Flavor: "Vainilla";
cantidad: 200; en orden: 20}; {Flavor: "Fresa"; cantidad: 300; en orden: 0}; {Flavor: "Menta chocolate";
cantidad: 60; en orden: 100}; {Flavor: "Pistacho"; cantidad: 200; en orden: 10})
2. Obtenga una vista previa de la aplicación, seleccione el botón y, luego, presione Esc para volver al área de
trabajo predeterminada.
3. Seleccione Colecciones en el menú Archivo para mostrar la colección que acaba de crear y, luego, presione
Esc para volver al área de trabajo predeterminada.
Ordenar
1. Agregue otro botón y establezca su propiedad OnSelect en esta fórmula:
ClearCollect( SortByFlavor; Sort( IceCream; Flavor ) )
La fórmula anterior crear otra colección, denominada SortByFlavor, que contiene los mismos datos que
IceCream. Sin embargo, la colección nueva contiene los datos ordenados alfabéticamente según la columna
Sabor en orden ascendente.
2. Presione F5, seleccione el botón nuevo y, luego, presione Esc.
3. Seleccione Colecciones en el menú Archivo para mostrar ambas colecciones y, luego, presione Esc para
volver al área de trabajo predeterminada.
4. Repita los últimos tres pasos, pero cambie el nombre de la colección que desea crear y reemplace la fórmula
Sort por una fórmula distinta de la tabla de ejemplos que apareció anteriormente en esta sección que usa
Sort.
SortByColumns
1. Agregue otro botón y establezca su propiedad OnSelect en esta fórmula:
ClearCollect( SortByQuantity; SortByColumns( IceCream; "Quantity"; Ascending; "Flavor";
Descending ) )
La fórmula anterior crea una tercera colección, denominada SortByQuantity, que contiene los mismos
datos que IceCream. Sin embargo, la nueva colección contiene los datos ordenados numéricamente por la
columna Quantity en orden ascendente y luego por la columna Flavor en orden descendente.
2. Presione F5, seleccione el botón nuevo y, luego, presione Esc.
3. Seleccione Colecciones en el menú Archivo para mostrar las tres colecciones y, luego, presione Esc para
volver al área de trabajo predeterminada.
4. Repita los últimos tres pasos, pero cambie el nombre de la colección que desea crear y reemplace la fórmula
SortByColumns por una fórmula distinta de la tabla de ejemplos que apareció anteriormente en esta
sección que usa SortByColumns.
Funciones Sort y SortByColumns en PowerApps
08/10/2019 • 14 minutes to read
Descripción
La función Sort ordena una tabla según una fórmula.
La fórmula se evalúa para cada registro de la tabla y los resultados se usan para ordenar la tabla. La fórmula
debe dar como resultado un número, una cadena o un valor booleano; no puede generar una tabla ni un
registro.
Los campos de registro que se están procesando actualmente estarán disponibles en la formula. Solo tiene
que hacer referencia a los campos por su nombre, como con cualquier otro valor. También puede hacer
referencia a propiedades de control y a otros valores desde toda la aplicación. Para obtener más detalles, vea
los ejemplos siguientes y trabajar con el ámbito de registros.
Para ordenar primero por una columna y luego por otra, debe insertar una fórmula Sort dentro de otra. Por
ejemplo, puede usar esta fórmula para ordenar una tabla Contacts primero por una columna LastName y
después por una columna FirstName : Sort (sort (contactos, apellidos), FirstName)
La función SortByColumns también se puede usar para ordenar una tabla según una o más columnas.
La lista de parámetros para SortByColumns proporciona los nombres de las columnas según las cuales
ordenar y la dirección de ordenación por columna. La ordenación se realiza según el orden de los parámetros
(ordenados primero por la primera columna, luego la segunda, etc.). Los nombres de columna se especifican
como cadenas y requieren comillas dobles si se incluyen directamente en la lista de parámetros. Por ejemplo,
SortByColumns( CustomerTable; "LastName" ) .
Puede combinar SortByColumns con un control Menú desplegable o Cuadro de lista para permitir que
los usuarios seleccionen la columna según la cual ordenar.
Además de ordenar de manera ascendente o descendente, SortByColumns puede ordenar según una tabla
de valores de una sola columna. Por ejemplo, puede ordenar el registro según el nombre de un día de la
semana si suministra [ "Lunes"; "Martes"; "Miércoles"; "Jueves"; "Viernes"; "Sábado"; "Domingo" ]
como el criterio de ordenación. Todos los registros que incluyan Lunes" aparecerán primero, seguidos de los
registros que incluyan Martes, etc. Los registros encontrados que no aparezcan en la tabla de ordenación se
colocan al final de la lista.
Las tablas son un valor en PowerApps, tal como una cadena o un número. Se pueden pasar a funciones y las
funciones pueden devolverlas. Sort y SortByColumn no modifican una tabla; en lugar de eso, toman una
tabla como argumento y devuelven una tabla nueva que se ordenó. Consulte cómo trabajar con tablas para
más detalles.
Delegación
Siempre que sea posible, PowerApps delegará las operaciones de filtrado y ordenación al origen de datos y
se desplazará por los resultados a petición. Por ejemplo, cuando se inicia una aplicación que muestra un
control Galería lleno de datos, inicialmente solo se traerá al dispositivo el primer conjunto de registros. A
medida que el usuario se desplace por los datos, se traerán más datos del origen de datos. El resultado es un
inicio más rápido de la aplicación y acceso a conjuntos de datos muy grandes.
Sin embargo, la delegación no siempre es posible. La compatibilidad de funciones y operadores con la
delegación varía según el origen de datos. Si la delegación completa de una fórmula no es posible, el entorno
de creación indicará la parte que no se puede delegar con una advertencia. Si es posible, considere la
posibilidad de cambiar la fórmula para que no incluya las funciones y los operadores que no se pueden
delegar. La lista de delegación detalla qué orígenes de datos y operaciones se pueden delegar.
Si la delegación no es posible, PowerApps solo descargará un conjunto reducido de registros para trabajar
localmente. Las funciones de filtrado y ordenación trabajarán con un conjunto reducido de registros. En la
Galería puede no estará disponible la historia completa, y esto puede resultar confuso a los usuarios.
Consulte la información general sobre delegación para obtener más información.
Sintaxis
Sort( Table; Formula [; SortOrder ] )
Table: requerido. La tabla que se va a ordenar.
Formula: requerido. Esta fórmula se evalúa para cada registro de la tabla y los resultados se usan para
ordenar la tabla. Puede hacer referencia a columnas dentro de la tabla.
SortOrder: opcional. Especifique SortOrder.Descending para ordenar la tabla en orden descendente.
SortOrder.Ascending es el valor predeterminado.
SortByColumns( Table; ColumnName1 [; SortOrder1; ColumnName2; SortOrder2; ... ] )
Table: requerido. La tabla que se va a ordenar.
ColumnName(s) : requerido. Los nombres de las columnas según las cuales ordenar, como cadenas.
SortOrder (s) : opcional. SortOrder.Ascending o SortOrder.Descending. SortOrder.Ascending es el
valor predeterminado. Si se suministran varios ColumnNames, todas las columnas, menos la última,
deben incluir un SortOrder.
NOTE
En el caso de orígenes de datos de SharePoint y Excel que contengan nombres de columna con espacios,
especifique cada uno de ellos como "_x0020_" . Por ejemplo, especifique "Nombre de columna" como
"Nombre_x0020_de_columna" .
NOTE
En el caso de orígenes de datos de SharePoint y Excel que contengan nombres de columna con espacios,
especifique cada uno de ellos como "_x0020_" . Por ejemplo, especifique "Nombre de columna" como
"Nombre_x0020_de_columna" .
Ejemplos
En los ejemplos siguientes, usaremos el origen de datos IceCream, que contiene los datos de esta tabla:
FÓRMULA DESCRIPCIÓN RESULTADO
Paso a paso
Para ejecutar estos ejemplos, cree el origen de datos IceCream como una colección:
1. Agregue un botón y establezca su propiedad OnSelect en esta fórmula:
ClearCollect (IceCream; {Flavor: "Chocolate"; cantidad: 100; en orden: 150}; {Flavor: "Vainilla";
cantidad: 200; en orden: 20}; {Flavor: "Fresa"; cantidad: 300; en orden: 0}; {Flavor: "Menta
chocolate"; cantidad: 60; en orden: 100}; {Flavor: "Pistacho"; cantidad: 200; en orden: 10})
2. Obtenga una vista previa de la aplicación, seleccione el botón y, luego, presione Esc para volver al área de
trabajo predeterminada.
3. Seleccione Colecciones en el menú Archivo para mostrar la colección que acaba de crear y, luego,
presione Esc para volver al área de trabajo predeterminada.
Ordenar
1. Agregue otro botón y establezca su propiedad OnSelect en esta fórmula:
ClearCollect( SortByFlavor; Sort( IceCream; Flavor ) )
La fórmula anterior crear otra colección, denominada SortByFlavor, que contiene los mismos datos
que IceCream. Sin embargo, la colección nueva contiene los datos ordenados alfabéticamente según
la columna Sabor en orden ascendente.
2. Presione F5, seleccione el botón nuevo y, luego, presione Esc.
3. Seleccione Colecciones en el menú Archivo para mostrar ambas colecciones y, luego, presione Esc
para volver al área de trabajo predeterminada.
4. Repita los últimos tres pasos, pero cambie el nombre de la colección que desea crear y reemplace la
fórmula Sort por una fórmula distinta de la tabla de ejemplos que apareció anteriormente en esta
sección que usa Sort.
SortByColumns
1. Agregue otro botón y establezca su propiedad OnSelect en esta fórmula:
ClearCollect( SortByQuantity; SortByColumns( IceCream; "Quantity"; Ascending; "Flavor";
Descending ) )
La fórmula anterior crea una tercera colección, denominada SortByQuantity, que contiene los
mismos datos que IceCream. Sin embargo, la nueva colección contiene los datos ordenados
numéricamente por la columna Quantity en orden ascendente y luego por la columna Flavor en
orden descendente.
2. Presione F5, seleccione el botón nuevo y, luego, presione Esc.
3. Seleccione Colecciones en el menú Archivo para mostrar las tres colecciones y, luego, presione Esc
para volver al área de trabajo predeterminada.
4. Repita los últimos tres pasos, pero cambie el nombre de la colección que desea crear y reemplace la
fórmula SortByColumns por una fórmula distinta de la tabla de ejemplos que apareció
anteriormente en esta sección que usa SortByColumns.
Función Split en PowerApps
08/10/2019 • 6 minutes to read
Descripción
La función Split divide una cadena de texto en una tabla de subcadenas. Se usa para dividir listas delimitada por
comas, fechas que usan una barra diagonal entre sus distintas partes y en otras situaciones en las que se utiliza
un delimitador bien definido.
Para dividir la cadena de texto se usa una cadena de separación. El separador puede ser cero, uno o varios
caracteres que coinciden en conjunto con la cadena de texto. Si se usa una longitud cero o una cadena blank,
cada carácter se divide individualmente. Los caracteres separadores coincidentes no se devuelven en el
resultado. Si no se encuentra ninguna coincidencia en el separador, toda la cadena de texto se devuelve como un
único resultado.
Utilice la función concat para recombinar la cadena sin los separadores.
Utilice la función MatchAll para dividir una cadena mediante una expresión regular.
En los ejemplos se muestra cómo se puede usar la división con la primera y la última función para extraer
una única subcadena delimitada. La función Match suele ser una opción más concisa y eficaz para los usuarios
familiarizados con las expresiones regulares.
Sintaxis
Split(Texto; Separador)
Text: se requiere. Texto que se divide.
Separador: se requiere. Separador que se usa para dividir la cadena. Puede ser cero, uno o varios caracteres.
Ejemplos
Uso básico
FÓRMULA DESCRIPCIÓN RESULTADO
Distintos delimitadores
FÓRMULA DESCRIPCIÓN RESULTADO
Split( "Hello, World"; "," ) Divide las palabras, y se usa una coma
como separador. El segundo resultado
comienza con un espacio, ya que era el
carácter inmediatamente posterior a la
coma.
Extracción de subcadenas
FÓRMULA DESCRIPCIÓN RESULTADO
Calcula valores absolutos, logaritmos naturales, raíces cuadradas y los resultados de elevar e o cualquier
número a una potencia especificada.
Descripción
La función Abs muestra el valor no negativo de su argumento. Si el número es negativo, Abs muestra el
equivalente positivo.
La función Exp muestra e elevado a la potencia de su argumento. El número trascendente e comienza con
2,7182818...
La función Ln muestra el argumento natural (e base) de su argumento.
La función Power muestra un número elevado a una potencia. Es equivalente a usar el operador ^ .
La función Sqrt muestra el número que, cuando se multiplica por sí mismo, es igual a su argumento.
Si pasa un solo número, el valor que se muestra es un resultado único basado en la función llamada. Si pasa
una tabla de una sola columna que contiene números, el valor que se muestra es una tabla de resultados de
una sola columna, un resultado para cada registro en la tabla del argumento. Si tiene una tabla con varias
columnas, puede convertirla en una tabla de una sola columna, como se describe en cómo trabajar con
tablas.
Si algún argumento pudiera mostrar un valor no definido, el resultado queda en blanco. Por ejemplo, esto
puede pasar con las raíces cuadradas y los logaritmos de números negativos.
Sintaxis
Abs( Number )
Exp( Number )
Ln( Number )
Sqrt( Number )
Number: requerido. El número sobre el cual operar.
Power( Base; Exponente )
Base: requerido. Número base que se va a elevar.
Exponent: requerido. El exponente al que se eleva el número base.
Abs( SingleColumnTable )
Exp( SingleColumnTable )
Ln( SingleColumnTable )
Sqrt( SingleColumnTable )
SingleColumnTable: requerido. Una tabla de números de una sola columna sobre la cual operar.
Ejemplos
Número único
FÓRMULA DESCRIPCIÓN RESULTADO
Comprueba si una cadena de texto comienza o termina con otra cadena de texto.
Descripción
La función EndsWith comprueba si una cadena de texto termina con otra.
La función StartsWith comprueba si una cadena de texto comienza con otra.
Para ambas funciones, las pruebas no distinguen mayúsculas de minúsculas. El valor devuelto por ambas es un
valor booleano true o false.
Use EndsWith y StartsWith con la función Filter para buscar los datos dentro de la aplicación. También puede
usar el operador in o la función Search para realizar una búsqueda en cualquier lugar dentro de las cadenas de
texto, no solo al principio o al final. La selección de las funciones dependerá de las necesidades de la aplicación y
las funciones que se pueden delegar para el origen de datos específico. Si una de estas funciones no se puede
delegar, aparece una advertencia de delegación en el momento de la creación para avisarle de esta limitación.
Sintaxis
EndsWith( Text; EndText )
Text: requerido. Texto que se va a probar.
EndText: requerido. Texto que desea buscar al final de Text. Si EndText es una cadena vacía, EndsWith
devuelve true.
StartsWith( Text; StartText )
Text: requerido. Texto que se va a probar.
StartText: requerido. El texto que desea buscar al principio de Text. Si StartText es una cadena vacía,
StartsWith devuelve true.
Ejemplos
FÓRMULA DESCRIPCIÓN RESULTADO
EndsWith( "Di siempre hola"; "hola" Comprueba si "Di siempre hola" true
) termina con "hola" .
FÓRMULA DESCRIPCIÓN RESULTADO
StartsWith( "Good bye"; "hello" ) Prueba si "Good bye" comienza con false
"hello" .
Para crear este origen de datos como una colección, cree un control Botón y establezca la propiedad OnSelect
en esta fórmula:
ClearCollect (clientes; tabla ({nombre: "Fred Garcia"; compañía: "Northwind Traders"}; {nombre: "Cole
Miller"; empresa: "Contoso"}; {Name: "Glenda Johnson"; compañía: "Contoso"}; {Name: "Mike
Collins"; Company: "Adventure Works"}; {nombre: "Colleen Jones"; compañía: "Adventure Works"}))
Como en este ejemplo, puede mostrar una lista de registros en un control Galería en la parte inferior de una
pantalla. Cerca de la parte superior de la pantalla, puede agregar un control Entrada de texto denominado
SearchInput, de modo que los usuarios puedan especificar los registros que más les interesen.
A medida que el usuario escribe caracteres en SearchInput, automáticamente se filtran los resultados en la
galería. En este caso, se configura la galería para que muestre los registros para los que el nombre del cliente (no
el nombre de la empresa) comienza con la secuencia de caracteres de SearchInput. Si el usuario escribe co en
el cuadro de búsqueda, la galería muestra estos resultados:
Para filtrar según la columna Nombre, establezca la propiedad Elementos del control Galería en una de estas
fórmulas:
Puede expandir la búsqueda para incluir la columna Empresa además de la columna Nombre:
Descripción
La función Average calcula el promedio, o media aritmética, de los argumentos.
La función Max encuentra el valor máximo.
La función Min encuentra el valor mínimo.
La función Sum calcula la suma de los argumentos.
La función StdevP calcula la desviación estándar de los argumentos.
La función VarP calcula la varianza de los argumentos.
Puede proporcionar los valores de estas funciones como:
Argumentos independientes. Por ejemplo, Sum ( 1; 2; 3 ) da 6 como resultado.
Una tabla y una fórmula para operar sobre esa tabla. La suma total se calculará según los valores de la fórmula
para cada registro.
Los campos de registro que se están procesando actualmente estarán disponibles en la formula. Solo tiene que
hacer referencia a los campos por su nombre, como con cualquier otro valor. También puede hacer referencia a
propiedades de control y a otros valores desde toda la aplicación. Para obtener más detalles, vea los ejemplos
siguientes y trabajar con el ámbito de registros.
Estas funciones solo operan sobre valores numéricos. Se omiten otros tipos de valores, como cadenas o registros.
Use la función Value para convertir en número una cadena.
Las funciones Average, Max, Min y Sum se pueden delegar cuando se usan con un origen de datos que admite la
delegación de dichas funciones. Sin embargo, StdevP y VarP no se puede delegar en ningún origen de datos. Si no
se admite la delegación, solo se recuperará la primera parte de los datos y, después, la función se aplicará
localmente. Es posible que el resultado no represente la situación completa. Aparece una advertencia de delegación
durante la creación para recordarle esta limitación y sugerirle que cambie a alternativas que puedan delegarse
siempre que sea posible. Para más información, consulte la introducción a la delegación.
Sintaxis
Average( NumericalFormula1; [ NumericalFormula2; ... ] )
Max( NumericalFormula1; [ NumericalFormula2; ... ] )
Min( NumericalFormula1; [ NumericalFormula2; ... ] )
Sum ( NumericalFormula1; [ NumericalFormula2; ... ] )
StdevP ( NumericalFormula1; [ NumericalFormula2; ... ] )
VarP ( NumericalFormula1; [ NumericalFormula2; ... ] )
NumericalFormula (s) : requerido. Los valores numéricos en que se va a operar.
Average( Table; NumericalFormula )
Max( Table; NumericalFormula )
Min( Table; NumericalFormula )
Sum ( Table; NumericalFormula )
StdevP ( Table; NumericalFormula )
VarP ( Table; NumericalFormula )
Table: requerido. La tabla sobre la cual se opera.
NumericalFormula: requerido. La fórmula que se evalúa en cada registro. El resultado de esta fórmula se usa
para la agregación. Puede usar columnas de la tabla en la fórmula.
Ejemplos
Paso a paso
Imaginemos que tiene un origen de datos llamado Sales que contiene una columna CostPerUnit y una columna
UnitsSold, y establece la propiedad Text de una etiqueta en esta función:
Sum (Sales; CostPerUnit * UnitsSold)
Para mostrar las ventas totales, la etiqueta multiplicaría los valores de esas columnas para cada registro y luego
agregaría juntos los resultados de todos los registros:
Pongamos otro ejemplo: imaginemos que tiene controles deslizantes llamados Slider1, Slider2 y Slider3 y una
etiqueta con la propiedad Text establecida en esta fórmula:
Sum (Slider1.Value; Slider2.Value; Slider3.Value)
La etiqueta mostraría la suma de todos los valores en los que se establecieron los controles deslizantes.
Funciones Replace y Substitute en PowerApps
26/11/2019 • 6 minutes to read
Descripción
La función Replace identifica el texto que se debe reemplazar según la posición inicial y la longitud.
La función Substitute identifica el texto que se debe reemplazar buscando una cadena coincidente. Si se
encuentra más de una coincidencia, puede reemplazar todas ellas o especificar una para reemplazar.
Si pasa una única cadena, el valor devuelto es la cadena modificada. Si pasa una tabla de una sola columna que
contiene cadenas, el valor devuelto es la tabla de una sola columna con cadenas modificadas. Si tiene una tabla
con varias columnas, puede convertirla en una tabla de una sola columna, como se describe en cómo trabajar
con tablas.
Sintaxis
Replace( String; StartingPosition; NumberOfCharacters; NewString )
String: requerido. La cadena en la que se va a actuar.
StartingPosition: requerido. La posición del carácter en la que se va a iniciar el reemplazo. El primer carácter
de String está en la posición 1.
NumberOfCharacters: requerido. El número de caracteres que se van a reemplazar en String.
NewString: requerido. La cadena de reemplazo. El número de caracteres de este argumento puede diferir del
argumento NumberOfCharacters.
Substitute( String; OldString; NewString [; InstanceNumber ] )
String: requerido. La cadena en la que se va a actuar.
OldString: requerido. La cadena que se va a reemplazar.
NewString: requerido. La cadena de reemplazo. OldString y NewString pueden tener longitudes distintas.
InstanceNumber: opcional. Use este argumento para especificar la instancia de OldString que se va a
reemplazar si String contiene más de una instancia. Si no especifica este argumento, se reemplazarán todas
las instancias.
Replace( SingleColumnTable; StartingPosition; NumberOfCharacters; NewString )
SingleColumnTable: requerido. Una tabla de números de una sola columna sobre la que se va a actuar.
StartingPosition: requerido. La posición del carácter en la que se va a iniciar el reemplazo. El primer carácter
de cada cadena de la tabla se encuentra en la posición 1.
NumberOfCharacters: requerido. El número de caracteres que se van a reemplazar en cada cadena.
NewString: requerido. La cadena de reemplazo. El número de caracteres de este argumento puede diferir del
argumento NumberOfCharacters.
Substitute( SingleColumnTable; OldString; NewString [; InstanceNumber ] )
SingleColumnTable: requerido. Una tabla de números de una sola columna sobre la que se va a actuar.
OldString: requerido. La cadena que se va a reemplazar.
NewString: requerido. La cadena de reemplazo. OldString y NewString pueden tener longitudes distintas.
InstanceNumber: opcional. Use este argumento para especificar la instancia de OldString que se va a
reemplazar si String contiene más de una instancia. Si no especifica este argumento, se reemplazarán todas
las instancias.
Ejemplos
FÓRMULA DESCRIPCIÓN RESULTADO
Substitute ("Quarter 1, 2018", "1", Sustituye solo la primera instancia de "Trimestre 2, 2018"
"2", 1) "1" por "2" porque el cuarto
argumento (InstanceNumber) se
proporciona con un 1.
Substitute ("Quarter 1, 2011", "1", Sustituye solo la tercera instancia de "Trimestre 1, 2012"
"2", 3) "1" por "2" porque el cuarto
argumento (InstanceNumber) se
proporciona con un 3.
Substitute ("Quarter 1, 2011", "1", Sustituye todas las instancias de "1" "Trimestre 2, 2022"
"2") por "2" porque no se proporciona el
cuarto argumento (InstanceNumber).
Vea, edite o cree un elemento, guarde el contenido y restablezca los controles de un control Editar formulario .
Información general
Estas funciones cambian el estado del control Editar formulario. El control de formulario puede estar en uno de
estos modos:
MODO DESCRIPCIÓN
Descripción
Estas funciones a menudo se invocan desde la fórmula OnSelect de un control Botón o Imagen para que el
usuario pueda guardar las modificaciones, abandonarlas o crear un registro. También puede usar conjuntamente
controles y estas funciones para crear una solución completa.
Estas funciones no devuelven ningún valor.
SubmitForm
Use la función SubmitForm de la propiedad OnSelect de un control Botón para guardar los cambios de un
control Formulario en el origen de datos.
Antes de enviar cualquier cambio, esta función comprueba problemas de validación con cualquier campo que se
haya marcado como requerido o que tenga una o más restricciones en su valor. Este comportamiento es idéntico al
de la función Validate .
SubmitForm también comprueba la propiedad Valid del control Formulario, que es una agregación de todas las
propiedades Valid de los controles Card que contiene el control Formulario. Si se produce un problema, no se
envían los datos y las propiedades Error y ErrorKind del control Formulario se establecen en consecuencia.
Si se supera la validación, SubmitForm envía el cambio al origen de datos.
Si se realiza correctamente, se ejecutará el comportamiento OnSuccess del formulario y se borrarán las
propiedades Error y ErrorKind . Si el formulario se encontraba en modo FormMode.New, se devolverá al
modo FormMode.Edit.
Si no se realiza correctamente, se ejecutará el comportamiento OnFailure del formulario y se establecerán las
propiedades Error y ErrorKind en consecuencia. El modo del formulario no se modifica.
EditForm
La función EditForm cambia el modo del control Formulario a FormMode.Edit. En este modo, el contenido de la
propiedad Elemento del control Formulario se utiliza para rellenar el formulario. Si la función SubmitForm se
ejecuta cuando el formulario está en este modo, se cambiará un registro, no se creará. FormMode.Edit es el valor
predeterminado del control Formulario.
NewForm
La función NewForm cambia el modo del control Formulario a FormMode.New. En este modo, el contenido de
la propiedad Elemento del control Formulario se omite y los valores predeterminados de la propiedad
DataSource rellenan el formulario. Si la función SubmitForm se ejecuta cuando el formulario está en este modo,
se creará un registro, no se cambiará.
ResetForm
La función ResetForm restablece el contenido de un formulario a sus valores iniciales, el contenido que había antes
de que el usuario realizara cambios. Si el formulario está en modo FormMode.New, se restablecerá al modo
FormMode.Edit. El comportamiento OnReset del control Formulario también se ejecutará. También puede
restablecer controles individuales con la función Reset pero únicamente desde dentro del formulario.
ViewForm
La función ViewForm cambia el modo del control Formulario a FormMode.View. En este modo, el contenido de
la propiedad Elemento del control Formulario se utiliza para rellenar el formulario. Las funciones SubmitForm y
ResetForm no tienen ningún efecto cuando se está en este modo.
Propiedad DisplayMode
El modo actual se puede leer mediante la propiedad Modo. El modo determina también el valor de la propiedad
DisplayMode que pueden usar las tarjetas de datos y controles del control de formulario. A menudo, la propiedad
DisplayMode de la tarjeta de datos se establecerá en Parent. DisplayMode (que hace referencia al formulario)
como lo hará la propiedad DisplayMode del control (que hace referencia a la tarjeta de datos):
Sintaxis
SubmitForm ( FormName )
FormName: requerido. Control Formulario para enviar al origen de datos.
EditForm ( FormName )
FormName: requerido. Control Formulario para cambiar al modo FormMode.Edit.
NewForm ( FormName )
FormName: requerido. Control Formulario para cambiar al modo FormMode.New.
ResetForm ( FormName )
FormName: requerido. Control Formulario para restablecer los valores iniciales. También cambia el formulario
del modo FormMode.New al modo FormMode.Edit.
ViewForm ( FormName )
FormName: requerido. Control Formulario para cambiar al modo FormMode.View.
Ejemplos
Consulte Formularios de datos para obtener ejemplos completos.
1. Agregue un control Botón, establezca la propiedad Text para mostrar Guardar y establezca la propiedad
OnSelect en esta fórmula:
SubmitForm ( EditForm )
2. Establezca la propiedad OnFailure de un control Formulario blank y la propiedad OnSuccess en esta
fórmula:
Back()
3. Asigne el nombre ErrorText a un control Label y establezca su propiedad Text en esta fórmula:
EditForm.Error
Cuando el usuario selecciona el botón Guardar, los cambios del control Formulario se envían al origen de
datos subyacente.
Si el envío se realiza correctamente, los cambios se guardan o, si el control Formulario está en modo
New, se creará un registro. ErrorText es blank y vuelve a aparecer la pantalla anterior.
Si se produce un error en el envío, ErrorText mostrará un mensaje de error descriptivo y la pantalla
actual permanecerá visible para que el usuario pueda corregir el problema e intentarlo de nuevo.
4. Agregue un control Botón, establezca su propiedad Text para que muestre Cancelar y establezca su
propiedad OnSelect en esta fórmula:
ResetForm ( EditForm );; Back()
Si el usuario selecciona el botón Cancelar, los valores del control Formulario se restablecen a su estado
original, el estado que tenían antes de que el usuario empezara a editarlo, vuelve a aparecer la pantalla
anterior y se devuelve el control Formulario al modo Edit si estaba en modo New.
5. Agregue un control Botón, establezca su propiedad Text para mostrar Nuevo y establezca su propiedad
OnSelect en esta fórmula:
NewForm ( EditForm );; Navigate( EditScreen; None )
Cuando el usuario selecciona el botón New, se activa el control Formulario en modo New, los valores
predeterminados del origen de datos del control Formulario rellenan el control y aparece la pantalla que
contiene el control Formulario. Cuando se ejecuta la función SubmitForm, se crea un registro en lugar de
actualizarlo.
Funciones Average, Max, Min, StdevP, Sum y VarP de
PowerApps
08/10/2019 • 4 minutes to read
Descripción
La función Average calcula el promedio, o media aritmética, de los argumentos.
La función Max encuentra el valor máximo.
La función Min encuentra el valor mínimo.
La función Sum calcula la suma de los argumentos.
La función StdevP calcula la desviación estándar de los argumentos.
La función VarP calcula la varianza de los argumentos.
Puede proporcionar los valores de estas funciones como:
Argumentos independientes. Por ejemplo, Sum ( 1; 2; 3 ) da 6 como resultado.
Una tabla y una fórmula para operar sobre esa tabla. La suma total se calculará según los valores de la fórmula
para cada registro.
Los campos de registro que se están procesando actualmente estarán disponibles en la formula. Solo tiene que
hacer referencia a los campos por su nombre, como con cualquier otro valor. También puede hacer referencia a
propiedades de control y a otros valores desde toda la aplicación. Para obtener más detalles, vea los ejemplos
siguientes y trabajar con el ámbito de registros.
Estas funciones solo operan sobre valores numéricos. Se omiten otros tipos de valores, como cadenas o registros.
Use la función Value para convertir en número una cadena.
Las funciones Average, Max, Min y Sum se pueden delegar cuando se usan con un origen de datos que admite la
delegación de dichas funciones. Sin embargo, StdevP y VarP no se puede delegar en ningún origen de datos. Si no
se admite la delegación, solo se recuperará la primera parte de los datos y, después, la función se aplicará
localmente. Es posible que el resultado no represente la situación completa. Aparece una advertencia de delegación
durante la creación para recordarle esta limitación y sugerirle que cambie a alternativas que puedan delegarse
siempre que sea posible. Para más información, consulte la introducción a la delegación.
Sintaxis
Average( NumericalFormula1; [ NumericalFormula2; ... ] )
Max( NumericalFormula1; [ NumericalFormula2; ... ] )
Min( NumericalFormula1; [ NumericalFormula2; ... ] )
Sum ( NumericalFormula1; [ NumericalFormula2; ... ] )
StdevP ( NumericalFormula1; [ NumericalFormula2; ... ] )
VarP ( NumericalFormula1; [ NumericalFormula2; ... ] )
NumericalFormula (s) : requerido. Los valores numéricos en que se va a operar.
Average( Table; NumericalFormula )
Max( Table; NumericalFormula )
Min( Table; NumericalFormula )
Sum ( Table; NumericalFormula )
StdevP ( Table; NumericalFormula )
VarP ( Table; NumericalFormula )
Table: requerido. La tabla sobre la cual se opera.
NumericalFormula: requerido. La fórmula que se evalúa en cada registro. El resultado de esta fórmula se usa
para la agregación. Puede usar columnas de la tabla en la fórmula.
Ejemplos
Paso a paso
Imaginemos que tiene un origen de datos llamado Sales que contiene una columna CostPerUnit y una columna
UnitsSold, y establece la propiedad Text de una etiqueta en esta función:
Sum (Sales; CostPerUnit * UnitsSold)
Para mostrar las ventas totales, la etiqueta multiplicaría los valores de esas columnas para cada registro y luego
agregaría juntos los resultados de todos los registros:
Pongamos otro ejemplo: imaginemos que tiene controles deslizantes llamados Slider1, Slider2 y Slider3 y una
etiqueta con la propiedad Text establecida en esta fórmula:
Sum (Slider1.Value; Slider2.Value; Slider3.Value)
La etiqueta mostraría la suma de todos los valores en los que se establecieron los controles deslizantes.
Funciones If y Switch de PowerApps
08/10/2019 • 10 minutes to read
Determina si se cumple alguna condición de un conjunto (If) o si el resultado de una fórmula coincide
con algún valor de un conjunto (Switch) y luego devuelve un resultado o ejecuta una acción.
Descripción
La función If comprueba una o varias condiciones hasta que encuentra un resultado verdadero. Si se
encuentra un resultado de este tipo, se devuelve un valor correspondiente. Si no se encuentra ningún
resultado de este tipo, se devuelve un valor predeterminado. En cualquier caso, el valor devuelto
podría ser una cadena para mostrar, una fórmula para evaluar u otra forma de resultado.
La función Switch evalúa una fórmula y determina si el resultado coincide con algún valor de una
secuencia que especifique. Si se encuentra una coincidencia, se devuelve un valor correspondiente. Si
no se encuentra ninguna coincidencia, se devuelve un valor predeterminado. En cualquier caso, el
valor devuelto podría ser una cadena para mostrar, una fórmula para evaluar u otra forma de
resultado.
Las funciones If y Switch son muy parecidas, así que debe usar aquella que mejor se adapte a su
situación:
Use If para evaluar una única condición. La sintaxis más común para esta función es If( Condition;
ThenResult; DefaultResult ), que proporciona el patrón común "if … then ... else ..." que puede verse
en otras herramientas de programación.
Use If para evaluar varias condiciones no relacionadas. En PowerApps (a diferencia de Microsoft
Excel), puede especificar varias condiciones sin tener que anidar fórmulas If.
Use Switch para evaluar una condición única contra varias coincidencias posibles. También podría
usar If en este caso, pero tendría que repetir la fórmula con cada posible coincidencia.
Puede usar ambas funciones en fórmulas de comportamiento para crear una bifurcación entre dos o
más acciones. Solo una bifurcación desencadenará una acción. Las condiciones y coincidencias se
evalúan en orden y se detienen si una condición es verdadera o se encuentra una coincidencia.
Se devuelve en blanco si ninguna condición es verdadera, no se encuentra ninguna coincidencia y no
especifica un resultado predeterminado.
Sintaxis
If( Condition; ThenResult [; DefaultResult ] )
If( Condition1; ThenResult1 [; Condition2; ThenResult2; ... [ ; DefaultResult ] ] )
Condition(s) : requerido. Fórmulas para comprobar que una condición es verdadera. Tales
fórmulas contienen normalmente operadores de comparación (como < , > y = ) y permiten probar
funciones como IsBlank e IsEmpty .
ThenResult(s) : requerido. El valor correspondiente que se devuelve para una condición que se
evalúa como true.
DefaultResult: opcional. El valor que se devuelve si ninguna condición se evalúa como verdadera.
Si no se especifica este argumento, se devolverá un valor blank.
Switch( Formula; Match1; Result1 [; Match2; Result2; ... [; DefaultResult ] ] )
Formula: requerido. Fórmula para evaluar coincidencias. Esta fórmula se evalúa solo una vez.
Match(s) (Coincidencias): requerido. Valores para comparar con el resultado de Fórmula. Si se
encuentra una coincidencia exacta, se devuelve el Resultado correspondiente.
Result(s) : requerido. El valor correspondiente que se devolverá cuando se encuentre una
coincidencia exacta.
DefaultResult: opcional. Si no se encuentra una coincidencia exacta, se devuelve este valor. Si no se
especifica este argumento, se devolverá un valor blank.
Ejemplos
Valores en las fórmulas
En los ejemplos siguientes, un control Control deslizante (llamado Slider1) tiene un valor de 25.
Paso a paso
1. Agregue un control Entrada de texto y asígnele el nombre Text1, siempre que no sea su
nombre predeterminado.
2. En Text1, escriba 30.
3. Agregue un control Label y establezca su propiedad Text en esta fórmula:
If( Value(Text1.Text) < 20; "Order MANY more!"; Value(Text1.Text) < 40; "Order
more!"; Text1.Text )
El control Etiqueta muestra Order more! dado que el valor de Text1 es superior a 20, pero
inferior a 40.
4. En Text1, escriba 15.
El control Etiqueta muestra Order MANY more! dado que el valor de Text1 es inferior a 20.
5. En Text1, escriba 50.
El control Etiqueta muestra el valor que escribió porque es superior a 40.
Función Table en PowerApps
08/10/2019 • 2 minutes to read
Descripción
La función Table crea una tabla desde una lista de argumentos de registros.
Las columnas de la tabla será la unión de todas las propiedades de todos los registros de argumento. Un valor
blank se agrega a cualquier columna para la que un registro no incluye un valor.
Una tabla es un valor en PowerApps, como una cadena o un número. Puede especificar una tabla como un
argumento para una fórmula, y las funciones pueden devolver una tabla como resultado. Table no crea una tabla
permanente. En su lugar, devuelve una tabla temporal hecha de sus argumentos. Puede especificar esta tabla
temporal como un argumento para otra función, visualizarla en una galería o insertarla en otra tabla. Consulte
cómo trabajar con tablas para más detalles.
También puede crear una tabla de una sola columna con la sintaxis [valor1; valor2;...] .
Sintaxis
Table( Record1 [; Record2; ... ] )
Registro (s) : requerido. Los registros para agregar a la tabla.
Ejemplos
Establezca la propiedad Items de un cuadro de lista con esta fórmula:
Table({Color:"red"}; {Color:"green"}; {Color:"blue"})
El cuadro de lista muestra cada color como una opción.
Agregue una galería de texto y establezca su propiedad Elementos con esta función:
Table({Item:"Violin123"; Location:"France"; Owner:"Fabrikam"}; {Item:"Violin456";
Location:"Chile"})
La galería muestra dos registros, ambos contienen el nombre y la ubicación de un elemento. Solo un
registro contiene el nombre del propietario.
Funciones Acos, Acot, Asin, Atan, Atan2, Cos,
Cot, Degrees, Pi, Radians, Sin y Tan en
PowerApps
08/10/2019 • 9 minutes to read
Descripción
Funciones principales
La función Cos devuelve el coseno de su argumento, un ángulo especificado en radianes.
La función Cot devuelve la cotangente de su argumento, un ángulo especificado en radianes.
La función Sin devuelve el seno de su argumento, un ángulo especificado en radianes.
La función Tan devuelve la tangente de su argumento, un ángulo especificado en radianes.
Funciones inversas
El Acos función devuelve el arcocoseno, o coseno inverso, de su argumento. El arcocoseno es el ángulo
cuyo coseno es el argumento. El ángulo devuelto se expresa en radianes en el intervalo de 0 (cero) a π.
La función Acot devuelve el valor principal de la arcocotangente, o cotangente inversa, de su argumento.
El ángulo devuelto se expresa en radianes en el intervalo de 0 (cero) a π.
La función Asin devuelve el arcoseno, o seno inverso, de su argumento. El arcoseno es el ángulo cuyo
seno es el argumento. El ángulo devuelto se expresa en radianes en el intervalo de -π/2 a π/2.
La función Atan devuelve la arcotangente, o tangente inversa, de su argumento. La arcotangente es el
ángulo cuya tangente es el argumento. El ángulo devuelto se expresa en radianes en el intervalo de -π/2 a
π/2.
La función Atan2 devuelve la arcotangente, o tangente inversa, de las coordenadas x e y especificadas
como argumentos. La arcotangente es el ángulo desde el eje x a una línea que contiene el origen (0, 0) y
un punto con las coordenadas (x, y). El ángulo se expresa en radianes entre -π y π, excluyendo -π. Un
resultado positivo representa un ángulo con rotación levógira (hacia la izquierda) desde el eje x; un
resultado negativo representa un ángulo con rotación dextrógira (hacia la derecha). Atan2( a; b ) es igual
a Atan( b/a ) , excepto que a puede ser igual a 0 (cero) con la función Atan2.
Funciones auxiliares
La función Degrees convierte radianes en grados. π radianes equivalen a 180 grados.
La función Pi devuelve el número transcendente π, que comienza 3,141592...
La función Radians convierte grados en radianes.
Notas
Si pasa un solo número a estas funciones, el valor que se devuelve es un resultado único. Si pasa una tabla
de una sola columna que contiene números, el valor que se muestra es una tabla de resultados de una
sola columna, un resultado para cada registro en la tabla del argumento. Si tiene una tabla con varias
columnas, puede convertirla en una tabla de una sola columna, como se describe en cómo trabajar con
tablas.
Si algún argumento resultase en un valor no definido, el resultado es blank. Esto puede ocurrir, por
ejemplo, al utilizar las funciones inversas con argumentos que están fuera del intervalo.
Sintaxis
Funciones principales
Cos( Radians )
Cot( Radians )
Sin( Radians )
Tan( Radians )
Radians: requerido. Ángulo sobre el cual operar.
Cos( SingleColumnTable )
Cot( SingleColumnTable )
Sin( SingleColumnTable )
Tan( SingleColumnTable )
SingleColumnTable: requerido. Una tabla de ángulos de una sola columna sobre la que se va a actuar.
Funciones inversas
Acos( Number )
Acot( Number )
Asin( Number )
Atan( Number )
Number: requerido. El número sobre el cual operar.
Acos( SingleColumnTable )
Acot( SingleColumnTable )
Asin( SingleColumnTable )
Atan( SingleColumnTable )
SingleColumnTable: requerido. Una tabla de números de una sola columna sobre la cual operar.
Atan2( X; Y )
X: requerido. coordenadas del eje X.
Y: requerido. coordenadas del eje Y.
Funciones del asistente
Degrees( Radians )
Radians: requerido. Ángulo en radianes para convertir en grados.
Pi()
Radians( Degrees )
Degrees: requerido. Ángulo en grados para convertir en radianes.
Ejemplos
Número único
FÓRMULA DESCRIPCIÓN RESULTADO
Convierte cualquier valor y da formato a un número o un valor de fecha y hora en una cadena de texto.
Descripción
La función Text da formato a un número o a un valor de fecha y hora según uno de estos tipos de
argumentos:
Un formato predefinido de fecha y hora que especifica a través de la enumeración DateTimeFormat.
Para las fechas y horas, se prefiere este enfoque, ya que se ajusta automáticamente a la región y el idioma
de cada usuario.
Un formato personalizado, que consta de una cadena de marcadores de posición que definen, por ejemplo,
si los números muestran un separador decimal y las fechas muestran el nombre completo del mes, el mes
como una abreviatura o el mes como un número. PowerApps admite un subconjunto de los marcadores
de posición que admite Microsoft Excel. En esta cadena, el marcador de posición de idioma especifica el
idioma en el que se van a interpretar los demás marcadores de posición. Si el formato personalizado
incluye un punto, por ejemplo, el marcador de posición de formato de idioma especifica si el punto es un
separador decimal (ja-JP ) o un separador de miles (es-ES ).
Consulte cómo trabajar con fechas y horas para más información.
La función Text también puede convertir cualquier tipo de datos en una representación de texto con un
formato predeterminado. Úselo para pasar valores que no son de texto a funciones basadas en texto como
Len, righty IsMatch.
Formatos predefinidos de fecha y hora
FORMATO PREDEFINIDO DESCRIPCIÓN
DateTimeFormat.LongDate Año completo, mes, día del mes y día de la semana. Los
nombres del mes y del día de la semana no se abrevian.
DateTimeFormat.LongDateTime Año completo, mes, día del mes y día de la semana, además
de la hora (reloj de 12 horas), minutos, segundos y
designación a.m y p.m. Los nombres del mes y del día de la
semana no se abrevian.
DateTimeFormat.LongDateTime24 Año completo, mes, día del mes y día de la semana, además
de la hora (reloj de 24 horas), minutos y segundos. Los
nombres del mes y del día de la semana no se abrevian.
Si un número tiene más dígitos a la derecha del separador decimal que marcadores de posición en el formato,
el número se redondea a tantas cifras decimales como marcadores de posición existen. Si hay más dígitos a la
izquierda del separador decimal que marcadores de posición, se muestran los dígitos adicionales. Si el
formato solo consta de signos numéricos (#) a la izquierda del separador decimal, los números menores que
1 comienzan con un separador decimal (por ejemplo .47).
Marcadores de posición de fecha y hora
MARCADOR DE POSICIÓN DESCRIPCIÓN
CARÁCTER DESCRIPCIÓN
Cualquier símbolo de moneda Signo de dólar, signo de centavo, signo de euro, etc.
+ Signo más
( Paréntesis de apertura
: Dos puntos
' Apóstrofo
{ Llave de apertura
= Signo igual
- Signo menos
/ Barra diagonal
) Paréntesis de cierre
& Y comercial
~ Tilde de la ñ
} Llave de cierre
Carácter de espacio
Aplicaciones globales
La función Text es globalmente compatible. Para una amplia variedad de idiomas, sabe cómo escribir
correctamente fechas, horas, monedas y números. Para ello, necesita dos tipos de información:
El idioma del formato personalizado: Para los responsables, ¿cómo se debe interpretar un formato
personalizado? Los caracteres separadores ( . y , ) tienen significados distintos en diferentes idiomas. Si
especifica un formato personalizado, puede incluir un marcador de posición de idioma o tomar el valor
predeterminado, que refleja el idioma en el que está establecido el dispositivo. Incluso más fácilmente,
puede usar uno de los formatos de fecha y hora predefinidos, que son independientes del lenguaje.
El idioma del resultado: Para los usuarios, ¿en qué idioma debe aparecer el resultado de la función? Los
nombres de los meses y los días de la semana deben estar en el idioma adecuado para el usuario de la
aplicación, que se puede especificar agregando un tercer argumento opcional a la función de texto .
En ambos casos, se especifica el idioma mediante una etiqueta de idioma. Para ver la lista de idiomas
admitidos, escriba texto (1234, "") en la barra de fórmulas o en la pestaña Opciones avanzadas del panel
derecho y, a continuación, desplácese por la lista de configuraciones regionales sugeridas para el tercer
argumento.
Marcador de posición de idioma
Para especificar el idioma del formato personalizado, use:
El marcador de posición de idioma puede aparecer en cualquier parte del formato personalizado, pero solo
una vez.
Si especifica un formato personalizado sin un marcador de posición de idioma y el formato es ambiguo desde
un punto de vista global, se insertará automáticamente la etiqueta de idioma del idioma actual.
[$-en-US ] se presupone si este marcador de posición no está presente cuando se ejecuta la aplicación.
NOTE
En una versión futura, la sintaxis de este marcador de posición puede cambiar para evitar la confusión con un marcador
de posición similar, pero distinto, que Excel admite.
Sintaxis
Text( NumberOrDateTime; DateTimeFormatEnum [; ResultLanguageTag ])
NumberOrDateTime : requerido. El número o el valor de fecha y hora al que se dará formato.
DateTimeFormat: requerido. Miembro de la enumeración DateTimeFormat.
ResultLanguageTag: opcional. La etiqueta de idioma que se usará para el texto de resultado. De manera
predeterminada, se usa el idioma del usuario actual.
Text( NumberOrDateTime; CustomFormat [; ResultLanguageTag ])
Number: requerido. El número o el valor de fecha y hora al que se dará formato.
CustomFormat: requerido. Uno o más marcadores de posición entre comillas dobles.
ResultLanguageTag: opcional. La etiqueta de idioma que se usará para el texto de resultado. De manera
predeterminada, se usa el idioma del usuario actual.
Texto( AnyValue )
AnyValue : requerido. Valor que se va a convertir en una representación de texto. Se utiliza un formato
predeterminado.
Ejemplos
A menos que se especifique lo contrario, el usuario que ejecuta estas fórmulas se encuentra en el Estados
Unidos y ha seleccionado inglés como idioma. La función Language muestra "en-US".
Número
FÓRMULA DESCRIPCIÓN RESULTADO
Text( 12000; "$ #,###" ) Coloca un separador de miles cada "$ 12,000"
Text( 1200000; "$ #,###" ) tres dígitos e incluye un símbolo de "$ 1,200,000"
moneda.
Fecha y hora
A las 2:37:47 PM del Monday, November 23, 2015
Zona horaria del Pacífico de Estados Unidos (UTC -8)
Text( Now(); Da formato como una cadena de "Monday, November 23, 2015"
DateTimeFormat.LongDate ) fecha larga, en el idioma y la
configuración local del usuario actual.
Text( Now(); Da formato como una cadena de "Monday, November 23, 2015
DateTimeFormat.LongDateTime ) fecha y hora larga, en el idioma y la 2:37:47 PM"
configuración local del usuario actual,
con un reloj de 12 horas.
Texto (1448318857 * 1000, "MMM. Muestra un valor de fecha y hora de "Nov 23, 2015 (02:47:37 PM)"
DD, AAAA (HH: mm: SS AM/PM) ") UNIX en formato legible si multiplica
el valor de origen por 1.000.
Aplicaciones globales
FÓRMULA DESCRIPCIÓN RESULTADO
Text (1234567,89; "[$-fr-FR] # # # Muestra un espacio como separador "1 234 567, 89 €"
#, # # €"; "fr-FR") de agrupación, la coma como
separador decimal y € como símbolo
de divisa.
Texto (1234567; 89;; "[$-fr-FR] # # Si los datos de origen siguen el "1 234 567, 89 €"
# #, # # €") francés personalizado de usar una
coma como separador decimal, debe
cambiar la configuración regional a
francés y separar los argumentos con
un punto y coma en lugar de una
coma para obtener el mismo
resultado que el anterior.
Text( Date(2016;1;31); "dddd Muestra el día de la semana, el mes y "Sábado enero 31"
mmmm d" ) el día del mes en el idioma del usuario
actual. Como ninguno de los
marcadores de posición depende del
idioma, no es necesario tener una
etiqueta de idioma de texto de
formato.
Text( Date(2016;1;31); "dddd Muestra el día de la semana, el mes y "Domingo enero 31"
mmmm d"; "es-ES" ) el día del mes en el idioma "es-ES".
Descripción
La función Date convierte los valores individuales de año, mes y día en un valor de fecha y hora. La parte de
la hora es la medianoche.
Si el año está comprendido entre 0 y 1899 (ambos incluidos), la función agrega ese valor a 1900 para
calcular el año. 70 se convierte en 1970.
Si el valor de Mes es menor que 1 o mayor que 12, el resultado restará o sumará esos meses desde el
principio del año especificado.
Si el valor de Día es mayor que el número de días del mes especificado, la función sumará esos días al
primer día del mes y devolverá una fecha correspondiente de un mes posterior. Si el valor de Día es
menor que 1, la función resta esa cantidad de días, más 1, desde el primer día del mes especificado.
La función Time convierte los valores individuales de hora, minuto y segundo en un valor de fecha y hora. El
resultado no tiene ninguna fecha asociada a él.
Consulte las funciones DateValue , TimeValue y DateTimeValue para obtener información acerca de
cómo convertir una cadena en un valor.
Consulte también cómo trabajar con fechas y horas para más información.
Sintaxis
Date( Year; Month; Day )
Year: requerido. Los números mayores a 1899 se interpretan como un absoluto (1980 se interpreta como
1980). Los números comprendidos entre 0 y 1899 se interpretan en relación con 1900. (Por ejemplo, 80
se interpreta como 1980).
Month: requerido. Un número comprendido entre 1 y 12.
Day: requerido. Un número comprendido entre 1 y 31.
Time( Hour; Minute; Second )
Hour: requerido. Un número comprendido entre 0 (12:00 a. m.) y 23 (11:00 p. m).
Minute: requerido. Un número comprendido entre 0 y 59.
Second: requerido. Un número comprendido entre 0 y 59.
Ejemplos
Fecha
Si un usuario escribe 1979 en un control de entrada de texto denominado HireYear, 3 en otro control
denominado HireMonth y 17 en un tercer control denominado HireDay, esta función debería devolver
3/17/1979:
Date(Value(HireYear.Text); Value(HireMonth.Text); Value(HireDay.Text))
Time
Si un usuario escribe 14 en un control de entrada de texto denominado BirthHour, 50 en otro control
denominado BirthMinute y 24 en un tercer control denominado BirthSecond, esta función debería
devolver 02:50:24 p.
Text(Time(Value(BirthHour.Text); Value(BirthMinute.Text); Value(BirthSecond.Text)); "hh:mm:ss
a/p")
Funciones DateValue, TimeValue y
DateTimeValue en PowerApps
08/10/2019 • 6 minutes to read
Descripción
La función DateValue convierte una cadena de fecha (por ejemplo, "10/01/2014") en un valor de fecha y
hora.
La función TimeValue convierte una cadena de hora (por ejemplo, "12:15 p. m.") en un valor de fecha y
hora.
La función DateTimeValue convierte una cadena de fecha y hora (por ejemplo, "10 de enero de 2013,
12:13 a. m.") en un valor de fecha y hora.
La función DateValue ignora cualquier información de hora en la cadena de fecha y la función
TimeValue ignora cualquier información de fecha en la cadena de hora.
De forma predeterminada, el idioma utilizado es el del usuario actual, pero puede invalidar esta opción
para asegurarse de que las cadenas se interpreten correctamente. Por ejemplo, "10/1/1920" se interpreta
como el 1 de octubre en "inglés" y como 10 de enero en "francés".
Las fechas deben estar en uno de estos formatos:
MM/DD/AAAA
DD/MM/AAAA
DD Mes AAAA
Mes DD, AAAA
Consulte las funciones Date y Time para convertir a partir de componentes numéricos la fecha, mes y
año, y la hora, minuto y segundo.
Consulte también cómo trabajar con fechas y horas para más información.
Para convertir números, consulte la función Value .
Sintaxis
DateValue( String [; Language ])
DateTimeValue( String [; Language ])
TimeValue( String [; Language ])
String: requerido. Una cadena de texto que contiene un valor de fecha, de hora, o una combinación de
ambas.
Idioma: opcional. Una cadena de idioma, como la que devuelven los dos primeros caracteres de la
función Language . Si no se indica, se utilizará el idioma de cliente del usuario actual.
Ejemplos
DateValue
Si escribió 10/11/2014 en un control de entrada de texto denominado Startdate y, después, estableció la
propiedad Texto de una etiqueta en esta función:
Text(DateValue(Startdate.Text); DateTimeFormat.LongDate)
La etiqueta debería mostrar el sábado, 11 de octubre de 2014, si su equipo se ha configurado con
la configuración regional en.
NOTE
Puede utilizar varias opciones, excepto LongDateTime, con el parámetro DateTimeFormat. Para mostrar
una lista de esas opciones, escriba el parámetro, seguido inmediatamente de un signo de exclamación, en el
cuadro de función.
NOTE
Puede utilizar varias opciones, excepto LongDateTime, con el parámetro DateTimeFormat. Para mostrar
una lista de esas opciones, escriba el parámetro, seguido inmediatamente de un signo de exclamación, en el
cuadro de función.
Agrega valores de fecha y hora o encuentra la diferencia en estos valores y realiza la conversión entre la hora
local y UTC.
Descripción
La función DateAdd agrega un número de unidades a un valor de fecha y hora. El resultado es un nuevo
valor de fecha y hora. También puede restar un número de unidades de un valor de fecha y hora mediante la
especificación de un valor negativo.
La función DateDiff devuelve la diferencia entre dos valores de fecha y hora. El resultado es un número de
unidades.
En ambas funciones, las unidades pueden ser Milisegundos, Segundos, Minutos, Horas, Días, Meses,
Trimestres o Años. De forma predeterminada, ambas funciones usan días como unidades.
La función TimeZoneOffset devuelve el número de minutos entre la hora local del usuario y la Hora
universal coordinada (UTC ).
Puede usar DateAdd con TimeZoneOffset para realizar la conversión entre la hora local del usuario y la
Hora universal coordinada (UTC ). Al sumar TimeZoneOffset se convierte la hora local a UTC y al restarlo
(agregar el signo negativo) se convierte de UTC a la hora local.
Vea también tipos de datos Date, Time y DateTime, y trabajar con fechas y horas para obtener más
información.
Sintaxis
DateAdd( DateTime; Addition [; Units ] )
DateTime: requerido. Valor de fecha y hora con el que operar.
Suma: requerido. Número, en unidades, para agregar a DateTime.
Unidades: opcional. Tipo de unidades que se van a agregar: Milisegundos, segundos, minutos, horas,
días, meses, trimestreso años. Si no se especifica, se usará Días.
DateDiff( StartDateTime; EndDateTime [; Units ] )
StartDateTime: requerido. Valor de fecha y hora de inicio.
EndDateTime: requerido. Valor de fecha y hora de finalización.
Unidades: opcional. Tipo de unidades que se van a agregar: Milisegundos, segundos, minutos, horas,
días, meses, trimestreso años. Si no se especifica, se usará Días.
TimeZoneOffset( [ DateTime ] )
DateTime: opcional. Valor de fecha y hora para el que se devuelve el desplazamiento. De forma
predeterminada, se utiliza la fecha y hora actuales.
Ejemplos
En todos estos ejemplos, se supone que la fecha y hora actuales son 15 de julio de 2013, 1:02 p.m.
DateAdd simple
FÓRMULA DESCRIPCIÓN RESULTADO
Text( DateAdd( Now(); 4; Hours ); Agrega cuatro horas a la fecha y hora "15-07-2013 17:02"
"dd-mm-yyyy hh:mm" ) actuales.
Text( DateAdd( Today(); 1; Months Agrega un mes a la fecha actual, sin "15-08-2013 00:00"
); tiempo dado que Today no devuelve
"dd-mm-yyyy hh:mm" ) un componente de tiempo.
Text( DateAdd( Now(); ‑;30; Resta 30 minutos de la fecha y hora "15-07-2013 12:32"
Minutes ); actuales.
"dd-mm-yyyy hh:mm" )
DateDiff simple
FÓRMULA DESCRIPCIÓN RESULTADO
Conversión a UTC
Para convertir a UTC (Hora universal coordinada), agregue TimeZoneOffset durante el tiempo
especificado.
Imagine, por ejemplo, que los valores de fecha y hora actuales son 15 de julio de 2013, 1:02 p.m. en la
Hora de verano del Pacífico (PDT, UTC -7). Para determinar la hora actual en hora UTC, use:
DateAdd( Now(); TimeZoneOffset(); Minutes )
TimeZoneOffset toma como valor predeterminado la hora actual, por lo que no es necesario pasarle un
argumento.
Para ver el resultado, use la función Text con el formato dd -mm -aaaa hh:mm, que devolverá 15-07-2013
20:02.
Conversión desde UTC
Para convertir desde UTC, reste TimeZoneOffset (agregando el signo negativo) para la hora especificada.
Imagine, por ejemplo, que los valores de fecha y hora UTC 15 de julio de 2013, 8:02 p.m. se almacenan en
una variable llamada StartTime. Para ajustar la hora de la zona horaria del usuario, use:
DateAdd (StartTime, −TimeZoneOffset (StartTime), minutos)
Tenga en cuenta el signo negativo delante de TimeZoneOffset para restar el desplazamiento en lugar de
sumarlo.
Para ver el resultado, use la función Text con el formato dd -mm -aaaa hh:mm, que devuelve 15-07-2013
13:02 en la Hora de verano del Pacífico.
Funciones Now, Today e IsToday en PowerApps
08/10/2019 • 7 minutes to read
Devuelve la fecha y hora actuales y comprueba si un valor de fecha y hora es el día de hoy.
Descripción
La función Now devuelve la fecha y hora actuales como un valor de fecha y hora.
La función Today devuelve la fecha actual como un valor de fecha y hora. La parte de la hora es la medianoche.
Today tiene el mismo valor a lo largo del día, desde hoy a medianoche hasta mañana a medianoche.
La función IsToday comprueba si un valor de fecha y hora está comprendido entre hoy a medianoche y mañana
a medianoche. Con esta función, se devuelve un valor booleano true o false.
Todas estas funciones funcionan con la hora local del usuario actual.
Consulte cómo trabajar con fechas y horas para más información.
Funciones volátiles
Now y Today son funciones volátiles. Cada vez que se evalúa una de estas funciones, se devuelve un valor
diferente.
Cuando se usa en una fórmula de flujo de datos, una función volátil solo devuelve un valor diferente si se vuelve
a evaluar la fórmula en la que aparece. Si no hay ningún otro cambio en la fórmula, presenta el mismo valor
durante la ejecución de la aplicación.
Por ejemplo, un control de etiqueta con Label1.Text = Now() no cambiará mientras la aplicación esté activa.
Solo se generará un nuevo valor si se cierra y se vuelve a abrir la aplicación.
Si la función forma parte de una fórmula en la que haya cambiado algún elemento más, se volverá a evaluar. Por
ejemplo, si modificamos el ejemplo para incluir un control deslizante con Label1.Text = DateAdd( Now();
Slider1.Value; Minutes ) , se recuperará la hora actual cada vez que cambie el valor del control deslizante.
Asimismo, se volverá a evaluar la propiedad de texto de la etiqueta.
Cuando se usa en una fórmula de comportamiento, las funciones volátiles se evalúan cada vez que se evalúa la
fórmula de comportamiento. Encontrará un ejemplo a continuación.
Sintaxis
Now()
Today()
IsToday( DateTime )
DateTime: requerido. El valor de fecha y hora para comprobar.
Ejemplos
En los ejemplos de esta sección, la hora actual es 3:59 AM el 12 de febrero de 2015 y el idioma es en-us.
FÓRMULA DESCRIPCIÓN RESULTADO
Text( Now(); "mm/dd/yyyy Recupera la fecha y hora actuales y las "02/12/2015 03:59:00"
hh:mm:ss" ) muestra como una cadena.
Text( Today(); "mm/dd/yyyy Recupera solo la fecha actual, dejando "02/12/2015 00:00:00"
hh:mm:ss" ) la parte de hora como medianoche, y
la muestra como una cadena.
4. Pulse F5 para obtener una versión preliminar de la aplicación y, a continuación, inicie el temporizador.
Para ello, haga clic en él o púlselo.
La etiqueta muestra la hora local de forma continua, segundo a segundo.
Descripción
La función Trim quita todos los espacios de una cadena de texto, excepto los espacios individuales entre palabras.
La función TrimEnds quita todos los espacios del principio y del final de una cadena de texto, pero deja intactos los
espacios entre las palabras.
Si especifica una sola cadena de texto, cada función devuelve una cadena a la que se han quitado todos los espacios
adicionales. Si especifica una tabla con una sola columna que contiene cadenas, el valor devuelto es una tabla con
una sola columna de cadenas recortadas. Si tiene una tabla con varias columnas, puede convertirla en una tabla de
una sola columna, como se describe en cómo trabajar con tablas.
Al recortar los espacios entre las palabras, Trim es coherente con la función del mismo nombre en Microsoft Excel.
Sin embargo, TrimEnds es coherente con las herramientas de programación, que quitan los espacios solo del
principio y el final de cada cadena.
Sintaxis
Trim ( String )
TrimEnds( String )
String: requerido. Cadena de texto a la que se van a quitar los espacios.
Trim ( SingleColumnTable )
TrimEnds( SingleColumnTable )
SingleColumnTable: requerido. Tabla de una sola columna a la que se van a quitar los espacios.
Ejemplo
FÓRMULA DESCRIPCIÓN RESULTADO
Trim( " Hello World " ) Quita todos los espacios del principio y "Hello World"
del final de una cadena, y los espacios
adicionales de dentro de la cadena.
TrimEnds( " Hello World " ) Quita todos los espacios del principio y "Hello World"
del final de una cadena.
Los ejemplos siguientes usan una colección de una sola columna, llamada Spaces, que contiene estas cadenas:
Para crear esta colección, establezca la propiedad OnSelect de un control Botón en esta fórmula, abra el modo de
vista previa y, a continuación, pulse o haga clic en el botón:
ClearCollect( Spaces; [ " Jane Doe "; " Jack and Jill"; "Already trimmed";
" Venus, Earth, Mars "; "Oil and Water " ] )
NOTE
Si pulsa o hace clic en Colecciones en el menú Archivo para mostrar una colección, no aparecen espacios adicionales. Para
comprobar la longitud de la cadena, use la función Len .
Funciones Trim y TrimEnds en PowerApps
08/10/2019 • 3 minutes to read
Descripción
La función Trim quita todos los espacios de una cadena de texto, excepto los espacios individuales entre
palabras.
La función TrimEnds quita todos los espacios del principio y del final de una cadena de texto, pero deja intactos
los espacios entre las palabras.
Si especifica una sola cadena de texto, cada función devuelve una cadena a la que se han quitado todos los
espacios adicionales. Si especifica una tabla con una sola columna que contiene cadenas, el valor devuelto es
una tabla con una sola columna de cadenas recortadas. Si tiene una tabla con varias columnas, puede
convertirla en una tabla de una sola columna, como se describe en cómo trabajar con tablas.
Al recortar los espacios entre las palabras, Trim es coherente con la función del mismo nombre en Microsoft
Excel. Sin embargo, TrimEnds es coherente con las herramientas de programación, que quitan los espacios solo
del principio y el final de cada cadena.
Sintaxis
Trim ( String )
TrimEnds( String )
String: requerido. Cadena de texto a la que se van a quitar los espacios.
Trim ( SingleColumnTable )
TrimEnds( SingleColumnTable )
SingleColumnTable: requerido. Tabla de una sola columna a la que se van a quitar los espacios.
Ejemplo
FÓRMULA DESCRIPCIÓN RESULTADO
Trim( " Hello World " ) Quita todos los espacios del principio y "Hello World"
del final de una cadena, y los espacios
adicionales de dentro de la cadena.
TrimEnds( " Hello World " ) Quita todos los espacios del principio y "Hello World"
del final de una cadena.
Los ejemplos siguientes usan una colección de una sola columna, llamada Spaces, que contiene estas cadenas:
Para crear esta colección, establezca la propiedad OnSelect de un control Botón en esta fórmula, abra el modo
de vista previa y, a continuación, pulse o haga clic en el botón:
ClearCollect( Spaces; [ " Jane Doe "; " Jack and Jill"; "Already trimmed";
" Venus, Earth, Mars "; "Oil and Water " ] )
NOTE
Si pulsa o hace clic en Colecciones en el menú Archivo para mostrar una colección, no aparecen espacios adicionales.
Para comprobar la longitud de la cadena, use la función Len .
Funciones GroupBy y Ungroup en PowerApps
08/10/2019 • 9 minutes to read
Descripción
La función GroupBy devuelve una tabla con registros agrupados en función de los valores de una o varias
columnas. Los registros del mismo grupo se colocan en un único registro, con una columna agregada que
contiene una tabla anidada de las columnas restantes.
La función Ungroup invierte el proceso realizado por GroupBy. Esta función devuelve una tabla y divide en
registros individuales todos los registros que estaban agrupados.
Puede agrupar los registros mediante GroupBy, modificar la tabla que devuelve y, a continuación, desagrupar
los registros de la tabla modificada mediante la función Ungroup. Por ejemplo, puede quitar un grupo de
registros siguiendo este enfoque:
Use la función GroupBy.
Use la función Filter para quitar todo el grupo de registros.
Use la función Ungroup.
También puede agregar los resultados en función de una agrupación:
Use la función GroupBy.
Use la función AddColumns con Sum , Average y otras funciones de agregado para agregar una nueva
columna que sea un agregado de las tablas de grupos.
Use la función DropColumns para quitar la tabla de grupo.
Ungroup intenta conservar el orden original de los registros que se proporcionan a GroupBy. Esto no siempre
es posible (por ejemplo, si la tabla original contiene registros blank).
Una tabla es un valor en PowerApps, como una cadena o un número. Puede especificar una tabla como
argumento para una función y una función puede devolver una tabla. GroupBy y Ungroup no modifican una
tabla; en lugar de eso, toman una tabla como argumento y devuelven una tabla diferente. Consulte cómo
trabajar con tablas para más detalles.
Sintaxis
GroupBy( Table; ColumnName1 [; ColumnName2; ... ]; GroupColumnName )
Table: requerido. Tabla que se desea agrupar.
ColumnName(s) : requerido. Los nombres de columna en Table mediante los que se van a agrupar los
registros. Estas columnas se convierten en columnas en la tabla resultante.
GroupColumnName: requerido. El nombre de la columna para el almacenamiento de datos de registro
que no están en el ColumnName(s) .
NOTE
En el caso de orígenes de datos de SharePoint y Excel que contengan nombres de columna con espacios,
especifique cada uno de ellos como "_x0020_" . Por ejemplo, especifique "Nombre de columna" como
"Nombre_x0020_de_columna" .
NOTE
En el caso de orígenes de datos de SharePoint y Excel que contengan nombres de columna con espacios,
especifique cada uno de ellos como "_x0020_" . Por ejemplo, especifique "Nombre de columna" como
"Nombre_x0020_de_columna" .
Ejemplos
Crear una colección
1. Agregue un botón y establezca su propiedad Text para que el botón muestre Original.
2. Establezca la propiedad OnSelect del botón Original en esta fórmula:
ClearCollect( CityPopulations;
{ City: "London"; Country: "United Kingdom"; Population: 8615000};
{ City: "Berlin"; Country: "Germany"; Population: 3562000};
{ City: "Madrid"; Country: "Spain"; Population: 3165000};
{ City: "Rome"; Country: "Italy"; Population: 2874000};
{ City: "Paris"; Country: "France"; Population: 2273000};
{ City: "Hamburg"; Country: "Germany"; Population: 1760000};
{ City: "Barcelona"; Country: "Spain"; Population: 1602000};
{ City: "Munich"; Country: "Germany"; Population: 1494000};
{ City: "Milan"; Country: "Italy"; Population: 1344000}
)
4. Para mostrar esta colección, seleccione Colecciones en el menú Archivo y, a continuación, seleccione la
colección CityPopulations. Aparecerán los cinco primeros registros de la colección:
Registros de grupo
1. Agregue otro botón y establezca su propiedad Text en "Group" .
2. Establezca la propiedad OnSelect de este botón en esta fórmula:
ClearCollect( CitiesByCountry; GroupBy( CityPopulations; "Country"; "Cities" ) )
3. Mientras mantiene presionada la tecla Alt, seleccione el botón Grupo.
Acaba de crear una recopilación denominada CitiesByCountry, en la que se agrupan los registros de la
colección anterior mediante la columna País.
4. Para mostrar los primeros cinco registros de esta colección, seleccione Colecciones en el menú Archivo.
5. Para mostrar la población de las ciudades de un país o región, seleccione el icono de tabla de la columna
Ciudades de ese país (por ejemplo, Alemania):
Agregación de resultados
Otra cosa que podemos hacer con una tabla agrupada consiste en agregar los resultados. En este ejemplo, se
sumará la población de las ciudades más importantes de cada país.
1. Agregue otro botón y establezca su propiedad Text para que el botón muestre "Sum" .
2. Establezca la propiedad OnSelect del botón "Sum" en esta fórmula:
ClearCollect( CityPopulationsSum; AddColumns( CitiesByCountry; "Sum of City Populations";
Sum ( Cities; Population ) ) )
Que da como resultado:
AddColumns comienza con la colección básica de CitiesByCountry y agrega una nueva columna
denominada Sum of City Populations. Los valores de esta columna se calculan fila por fila según la
fórmula Sum ( Cities; Population ) . AddColumns proporciona el valor de la columna Cities (una tabla)
para cada fila y Sum el valor de Population de cada fila de esta subtabla.
Ahora que tenemos la suma que queremos, podemos usar la función DropColumns para quitar las
subtablas.
3. Agregue otro botón y establezca su propiedad Text para que el botón muestre "SumOnly" .
4. Establezca la propiedad OnSelect del botón "SumOnly" en esta fórmula:
ClearCollect( CityPopulationsSumOnly; DropColumns( CityPopulationsSum; "Cities" ) )
Que da como resultado:
Relacionar y desrelacionar registros de dos entidades a través de una relación de uno a varios o de varios a
varios.
Descripción
La función Relate vincula dos registros a través de una relación de uno a varios o de varios a varios en Common
Data Service. La función no relacional invierte el proceso y quita el vínculo.
En el caso de las relaciones uno a varios, la entidad muchos tiene un campo de clave externa que apunta a un
registro de la entidad. Relacionar establece este campo para que señale a un registro específico de la entidad,
mientras que sin relación establece este campo en en blanco. Si el campo ya está establecido cuando se llama a
Relate , el vínculo existente se pierde en favor del nuevo vínculo. También puede establecer este campo
mediante la función patch o un control Edit Form . no es necesario usar la función Relate .
En el caso de las relaciones de varios a varios, el sistema que vincula los registros mantiene una tabla combinada
oculta. No se puede obtener acceso a esta tabla de combinación directamente; solo se puede leer a través de una
proyección uno a varios y establecerse a través de las funciones relacionar y no relacionar . Ninguna entidad
relacionada tiene una clave externa.
Los datos de la entidad que especifique en el primer argumento se actualizarán para reflejar el cambio, pero los
datos de la entidad que especifique en el segundo argumento no lo serán. Esos datos se deben actualizar
manualmente con la función de actualización para mostrar el resultado de la operación.
Estas funciones nunca crean o eliminan un registro. Solo relacionan o desrelacionan dos registros que ya existen.
Estas funciones solo se pueden usar en fórmulas de comportamiento.
NOTE
Estas funciones forman parte de una característica de vista previa y su comportamiento solo está disponible cuando está
habilitada la característica datos relacionales, conjuntos de opciones y otras características nuevas de CDs . Se trata
de una configuración de nivel de aplicación que está habilitada de forma predeterminada para las nuevas aplicaciones. Para
encontrar este modificador de características, abra el menú archivo , seleccione Configuración de la aplicacióny, a
continuación, seleccione Configuración avanzada. Sus comentarios nos sirven mucho: denos su opinión en los foros de la
comunidad de PowerApps.
Sintaxis
Relacionar( Entity1RelatedTable; Entity2Record )
Entity1RelatedTable : requerido. Para un registro de Entity1, la tabla de registros Entity2 relacionados con una
relación de uno a varios o de varios a varios.
Entity2Record : requerido. Registro Entity2 que se va a agregar a la relación.
No relacionar( Entity1RelatedTable; Entity2Record )
Entity1RelatedTable : requerido. Para un registro de Entity1, la tabla de registros Entity2 relacionados con una
relación de uno a varios o de varios a varios.
Entity2Record : requerido. Registro Entity2 que se va a quitar de la relación.
Ejemplos
Considere una entidad Products con las siguientes relaciones, tal como se ha visualizado en el visor de
entidades del portal de PowerApps:
Los productos y las reservas se relacionan a través de una relación de uno a varios. Para relacionar el primer
registro de la entidad reservas con el primer registro de la entidad productos :
Relate( First( Products ).Reservations; First( Reservations ) )
En ningún momento se crea o quita un registro, solo se modificó la relación entre los registros.
Los productos y los contactos se relacionan a través de una relación de varios a varios. Para relacionar el
primer registro de la entidad Contacts con el primer registro de la entidad Products :
Relate( First( Products ).Contacts; First( Contacts ) )
Como las relaciones varios a varios son simétricas, podríamos hacer esto también en la dirección opuesta:
Relate( First( Contacts ).Products; First( Products ) )
de
Unrelate( First( Contacts ).Products; First( Products ) )
En el siguiente tutorial se realizan exactamente estas operaciones en estas entidades mediante una aplicación con
controles de Galería y de cuadro combinado para seleccionar los registros implicados.
Estos ejemplos dependen de los datos de ejemplo que se instalan en el entorno. Cree un entorno de prueba que
incluya datos de ejemplo o agregue datos de ejemplo a un entorno existente.
Uno a varios
Función Relate
En primer lugar, creará una aplicación sencilla para ver y reasignar las reservas asociadas a un producto.
1. Cree una aplicación de Tablet PC en blanco.
2. En la pestaña Vista, seleccione Orígenes de datos.
3. En el panel datos , seleccione Agregar origen de datos > Common Data Service > productos >
conectar.
La entidad Products forma parte de los datos de ejemplo cargados anteriormente.
4. En la pestaña Insertar , agregue un control Galería vertical en blanco.
5. Asegúrese de que el control que acaba de agregar se denomina Gallery1y, a continuación, muévalo y
cambie su tamaño para rellenar el lado izquierdo de la pantalla.
6. En la pestaña propiedades , establezca la propiedad elementos de Gallery1en productos y su diseño
en imagen y título.
8. Seleccione la pantalla para evitar que se inserte el siguiente elemento en Gallery1. Agregue un segundo
control Galería vertical en blanco y asegúrese de que se denomina Gallery2.
Gallery2 mostrará las reservas de cualquier producto que seleccione el usuario en Gallery1.
9. Mueva y cambie el tamaño de Gallery2 para rellenar el cuadrante superior derecho de la pantalla.
10. opta Agregue el control de etiqueta azul sobre Gallery2, como se muestra en el gráfico siguiente.
11. En la barra de fórmulas, establezca la propiedad Items de Gallery2 en Gallery1. Selected. reservas.
12. En el panel Propiedades, establezca diseño de Gallery2en título.
13. En Gallery2, agregue un control de cuadro combinado , asegúrese de que se llama ComboBox1y, a
continuación, muévalo y cambie su tamaño para evitar que se bloqueen los demás controles de Gallery2.
14. En la pestaña propiedades , establezca la propiedad elementos de ComboBox1en productos.
15. Desplácese hacia abajo en la pestaña propiedades y establezca la propiedad Permitir selección
múltiple de ComboBox1en OFF.
16. En la barra de fórmulas, establezca la propiedad DefaultSelectedItems de ComboBox1en ThisItem. '
Product reservation ' .
Cuando el usuario selecciona este icono, la reserva actual cambia al producto que el usuario seleccionó en
ComboBox1.
No Relacionate (función )
Llegados a este punto, puede trasladar la relación de un registro a otro, pero no puede quitar la relación por
completo. Puede usar la función no relacionar para desconectar un registro de reserva de cualquier producto.
1. En la pestaña Vista, seleccione Orígenes de datos.
2. En el panel datos , seleccione Agregar origen de datos > Common Data Service > reservas >
conectar.
3. En Gallery2, establezca la fórmula alseleccionar para NextArrow2 en esta fórmula:
Aparece una advertencia de delegación, pero no importa la pequeña cantidad de datos en este ejemplo.
Con estos cambios, los usuarios pueden borrar la selección en ComboBox1 para un contacto si esa persona no
ha reservado un producto. Los contactos que no han reservado un producto aparecen en Gallery2_1 en los que
los usuarios pueden asignar cada contacto a un producto.
Varios a varios
Crear una relación de varios a varios
Los datos de ejemplo no incluyen una relación de varios a varios, pero creará uno entre la entidad productos y la
entidad contactos. Los usuarios pueden relacionar cada producto con más de un contacto y cada contacto con
más de un producto.
1. En esta página, seleccione datos en la barra de navegación izquierda y, a continuación, seleccione
entidades.
Con esta aplicación, los usuarios ahora pueden relacionar libremente y desrelacionar un conjunto de contactos
con cada producto.
Para agregar un contacto a un producto, seleccione el contacto en el cuadro combinado de la parte
inferior de la pantalla y, a continuación, seleccione el icono Agregar .
Para quitar un contacto de un producto, seleccione el icono Cancelar del contacto.
A diferencia de uno a varios, una relación de varios a varios permite a los usuarios asociar el mismo
contacto con varios productos.
2. Screen1duplicado.
El duplicado se denominará Screen1_1 y formará la base para examinar las relaciones del lado de los
contactos.
3. Para crear la vista inversa, cambie estas fórmulas en los controles de Screen1_1:
Screen1_1. divisible = Refresh( Contacts )
Gallery1_1. Items = Contacts
Title1_1. Text = ThisItem.'Full Name'
Label1_1. Text = "Selected Contact Products"
Gallery2_1. Items = Gallery1_1.Selected.Products
Title2_1. Text = ThisItem.Name
Icon1_1. Select = Unrelate( Gallery1_1.Selected.Products; ThisItem )
ComboBox1_1. Items = Products
Icon2_1. Select = Relate( Gallery1_1.Selected.Products; ComboBox1_1.Selected )
El resultado tendrá un aspecto muy similar al de la pantalla anterior, pero se incluye en la relación del lado
de los contactos .
Descripción
Función Update
Use la función Update para reemplazar todo un registro en un origen de datos. En cambio, las funciones UpdateIf
y Patch modifican uno o varios valores de un registro, y dejan los demás valores como están.
En el caso de una colección, tiene que coincidir todo el registro. Las colecciones permiten registros duplicados, por
lo que podrían coincidir varios registros. Puede usar el argumento All para actualizar todas las copias de un
registro; en caso contrario, se actualiza solo una copia del registro.
Si el origen de datos genera automáticamente un valor de columna, el valor de esa columna debe confirmarse.
Función UpdateIf
Use la función UpdateIf para modificar uno o varios valores de uno o más registros que coincidan con una o
varias condiciones. Cada condición puede ser cualquier fórmula cuyo resultado sea true o false, y puede hacer
referencia a columnas del origen de datos por su nombre. La función evalúa la condición para cada registro y
modifica los registros cuyo resultado sea true.
Para especificar una modificación, use un registro de cambio que contenga los nuevos valores de la propiedad. Si
proporciona este registro de cambio en línea entre llaves, las fórmulas de propiedad pueden hacer referencia a las
propiedades del registro que se van a modificar. Puede usar este comportamiento para modificar registros en
función de una fórmula.
De forma similar a UpdateIf, también puede usar la función Patch para cambiar columnas específicas de un
registro sin que afecte a otras columnas.
Tanto Update como UpdateIf devuelven el origen de datos modificado como una tabla. Debe usar estas funciones
en una fórmula de comportamiento.
Delegación
Cuando se usan con un origen de datos, estas funciones no se pueden delegar. Solo se recuperará la primera parte
del origen de datos, y después se aplicará la función. Es posible que el resultado no represente la historia completa.
Aparecerá una advertencia en el momento de la creación para recordarle esta limitación y para sugerirle un cambio
a alternativas delegables siempre que sea posible. Para obtener más información, consulte la información general
sobre delegación
Sintaxis
Update( DataSource; OldRecord; NewRecord [; All ] )
DataSource: requerido. Origen de datos que contiene el registro que desea reemplazar.
OldRecord: requerido. Registro que se va a reemplazar.
NewRecord: requerido. Registro de reemplazo. No es un registro de cambio. Se reemplaza todo el registro y
propiedades que faltan contendrán blank.
Todo: opcional. En una colección, el mismo registro puede aparecer más de una vez. Especifique el argumento
All para quitar todas las copias del registro.
UpdateIf( DataSource; Condition1; ChangeRecord1 [; Condition2; ChangeRecord2; ... ] )
DataSource: requerido. Origen de datos que contiene el registro o los registros que desea modificar.
Condition(s) : requerido. Fórmula que se evalúa como true para el registro o los registros que desea modificar.
Puede usar nombres de columna de DataSource en la fórmula.
ChangeRecord (s) : requerido. Para cada condición, un registro de cambio con los nuevos valores de propiedad
que se aplicarán a los registros de DataSource que cumplan la condición. Si proporciona el registro en línea
entre llaves, los valores de propiedad del registro existente pueden utilizarse en las fórmulas de propiedad.
Ejemplos
En estos ejemplos, va a reemplazar o modificar registros de un origen de datos llamado IceCream, que comienza
con los datos de esta tabla:
UpdateIf( IceCream; Quantity > 175; Modifica los registros con un valor de
{ Quantity: Quantity + 10 } ) Quantity superior a 150. El campo
Quantity se incrementa en 10, y no se
modifica ningún otro campo.
Información general
Use la función UpdateContext para crear una variable de contexto, que guarda temporalmente un
fragmento de información, como el número de veces que el usuario ha seleccionado un botón o el
resultado de una operación de datos.
El ámbito de las variables de contexto es una pantalla, lo que significa que no se puede generar una
fórmula que haga referencia a una variable de contexto de otra pantalla. Si usó otra herramienta de
programación, se puede pensar en una variable de contexto como en una variable local. Use la función Set
para trabajar con variables globales que estén disponibles en toda la aplicación.
PowerApps se basa en fórmulas que se recalculan automáticamente a medida que el usuario interactúa
con una aplicación. Las variables de contexto no tienen esta ventaja y pueden hacer que la aplicación sea
más difícil de crear y comprender. Antes de utilizar una variable de contexto, repase cómo trabajar con
variables.
Descripción
Para crear o actualizar una variable de contexto, pase un solo registro a la función UpdateContext. En
cada registro, especifique el nombre de un columna, que defina o coincida con el nombre de la variable, y
el valor en el que va a establece esa variable.
Si especifica el nombre de una variable que ha definido previamente, UpdateContext establece el
valor de la variable en el valor que especifique.
Si especifica el nombre de una variable que no existe todavía, UpdateContext crea una variable con
ese nombre y establece el valor de esa variable en el valor que especifique.
Si previamente se ha definido una variable pero no se especifica en esta fórmula de UpdateContext
específica, su valor sigue siendo el mismo.
Se pueden crear implícitamente variables de contexto mediante la función UpdateContext o Navigate.
No es necesaria ninguna declaración explícita. Si quita todas las referencias de UpdateContext y
Navigate a una variable de contexto, posteriormente, esa variable de contexto dejará de existir. Para borrar
una variable, establezca su valor en el resultado de la función Blank.
Puede ver los valores de las variables, las definiciones y los usos con la vista Variables del menú Archivo en
el entorno de creación.
Para hacer referencia a una variable de contexto en una fórmula, se usa el nombre de columna de la
variable. Por ejemplo, UpdateContext ({ShowLogo: true}) crea una variable de contexto llamada
ShowLogo y establece su valor en true. Después, puede usar el valor de esta variable de contexto con el
nombre ShowLogo en una fórmula. Puede escribir ShowLogo como fórmula para la propiedad Visible
de un control de imagen, y mostrar u ocultar ese control en función de si el valor de la variable de contexto
es true o false.
Tal y como se muestra en los ejemplos más adelante en este tema, las variables de contexto pueden
contener distintos tipos de información, incluidos los siguientes:
un valor único
un registro
una tabla
una referencia de objeto
el resultado de una fórmula
Una variable de contexto guarda su valor hasta que se cierra la aplicación. Si define una variable de
contexto y establece su valor en una pantalla concreta, esa información permanece intacta aunque el
usuario cambie a otra pantalla. Una vez que se cierre la aplicación, el valor de la variable de contexto se
perderá y deberá volver a crearlo al cargar la aplicación de nuevo.
El ámbito de una variable de contexto se limita a una pantalla. Si desea definir una variable de contexto en
una pantalla y modificarla desde otra pantalla, debe crear una fórmula que se basa en la función Navigate
. O bien, use una variable global.
UpdateContext no devuelve ningún valor y solo se puede usar en una fórmula de comportamiento.
Sintaxis
UpdateContext( UpdateRecord )
UpdateRecord: requerido. Registro que contiene el nombre de al menos una columna y un valor para
esa columna. Se crea o se actualiza una variable de contexto para cada columna y valor que especifique.
UpdateContext( { ContextVariable1: Value1 [; ContextVariable2: Value2 [; ... ] ] } )
ContextVariable1: requerido. Nombre de la variable de contexto que se va a crear o actualizar.
Value1: requerido. Valor que se asigna a la variable de contexto.
ContextVariable2: Value2, ...: opcional. Variables de contexto adicionales que se van a crear o actualizar,
y sus valores.
Ejemplos
FÓRMULA DESCRIPCIÓN RESULTADO
UpdateContext( Crea o modifica las variables de Name tiene el valor Lily, y Score
{ Name: "Lily"; Score: 10 } ) contexto Name y Score, y establece tiene el valor 10.
sus valores en Lily y 10,
respectivamente.
FÓRMULA DESCRIPCIÓN RESULTADO
UpdateContext( { Person: Trabaja con la función Patch para Person ahora tiene el valor del
Patch( Person; {Address: "2 Main actualizar la variable de contexto registro { Name: "Milton";
St" } ) } ) Person y establece el valor de la Address: "2 Main St" } } .
columna Address en 2 Main St.
Descripción
Función Update
Use la función Update para reemplazar todo un registro en un origen de datos. En cambio, las funciones
UpdateIf y Patch modifican uno o varios valores de un registro, y dejan los demás valores como están.
En el caso de una colección, tiene que coincidir todo el registro. Las colecciones permiten registros
duplicados, por lo que podrían coincidir varios registros. Puede usar el argumento All para actualizar todas
las copias de un registro; en caso contrario, se actualiza solo una copia del registro.
Si el origen de datos genera automáticamente un valor de columna, el valor de esa columna debe
confirmarse.
Función UpdateIf
Use la función UpdateIf para modificar uno o varios valores de uno o más registros que coincidan con una
o varias condiciones. Cada condición puede ser cualquier fórmula cuyo resultado sea true o false, y puede
hacer referencia a columnas del origen de datos por su nombre. La función evalúa la condición para cada
registro y modifica los registros cuyo resultado sea true.
Para especificar una modificación, use un registro de cambio que contenga los nuevos valores de la
propiedad. Si proporciona este registro de cambio en línea entre llaves, las fórmulas de propiedad pueden
hacer referencia a las propiedades del registro que se van a modificar. Puede usar este comportamiento
para modificar registros en función de una fórmula.
De forma similar a UpdateIf, también puede usar la función Patch para cambiar columnas específicas de
un registro sin que afecte a otras columnas.
Tanto Update como UpdateIf devuelven el origen de datos modificado como una tabla. Debe usar estas
funciones en una fórmula de comportamiento.
Delegación
Cuando se usan con un origen de datos, estas funciones no se pueden delegar. Solo se recuperará la
primera parte del origen de datos, y después se aplicará la función. Es posible que el resultado no represente
la historia completa. Aparecerá una advertencia en el momento de la creación para recordarle esta limitación
y para sugerirle un cambio a alternativas delegables siempre que sea posible. Para obtener más
información, consulte la información general sobre delegación
Sintaxis
Update( DataSource; OldRecord; NewRecord [; All ] )
DataSource: requerido. Origen de datos que contiene el registro que desea reemplazar.
OldRecord: requerido. Registro que se va a reemplazar.
NewRecord: requerido. Registro de reemplazo. No es un registro de cambio. Se reemplaza todo el
registro y propiedades que faltan contendrán blank.
Todo: opcional. En una colección, el mismo registro puede aparecer más de una vez. Especifique el
argumento All para quitar todas las copias del registro.
UpdateIf( DataSource; Condition1; ChangeRecord1 [; Condition2; ChangeRecord2; ... ] )
DataSource: requerido. Origen de datos que contiene el registro o los registros que desea modificar.
Condition(s) : requerido. Fórmula que se evalúa como true para el registro o los registros que desea
modificar. Puede usar nombres de columna de DataSource en la fórmula.
ChangeRecord (s) : requerido. Para cada condición, un registro de cambio con los nuevos valores de
propiedad que se aplicarán a los registros de DataSource que cumplan la condición. Si proporciona el
registro en línea entre llaves, los valores de propiedad del registro existente pueden utilizarse en las
fórmulas de propiedad.
Ejemplos
En estos ejemplos, va a reemplazar o modificar registros de un origen de datos llamado IceCream, que
comienza con los datos de esta tabla:
Paso a paso
1. Importe o cree una colección denominada Inventory y muéstrela en una galería, como se describe
en el artículo sobre la visualización de datos en una galería.
2. Asigne el nombre ProductGallery a la galería.
3. Agregue un control deslizante llamado UnitsSold y establezca su propiedad Max en esta expresión:
ProductGallery.Selected.UnitsInStock
4. Agregue un botón y establezca su propiedad OnSelect en esta fórmula:
UpdateIf(Inventory; ProductName = ProductGallery.Selected.ProductName;
{UnitsInStock:UnitsInStock-UnitsSold.Value})
5. Presione F5, seleccione un producto de la galería, especifique un valor con el control deslizante y, a
continuación, seleccione el botón.
El número de unidades en existencias del producto se reduce en la cantidad especificada.
Funciones Lower, Upper y Proper en PowerApps
08/10/2019 • 3 minutes to read
Convierte las letras de una cadena de texto en todo minúsculas, todo mayúsculas o en mayúsculas o
minúsculas, según corresponda.
Descripción
Las funciones Lower, Upper y Proper convierten las letras de una cadena en mayúsculas o minúsculas.
Lower convierte las letras mayúsculas en minúsculas.
Upper convierte las letras minúsculas en mayúsculas.
Proper convierte la primera letra de cada palabra en mayúscula si está en minúscula o en minúscula si
está en mayúscula.
Las tres funciones omiten los caracteres que no son letras.
Si se pasa una cadena única, el valor devuelto es la versión convertida de dicha cadena. Si se pasa una tabla
de una columna que contiene cadenas, el valor devuelto es una tabla de una columna de cadenas
convertidas. Si tiene una tabla con varias columnas, puede convertirla en una tabla de una sola columna,
como se describe en cómo trabajar con tablas.
Sintaxis
Lower( String )
Upper( String )
Proper( String )
String: requerido. La cadena que se va a convertir.
Lower( SingleColumnTable )
Upper( SingleColumnTable )
Proper( SingleColumnTable )
SingleColumnTable: requerido. Una tabla de una columna de cadenas para convertir.
Ejemplos
Cadena única
En los ejemplos de esta sección se usa un control de entrada de texto, llamado Author, como origen de
datos. El control contiene la cadena "E". E. CummINGS".
Cada fórmula devuelve una tabla de una columna que contiene las cadenas convertidas.
Descripción
La función User muestra un registro de información sobre el usuario actual:
PROPIEDAD DESCRIPCIÓN
User().Image Imagen del usuario actual. Será una URL de imagen con
formato "blob:identificador". Establezca la propiedad Image
del control Imagen en este valor para mostrar la imagen en la
aplicación.
NOTE
La información que se devuelve corresponde al usuario actual de PowerApps. Coincidirá con la información de "cuenta" que
aparece en los reproductores y estudio de PowerApps, que se puede encontrar fuera de toda aplicación creada. Es posible
que no coincida con la información del usuario actual en Office 365 u otros servicios.
Sintaxis
User()
Ejemplos
El usuario actual de PowerApps tiene la información siguiente:
Nombre completo: "John Doe"
Dirección de correo electrónico: "john.doe@contoso.com"
Imagen:
La función Validate comprueba si el valor de una única columna o un registro completo es válido para un
origen de datos.
Descripción
Antes de que un usuario envíe un cambio de datos, puede proporcionar información inmediata sobre la
validez de ese envío, lo que se traduce en una mejor experiencia de usuario.
Los orígenes de datos pueden proporcionar información sobre qué constituyen valores válidos en un
registro. Esta información puede incluir muchas restricciones, como en estos ejemplos:
si una columna requiere un valor
qué longitud puede tener una cadena de texto
cuál puede ser el valor más alto y más bajo de un número
cuál puede ser la fecha más temprana y la más tardía
La función Validate usa esta información para determinar si un valor es válido y para devolver el
correspondiente mensaje de error si no lo es. Puede usar la función DataSourceInfo para ver la misma
información que usa Validate.
Los orígenes de datos varían en la cantidad de información de validación que proporcionan; incluso pueden
no ofrecer ninguna. Validate solo puede verificar valores basándose en esta información. Incluso si
Validate no detecta ningún problema, es posible que se siga produciendo un error al aplicar el cambio de
datos. Puede usar la función Errors para obtener información sobre el error.
Si Validate encuentra un problema, la función devuelve un mensaje de error que puede mostrar al usuario
de la aplicación. Si todos los valores son válidos, Validate devuelve blank. Cuando trabaja con una
colección que no tiene ninguna información de validación, los valores siempre son válidos.
Sintaxis
Validate( DataSource; Column; Value )
DataSource: requerido. El origen de datos con el que realizar la validación.
Column: requerido. La columna que se va a validar.
Value: requerido. El valor de la columna seleccionada que se debe validar.
Validate( DataSource; OriginalRecord; Updates )
DataSource: requerido. El origen de datos con el que realizar la validación.
OriginalRecord: requerido. El registro con el que se van a validar las actualizaciones.
Updates: requerido. Los cambios que se van a aplicar al registro original.
Ejemplos
Para estos ejemplos, los valores de la columna Percentage del origen de datos Scores deben estar
comprendidos entre 0 y 100, ambos incluidos. Si los datos pasan la validación, la función devuelve blank.
En caso contrario, la función devuelve un mensaje de error.
Validar con una sola columna
FÓRMULA DESCRIPCIÓN RESULTADO
Validate( Scores; Percentage; 120 Comprueba si 120 es un valor válido "Los valores deben estar
) para la columna Percentage del comprendidos entre 0 y 100".
origen de datos Scores.
Validate( Scores; EditRecord; Comprueba si los valores de todas "Los valores deben estar
Gallery.Updates ) las columnas son válidos para el comprendidos entre 0 y 100".
origen de datos Puntuaciones. En
este ejemplo, el valor de la columna
Porcentaje es 120.
Función Value en PowerApps
08/10/2019 • 3 minutes to read
Descripción
La función Value convierte una cadena de texto que contiene caracteres numéricos en un valor
numérico. Use esta función cuando necesite realizar cálculos con los números que los usuarios escriben
como texto.
Los distintos idiomas interpretan los signos , y . de manera diferente. De manera predeterminada, el
texto se interpreta en el idioma del usuario actual. Para especificar el idioma que se usará con una
etiqueta de idioma, puede utilizar las mismas etiquetas de lenguaje que devuelve la función Language .
Notas sobre el formato de la cadena:
La cadena puede tener como prefijo el símbolo de moneda del idioma actual. El símbolo de moneda
se omite. Los símbolos de moneda de los demás idiomas no se omiten.
La cadena se puede incluir un signo de porcentaje ( % ) al final, que indica que es un porcentaje. El
número se dividirá entre 100 antes de devolverse. No se pueden mezclar porcentajes y símbolos de
moneda.
La cadena puede estar en notación científica; 12 x 103 se expresa como "12e3".
Si el número no tiene el formato correcto, Value devolverá un valor blank.
Para convertir valores de fecha y hora, use las funciones DateValue, TimeValue o DateTimeValue.
Sintaxis
Value( String [; LanguageTag ] )
String: requerido. Cadena que se convertirá en un valor numérico.
LanguageTag: opcional. Etiqueta del idioma en el que se va a analizar la cadena. Si no se especifica, se
usa el idioma del usuario actual.
Ejemplos
El usuario que ejecuta estas fórmulas se encuentra en Estados Unidos y seleccionó inglés como idioma.
La función Language muestra "en-US".
Descripción
La función Average calcula el promedio, o media aritmética, de los argumentos.
La función Max encuentra el valor máximo.
La función Min encuentra el valor mínimo.
La función Sum calcula la suma de los argumentos.
La función StdevP calcula la desviación estándar de los argumentos.
La función VarP calcula la varianza de los argumentos.
Puede proporcionar los valores de estas funciones como:
Argumentos independientes. Por ejemplo, Sum ( 1; 2; 3 ) da 6 como resultado.
Una tabla y una fórmula para operar sobre esa tabla. La suma total se calculará según los valores
de la fórmula para cada registro.
Los campos de registro que se están procesando actualmente estarán disponibles en la formula. Solo
tiene que hacer referencia a los campos por su nombre, como con cualquier otro valor. También
puede hacer referencia a propiedades de control y a otros valores desde toda la aplicación. Para
obtener más detalles, vea los ejemplos siguientes y trabajar con el ámbito de registros.
Estas funciones solo operan sobre valores numéricos. Se omiten otros tipos de valores, como
cadenas o registros. Use la función Value para convertir en número una cadena.
Las funciones Average, Max, Min y Sum se pueden delegar cuando se usan con un origen de datos
que admite la delegación de dichas funciones. Sin embargo, StdevP y VarP no se puede delegar en
ningún origen de datos. Si no se admite la delegación, solo se recuperará la primera parte de los
datos y, después, la función se aplicará localmente. Es posible que el resultado no represente la
situación completa. Aparece una advertencia de delegación durante la creación para recordarle esta
limitación y sugerirle que cambie a alternativas que puedan delegarse siempre que sea posible. Para
más información, consulte la introducción a la delegación.
Sintaxis
Average( NumericalFormula1; [ NumericalFormula2; ... ] )
Max( NumericalFormula1; [ NumericalFormula2; ... ] )
Min( NumericalFormula1; [ NumericalFormula2; ... ] )
Sum ( NumericalFormula1; [ NumericalFormula2; ... ] )
StdevP ( NumericalFormula1; [ NumericalFormula2; ... ] )
VarP ( NumericalFormula1; [ NumericalFormula2; ... ] )
NumericalFormula (s) : requerido. Los valores numéricos en que se va a operar.
Average( Table; NumericalFormula )
Max( Table; NumericalFormula )
Min( Table; NumericalFormula )
Sum ( Table; NumericalFormula )
StdevP ( Table; NumericalFormula )
VarP ( Table; NumericalFormula )
Table: requerido. La tabla sobre la cual se opera.
NumericalFormula: requerido. La fórmula que se evalúa en cada registro. El resultado de esta
fórmula se usa para la agregación. Puede usar columnas de la tabla en la fórmula.
Ejemplos
Paso a paso
Imaginemos que tiene un origen de datos llamado Sales que contiene una columna CostPerUnit y
una columna UnitsSold, y establece la propiedad Text de una etiqueta en esta función:
Sum (Sales; CostPerUnit * UnitsSold)
Para mostrar las ventas totales, la etiqueta multiplicaría los valores de esas columnas para cada
registro y luego agregaría juntos los resultados de todos los registros:
Pongamos otro ejemplo: imaginemos que tiene controles deslizantes llamados Slider1, Slider2 y
Slider3 y una etiqueta con la propiedad Text establecida en esta fórmula:
Sum (Slider1.Value; Slider2.Value; Slider3.Value)
La etiqueta mostraría la suma de todos los valores en los que se establecieron los controles
deslizantes.
Funciones EditForm, NewForm,
SubmitForm, ResetForm y ViewForm
de PowerApps
08/10/2019 • 10 minutes to read
Información general
Estas funciones cambian el estado del control Editar formulario. El control de
formulario puede estar en uno de estos modos:
MODO DESCRIPCIÓN
Descripción
Estas funciones a menudo se invocan desde la fórmula OnSelect de un control
Botón o Imagen para que el usuario pueda guardar las modificaciones,
abandonarlas o crear un registro. También puede usar conjuntamente controles y
estas funciones para crear una solución completa.
Estas funciones no devuelven ningún valor.
SubmitForm
Use la función SubmitForm de la propiedad OnSelect de un control Botón para
guardar los cambios de un control Formulario en el origen de datos.
Antes de enviar cualquier cambio, esta función comprueba problemas de validación
con cualquier campo que se haya marcado como requerido o que tenga una o más
restricciones en su valor. Este comportamiento es idéntico al de la función Validate
.
SubmitForm también comprueba la propiedad Valid del control Formulario, que
es una agregación de todas las propiedades Valid de los controles Card que
contiene el control Formulario. Si se produce un problema, no se envían los datos y
las propiedades Error y ErrorKind del control Formulario se establecen en
consecuencia.
Si se supera la validación, SubmitForm envía el cambio al origen de datos.
Si se realiza correctamente, se ejecutará el comportamiento OnSuccess del
formulario y se borrarán las propiedades Error y ErrorKind . Si el formulario se
encontraba en modo FormMode.New, se devolverá al modo FormMode.Edit.
Si no se realiza correctamente, se ejecutará el comportamiento OnFailure del
formulario y se establecerán las propiedades Error y ErrorKind en
consecuencia. El modo del formulario no se modifica.
EditForm
La función EditForm cambia el modo del control Formulario a FormMode.Edit.
En este modo, el contenido de la propiedad Elemento del control Formulario se
utiliza para rellenar el formulario. Si la función SubmitForm se ejecuta cuando el
formulario está en este modo, se cambiará un registro, no se creará.
FormMode.Edit es el valor predeterminado del control Formulario.
NewForm
La función NewForm cambia el modo del control Formulario a FormMode.New.
En este modo, el contenido de la propiedad Elemento del control Formulario se
omite y los valores predeterminados de la propiedad DataSource rellenan el
formulario. Si la función SubmitForm se ejecuta cuando el formulario está en este
modo, se creará un registro, no se cambiará.
ResetForm
La función ResetForm restablece el contenido de un formulario a sus valores
iniciales, el contenido que había antes de que el usuario realizara cambios. Si el
formulario está en modo FormMode.New, se restablecerá al modo
FormMode.Edit. El comportamiento OnReset del control Formulario también se
ejecutará. También puede restablecer controles individuales con la función Reset
pero únicamente desde dentro del formulario.
ViewForm
La función ViewForm cambia el modo del control Formulario a FormMode.View.
En este modo, el contenido de la propiedad Elemento del control Formulario se
utiliza para rellenar el formulario. Las funciones SubmitForm y ResetForm no
tienen ningún efecto cuando se está en este modo.
Propiedad DisplayMode
El modo actual se puede leer mediante la propiedad Modo. El modo determina
también el valor de la propiedad DisplayMode que pueden usar las tarjetas de
datos y controles del control de formulario. A menudo, la propiedad DisplayMode
de la tarjeta de datos se establecerá en Parent. DisplayMode (que hace referencia
al formulario) como lo hará la propiedad DisplayMode del control (que hace
referencia a la tarjeta de datos):
Sintaxis
SubmitForm ( FormName )
FormName: requerido. Control Formulario para enviar al origen de datos.
EditForm ( FormName )
FormName: requerido. Control Formulario para cambiar al modo
FormMode.Edit.
NewForm ( FormName )
FormName: requerido. Control Formulario para cambiar al modo
FormMode.New.
ResetForm ( FormName )
FormName: requerido. Control Formulario para restablecer los valores iniciales.
También cambia el formulario del modo FormMode.New al modo
FormMode.Edit.
ViewForm ( FormName )
FormName: requerido. Control Formulario para cambiar al modo
FormMode.View.
Ejemplos
Consulte Formularios de datos para obtener ejemplos completos.
1. Agregue un control Botón, establezca la propiedad Text para mostrar
Guardar y establezca la propiedad OnSelect en esta fórmula:
SubmitForm ( EditForm )
2. Establezca la propiedad OnFailure de un control Formulario blank y la
propiedad OnSuccess en esta fórmula:
Back()
3. Asigne el nombre ErrorText a un control Label y establezca su propiedad
Text en esta fórmula:
EditForm.Error
Cuando el usuario selecciona el botón Guardar, los cambios del control
Formulario se envían al origen de datos subyacente.
Si el envío se realiza correctamente, los cambios se guardan o, si el
control Formulario está en modo New, se creará un registro. ErrorText
es blank y vuelve a aparecer la pantalla anterior.
Si se produce un error en el envío, ErrorText mostrará un mensaje de
error descriptivo y la pantalla actual permanecerá visible para que el
usuario pueda corregir el problema e intentarlo de nuevo.
4. Agregue un control Botón, establezca su propiedad Text para que muestre
Cancelar y establezca su propiedad OnSelect en esta fórmula:
ResetForm ( EditForm );; Back()
Si el usuario selecciona el botón Cancelar, los valores del control
Formulario se restablecen a su estado original, el estado que tenían antes de
que el usuario empezara a editarlo, vuelve a aparecer la pantalla anterior y
se devuelve el control Formulario al modo Edit si estaba en modo New.
5. Agregue un control Botón, establezca su propiedad Text para mostrar
Nuevo y establezca su propiedad OnSelect en esta fórmula:
NewForm ( EditForm );; Navigate( EditScreen; None )
Cuando el usuario selecciona el botón New, se activa el control Formulario
en modo New, los valores predeterminados del origen de datos del control
Formulario rellenan el control y aparece la pantalla que contiene el control
Formulario. Cuando se ejecuta la función SubmitForm, se crea un registro
en lugar de actualizarlo.
Funciones Day, Month, Year, Hour, Minute, Second y
Weekday en PowerApps
08/10/2019 • 4 minutes to read
Descripción
La función Day devuelve el componente de día de un valor de fecha y hora, comprendido entre 1 y 31.
La función Month devuelve el componente de mes de un valor de fecha y hora, comprendido entre 1 y 12.
La función Year devuelve el componente de año de un valor de fecha y hora, a partir de 1900.
La función Hour devuelve el componente de hora de un valor de fecha y hora, comprendido entre 0 (12:00 a. m.) y
23 (11:00 p. m).
La función Minute devuelve el componente de minuto de un valor de fecha y hora, comprendido entre 0 y 59.
La función Second devuelve el componente de segundo de un valor de fecha y hora, comprendido entre 0 y 59.
La función Weekday devuelve el día de la semana de un valor de fecha y hora. De forma predeterminada, el
resultado está comprendido entre 1 (domingo) y 7 (sábado). Puede especificar un intervalo diferente con un código
de la función Weekday de la semana de Microsoft Excel o un valor de enumeración de StartOfWeek:
Sintaxis
Day( DateTime )
Month( DateTime )
Year( DateTime )
Hour( DateTime )
Minute( DateTime )
Second( DateTime )
DateTime: requerido. Valor de fecha y hora con el que operar.
Weekday( DateTime [; WeekdayFirst ] )
DateTime: requerido. Valor de fecha y hora con el que operar.
WeekdayFirst: opcional. Código de Excel que especifica qué día comienza la semana. Si no se indica, se usará 1
(primero el domingo).
Ejemplos
En el ejemplo siguiente, la hora actual es las 3:59:37 p. m. del jueves, 9 de abril de 2015.
Calcula valores y realiza acciones para un único registro, incluidos los registros insertados de valores con
nombre.
DESCRIPCIÓN
La función with evalúa una fórmula para un único registro. La fórmula puede calcular un valor o realizar
acciones, como modificar datos o trabajar con una conexión. Utilice la función forall para evaluar una fórmula
para todos los registros de una tabla de registros.
Los campos de registro que se están procesando actualmente estarán disponibles en la formula. Solo tiene que
hacer referencia a los campos por su nombre, como con cualquier otro valor. También puede hacer referencia a
propiedades de control y a otros valores desde toda la aplicación. Para obtener más detalles, vea los ejemplos
siguientes y trabajar con el ámbito de registros.
Use con para mejorar la legibilidad de las fórmulas complejas dividiéndolo en subfórmulas con nombre más
pequeñas. Estos valores con nombre actúan como variables locales simples que se limitan al ámbito de con. La
misma sintaxis de registro en línea que se usa con la función UpdateContext se puede utilizar con con. El uso
de con es preferible a las variables globales o de contexto, ya que son independientes, fáciles de entender y se
pueden usar en cualquier contexto de fórmula declarativo.
Use con para tener acceso a los campos del registro devueltos por funciones como, por ejemplo, patch o
Match. With contiene el valor de estas funciones lo suficientemente largo para usarse en cálculos o acciones
adicionales.
Si el argumento de registro en with es un error, la función devolverá ese error y no se evaluará la fórmula .
Sintaxis
Con ( Registro, fórmula )
Registro : requerido. Registro sobre el que se va a actuar. Para los valores de names, use la sintaxis en línea
{ name1: value1; name2: value2; ... }
Fórmula : requerido. Fórmula que se va a evaluar para el registro. La fórmula puede hacer referencia a
cualquiera de los campos de registro directamente como un ámbito de registro.
Ejemplos
Valores con nombre simples
En este ejemplo se usa un registro de valores con nombre para calcular el volumen de un cilindro. With se usa
para capturar todos los valores de entrada de forma conjunta, lo que facilita su separación del propio cálculo.
Anidado con
With( { AnnualRate: RateSlider/8/100; // slider moves in 1/8th increments and convert to decimal
Amount: AmountSlider*10000; // slider moves by 10;000 increment
Years: YearsSlider; // slider moves in single year increments; no adjustment
required
AnnualPayments: 12 }; // number of payments per year
With( { r: AnnualRate/AnnualPayments; // interest rate
P: Amount; // loan amount
n: Years*AnnualPayments }; // number of payments
r*P / (1 - (1+r)^-n) // standard interest calculation
)
)
Este ejemplo se anida con funciones para crear un cálculo de dos niveles para los pagos mensualesde hipotecas.
Siempre que no haya ningún conflicto, todos los externos con valores con nombre están disponibles dentro del
interior con.
Dado que los controles deslizantes solo pueden moverse en incrementos de 1, los controles deslizantes se
dividen o multiplican para crear eficazmente un incremento personalizado. En el caso de la tasa de interés,
RateSlider tiene la propiedad Max establecida en 48, dividida entre 8 para un incremento del punto de
porcentaje 1/8 y dividida entre 100 para convertir de un porcentaje a un decimal, cubriendo el intervalo del
0,125% al 6%. En el caso de la cantidad de préstamo, AmountSlider tiene la propiedad Max establecida en 60 y
se multiplica por 10.000, cubriendo el intervalo de 10.000 a 600.000.
La con se vuelve a calcular automáticamente a medida que se mueven los controles deslizantes y se muestra el
nuevo pago de préstamo. No se usa ninguna variable y no es necesario usar la propiedad onchange de los
controles deslizantes.
Estas son las instrucciones detalladas para crear esta aplicación:
1. Cree una nueva aplicación.
2. Agregue un control deslizante y asígnele el nombre RateSlider. Establezca su propiedad Max en 48.
3. Agregue un control etiqueta a la izquierda del control deslizante. Establezca su propiedad texto en "tasa de
interés:" .
4. Agregue un control etiqueta a la derecha del control deslizante. Establezca su propiedad texto en la fórmula
RateSlider/8 & " %" .
5. Agregue otro control deslizante y asígnele el nombre AmountSlider. Establezca su propiedad Max en 60.
6. Agregue un control etiqueta a la izquierda de este control deslizante. Establezca su propiedad texto en
"importe de préstamo:" .
7. Agregue un control etiqueta a la derecha de este control deslizante. Establezca su propiedad texto en la
fórmula AmountSlider/8 * 10000.
8. Agregue otro control deslizante y asígnele el nombre YearsSlider. Establezca su propiedad Max en 40.
9. Agregue un control etiqueta a la izquierda de este control deslizante. Establezca su propiedad Text en
"Number of years:" .
10. Agregue un control etiqueta a la derecha de este control deslizante. Establezca su propiedad texto en la
fórmula YearsSlider.
11. Agregue un control etiqueta y establezca su propiedad texto en la fórmula mostrada anteriormente.
12. Agregue un control etiqueta a la izquierda del último control etiqueta. Establezca su propiedad texto en
"periódico monthly payment:" .
Clave principal devuelta por la revisión
En este ejemplo se agrega un registro a la tabla Order de SQL Server. A continuación, usa la clave principal
devuelta para el pedido, devuelta por la función patch en el campo OrderID , para crear registros relacionados
en la tabla OrderDetails .
Valores extraídos con una expresión regular
With(
Match( "PT2H1M39S"; "PT(?:<hours>\d+)H)?(?:(?<minutes>\d+)M)?(?:(?<seconds>\d+)S)?" );
Time( Value( hours ); Value( minutes ); Value( seconds ) )
)
// Result: 2:01 AM (as shown in a label control; use the Text function to see the seconds)
En este ejemplo se extraen las horas, los minutos y los segundos de un valor de duración ISO 8601 y, a
continuación, se usan estas subcoincidencias para crear un valor de fecha y hora.
Tenga en cuenta que, aunque las subcoincidencias contienen números, siguen en una cadena de texto. Utilice la
función Value para convertir en un número antes de realizar operaciones matemáticas.
Funciones Day, Month, Year, Hour, Minute, Second
y Weekday en PowerApps
08/10/2019 • 4 minutes to read
Descripción
La función Day devuelve el componente de día de un valor de fecha y hora, comprendido entre 1 y 31.
La función Month devuelve el componente de mes de un valor de fecha y hora, comprendido entre 1 y 12.
La función Year devuelve el componente de año de un valor de fecha y hora, a partir de 1900.
La función Hour devuelve el componente de hora de un valor de fecha y hora, comprendido entre 0 (12:00
a. m.) y 23 (11:00 p. m).
La función Minute devuelve el componente de minuto de un valor de fecha y hora, comprendido entre 0 y
59.
La función Second devuelve el componente de segundo de un valor de fecha y hora, comprendido entre 0 y
59.
La función Weekday devuelve el día de la semana de un valor de fecha y hora. De forma predeterminada, el
resultado está comprendido entre 1 (domingo) y 7 (sábado). Puede especificar un intervalo diferente con un
código de la función Weekday de la semana de Microsoft Excel o un valor de enumeración de StartOfWeek:
Ejemplos
En el ejemplo siguiente, la hora actual es las 3:59:37 p. m. del jueves, 9 de abril de 2015.
Cree una aplicación desde una solución si, por ejemplo, desea implementar la aplicación en un entorno diferente.
Las soluciones pueden contener no solo aplicaciones, sino también entidades personalizadas, conjuntos de
opciones y otros componentes. Puede personalizar rápidamente un entorno de varias maneras mediante la
creación de aplicaciones y otros componentes desde una solución, exportar la solución y, a continuación,
importarla en otro entorno.
Para obtener más información acerca de las soluciones, consulte información general sobre soluciones.
Requisito previo
Para seguir los pasos de este tema, debe cambiar a un entorno que contenga una base de datos de Common Data
Service.
4. En la ventana que aparece, especifique un nombre para mostrar, un publicador y una versión de la solución.
Un nombre (sin espacios) se generará automáticamente en función del nombre para mostrar que
especifique, pero puede personalizar el nombre generado si lo desea. Puede especificar el publicador
predeterminado para su entorno y 1,0 para la versión si no tiene necesidades específicas en esas áreas.
5. Cerca de la esquina superior izquierda, seleccione Guardar y cerrar.
4. En la lista de soluciones, seleccione la solución en la que desea crear una aplicación de lienzo.
5. En el encabezado situado debajo de la barra de título, seleccione nuevo > aplicación > Canvasy, después,
seleccione el factor de forma (teléfono o tableta) de la aplicación que desea crear.
PowerApps Studio se abre con un lienzo en blanco en otra pestaña del explorador.
6. Cree la aplicación (o realice al menos un cambio) y, a continuación, guarde los cambios.
7. En la pestaña explorador donde seleccionó la solución, seleccione listo para actualizar la lista de
componentes de la solución.
Limitaciones conocidas
Para obtener información sobre las limitaciones conocidas, consulte uso de soluciones en PowerApps.
Pasos siguientes
Cree o vincule más aplicaciones y otros componentes, como entidades, flujos y paneles, a la solución.
Exporte la solución para que pueda implementarla en otro entorno, en AppSource, etc.
Instalar la base de datos y las aplicaciones de
Northwind Traders
05/11/2019 • 8 minutes to read
Al seguir los pasos de esta serie de temas, puede detectar conceptos sobre los datos relacionales tal como se
implementan en una base de datos de ejemplo en Common Data Service. También puede explorar aplicaciones
empresariales de ejemplo, tanto de lienzo como basadas en modelos, para administrar esos datos y obtener una
experiencia práctica mediante la creación de una aplicación de este tipo. En este primer tema se explica cómo
instalar la base de datos Northwind Traders en su propio entorno y obtener acceso a las aplicaciones de ejemplo,
que puede abrir para editar para mostrar cómo se compilaron.
Northwind Traders es una organización ficticia que administra pedidos, productos, clientes, proveedores y muchos
otros aspectos de una pequeña empresa. Este ejemplo apareció con las primeras versiones de Microsoft Access y
sigue estando disponible como una plantilla de acceso.
Requisitos previos
Una licencia de PowerApps que admita Common Data Service. Puede usar una licencia de evaluación gratuita
durante 30 días.
Un entorno con una base de datos de Common Data Service. Puede crear este tipo de entorno si tiene los
permisos adecuados.
Descarga de la solución
Descargar el archivo de solución de Northwind Traders
Este archivo de solución (. zip) contiene las definiciones de entidades, conjuntos de opciones y procesos
empresariales; las aplicaciones de lienzo y controladas por modelos; y cualquier otra pieza que se use
conjuntamente.
Instalar la solución
1. Inicie sesión en PowerAppsy, a continuación, asegúrese de que está trabajando en un entorno que contiene
una base de datos Common Data Service.
2. En el panel de navegación izquierdo, seleccione solucionesy, a continuación, seleccione importar en la
barra de herramientas situada en la parte superior de la pantalla:
vista de soluciones de
3. En la página seleccionar paquete de solución , seleccione examinar.
Aparece otra página en la que se muestra el progreso de la instalación de la solución en los próximos
minutos:
Una vez finalizada la instalación, la página original muestra el resultado:
3. Una vez que la aplicación se carga y muestra que las entidades de ejemplo no contienen registros,
seleccione cargar datos para rellenar las entidades:
A medida que la aplicación carga los datos, los puntos de marzo de la parte superior de la aplicación y el
número de registros aumenta.
Las entidades se cargan en un orden específico para que se puedan establecer relaciones entre los
registros. Por ejemplo, la entidad Order Details tiene una relación de varios a uno con las entidades
Orders y Order Products , que se cargan en primer lugar.
Puede cancelar el proceso en cualquier momento seleccionando Cancelary puede quitar los datos en
cualquier momento seleccionando Quitar datos:
Cuando los datos terminan de cargarse , se muestra laúltima fila (relaciones de varios a varios) y se
vuelven a habilitar los botones cargar datos y Quitar datos :
Aplicaciones de ejemplo
La solución Northwind incluye estas aplicaciones para interactuar con estos datos:
Pedidos de Northwind (lienzo)
Pedidos de Northwind (controlados por modelos)
Abra estas aplicaciones de la misma manera que abrió la aplicación en el procedimiento anterior.
Lienzo
Esta aplicación de una sola pantalla ofrece una vista de maestro-detalle simple de la entidad Orders , donde puede
ver y editar un resumen del pedido y cada artículo de línea de un pedido. Una lista de pedidos aparece cerca del
borde izquierdo y puede seleccionar una flecha en esa lista para mostrar un resumen y los detalles de dicho
pedido. Más información: información general de la aplicación Canvas para Northwind Traders.
Si se desplaza hacia abajo en el formulario, muestra los mismos elementos de línea que la aplicación Canvas:
Hágalo usted mismo
Puede seguir las instrucciones paso a paso para crear la aplicación de lienzo mostrada anteriormente en este
tema. Las instrucciones están divididas en tres partes:
1. Cree una galería de pedidos.
2. Cree un formulario de Resumen.
3. Cree una galería de detalles.
Si desea continuar, la solución contiene una aplicación de punto de partida para cada parte. En la lista de
aplicaciones, busque Northwind Orders (canvas)-Begin Part 1 , etc.
En esta información general de la aplicación se explica la interfaz de usuario, los orígenes de datos y cómo se usan
las relaciones.
Para empezar, lea la información general
Información general de la aplicación Canvas para
Northwind Traders
29/10/2019 • 10 minutes to read
Obtenga información sobre la aplicación Canvas para administrar datos relacionales en la base de datos
Northwind Traders que instaló en su entorno. Después, siga las instrucciones paso a paso en los temas siguientes
para compilar esta aplicación desde cero, con lo que se consigue experiencia práctica en el trabajo con datos
relacionales.
En este tema, descubra:
Cómo un usuario de la aplicación muestra y administra los datos relacionales en la aplicación.
Los tipos de datos de la aplicación.
Cómo se crearon las relaciones entre esos tipos de datos.
En una sola pantalla, el usuario de la aplicación puede mostrar, actualizar, crear y eliminar pedidos.
ThisItem especifica un registro en la entidad Orders y extrae información de la entidad Customers sobre el
cliente que realizó el pedido. En este caso, la expresión especifica que aparece el nombre de la empresa del
cliente. Sin embargo, se extrae todo el registro para ese cliente, por lo que puede mostrar fácilmente, por
ejemplo, una dirección de correo electrónico para ese cliente.
Como otro ejemplo de recorrido de una entidad a otra, puede especificar que una galería muestre los registros
de una entidad en función de un registro que el usuario seleccionó en otra galería y que se encuentra en otra
entidad. Para mostrar los detalles del pedido, establezca la propiedad Items de la galería de detalles en esta
expresión:
Gallery1.Selected.'Order Details'
En este caso, Gallery1. Selected especifica un registro en la entidad Orders , tal y como ThisItem hizo en el
ejemplo anterior. Sin embargo, esta expresión no extrae un solo registro como hizo la expresión anterior. En su
lugar, extrae una tabla completa de registros para mostrar el nombre y el costo por unidad de cada producto
(como se refleja en la entidad Order Products ) y la cantidad (como se refleja en la entidad Order Details ).
Siga las instrucciones paso a paso para crear una galería de pedidos en una aplicación de lienzo para
administrar datos ficticios en la base de datos Northwind Traders. Este tema forma parte de una serie en la que
se explica cómo compilar una aplicación empresarial en datos relacionales en Common Data Service. Para
obtener los mejores resultados, explore estos temas en esta secuencia:
1. Crear una galería de pedidos (este tema).
2. Cree un formulario de Resumen.
3. Cree una galería de detalles.
Requisitos previos
Instale la base de datos y las aplicaciones de Northwind Traders.
Lea la información general de la aplicación Canvas para Northwind Traders.
PowerApps Studio se abre para que pueda agregar orígenes de datos y controles a la aplicación:
Agregar los datos
1. En la pestaña Ver , seleccione orígenes de datos:
Cada campo tiene un nombre para mostrar y un nombre, que a veces se denomina nombre lógico.
Ambos nombres hacen referencia a lo mismo. En general, usará el nombre para mostrar al compilar una
aplicación, pero algunos casos requieren el nombremás críptico, como se indica en un procedimiento.
4. Como vamos a trabajar con pantallas y controles a continuación, en PowerApps Studio vuelva a la vista
de árbol en el lado izquierdo presionando el icono de tres cuadrados apilados. Puede volver a los
orígenes de datos en cualquier momento presionando el icono del cilindro.
2. Podríamos conectarlo directamente a los pedidos , pero en su lugar nos gustaría controlar el criterio de
ordenación de la galería. Omita el cuadro de diálogo volar hacia fuera y, en la barra de fórmulas,
establezca la propiedad elementos de la galería en esta fórmula:
La función Sort ordena la lista para que aparezca en primer lugar el orden más reciente (que tiene el
número de pedido más alto).
3. Transcurridos unos instantes, la vista de resultados aparecerá debajo de la barra de fórmulas. Desplácese
hacia abajo en la flecha de la izquierda para ver el resultado de la fórmula. Desplácese hacia la derecha
para ver la columna número de pedido y asegúrese de que esté ordenada de la forma deseada (de
mayor a menor).
4. En la pestaña propiedades situada cerca del borde derecho, abra la lista diseño :
ThisItem.Customer.Company
Después de escribir esta fórmula, puede aparecer un error de ondulación de color rojo durante un
momento. El error debe desactivarse si selecciona cualquier cosa fuera de la barra de fórmulas y, a
continuación, devuelve el cursor a la barra de fórmulas. Si el error persiste o no ve un valor, seleccione la
pestaña vista , seleccione orígenes de datosy, a continuación, actualice la entidad pedidos seleccionando
los puntos suspensivos (...) a la derecha del nombre del origen de datos.
Al especificar ThisItem. Customer, está aprovechando una relación de varios a uno entre las entidades
Orders y Customers y recuperando el registro del cliente asociado a cada pedido. En el registro del
cliente, va a extraer los datos de la columna Company para su presentación.
Puede mostrar todas las relaciones de la entidad Orders a otras entidades, incluida la entidad Customer
:
11. Cierre el panel datos seleccionando el icono cerrar (x) en la esquina superior derecha.
ThisItem.'Order Status'
En la entidad pedidos , el campo Estado de pedido contiene un valor del conjunto de opciones de
estado de pedidos . Un conjunto de opciones es similar a una enumeración en otras herramientas de
programación. Cada conjunto de opciones se define en la base de datos, por lo que los usuarios solo
pueden especificar las opciones que se encuentran en el conjunto. El conjunto de opciones de Estado de
pedidos también es global, no local, por lo que puede usarlo en otras entidades:
Cada opción de un conjunto tiene un nombre que aparece si se muestra en una etiqueta. Estos nombres
se pueden localizar y la aplicación reconoce la misma opción si un usuario en inglés selecciona Apple, un
usuario en francés selecciona pommeo un usuario en Español selecciona manzana. Por esta razón, no
se puede crear una fórmula que se base en una cadena codificada de forma rígida para una opción, como
se muestra en este tema más adelante.
En las fórmulas, debe poner el estado de la orden entre comillas simples porque contiene un espacio. Sin
embargo, ese nombre funciona de la misma forma que cualquier otro nombre de PowerApps, como
cliente o empresa.
6. En la pestaña Inicio , aumente el tamaño de fuente de la etiqueta estado a 20 puntos y alinee a la
derecha el texto:
7. En la barra de fórmulas, establezca la propiedad color de la etiqueta estado en esta fórmula:
PowerApps evita que cree una fórmula que se base en una cadena codificada de forma rígida para cada
opción de un conjunto, ya que dichas fórmulas podrían producir resultados inadecuados si los nombres
de las opciones están localizados. En su lugar, la función Switch determina el color en función de la
cadena que aparece en la etiqueta en función de la configuración del usuario.
Con esta fórmula en su lugar, los distintos valores de estado aparecen en colores diferentes, como se
muestra en el gráfico anterior.
En esta fórmula, la función SUM suma los registros de la entidad Order Details que están asociados a
cada registro de la entidad Order a través de una relación de uno a varios. Estos elementos de línea
forman cada pedido y se utiliza la misma relación uno a varios para mostrar y editar los elementos de
línea en el área inferior derecha de la pantalla.
Esta fórmula muestra un subrayado azul y una Advertencia de delegación porque Common Data Service
no admite la delegación de funciones de agregado complejas (por ejemplo, la suma de una
multiplicación). Puede omitir esta información porque ningún orden en este ejemplo contendrá más de
500 elementos de línea. Si es necesario para una aplicación diferente, puede aumentar ese límite en la
configuración de la aplicación.
La función de texto de esta fórmula agrega un símbolo de divisa y da formato al resultado con
separadores de miles y decimales. Tal como se ha escrito, la fórmula incluye la etiqueta de idioma para
Inglés de EE. UU. ([$-en-US ]) y un símbolo de dólar ($). Si quita la etiqueta de idioma, se reemplazará
por una en función de la configuración de idioma y la etiqueta mostrará los formatos adecuados para
dicha etiqueta. Si deja el símbolo de dólar, la etiqueta mostrará el símbolo de moneda adecuado en
función de la configuración del usuario. Sin embargo, puede forzar que aparezca un símbolo diferente si
reemplaza el símbolo de dólar por el que prefiera.
5. En la pestaña Inicio , cambie el tamaño de fuente de la etiqueta más reciente a 20 puntos y alinee a la
derecha su texto:
6. Mueva la galería al borde izquierdo de la pantalla y disminuya el ancho de la galería para cerrar algo de
espacio.
7. Aumente el alto de la galería para que sea casi tan alto como la pantalla, pero deje un poco de espacio en
la parte superior de una barra de título, que agregará al principio del siguiente tema:
Resumen
Para recapitular, comenzó a compilar una aplicación de lienzo de pantalla única agregando la galería de pedidos,
que incluye estos elementos:
Una expresión para mostrar el número de pedido: "Orders " & ThisItem.OrderNumber
Campo de una relación de varios a uno: ThisItem.Customer.Company
Etiqueta que muestra el nombre de una opción de un conjunto: ThisItem.'Order Status'
Etiqueta que cambia el formato en función de la opción de un conjunto que muestra la etiqueta:
Switch( ThisItem.'Order Status'; 'Orders Status'.Closed; Green; ...
Función de agregado compleja sobre una relación de uno a varios:
Sum( ThisItem.'Order Details'; Quantity * 'Unit Price' )
Siguiente tema
En el tema siguiente, agregará un control Editar formulario para mostrar y editar un resumen de cualquier
orden que el usuario seleccione en la galería que acaba de crear.
Crear el formulario de Resumen
Crear un formulario de resumen en una aplicación
de lienzo
12/11/2019 • 23 minutes to read
Siga las instrucciones paso a paso para crear un formulario de resumen en una aplicación de lienzo para
administrar datos ficticios en la base de datos Northwind Traders. Este tema forma parte de una serie en la que
se explica cómo compilar una aplicación empresarial en datos relacionales en Common Data Service. Para
obtener los mejores resultados, explore estos temas en esta secuencia:
1. Cree una galería de pedidos.
2. Crear un formulario de resumen (este tema).
3. Cree una galería de detalles.
Requisitos previos
1. Instale la base de datos y las aplicaciones de Northwind Traders.
2. Revise la información general de la aplicación Canvas para Northwind Traders.
3. Cree la galería de pedidos usted mismo o abra la aplicación Northwind Orders (canvas)-Begin Part 2 ,
que ya contiene esa Galería.
La nueva etiqueta debe aparecer una sola vez, encima de la galería. Si aparece en cada elemento de la
galería, elimine la primera instancia de la etiqueta, asegúrese de que la pantalla está seleccionada (como
se describe en el paso anterior) y, a continuación, vuelva a insertar la etiqueta.
3. Mueva y cambie el tamaño de la nueva etiqueta para que abarque la parte superior de la pantalla:
4. Haga doble clic en el texto de la etiqueta y, a continuación, escriba Northwind Orders.
Como alternativa, modifique la propiedad texto en la barra de fórmulas para lograr el mismo resultado:
De forma predeterminada, el formulario aparece en la esquina superior izquierda, donde otros controles
pueden dificultar la búsqueda:
2. Mueva y cambie el tamaño del formulario para que cubra la esquina superior derecha de la pantalla en la
barra de título:
2. Si el panel campos no está vacío, quite los campos que ya se han insertado.
3. Una vez que la lista de campos está vacía, seleccione Agregar campoy, a continuación, active las casillas
correspondientes a los campos Customer y Employee .
4. Desplácese hacia abajo hasta que aparezcan estos campos y, a continuación, active las casillas siguientes:
Notas
Fecha del pedido
Número de pedido
Estado del pedido
Fecha de pago
5. En la parte inferior del panel campos , seleccione Agregary, a continuación, cierre el panel campos .
El formulario muestra siete campos, que pueden estar en un orden diferente:
NOTE
Si un campo muestra un icono de error rojo, es posible que se haya producido un problema al extraer los datos del
origen. Para resolver el error, actualice los datos:
1. En la pestaña Vista, seleccione Orígenes de datos.
2. En el panel datos , seleccione orígenes de datos.
3. Junto a pedidos, seleccione los puntos suspensivos (...), seleccione Actualizary, a continuación, cierre el panel
datos .
Si el cuadro combinado del nombre del cliente o del empleado sigue mostrando un error, compruebe el texto
principal y SearchField de cada cuadro seleccionándolo y, a continuación, abra el panel datos . En el cuadro
cliente, ambos campos deben establecerse en nwind_company. En el cuadro empleado, ambos campos deben
establecerse en nwind_lastname.
NOTE
Es posible que le resulte más fácil ampliar las tarjetas de datos de las notas, el clientey el empleado antes de
organizarlas.
Más información sobre cómo organizar los campos en un formulario: Descripción del diseño de
formulario de datos para las aplicaciones de canvas.
4. Cambie el tamaño del control selector de fecha para mostrar la fecha de finalización:
A continuación, repetirá los últimos pasos para el campo de fecha de pago .
5. En el panel de vista de árbol , seleccione los controles de tiempo en la tarjeta de datos de fecha de
pago :
Gallery1.Selected
El formulario muestra un resumen del orden que el usuario de la aplicación selecciona en la lista.
3. En la tarjeta de datos, reduzca el ancho del cuadro combinado para dejar espacio para la imagen del
empleado:
DataCardValue7.Selected.Picture
2. En la pestaña Inicio , cambie la propiedad color del icono a blanco, cambie el tamaño del icono y
muévalo cerca del borde derecho de la barra de título:
3. En el panel de vista de árbol , confirme que el nombre del formulario es Form1y, a continuación,
establezca la propiedad alseleccionar del icono en esta fórmula:
SubmitForm( Form1 )
Cuando el usuario selecciona el icono, la función SubmitForm recopila los valores modificados en el
formulario y los envía al origen de datos. Los puntos de marzo a lo largo de la parte superior de la
pantalla a medida que se envían los datos, y la galería de pedidos refleja los cambios después de que
finalice el proceso.
4. Establezca la propiedad DisplayMode del icono en esta fórmula:
Si se han guardado todos los cambios en el formulario, el icono está deshabilitado y aparece en
DisabledColor, que se establecerá a continuación.
5. Establezca la propiedad DisabledColor del icono en este valor:
Gray
El usuario puede guardar los cambios en un pedido seleccionando el icono de marca de verificación, que
está deshabilitado y atenuado hasta que el usuario realice otro cambio:
2. En la pestaña Inicio , cambie la propiedad color del icono a blanco, cambie el tamaño del icono y
muévalo a la izquierda del icono de comprobación:
ResetForm( Form1 )
La función ResetForm descarta todos los cambios del formulario, lo que lo devuelve a su estado original.
4. Establezca la propiedad DisplayMode del icono de cancelación en esta fórmula:
Esta fórmula difiere ligeramente de la del icono de comprobación. El icono cancelar se deshabilita si se
han guardado todos los cambios o el formulario está en modo nuevo , lo que se habilitará a
continuación. En ese caso, ResetForm descarta el nuevo registro.
5. Establezca la propiedad DisabledColor del icono de cancelación en este valor:
Gray
El usuario puede cancelar los cambios en un pedido y los iconos comprobar y cancelar están
deshabilitados y atenuados si se han guardado todos los cambios:
2. En la pestaña Inicio , establezca la propiedad color del icono Agregar en blanco, cambie el tamaño del
icono y muévalo a la izquierda del icono cancelar:
NewForm( Form1 )
La función NewForm muestra un registro en blanco en el formulario.
4. Establezca la propiedad DisplayMode del icono Agregar en esta fórmula:
Gray
El usuario puede crear un pedido si no realiza ningún cambio o guarda o cancela los cambios realizados.
(Si el usuario selecciona este icono, no podrá volver a seleccionarlo hasta que realice uno o varios
cambios y, a continuación, guardar o cancelar los cambios):
NOTE
Si crea y guarda un pedido, es posible que tenga que desplazarse hacia abajo en la galería de pedidos para mostrar el
nuevo pedido. No tendrá un precio total porque todavía no ha agregado ningún detalle de pedido.
2. En la pestaña Inicio , cambie la propiedad color del icono de la papelera a blanco, cambie el tamaño del
icono y muévalo a la izquierda del icono Agregar:
La función Remove quita un registro de un origen de datos. En esta fórmula, la función quita el registro
seleccionado en la galería de pedidos. El icono de la papelera aparece cerca del formulario de resumen
(no de la galería de pedidos) porque el formulario muestra más detalles sobre el registro, por lo que el
usuario puede identificar más fácilmente el registro que la fórmula eliminará.
4. Establezca la propiedad DisplayMode del icono de la papelera en esta fórmula:
Esta fórmula deshabilita el icono de la papelera si el usuario está creando un registro. Hasta que el
usuario guarda el registro, la función Remove no tiene ningún registro para eliminar.
5. Establezca la propiedad DisabledColor del icono de la papelera en este valor:
Gray
El usuario puede eliminar un pedido.
Resumen
En Resumen, ha agregado un formulario en el que el usuario puede mostrar y editar un resumen de cada
pedido, y ha usado estos elementos:
Un formulario que muestra los datos de la entidad Orders : Form1. DataSource = Orders
Una conexión entre el formulario y la galería de pedidos: Form1. Item = Gallery1.Selected
Control alternativo para el campo de número de pedido : texto de la vista
Una relación de varios a uno para mostrar la imagen del empleado en la tarjeta de datos del empleado :
DataCardValue1.Selected.Picture
Un icono para guardar los cambios en un pedido: SubmitForm( Form1 )
Un icono para cancelar los cambios en un pedido: ResetForm( Form1 )
Un icono para crear un pedido: NewForm( Form1 )
Un icono para eliminar un pedido: Remove( Orders; Gallery1.Selected )
Paso siguiente
En el tema siguiente, agregará otra galería para mostrar los productos en cada pedido y podrá cambiar esos
detalles mediante la función patch .
Crear la galería de detalles
Creación de una galería de detalles en una
aplicación de lienzo
12/11/2019 • 28 minutes to read
Siga las instrucciones paso a paso para crear una galería de detalles en una aplicación de lienzo para administrar
datos ficticios en la base de datos Northwind Traders. Este tema forma parte de una serie en la que se explica
cómo compilar una aplicación empresarial en datos relacionales en Common Data Service. Para obtener los
mejores resultados, explore estos temas en esta secuencia:
1. Cree una galería de pedidos.
2. Cree un formulario de Resumen.
3. Crear una galería de detalles (este tema).
Requisitos previos
Antes de empezar este tema, debe instalar la base de datos como se describió anteriormente en este tema. A
continuación, debe crear la galería de pedidos y el formulario de Resumen, o bien abrir la aplicación de pedidos
de Northwind (canvas)-Begin Part 3 , que ya contiene esa galería y ese formulario.
2. Cierre el cuadro de diálogo origen de datos de la marcha y, a continuación, cambie el tamaño y mueva la
galería de detalles a la esquina inferior derecha, debajo de la nueva barra de título:
Si aparece un error, confirme que la galería de pedidos se denomine Gallery1 (en el panel de vista de
árbol situado cerca del borde izquierdo). Si esa Galería tiene un nombre diferente, cambie su nombre a
Gallery1.
Acaba de vincular las dos galerías. Cuando el usuario selecciona un pedido en la galería de pedidos, esa
selección identifica un registro en la entidad pedidos . Si ese pedido contiene uno o más elementos de
línea, el registro de la entidad Orders se vincula a uno o varios registros de la entidad Order Details y
los datos de esos registros aparecen en la galería de detalles. Este comportamiento refleja la relación de
uno a varios que se ha creado automáticamente entre las entidades Orders y Order Details . La fórmula
que especificó "recorre" esa relación mediante la notación de puntos:
ThisItem.Product.'Product Name'
Si no aparece ningún texto, seleccione la flecha del orden 0901 cerca de la parte inferior de la galería de
pedidos.
4. Cambie el tamaño de la etiqueta para que aparezca el texto completo:
Esta expresión se dirige desde un registro de la entidad Order Details . El registro se mantiene en
ThisItem en la entidad Order Products a través de una relación de varios a uno:
Se extraen el campo nombre de producto (y otros campos que está a punto de usar):
TIP
Para tener un mayor control sobre el tamaño y la posición de un control, empiece a cambiar el tamaño o muévalo
sin presionar la tecla Alt y, después, continúe con el cambio de tamaño o mueva el control mientras mantiene
presionada la tecla Alt:
ThisItem.Product.Picture
Una vez más, la expresión hace referencia a un producto que está asociado a este orden y extrae el campo
de imagen que se va a mostrar.
4. Reduzca el alto de la plantilla de la galería para que aparezca más de un registro de detalle de pedido a
la vez:
ThisItem.Quantity
Esta fórmula extrae información directamente de la entidad Order Details (no se requiere ninguna
relación).
3. En la pestaña Inicio , cambie la alineación de este control a derecha:
4. En la pestaña Insertar , inserte otra etiqueta en la galería de detalles y, a continuación, cambie el tamaño
y mueva la etiqueta a la derecha de la etiqueta cantidad.
5. Establezca la propiedad texto de la nueva etiqueta en esta fórmula:
7. En la pestaña Insertar , inserte otro control etiqueta en la galería de detalles y, a continuación, cambie el
tamaño y mueva la nueva etiqueta a la derecha del precio por unidad.
8. Establezca la propiedad texto de la nueva etiqueta en esta fórmula:
de producto
4. Copie y pegue la etiqueta Product y, a continuación, cambie el tamaño de la copia y muévala por encima
de la columna quantity.
5. Haga doble clic en el texto de la nueva etiqueta y escriba Quantity:
6. Copie y pegue la etiqueta quantity y, a continuación, cambie el tamaño de la copia y muévala por encima
de la columna precio unitario.
7. Haga doble clic en el texto de la nueva etiqueta y, a continuación, escriba precio por unidad:
8. Copie y pegue la etiqueta de precio unitario y, a continuación, cambie el tamaño de la copia y muévala
por encima de la columna de precio ampliado.
9. Haga doble clic en el texto de la nueva etiqueta y, a continuación, escriba Extended:
extendido
2. Copie y pegue la barra de título en el centro de la pantalla y, a continuación, mueva la copia a la parte
inferior de la pantalla:
3. Copie y pegue la etiqueta Product de la barra de título central y, a continuación, mueva la copia a la barra
de título inferior, a la izquierda de la columna Quantity .
4. Haga doble clic en el texto de la nueva etiqueta y, a continuación, escriba este texto:
Totales de pedido:
Esta fórmula muestra una advertencia de delegación, pero puede ignorarla porque ningún pedido
individual contendrá más de 500 productos.
7. En la pestaña Inicio , establezca la alineación del texto de la nueva etiqueta en derecha:
8. Copie y pegue este control de etiqueta y, a continuación, cambie el tamaño y mueva la copia en la
columna extendida .
9. Establezca la propiedad Text de la copia en esta fórmula:
Esta fórmula muestra una advertencia de delegación, pero puede ignorarla porque ningún pedido
individual contendrá más de 500 productos.
6. Cambie el tamaño y mueva el cuadro combinado al área azul claro, justo debajo de la columna Product-
Name de la galería de detalles:
En este cuadro combinado, el usuario especificará un registro en la entidad Product para el registro de
detalles del pedido que la aplicación creará.
7. Mientras mantiene presionada la tecla Alt, seleccione la flecha hacia abajo del cuadro combinado.
TIP
Si mantiene presionada la tecla Alt, puede interactuar con los controles en PowerApps Studio sin abrir el modo de
vista previa.
2. Cambie el tamaño de la imagen y muévala al área azul claro bajo las demás imágenes del producto y
junto al cuadro combinado.
3. Establezca la propiedad imagen de la imagen en:
ComboBox1.Selected.Picture
Está usando el mismo truco que usó para mostrar la imagen del empleado en el formulario de resumen.
La propiedad seleccionada del cuadro combinado devuelve todo el registro de cualquier producto que
seleccione el usuario, incluido el campo de imagen .
Mediante este cuadro de entrada de texto, el usuario especificará el campo cantidad del registro de
detalles del pedido .
3. Establezca la propiedad default de este control en "":
4. En la pestaña Inicio , establezca la alineación del texto de este control en derecha:
Este control muestra el precio de venta de la entidad Order Products . Este valor determinará el campo
de precio por unidad en el registro de detalles del pedido .
NOTE
En este escenario, el valor es de solo lectura, pero otros escenarios pueden llamar a para que el usuario de la
aplicación lo modifique. En ese caso, use un control de entrada de texto y establezca su propiedad
predeterminada en lista de precios.
Este control muestra el precio extendido en función de la cantidad especificada por el usuario de la
aplicación y el precio de venta del producto seleccionado por el usuario de la aplicación. Es meramente
informativo para el usuario de la aplicación.
6. Haga doble clic en el control de entrada de texto para quantity y, a continuación, escriba un número.
La etiqueta del precio extendido se vuelve a calcular para mostrar el nuevo valor:
Agregar un icono Agregar
1. En la pestaña Insertar , seleccione iconos > Agregar:
2. Cambie el tamaño y mueva este icono al borde derecho del área de color azul claro y, a continuación,
establezca la propiedad alseleccionar del icono en esta fórmula:
Patch( 'Order Details';
Defaults('Order Details');
{
Order: Gallery1.Selected;
Product: ComboBox1.Selected;
Quantity: Value(TextInput1.Text);
'Unit Price': ComboBox1.Selected.'List Price'
}
);;
Refresh( Orders );;
Reset( ComboBox1 );;
Reset( TextInput1 )
En general, la función patch actualiza y crea registros, y los argumentos específicos de esta fórmula
determinan los cambios exactos que realizará la función.
El primer argumento especifica el origen de datos (en este caso, la entidad Order Details ) en la
que la función actualizará o creará un registro.
El segundo argumento especifica que la función creará un registro con los valores
predeterminados para la entidad Order Details , a menos que se especifique lo contrario en el
tercer argumento.
El tercer argumento especifica que cuatro columnas del nuevo registro contendrán valores del
usuario.
La columna orden contendrá el número del pedido que el usuario seleccionó en la galería de
pedidos.
La columna Product contendrá el nombre del producto que el usuario seleccionó en el cuadro
combinado que muestra Products.
La columna Quantity contendrá el valor que el usuario especificó en el cuadro de entrada de
texto.
La columna precio por unidad contendrá el precio de venta del producto que el usuario
seleccionó para este detalle de pedido.
NOTE
Puede generar fórmulas que usan datos de cualquier columna (en la entidad Order Products ) para cualquier
producto que seleccione el usuario de la aplicación en el cuadro combinado que muestra productos. Cuando el
usuario selecciona un registro en la entidad Order Products , no solo el nombre del producto aparece en ese
cuadro combinado, sino que también el precio unitario del producto aparece en una etiqueta. Cada valor de
búsqueda en una aplicación de lienzo hace referencia a un registro completo, no solo a una clave principal.
La función de actualización garantiza que la entidad Orders refleja el registro que acaba de agregar a la
entidad Order Details . La función de restablecimiento borra los datos de productos, cantidades y
precios unitarios para que el usuario pueda crear más fácilmente otros detalles de pedido para el mismo
pedido.
3. Presione F5 y, a continuación, seleccione el icono Agregar .
El orden refleja la información que especificó:
En conclusión
En Resumen, ha agregado otra galería para mostrar los detalles del pedido y controla la adición y eliminación de
los detalles de un pedido en la aplicación. Ha usado estos elementos:
Un segundo control de galería, vinculado a la galería de pedidos, a través de una relación de uno a varios:
Gallery2. items = Gallery1.Selected.'Order Details'
Una relación de varios a uno desde la entidad Order Details hasta la entidad Order products :
ThisItem.Product.'Product Name' y ThisItem.Product.Picture
La función de Opciones para obtener una lista de productos: Choices( 'Order Details'.Product' )
La propiedad seleccionada de un cuadro combinado como el registro relacionado de varios a uno
completo: ComboBox1.Selected.Picture y ComboBox1.Selected.'List Price'
La función patch para crear un registro Order Details :
Patch( 'Order Details'; Defaults( 'Order Details' ); ... )
La función Remove para eliminar un registro de detalles de pedido : Remove( 'Order Details'; ThisItem )
Esta serie de temas ha sido un tutorial rápido sobre el uso de Common Data Service relaciones y conjuntos de
opciones en una aplicación de lienzo con fines educativos. Antes de publicar cualquier aplicación en producción,
debe considerar la validación de campos, el control de errores y muchos otros factores.
Integración de compatibilidad global en aplicaciones
de lienzo
08/10/2019 • 14 minutes to read
PowerApps es un producto global. Puede compilar y usar aplicaciones de lienzo en muchas regiones e idiomas
diferentes.
Tanto al compilar como al ejecutar aplicaciones, el texto que PowerApps muestra se ha traducido a diversos
idiomas. Verá los elementos de menú, cuadros de diálogo, pestañas de la cinta y otros textos en su idioma nativo.
La escritura y presentación de fechas y números también se ha adaptado a su idioma y región concretos. Por
ejemplo, algunas regiones del mundo usan un . (punto o punto) como separador decimal mientras que otros
usan , (coma).
Las aplicaciones que cree también pueden ser globales. Use Idioma , Texto , Valor , FechaNumero y otras
funciones para adaptar lo que se muestra y se utiliza como entrada en diferentes idiomas.
Configuración de idioma
Cuando se usa el paquete Studio nativo o un reproductor nativo, el sistema operativo host especifica el idioma.
En el caso de Windows, esto puede controlarse en "Todas las configuraciones", "Hora e idioma". Windows
también permite especificar los caracteres que se va a usar como separador decimal, invalidando la
configuración de idioma.
Cuando se trabaja con la Web, es el explorador el que proporciona el idioma. La mayoría de los exploradores
utilizan la configuración del sistema operativo de host de forma predeterminada, y algunos permiten establecer
el idioma manualmente.
Entorno de creación
El entorno de creación se adapta a la configuración de idioma del autor. La aplicación se guarda de forma
independiente del idioma, para que los autores con distintos idiomas puedan editar la misma aplicación.
Nombres en las fórmulas
La mayoría de los elementos de una fórmula están siempre en inglés:
Nombres de función: If, Navigate, Collect,...
Nombres de propiedad de control: Screen. Fill, Button. alseleccionar, TextBox. Font,...
Nombres de enumeración: Color. aguamarina, DataSourceInfo. MaxValue, EspesorDeFuente. Bold...
Registros de señal: Compass. Head, Location. Latitude, App.ActiveScreen, ...
Operadores Primario, en, exacto,...
A medida que se localiza la experiencia de creación, los controles y otros nombres de objetos se mostrarán en el
idioma nativo del autor. En español, algunos de los nombres de los controles aparecen como:
Al insertar uno de estos elementos en la aplicación, su nombre se usará en inglés de forma predeterminada. Esto
sirve para mantener la coherencia con los nombres de propiedad de los controles y el resto de la fórmula. Por
ejemplo, Casilla se inserta como Checkbox1.
Después de insertar un control, puede cambiar el nombre por el que prefiera. Mientras está seleccionado, el
extremo izquierdo de la cinta de opciones "Contenido" muestra el nombre del control. Al seleccionar este
nombre, se despliega un cuadro de texto donde puede editarlo:
Si lo desea, aquí se puede cambiar el nombre del control por Casilla1. La línea roja ondulada, que en este caso
muestra el explorador, se debe a que el nombre no es una palabra en español y no supone ningún problema.
Puede usar los nombres que desee como:
Nombres del control
Nombres de colección
Nombres de variable de contexto
Separadores de fórmulas y operador de encadenamiento
Algunos separadores y operadores cambiarán según el separador decimal del idioma del autor:
OPERADOR DE
SEPARADOR DECIMAL DEL SEPARADOR DECIMAL DE SEPARADOR DE LISTA DE ENCADENAMIENTO DE
IDIOMA DEL AUTOR POWERAPPS POWERAPPS POWERAPPS
El cambio en el separador de lista de PowerApps es coherente con lo que sucede con el separador de lista de
Excel. Esto afectará a lo siguiente:
Argumentos en llamadas a funciones.
Campos de un registro.
Registros de una tabla.
Por ejemplo, considere la siguiente fórmula expresada en un idioma y una región que usa punto o punto como
separador decimal, como Japón o Reino Unido:
Ahora vea esta misma fórmula en un idioma y región donde se usa una coma para el separador decimal, como
Francia o España:
El resaltado muestra los operadores que cambian entre las dos versiones. Tenga en cuenta que el operador de
selección de propiedad . (punto o punto) en Slider1. el valor es siempre el mismo, independientemente de cuál
sea el separador decimal.
La fórmula no cambia internamente; lo que cambia es cómo se muestra y cómo la edita el autor. Dos autores
diferentes que usen dos idiomas distintos pueden ver y editar la misma fórmula, y cada uno verá los separadores
y operadores correspondientes a su idioma.
Y, a continuación, utilizar una fórmula como la siguiente para extraer las cadenas traducidas de la tabla:
LookUp( Table1; TextID = "Hello" && (LanguageTag = Left( Language(); 2 ) || IsBlank( LanguageTag
))).LocalizedText
Tenga en cuenta que las cadenas traducidas a otros idiomas podrían ocupar más espacio que las que están en su
idioma. En muchos casos, las etiquetas y otros elementos que muestran las cadenas en la interfaz de usuario
necesitarán ser más anchos para dar cabida a esas cadenas.
Para más información, consulte la documentación de la función Language .
Formato de números, fechas y horas
Los números, las fechas y las horas se escriben con diferentes formatos en las distintas partes del mundo. El
significado de las comas, los decimales y el orden del día, mes y año varían de una ubicación a otra.
La función Text da formato a números y fechas utilizando la configuración de idioma del usuario.
Text requiere una cadena de formato para saber cómo desea dar formato al número o fecha. Esta cadena de
formato puede ser de dos formas:
Una enumeración independiente de la configuración regional. Por ejemplo, Text( Now();
DateTimeFormat.LongDate ) . Esta fórmula dará formato a la fecha actual con el formato correspondiente
al idioma. Esta es la mejor manera de especificar la cadena de formato.
Una cadena de formato personalizado. Por ejemplo, Text( Now(); "[$-en-US ]dddd, mmmm dd, yyyy"
) muestra el mismo texto que la enumeración cuando se utiliza en el idioma "en-US". La ventaja de la cadena
de formato personalizado es que puede especificar exactamente lo que desea.
"[$-en-US ]" al principio de la cadena de formato personalizado indica a Text en qué idioma debe interpretar la
cadena de formato personalizado. Esto se inserta automáticamente y su valor predeterminado es el idioma de
creación. Normalmente no necesitará cambiarlo. Resulta útil cuando los autores de distintos idiomas están
modificando la misma aplicación.
El tercer argumento de Text especifica el idioma que se usará para el resultado de la función. El valor
predeterminado es el idioma configurado para el usuario actual.
Para más información, consulte la documentación de la función Text .
Lectura de números, fechas y horas
Hay cuatro funciones para leer los números, las fechas y las horas proporcionados por el usuario:
Valor : Convierte un número de una cadena de texto en un valor numérico.
DateValue : Convierte un valor de fecha de una cadena de texto en un valor de fecha y hora. Se omiten las
horas especificadas en la cadena de texto.
TimeValue : Convierte un valor de hora de una cadena de texto en un valor de fecha y hora. Se omiten las
fechas especificadas en la cadena de texto.
Fechahoranumero : Convierte un valor de fecha y hora de una cadena de texto en un valor de fecha y hora.
Si usó Excel, todas estas funciones se combinan en la función única Value. Se desglosan aquí porque PowerApps
tiene tipos distintos de valores de fecha, hora y números.
Todas estas funciones tienen los mismos argumentos:
Cadena, requerida: Una cadena del usuario. Por ejemplo, una cadena escribe en un control de entrada de
texto y lee el control con la propiedad Text.
Idioma, opcional: Lenguaje en el que se va a interpretar la cadena. De forma predeterminada, es el idioma
configurado para el usuario.
Por ejemplo:
Value( "12,345.678"; "en-US" ) o Value( "12,345.678" ) cuando "en-US" es el idioma del usuario, devuelve
el número 12345.678, listo para usarlo en cálculos.
FechaNumero( "1/2/01"; "es-ES" ) o FechaNumero( "1/2/01" ) cuando "es-ES" es el idioma del usuario,
devuelve el valor de fecha y hora February 1, 2001 at midnight.
HoraNumero( "11:43:02"; "fr-FR" ) o FechaNumero( "11:43:02" ) cuando "fr-FR" es el idioma del
usuario, devuelve el valor de fecha y hora January 1, 1970 at 11:43:02.
FechaHoraNumero( "11:43:02 1/2/01"; "de-DE" ) o FechaNumero( "11:43:02" ) cuando "de-DE" es el
idioma del usuario, devuelve el valor de fecha y hora February 1, 2001 at 11:43:02.
Para más información, consulte la documentación de las funciones Value y FechaNumero, HoraNumero y
FechaHoraNumero , y cómo trabajar con fechas y horas.
Información sobre Calendar y Clock
Las funciones Calendar y Clock proporcionan información sobre el calendario y el reloj en el idioma del usuario
actual.
Entre otras cosas, use estas funciones para proporcionar un control Dropdown con una lista de opciones.
Para más información, consulte la documentación de las funciones Calendar y Clock .
Creación de aplicaciones de lienzo accesibles en
PowerApps
07/10/2019 • 6 minutes to read
Una aplicación de lienzo accesible permitirá a los usuarios con discapacidades visuales, auditivas y de otra índole
utilizar correctamente dicha aplicación. Además de ser un requisito para muchos gobiernos y organizaciones, si
sigue las pautas que se indican a continuación aumentará la facilidad de uso para todos los usuarios,
independientemente de sus capacidades.
Use el Comprobador de accesibilidad para ayudarle a revisar los posibles problemas de accesibilidad de la
aplicación.
Diseño y color
Un diseño con sentido común y poco complicado ayuda a que las aplicaciones sean más accesibles para todos los
usuarios. Cuando realice una personalización intensa de las aplicaciones, tenga en cuenta las siguientes
sugerencias. Los temas de PowerApps son accesibles de forma predeterminada.
Asegúrese de que todos los elementos son claramente visibles y el texto tiene un tamaño suficiente. Todo el
contenido se debe poder leer y comprender fácilmente a simple vista.
Evite el uso de la propiedad de visibilidad de los elementos para mostrar un elemento. Si necesita mostrar algo
de manera condicional, cree el contenido en una nueva pantalla, navegue a ella y vuelva.
Asegúrese de que los elementos de entrada están etiquetados en la pantalla. La propiedad AccessibilityLabel
define lo que el lector de pantalla anunciará.
Si personaliza colores, asegúrese de que el contraste entre el texto y el fondo es 4.5:1 o superior. Las
herramientas de software que ayudan a este proceso están disponibles.
Asegúrese de que el diseño sigue un flujo lógico cuando lea de arriba a abajo y de izquierda a derecha.
Contenido multimedia
Asegúrese de todos los vídeos tienen subtítulos y una transcripción de todas las grabaciones de audio está
disponible para el usuario. El control de vídeo admite subtítulos en formato WebVTT a través de la propiedad
ClosedCaptionsUrl .
Tenga en cuenta que con el lector de pantalla habilitado, Timer no anuncia el texto del botón, sino cuánto tiempo
ha transcurrido. Los anuncios no se pueden desactivar, aunque el temporizador esté oculto con baja opacidad.
Los usuarios con discapacidades visuales, auditivas o de otro tipo pueden usar la aplicación de lienzo con más
facilidad y correctamente si tiene en cuenta la accesibilidad al diseñar el aspecto y el comportamiento de la
aplicación. Si no tiene claro cómo hacer que su aplicación sea más accesible, puede ejecutar el Comprobador de
accesibilidad en PowerApps Studio. Esta herramienta no solo busca posibles problemas de accesibilidad, sino que
también explica por qué cada uno de ellos podría ser un posible problema para los usuarios que tienen
discapacidades específicas y ofrece sugerencias sobre cómo resolver cada problema. El Comprobador de
accesibilidad detecta problemas de lector de pantalla y teclado y puede encontrar información sobre cómo
solucionar los problemas de contraste de color usando Colores accesibles.
El Comprobador de accesibilidad le ayuda a identificar la configuración que puede querer cambiar, pero siempre
debe tener en cuenta las sugerencias en el contexto de lo que debe hacer la aplicación. Muchas sugerencias
pueden merecer la pena, pero puede omitir cualquiera que pueda ser más dañina que beneficiosa.
Aparece una lista de problemas, ordenados primero por gravedad y después por pantalla.
3. Seleccione la flecha situada junto a un elemento para mostrar sus detalles.
4. Seleccione la flecha Atrás para volver a la lista de elementos.
5. Si decide resolver un problema, selecciónelo para abrir la propiedad afectada.
6. Después de cambiar una o varias propiedades, seleccione Volver a comprobar para actualizar la lista de
problemas.
Los elementos resueltos desaparecerán de la lista y pueden aparecer nuevos elementos.
Tipos de problemas
DESCRIPCIÓN DEL MOTIVO DE LA
TÍTULO DEL PROBLEMA GRAVEDAD PROBLEMA CÓMO CORREGIR CORRECCIÓN
Revise el nombre Sugerencia Cuando una pantalla Asigne un nombre a Las personas que son
de la pantalla tiene un nombre la pantalla que ciegas, que tienen
predeterminado, que describa lo que deficiencia visual o
leerán los lectores de aparece en ella o su discapacidad de
pantalla cuando el uso. lectura dependen de
usuario navega por la los nombres en
aplicación. pantalla para navegar
mediante el lector de
pantalla.
Pasos siguientes
Creación de aplicaciones accesibles
Colores accesibles
Propiedades de accesibilidad
Colores accesibles en aplicaciones de lienzo de
PowerApps
07/10/2019 • 4 minutes to read
Los colores utilizados en una aplicación de lienzo deben ser accesibles para los usuarios daltónicos y con
deficiencia visual. Todos los temas de PowerApps son accesibles de forma predeterminada. Si desea
modificar los colores utilizados en una aplicación, siga estas instrucciones para asegurarse de que sean
accesibles. Hay varias herramientas disponibles en línea que pueden ayudarle a identificar problemas de
contraste de color.
Pasos siguientes
Obtenga información sobre las propiedades de accesibilidad en los controles de PowerApps e intente
usar el Comprobador de accesibilidad.
Mostrar u ocultar el contenido de las tecnologías de
asistencia para las aplicaciones de lienzo
30/05/2019 • 2 minutes to read
En la mayoría de los casos, todos los usuarios puedan tener acceso a todo el contenido, pero en ocasiones es
posible que desee mostrar contenido únicamente a los usuarios de visión reducidos o solo a los usuarios de lector
de pantalla. Por ejemplo, es posible que desea que los usuarios de lector de pantalla solo para tener acceso a las
descripciones de las tendencias del gráfico que sean evidentes para los usuarios de visión reducidos. También
puede ocultar un icono de usuarios de lector de pantalla si lo describe una etiqueta adyacente. Otra descripción en
el icono sería innecesariamente detallado.
NOTE
Los usuarios todavía pueden usar un teclado para tener acceso a un control interactivo, como un botón , aunque se oculte
utilizando una de las técnicas de la lista anterior. Establecer TabIndex en -1 si desea impedir que los usuarios acceso al
control presionando la tecla Tab.
Pasos siguientes
Obtenga información sobre propiedades de accesibilidad de controles en las aplicaciones de lienzo.
Anunciar cambios dinámicos con las regiones activas
para las aplicaciones de lienzo
30/05/2019 • 4 minutes to read
Cambios dinámicos representan desafíos para la discapacidad visual. Los usuarios que tienen acceso a una
aplicación a través de un lector de pantalla se centran en una parte de la aplicación. Si se produce un cambio en
otra parte, esos usuarios no ser conscientes de ello.
Puede resolver este problema mediante la adición de las regiones activas que realizan un seguimiento de los
lectores de pantalla. Si se cambia el contenido en una región activa, un lector de pantalla anunciará ese cambio.
El mecanismo subyacente para las regiones activas están regiones aria-live, por lo que se aplican las mismas
directrices.
Procedimientos recomendados
Establezca siempre Visible en true. Algunos lectores de pantalla no detectan las regiones activas que
desaparecen y vuelva a aparecer.
Evite cambiar el valor de Live . Algunos lectores no detectan cuando una región en vivo no se convierte en
vivo de pantalla y viceversa.
Coloque la región activa en una posición lógica en la aplicación, aunque no estén visible. Asegúrese de que su
contenido es razonable en contexto con los elementos antes y después. Los usuarios pueden acceder una
región activa en cualquier momento mediante la navegación normal con un lector de pantalla, no solo cuando
se producen cambios.
Pasos siguientes
Obtenga información sobre cómo mostrar contenido únicamente a los lectores de pantalla si la región activa debe
ocultarse de visión reducida a los usuarios.
Descripción de las características experimentales, de
vista previa y en desuso en PowerApps
13/11/2019 • 13 minutes to read
Con cada versión, se realizan cambios y agregan características para transformar PowerApps en la mejor
herramienta para satisfacer sus necesidades. Hacemos que avance el producto.
Nos tomamos muy en serio la compatibilidad con versiones anteriores. Sin embargo, con cualquier cambio o
mejora, es posible que causemos un efecto secundario no deseado y la aplicación podría no funcionar exactamente
igual a como lo hacía antes.
Para ayudar a equilibrar las mejoras y el impacto en las aplicaciones existentes, sometemos a las características
más grandes a una progresión de fases. En este artículo se describe este proceso y cómo puede controlar su
exposición a las características que están en desarrollo.
Versión preliminar Las nuevas aplicaciones incluyen Sí. Esta característica está en camino de
automáticamente esta característica, convertirse en parte permanente del
pero todavía se puede desactivar. Se producto. Es posible que quiera
comienza a habilitar y probar en las desactivarla si surge un problema.
aplicaciones existentes porque con el Informe de los problemas, esta es la
tiempo esta característica también razón principal por la cual la
estará disponible para ellas. característica está en versión preliminar.
Vista previa (validación de final) En el caso de algunas características que Sí. Puede usar esta característica con
podrían tener un gran impacto, confianza, lo que está muy cerca de ser
podemos tomar el paso adicional más permanente. Es posible que quiera
allá de la vista previa de forzar el desactivarla si surge un problema.
cambio de características una vez para Informe de los problemas encontrados.
las aplicaciones existentes cuando se
abren en el estudio. En caso de que se
produzca un problema, la característica
todavía se puede desactivar y sus
comentarios son fundamentales antes
de llevar a cabo el siguiente paso.
Se incluye para todas aplicaciones Todas las aplicaciones tienen esta Sí.
característica y no se pueden
deshabilitar.
Documentación
¿Dónde se puede encontrar información sobre estas características? Las características en versión preliminar se
tratan como características terminadas y se puede obtener más información acerca de ellas como lo haría con
cualquier otra característica del producto:
Documentación de PowerApps. Le proporcionaremos los conceptos básicos sobre la nueva característica: sus
ventajas, cómo empezar a usarla e información de referencia.
Foro de la comunidad de PowerApps. Otros explorarán la nueva característica con usted. Aprenda de sus
experiencias y comparta las suyas.
Blog de PowerApps. A menudo, pero no siempre, una entrada de blog acompaña a una nueva característica.
Las características experimentales son diferentes. Son proyectos en desarrollo y no considera que estén terminadas.
La breve descripción disponible en el panel Configuración de la aplicación (ver abajo) podría ser la única
información acerca de ellas. Las características experimentales no aparecen normalmente en la documentación. El
foro de la comunidad probablemente es la mejor fuente de información. En algunos casos, una entrada de blog
temprana describe la característica. Si no encuentra suficiente información, pregunte en los foros o espere a que la
característica pase a la fase de versión preliminar.
Cada característica tiene un interruptor. Desactivada significa que la característica está deshabilitada. Tener todos
los interruptores desactivados es la forma prevista y más segura para ejecutar la aplicación.
En algunos casos, es posible que deba cerrar y volver a abrir la aplicación después de cambiar una configuración. La
descripción de la característica debería indicar cuándo debe realizar este paso.
En la parte superior del panel Configuración avanzada puede encontrar la configuración de las características
con distribución completa que no están en fase experimental o de versión preliminar y de las que puede depender
por completo.
Esta configuración es específica para cada aplicación, por lo que un interruptor solo afecta a la aplicación que está
abierta actualmente. Si crea una aplicación, estos interruptores vuelven a sus valores predeterminados para esa
aplicación.
Desuso de características
A veces es necesario retirar una característica. A menudo, esto se produce cuando hay una nueva forma de realizar
una tarea. También se eliminan las características poco populares, ya que todas las características requieren cierta
sobrecarga para mantenerse al día de los cambios en el producto.
El desuso de las características también pasa por las fases. Las características son únicas y no todas las
características se utilizarán en todas las fases.
¿PUEDO USARLA CON CONFIANZA? ¿ESTÁ
HABILITADA DE FORMA PREDETERMINADA
FASE ¿CUÁNDO DEBO USARLO? PARA LAS NUEVAS APLICACIONES?
En desuso Las aplicaciones existentes pueden Sí, todavía puede usar la característica
seguir usando esta característica con confianza. Pero estará disponible
durante un tiempo limitado. Todavía pronto. Por esta razón, debe optar
puede activar la característica para las explícitamente por usar la característica
nuevas aplicaciones. Es el momento de en nuevas aplicaciones y no se
evaluar alternativas. recomienda.
Obsoleto (última ADVERTENCIA) En el caso de algunas características que No. La característica está a punto de
podrían tener un gran impacto, es quitarse de forma permanente. Debe
posible que se tarde el paso más en optar explícitamente a usar la
desuso de forzar la desactivación de la característica y no se recomienda.
característica una vez para las
aplicaciones existentes la próxima vez
que se abran en el estudio. En caso de
que se produzca un problema, la
característica se puede volver a activar, y
sus comentarios son fundamentales
antes de llevar a cabo el siguiente paso.
Se quitó para nuevas aplicaciones de Todas las aplicaciones nuevas tienen No. La característica está a punto de
esta característica desactivada y no se quitarse de forma permanente. La
puede habilitar. En el caso de las característica ya no está disponible para
aplicaciones existentes en las que la las nuevas aplicaciones.
característica está activada, la
característica seguirá apareciendo como
una característica desusada hasta que
esté desactivada. Si está desactivado y el
modificador de características deja de
estar disponible, puede restaurar la
aplicación a una versión anterior para
volver a un estado anterior a la
deshabilitación de la característica.
Siempre que guarde cambios en una aplicación de lienzo, se publican automáticamente solo para usted y para
quien tenga permisos para modificar la aplicación. Cuando termine de realizar cambios, publíquelos
explícitamente para que estén disponibles para todos los usuarios con los que se comparta la aplicación.
Para información sobre cómo compartir una aplicación, consulte Compartir una aplicación.
2. En el cuadro de diálogo Publicar, pulse o haga clic en Publicar esta versión para publicar la aplicación
para todos los usuarios con los que se comparte la aplicación.
NOTE
Siempre que publique una aplicación de lienzo, esta se actualizará para ejecutarse en la versión más reciente de
PowerApps, lo que significa que obtendrá las ventajas de todas las características más recientes y las actualizaciones
de rendimiento que se han agregado desde que publicó por última vez. Si no ha publicado una actualización desde
hace varios meses, probablemente verá una mejora de rendimiento inmediata al volver a publicar ahora.
Para publicar la versión más reciente, pulse o haga clic en Publicar esta versión y pulse o haga clic en Publicar
esta versión en el cuadro de diálogo Publicar.
Pasos siguientes
Busque y ejecute la aplicación en un Explorador o en un teléfono.
Cambie el nombre de una aplicación desde powerapps.com.
Restaure una aplicación si tiene varias versiones de una aplicación.
Compartir una aplicación de lienzo en
PowerApps
23/11/2019 • 26 minutes to read
Después de compilar una aplicación que responde a una necesidad empresarial, especifique qué usuarios
de su organización pueden ejecutarla y cuáles pueden modificarla e incluso volver a compartirla.
Especifique cada usuario por nombre, o indique un grupo de seguridad en Azure Active Directory. Si todos
los usuarios se beneficiarán de la aplicación, especifique que toda la organización puede ejecutarla.
IMPORTANT
Para que una aplicación compartida funcione como se espera, también debe administrar los permisos para el origen
de datos o los orígenes en los que se basa la aplicación, como Common Data Service o Excel. Es posible que también
deba compartir otros recursos de los que depende la aplicación, como flujos, puertas de enlace o conexiones.
Requisitos previos
Para poder compartir una aplicación, debe guardarla en la nube, no de forma local, y después publicarla.
Asigne a la aplicación un nombre descriptivo y una descripción clara, para que los usuarios sepan
qué hace la aplicación y puedan encontrarla fácilmente en una lista. En el menú Archivo en
PowerApps Studio, seleccione Configuración de la aplicación, especifique un nombre y después
escriba o pegue una descripción.
Siempre que realice cambios, debe guardar y volver a publicar la aplicación si desea que otros
usuarios puedan verlos.
4. Especifique el nombre o el alias de los usuarios o grupos de seguridad de Azure Active Directory
con los que desea compartir la aplicación.
Para que toda la organización pueda ejecutar la aplicación (pero no modificarla ni compartirla),
escriba todos en el panel de uso compartido.
Puede compartir una aplicación con una lista de alias, nombres descriptivos o una combinación
de ellos (por ejemplo, Jane Doe <jane.doe@contoso.com> ) si los elementos están separados
por punto y coma. Si hay más de una persona con el mismo nombre pero con distintos alias, se
agregará a la lista la primera persona encontrada. Aparece una información sobre herramientas
si un nombre o alias ya tiene permiso o no se puede resolver.
NOTE
No se puede compartir una aplicación con un grupo de distribución de la organización o con un grupo ajeno
a la organización.
5. Si quiere permitir que los usuarios con quienes está compartiendo la aplicación la editen y lo
compartan (además de ejecutarlo), active la casilla copropietario .
No se puede conceder el permiso de copropietario a un grupo de seguridad si se ha creado la
aplicación desde una solución.
NOTE
Independientemente de los permisos, no hay dos personas que puedan editar una aplicación al mismo
tiempo. Si una persona abre la aplicación para su edición, otras personas pueden ejecutarla, pero no
modificarla.
6. Si la aplicación se conecta a los datos para los que los usuarios necesitan permisos de acceso,
especifíquelo.
Por ejemplo, la aplicación podría conectarse a una entidad en una base de datos de Common Data
Service. Cuando comparta una aplicación de este tipo, el panel de uso compartido le pedirá que
administre la seguridad de esa entidad.
Para obtener más información sobre la administración de la seguridad de una entidad, vea
administrar permisos de entidad más adelante en este tema.
7. Si desea ayudar a los usuarios a encontrar la aplicación, active la casilla enviar una invitación por
correo electrónico a los nuevos usuarios .
8. En la parte inferior del panel compartir, seleccione compartir.
Todos los usuarios con quienes haya compartido la aplicación pueden ejecutarla en PowerApps
Mobile en un dispositivo móvil o en AppSource en Dynamics 365 en un explorador. Los
copropietarios pueden editar y compartir la aplicación en PowerApps.
Si ha enviado una invitación por correo electrónico, todos los usuarios con quienes haya
compartido la aplicación pueden ejecutarla seleccionando un vínculo en la invitación.
Si un usuario selecciona el vínculo en un dispositivo móvil, la aplicación se abre en PowerApps
Mobile.
Si un usuario selecciona el vínculo en un equipo de escritorio, la aplicación se abre en un
explorador.
Los copropietarios que reciben una invitación obtienen otro vínculo que abre la aplicación para su
edición en PowerApps Studio.
Para cambiar los permisos de un usuario o un grupo de seguridad, seleccione su nombre y, a continuación,
realice cualquiera de estos pasos:
Para permitir que los copropietarios ejecuten la aplicación pero ya no la editen ni compartirla,
desactive la casilla copropietario.
Para dejar de compartir la aplicación con ese usuario o grupo, seleccione el icono Quitar (x).
Requisito previo
Para asignar un rol, debe tener permisos de Administrador del sistema para una base de datos de
Common Data Service.
Asignación de un grupo de seguridad en Azure AD a un rol
1. En el panel uso compartido, seleccione asignar un rol de seguridad en permisos de datos.
2. Seleccione el rol o los roles de Common Data Service que desea asignar al usuario o al grupo de
seguridad en Azure AD con el que desea compartir la aplicación.
NOTE
Los invitados solo pueden tener asignado el rol de usuario y no el rol de copropietario para las aplicaciones que
se comparten con ellos.
Requisitos previos
En Azure Active Directory (Azure AD ), habilite la colaboración externa B2B para el inquilino. Más
información: Habilitar la colaboración externa B2B y administrar quién puede invitar a invitados
Habilitar la colaboración externa B2B está activada de forma predeterminada. Sin embargo, un
administrador de inquilinos puede cambiar la configuración. Para obtener más información
acerca de Azure AD B2B, consulte ¿Qué es el acceso de usuarios invitados en Azure ad B2B?
Acceso a una cuenta que puede Agregar usuarios invitados a un inquilino de Azure AD. Los
administradores y los usuarios con el rol de invitador invitado pueden agregar invitados a un inquilino.
El usuario invitado debe tener una licencia con Power apps que use derechos que coincidan con la
capacidad de la aplicación asignada a través de uno de los siguientes inquilinos:
El inquilino que hospeda la aplicación que se comparte.
El inquilino principal del usuario Guest.
Pasos para conceder acceso de invitado
1. Seleccione nuevo usuario invitado para agregar usuarios invitados en Azure ad. Más información:
Inicio rápido: agregar un nuevo usuario invitado en Azure ad.
2. Si el usuario invitado todavía no tiene una licencia en su inquilino principal, asigne una licencia al
usuario invitado.
Para asignar usuarios invitados desde admin.microsoft.com, consulte asignación de licencias a un
usuario.
Para asignar usuarios invitados desde portal.azure.com, consulte asignación o eliminación de
licencias.
IMPORTANT
Es posible que tenga que deshabilitar la vista previa del centro de administración de Microsoft 365 para
asignar una licencia a un invitado.
ORÍGENES DE DATOS
INTERFAZ AUTENTICACIÓN ACCESIBLES
Portales de PowerApps Experiencia solo en Permite el acceso anónimo Common Data Service
explorador y autenticado
Al incrustar una aplicación de lienzo en SharePoint a través de la etiqueta HTML de iFrame, haga
referencia a la aplicación con la dirección URL completa de Web. Para buscar la dirección URL, vaya a
https://make.powerapps.com, seleccione una aplicación, seleccione la pestaña detalles y la dirección URL
se muestra en vínculo Web.
¿ Cómo pueden iniciar los invitados la aplicación compartida con ellos, pero no se pueden crear las conexiones?
Al igual que con los no invitados, los orígenes de datos subyacentes a los que tiene acceso la aplicación
también deben ser accesibles para el invitado.
¿ Qué licencia debe asignarse a mi invitado para poder ejecutar una aplicación compartida con ellas?
La misma licencia necesaria para que los usuarios no invitados ejecuten una aplicación. Por ejemplo, si la
aplicación usa los conectables Premium, se debe asignar al invitado un PowerApps por cada plan de
aplicación o uno por cada plan de usuario.
APLICACIÓN DE APLICACIÓN DE
LIENZO LIENZO
FORMULARIO INDEPENDIENTE CON INDEPENDIENTE CON APLICACIÓN
PERSONALIZADO DE CONECTORES NO CONECTORES CONTROLADA POR
SHAREPOINT PREMIUM PREMIUM MODELOS
Usuario de x
SharePoint (sin
licencia de PA)
En PowerApps Mobile, ¿cómo ven los invitados las aplicaciones de su inquilino principal?
Cualquier usuario que tenga acceso a una aplicación de lienzo, en su dispositivo móvil, que se publique en
un inquilino de Azure AD que no sea su inquilino principal debe cerrar la sesión de PowerApps y volver a
iniciar sesión en PowerApps Mobile.
¿ Un invitado debe aceptar la invitación Azure AD invitado antes de compartir una aplicación con el invitado?
No. Si un invitado inicia una aplicación compartida con ellos antes de aceptar una invitación de invitado, se
solicitará al invitado que acepte la invitación como parte de la experiencia de inicio de sesión mientras se
inicia la aplicación.
¿ Qué Azure AD inquilino son las conexiones para un usuario invitado creado en?
Las conexiones para una aplicación siempre se realizan en el contexto del inquilino de Azure AD la
aplicación está asociada. Por ejemplo, si se crea una aplicación en el inquilino de Contoso, las conexiones
realizadas para los usuarios internos e invitados de Contoso se realizan en el contexto del inquilino de
contoso.
¿ Pueden los invitados usar Microsoft Graph mediante Microsoft Security Graph Connector o un conector personalizado
mediante Microsoft Graph API?
No, Azure AD invitados no pueden consultar Microsoft Graph para recuperar información de un inquilino
en el que son invitados.
¿ Qué directivas de Intune se aplican a los invitados que usan mi PowerApps?
Intune solo aplica las directivas del inquilino principal de un usuario. Por ejemplo, si Alice@Contoso.com
comparte una aplicación con Vikram@Fabrikam.com, Intune seguirá aplicando las directivas de
Fabrikam.com en el dispositivo de Virkam independientemente del PowerApps que ejecute.
¿ Qué conectores admiten el acceso de invitado?
Todos los conectores que no realizan Azure AD autenticación de cualquier tipo admiten el acceso de
invitado. En la tabla siguiente se enumeran todos los conectores que realizan la autenticación Azure AD y
los conectores que admiten actualmente el acceso de invitado. Muchos de ellos se actualizarán a la
disponibilidad general.
Adobe Sign No
Asana No
Administrador de AtBot No
Lógica de AtBot No
Azure AD Sí
Azure Automation Sí
DevOps de Azure No
Kusto de Azure Sí
Basecamp 2 No
Bitbucket No
Bitly No
bttn No
Buffer No
Centro de negocios No
CandidateZip No
Cápsula CRM No
Cognito Forms No
Optimizador D & B No
Disqus No
Combinación de documentos No
Dynamics 365 No
Enadoc No
Eventbrite No
Recordatorio de expiración No
FreshBooks No
GoToMeeting No
GoToTraining No
GoToWebinar No
Harvest No
Infusionsoft No
Inoreader No
Intercom No
JotForm No
kintone No
LinkedIn No
Mediana No
Metatarea No
Microsoft Forms No
Microsoft Kaizala No
Microsoft StaffHub No
Microsoft Teams Sí
Muhimbi PDF No
NetDocuments No
OneDrive No
OneNote (empresas) No
Tareas de Outlook Sí
Outlook.com No
Paylocity No
Planner No
Formularios de Plumsail No
Power BI Sí
Project Online No
SharePoint Sí
SignNow No
Soft1 No
Stormboard No
Survey123 No
CONECTORES ADMITE EL ACCESO DE INVITADO
SurveyMonkey No
Toodledo No
Typeform No
Vimeo No
Equipos de WebEx No
Puede compartir datos de Excel con los usuarios de la aplicación en una cuenta en la nube, como OneDrive.
Por ejemplo, podría crear una aplicación que mostrara los nombres y números de teléfono del grupo de soporte
técnico de su empresa. La información se almacena en una hoja de cálculo de Excel, que coloca en una carpeta de
Dropbox. A continuación, comparta la carpeta con los usuarios de aplicación para que puedan ver los nombres y
números de teléfono.
Debe compartir los datos para que los usuarios puedan ejecutar e incluso modificar la aplicación. Los usuarios
que no tengan permisos de uso compartido no verán los datos en el archivo de Excel.
En este tema se muestra cómo compartir datos en una hoja de cálculo de Excel con Dropbox, OneDrive y Google
Drive. Para crear una aplicación que muestre los datos desde un archivo de Excel, consulte Crear una aplicación
desde un conjunto de datos.
3. En el cuadro de diálogo, escriba las direcciones de correo electrónico con las que los usuarios de la
aplicación inician sesión en Dropbox.
4. Si los usuarios de la aplicación van a agregar, modificar o eliminar datos en la aplicación, seleccione
Puede editar. En caso contrario, seleccione Puede ver.
5. Seleccione Compartir.
Para obtener más información, consulte Uso compartido de carpetas en Dropbox.
4. Especifique las direcciones de correo electrónico con las que los usuarios de la aplicación inician sesión en
OneDrive y, a continuación, seleccione Compartir.
4. Si los usuarios de la aplicación van a agregar, modificar o eliminar datos en la aplicación y, a continuación,
seleccione Puede editar en la lista de permisos. En caso contrario, seleccione Puede ver.
5. Seleccione Listo.
Para obtener más información, consulte Compartir archivos y carpetas de Google Drive.
Limitaciones conocidas
Para más información sobre cómo compartir datos de Excel en su organización, repase estas limitaciones.
Compartir recursos de aplicaciones de lienzo en
PowerApps
05/11/2019 • 5 minutes to read
Antes de compartir una aplicación de lienzo, tenga en cuenta los tipos de recursos en los que se basa, por
ejemplo, uno o varios de los siguientes:
entidades en Common Data Service
Para obtener información sobre cómo dar acceso a los usuarios a estos datos, vea Administrar permisos
de entidad.
una conexión a un origen de datos
una puerta de enlace de datos local
un conector personalizado
un libro de Excel u otro servicio
un flujo
Algunos de estos recursos se comparten automáticamente cuando se comparte la aplicación. Otros recursos
requieren que usted o las personas con quienes se comparte la aplicación realicen pasos adicionales para que la
aplicación funcione según lo esperado.
También puede compartir las conexiones, los conectores personalizados y la puerta de enlace de datos local con
toda la organización.
Conexiones
Algunos tipos de conexiones, como SQL Server, se comparten automáticamente, pero otras requieren que los
usuarios creen sus propias conexiones a los orígenes de datos de la aplicación.
En powerapps.com, puede determinar si una conexión se compartirá automáticamente y puede actualizar los
permisos de uso compartido. En la barra de navegación izquierda, haga clic o pulse Manage (Administrar), haga
clic o pulse Connections (Conexiones) y luego haga clic o pulse una conexión. Si aparece la pestaña Share
(Recurso compartido), la conexión se compartirá automáticamente.
NOTE
Si comparte una o varias conexiones manualmente, puede que tenga que volver a compartirlas en estas circunstancias:
Si agrega una puerta de enlace de datos local a una aplicación que ya ha compartido.
Si cambia el conjunto de personas o grupos con quienes ha compartido una aplicación que tiene una puerta
de enlace de datos local.
Conectores personalizados
Cuando se comparte una aplicación que utiliza un conector personalizado, se comparte automáticamente, pero
los usuarios deben crear sus propias conexiones a ella.
En powerapps.com, puede ver o actualizar los permisos de un conector personalizado. En la barra de navegación
izquierda, pulse o haga clic en Manage (Administrar), pulse o haga clic en Connections (Conexiones) y luego
pulse o haga clic en New connection (Nueva conexión) (en la esquina superior derecha). Pulse o haga clic en
Personalizado y luego en un conector personalizado para mostrar información detallada sobre él.
Libros de Excel
Si una aplicación compartida usa datos a los que no todos los usuarios tienen acceso (por ejemplo, un libro de
Excel en una cuenta de almacenamiento en la nube), comparta los datos.
Flujos
Si comparte una aplicación que incluye un flujo, a los usuarios que ejecuten la aplicación se les pedirá que
confirmen o actualicen las conexiones en las que se basa el flujo. Además, solo la persona que ha creado el flujo
puede personalizar sus parámetros. Por ejemplo, puede crear un flujo en el que se envíe correo a una dirección
especificada pero otros usuarios no puedan cambiar esa dirección.
Insertar una nueva aplicación de lienzo en un
informe de Power BI
24/04/2019 • 6 minutes to read
Power BI permite ampliar sus características mediante la adición de objetos visuales personalizados a un informe.
En este tutorial, se usa el objeto visual personalizado de PowerApps para crear una aplicación que se inserta en un
informe de ejemplo. Esta aplicación interactúa con otros elementos de ese informe.
Si no tiene una suscripción a PowerApps, cree una cuenta gratuita antes de comenzar.
En este tutorial, obtendrá información sobre cómo:
Importar el objeto visual personalizado de PowerApps en un informe de Power BI
Crear una aplicación que usa los datos del informe
Ver la aplicación en el informe
Requisitos previos
El explorador Google Chrome o Microsoft Edge
Una suscripción a Power BI, con el Ejemplo de análisis de oportunidades instalado
Conocimientos sobre cómo crear aplicaciones en PowerApps y cómo editar informes de Power BI
4. En la pantalla Objetos visuales de Power BI, busque "PowerApps" y, después, pulse o haga clic en
Agregar. Power BI agrega el icono de objeto visual personalizado a la parte inferior del panel
Visualizaciones.
5. Guarde el informe.
2. Pulse o haga clic en el icono del objeto visual personalizado de PowerApps y, después, cambie el tamaño
del icono para ajustarlo al espacio creado.
3. En el panel Campos, seleccione Nombre, Código de producto y Fase de ventas.
4. En el icono de objeto visual personalizado, seleccione el entorno de PowerApps donde quiera crear la
aplicación y, después, pulse o haga clic en Crear nuevo.
En PowerApps Studio, verá que se ha creado una aplicación básica, con una galería en la que se muestra
uno de los campos seleccionados en Power BI.
5. Cambie el tamaño de la galería para que solo ocupe la mitad de la pantalla.
6. En el panel de la izquierda, pulse o haga clic en Screen1 y, después, establezca la propiedad Fill (Relleno)
de la pantalla en "LightBlue" (para que se presente mejor en el informe).
7. Agregue un control de etiqueta debajo de la galería, con la propiedad Text establecida en
"Opportunity Count: " & CountRows(Gallery1.AllItems) . Ahora se muestra el número total de oportunidades
en el conjunto de datos.
Pasos siguientes
En este tutorial, ha obtenido información sobre cómo:
Importar el objeto visual personalizado de PowerApps en un informe de Power BI
Crear una aplicación que usa los datos del informe
Ver la aplicación en el informe
Avance hasta el artículo siguiente para obtener más información.
Objeto visual personalizado de PowerApps para Power BI
Inserción de una aplicación en Teams
05/11/2019 • 3 minutes to read
Puede compartir un PowerApps que haya creado al incrustarlo directamente en Microsoft Teams. Cuando haya
finalizado, los usuarios pueden seleccionar + para agregar su aplicación a cualquiera de sus canales o
conversaciones del equipo en el que se encuentre. La aplicación aparece como un icono en pestañas para el
equipo.
Un administrador puede cargar la aplicación para que se muestre a todos los equipos del inquilino en la sección
todas las pestañas. Consulte compartir una aplicación en Microsoft Teams.
NOTE
Las directivas de aplicación personalizadas del equipo deben estar configuradas para permitir la carga de aplicaciones
personalizadas. Si no puede insertar la aplicación en Teams, consulte con el administrador para ver si ha configurado la
configuración de la aplicación personalizada.
Requisitos previos
Necesita una licencia válida de PowerApps.
Para insertar una aplicación en Teams, necesita una aplicación existente creada con PowerApps.
Descarga de la aplicación
1. Inicie sesión en make.powerapps.comy, a continuación, seleccione aplicaciones en el menú.
2. Seleccione más acciones (...) para la aplicación que desea compartir en Teams y, después, seleccione
Agregar a equipos.
3. En el panel agregar a equipos, seleccione Descargar. Después, PowerApps generará el archivo de
manifiesto de los equipos con la descripción y el logotipo de la aplicación que ya ha establecido en la
aplicación.
2. Seleccione Agregar para agregar la aplicación como una aplicación personal o seleccione Agregar al
equipo para agregar la aplicación como una pestaña dentro de un canal o una conversación existente.
Edite cualquier aplicación que haya compilado, de la que sea propietario o en la que tenga permisos Puede
editar. Puede modificar una aplicación en PowerApps Studio. Si intenta editar una aplicación que está abierta para
su edición en otra parte, un mensaje le indicará si es usted quien ya la tiene abierta o si es otro usuario.
2. En el selector de categorías de aplicación, pulse o haga clic en Aplicaciones que puedo editar.
Puede editar cualquier aplicación de la lista que aparece. También puede buscar una aplicación escribiendo
uno o más caracteres en el cuadro de búsqueda cerca de la esquina superior derecha.
NOTE
Si aún así no ve la aplicación que desea editar, compruebe que ha seleccionado el entorno correcto cerca de la
esquina superior derecha.
3. Haga clic o pulse en los puntos suspensivos (...) de la aplicación que quiera modificar y, después, pulse o
haga clic en Editar.
Pasos siguientes
Más información sobre cómo agregar una pantalla, un control o una conexión de datos.
Eliminación de una aplicación de lienzo de
PowerApps
27/11/2019 • 2 minutes to read
En este artículo se muestra cómo eliminar una aplicación de lienzo de su cuenta de PowerApps y de las cuentas de
cualquiera con quien se haya compartido la aplicación.
2. opta Cerca de la esquina superior derecha, filtre la lista de aplicaciones para mostrar solo las aplicaciones
de las que es propietario o solo las que contribuye.
NOTE
Si la aplicación que desea eliminar no aparece, asegúrese de que está en el entorno adecuado.
IMPORTANT
Esta acción eliminará permanentemente la aplicación no solo de su cuenta, sino también de las cuentas de todos los
usuarios con las que se haya compartido.
Más recursos
Share an app (Compartir una aplicación)
Cambiar el nombre e icono de la aplicación
Restore an app to a previous version (Restaurar una aplicación a una versión anterior)
Restauración de una aplicación de lienzo a una
versión anterior en PowerApps
05/11/2019 • 2 minutes to read
En este artículo se muestra cómo restaurar una aplicación de lienzo a una versión anterior que se guardó en la
nube desde la cuenta de PowerApps.
2. (opcional) Cerca de la esquina superior izquierda, filtre la lista de aplicaciones para mostrar solo las
aplicaciones de las que sea propietario o aquellas aplicaciones a las que contribuya.
NOTE
Si la aplicación que desea restaurar no aparece, asegúrese de que se encuentra en el entorno correcto.
3. Cerca del borde derecho, haga clic o pulse el icono de información de la aplicación que desea restaurar.
4. Haga clic o pulse la pestaña Versiones y, a continuación, haga clic o pulse Restaurar para la versión que
desee restaurar.
Más recursos
Share an app (Compartir una aplicación)
Cambiar el nombre y el icono de la aplicación
Delete an app (Eliminar una aplicación)
Cambio del nombre y el icono de la aplicación de
una aplicación de lienzo en PowerApps | Microsoft
Docs
07/10/2019 • 2 minutes to read
Requisitos previos
1. Cree una aplicación o abra una para editarla.
2. En el menú File (Archivo), pulse o haga clic en App settings (Configuración de aplicaciones).
Pulse o haga clic en Browse file (Examinar archivo), pulse o haga clic en la imagen que desea usar y luego
pulse o haga clic en Open (Abrir).
NOTE
Para obtener los mejores resultados posibles, use un icono de forma cuadrada.
Paso siguiente
En el menú File (Archivo), pulse o haga clic en Save (Guardar) para volver a publicar la aplicación con la nueva
configuración.
Más recursos
Share an app (Compartir una aplicación)
Delete an app (Eliminar una aplicación)
Restore an app to a previous version (Restaurar una aplicación a una versión anterior)
Cambio del tamaño y la orientación de la pantalla de
una aplicación de lienzo en PowerApps
08/10/2019 • 5 minutes to read
Requisitos previos
Cree una aplicación o abra una para editarla y, a continuación, seleccione Configuración de la aplicación en el
menú archivo .
Paso siguiente
En el menú Archivo, seleccione Guardar para volver a publicar la aplicación con la nueva configuración.
Crear diseños con capacidad de respuesta en
aplicaciones de lienzo
24/09/2019 • 26 minutes to read
Antes de compilar una aplicación de lienzo en PowerApps, especifique si desea adaptar la aplicación para un
teléfono o una tableta. Esta opción determina el tamaño y la forma del lienzo en el que compilará la aplicación.
Una vez realizada esta opción, puede elegir entre varias opciones si selecciona archivo > aplicación
configuración > tamaño y orientación. Puede elegir la orientación vertical u horizontal y el tamaño de la
pantalla (solo tableta). También puede bloquear o desbloquear la relación de aspecto y la rotación de dispositivos
de soporte (o no).
Estas opciones se superponen entre sí cuando se diseñan diseños de pantalla. Si la aplicación se ejecuta en un
dispositivo de un tamaño diferente o en la web, todo el diseño se escala para ajustarse a la pantalla donde se
ejecuta la aplicación. Si una aplicación diseñada para un teléfono se ejecuta en una ventana grande del explorador,
por ejemplo, la aplicación se escala para compensar y buscar el tamaño de su espacio. La aplicación no puede
aprovechar los píxeles adicionales mostrando más controles o más contenido.
Si crea un diseño con capacidad de respuesta, los controles pueden responder a diferentes dispositivos o tamaños
de ventana, por lo que hay varias experiencias más naturales. Para lograr un diseño dinámico, ajuste algunos
valores y escriba expresiones en toda la aplicación.
Para que la aplicación responda, debe realizar pasos adicionales, pero este cambio es el primer paso para hacer
posible la capacidad de respuesta.
Descripción de las dimensiones de la aplicación y la pantalla
Para que los diseños de la aplicación respondan a los cambios en las dimensiones de la pantalla, escribirá fórmulas
que usen las propiedades ancho y alto de la pantalla. Para mostrar estas propiedades, abra una aplicación en
PowerApps Studio y, a continuación, seleccione una pantalla. Las fórmulas predeterminadas para estas
propiedades aparecen en la pestaña avanzadas del panel derecho.
Ancho = Max(App.Width; App.DesignWidth)
Estas fórmulas hacen referencia a las propiedades width, height, DesignWidthy DesignHeight de la aplicación.
Las propiedades de ancho y alto de la aplicación se corresponden con las dimensiones de la ventana del
dispositivo o del explorador en el que se ejecuta la aplicación. Si el usuario cambia el tamaño de la ventana del
explorador (o gira el dispositivo si ha desactivado la orientación del bloqueo), los valores de estas propiedades
cambian dinámicamente. Las fórmulas de las propiedades width y height de la pantalla se vuelven a evaluar
cuando cambian estos valores.
Las propiedades DesignWidth y DesignHeight provienen de las dimensiones que se especifican en el panel
tamaño de pantalla + orientación de la configuración de la aplicación. Por ejemplo, si selecciona la
distribución del teléfono en orientación vertical, DesignWidth es 640 y DesignHeight es 1136.
Como se usan en las fórmulas de las propiedades de ancho y alto de la pantalla, puede pensar en DesignWidth
y DesignHeight como las dimensiones mínimas para las que diseñará la aplicación. Si el área real disponible para
la aplicación es incluso menor que estas dimensiones mínimas, las fórmulas de las propiedades de ancho y alto
de la pantalla garantizan que sus valores no se volverán más pequeños que los mínimos. En ese caso, el usuario
debe desplazarse para ver todo el contenido de la pantalla.
Después de establecer los valores de DesignWidth y DesignHeightde la aplicación, no tendrá que cambiar las
fórmulas predeterminadas para las propiedades de ancho y alto de la pantalla. Más adelante, en este tema se
describen los casos en los que es posible que desee personalizar estas fórmulas.
IMPORTANT
Después de escribir las fórmulas para las propiedades X, y, ancho y alto de un control, las fórmulas se sobrescribirán con
valores constantes si arrastra posteriormente el control en el editor de lienzos. Cuando empiece a usar fórmulas para lograr
el diseño dinámico, debe evitar arrastrar los controles.
En el caso más simple, un control llena una pantalla completa. Para crear este efecto, establezca las propiedades
del control en estos valores:
PROPIEDAD VALUE
X1 0
SÍ 0
Ancho Parent.Width
PROPIEDAD VALUE
Alto Parent.Height
Estas fórmulas utilizan el operador Parent . Para un control colocado directamente en una pantalla, el elemento
primario se refiere a la pantalla. Con estos valores de propiedad, el control aparece en la esquina superior
izquierda de la pantalla (0,0) y tiene el mismo ancho y alto que la pantalla.
Más adelante en este tema, aplicará estos principios (y el operador principal ) para colocar controles dentro de
otros contenedores, como galerías, controles de grupo y componentes.
Como alternativa, el control solo puede rellenar la mitad superior de la pantalla. Para crear este efecto, establezca
la propiedad height en Parent. Height /2 y deje las demás fórmulas sin modificar.
Si desea que un segundo control rellene la mitad inferior de la misma pantalla, puede tomar al menos otros dos
enfoques para crear sus fórmulas. Para simplificar, puede adoptar este enfoque:
Esquina superior X1 0
Esquina superior SÍ 0
Inferiores X1 0
Inferiores SÍ Parent.Height / 2
Esquina superior X1 0
Esquina superior SÍ 0
Inferiores X1 0
RELACIÓN ENTRE C Y SU
ELEMENTO PRIMARIO PROPIEDAD FÓRMULA ILUSTRACIÓN
Ancho Parent.Width - (N * 2)
Alto Parent.Height - (N * 2)
Ancho D.Width
Alto D.Height
Diseño jerárquico
A medida que se crean pantallas que contienen más controles, se volverá más cómodo (o incluso necesario) para
colocar los controles en relación con un control primario, en lugar de con respecto a la pantalla o un control
relacionado. Al organizar los controles en una estructura jerárquica, puede hacer que las fórmulas sean más fáciles
de escribir y mantener.
Galerías
Si usa una galería en la aplicación, deberá diseñar los controles dentro de la plantilla de la galería. Puede colocar
estos controles escribiendo fórmulas que usan el operador Parent , que hará referencia a la plantilla de la galería.
En las fórmulas de los controles de una plantilla de la galería, use las propiedades Parent. TemplateHeight y
Parent. TemplateWidth ; No use Parent. width y Parent. Height, que hacen referencia al tamaño total de la
galería.
Control contenedor
Puede usar una característica experimental, el control contenedor , como control primario. Para activar esta
característica, seleccione Configuración deaplicación > de archivo > Configuración avanzada.
Considere el ejemplo de un encabezado en la parte superior de una pantalla. Es habitual tener un encabezado con
un título y varios iconos con los que los usuarios puedan interactuar. Puede crear este encabezado mediante el
control contenedor , que contiene un control etiqueta y dos controles Icon :
X1 0 0 Parent.Width - Menu.X +
Close.Width Menu.Width
SÍ 0 0 0 0
Con un alto de pantalla de 1136 y un alto de dispositivo (en esta orientación) de 640, el usuario debe desplazar la
pantalla verticalmente para mostrar todo su contenido, lo que podría no ser la experiencia que desea.
Para adaptar las propiedades de ancho y alto de la pantalla a la orientación del dispositivo, puede usar estas
fórmulas:
Ancho = Max(App.Width; If(App.Width < App.Height; App.DesignWidth; App.DesignHeight))
Esquina superior X1 0
Esquina superior SÍ 0
Inferiores X If(Parent.Orientation =
Layout.Vertical; 0; Upper.X +
Upper.Width)
Inferiores Y If(Parent.Orientation =
Layout.Vertical; Upper.Y +
Upper.Height; 0)
Use estos tamaños para tomar decisiones sobre el diseño de la aplicación. Por ejemplo, si desea que un control
esté oculto en un dispositivo de tamaño de teléfono pero visible en caso contrario, puede establecer la propiedad
visible del control en esta fórmula:
Parent.Size >= ScreenSize.Medium
Esta fórmula se evalúa como true cuando el tamaño es medio o mayor y false en caso contrario.
Si desea que un control ocupe una fracción diferente del ancho de la pantalla en función del tamaño de la pantalla,
establezca la propiedad ancho del control en esta fórmula:
Parent.Width *
Switch(Parent.Size;
ScreenSize.Small; 0,5;
ScreenSize.Medium; 0,3;
0,25)
Esta fórmula establece el ancho del control en la mitad del ancho de la pantalla en una pantalla pequeña, tres
décimas de ancho de pantalla en una pantalla mediana y un cuarto del ancho de la pantalla en todas las demás
pantallas.
Puede personalizar los puntos de interrupción de la aplicación cambiando los valores de la propiedad
SizeBreakpoints de la aplicación. Seleccione aplicación en la vista de árbol, seleccione SizeBreakpoints en la
lista de propiedades y, a continuación, edite los valores en la barra de fórmulas. Puede crear tantos puntos de
interrupción como necesite la aplicación, pero solo los tamaños del 1 al 4 se corresponden con los tamaños de
pantalla con nombre. En las fórmulas, puede hacer referencia a tamaños más allá de extragrande por sus valores
numéricos (5, 6, etc.).
También puede especificar menos puntos de interrupción. Por ejemplo, la aplicación podría necesitar solo tres
tamaños (dos puntos de interrupción), por lo que los tamaños de pantalla posibles serán pequeño, mediano y
grande.
Limitaciones conocidas
El lienzo de creación no responde a las fórmulas de ajuste de tamaño creadas. Para probar el comportamiento de
respuesta, guarde y publique la aplicación y, a continuación, ábrala en dispositivos o en ventanas del explorador de
distintos tamaños y orientaciones.
Si escribe expresiones o fórmulas en las propiedades X, y, anchoy alto de un control, sobrescribirá esas
expresiones o fórmulas si posteriormente arrastra el control a una ubicación diferente o cambia el tamaño del
control arrastrando su borde.
Personalizar un formulario de lista de SharePoint
mediante PowerApps
26/10/2019 • 13 minutes to read
Puede personalizar fácilmente el formulario de una lista de SharePoint si abre PowerApps en un explorador. No es
necesario escribir código tradicional, como C#, ni descargar otra aplicación, como InfoPath. Al publicar los
cambios, el formulario se inserta en la lista de SharePoint para su uso por parte de todos sus usuarios. En
PowerApps también es posible revisar informes de análisis, crear formato condicional con facilidad y conectarse a
otros orígenes de datos.
Para seguir los pasos de este tema, tiene que crear una lista simple para que pueda ver cómo funciona la
personalización y luego pueda aplicar los mismos conceptos a su propia lista.
NOTE
Si la opción Personalizar formularios no está disponible o no funciona correctamente, podría contener tipos de datos
que PowerApps no admite. Además, no se puede mover el formulario a otra lista o entorno.
Los formularios personalizados para listas solo se admiten en listas genéricas. Próximamente estará disponible la
compatibilidad con las bibliotecas de documentos genéricos. La lista personalizada y las plantillas de biblioteca no se
admiten actualmente; incluye, entre otras, listas, como anuncios, contactos y tareas.
Abrir el formulario
1. En la barra de comandos, seleccione PowerAppsy, a continuación, seleccione personalizar formulario.
PowerApps Studio se abre en la misma pestaña del explorador.
2. Si aparece el cuadro de diálogo de bienvenida a PowerApps Studio, seleccione Omitir.
NOTE
Si no ve el botón Ver todas las versiones, seleccione Guardar. Debería aparecer el botón.
3. Sin cerrar la página Versiones ni la pestaña del explorador, vuelva a la página Guardar de la otra pestaña
del explorador, pulse o haga clic en la flecha de la parte superior del panel de navegación izquierdo y,
después, pulse o haga clic en Volver a SharePoint para desbloquear el formulario y cerrar PowerApps
Studio.
4. Vuelva a la página Versiones de la otra pestaña del explorador, busque la versión que quiere restaurar y
luego seleccione Restaurar.
NOTE
Si recibe un mensaje de error que indica que se ha producido un error en la restauración porque el formulario está
bloqueado por otro usuario, espere a que el usuario desbloquee el formulario e inténtelo de nuevo.
Ahora puede personalizar cualquier formulario de lista de SharePoint de manera fácil en PowerApps. En este
artículo, le guiaremos por los detalles de cómo funcionan estos formularios y cómo puede personalizarlos aún
más.
Si ha personalizado un formulario de una lista de SharePoint, es probable que haya observado que el formulario
generado predeterminado funciona con todas las operaciones, como crear, mostrar o editar un elemento. Esta
funcionamiento se logra con la ayuda de las fórmulas generadas y del control SharePointIntegration.
NOTE
Solo puede acceder a las propiedades del control SharePointIntegration cuando el formulario se ejecuta en SharePoint, es
decir, no al personalizarlo en PowerApps Studio. Es posible que estas propiedades no estén disponibles en OnStart u
OnVisible.
TIP
Establezca diferentes valores para una variable en las fórmulas OnNew, OnView y OnEdit. Puede usar esta variable
en la fórmula OnSave para determinar el formulario que usa.
¿Tiene SharePoint Online y desea mejorar la automatización y simplificación de los procesos empresariales? ¿Ha
trabajado con PowerApps, Power Automate o Power BI, pero no está seguro de cómo usarlos con SharePoint
Online? Ha venido al lugar correcto. En esta serie de tutoriales se explica cómo crear una aplicación de lienzo
básica para la administración de proyectos basada en listas de SharePoint y tres tecnologías clave que se
integran con SharePoint Online: PowerApps, Power Automatic y Power BI. Estas tecnologías funcionan de forma
conjunta, lo que facilita el análisis de su negocio, la actuación sobre los resultados y la automatización de los
flujos de trabajo. Cuando haya terminado con esta serie de tutoriales, tendrá un escenario estupendo similar al
siguiente:
Escenario empresarial
En esta serie de tutoriales, la empresa Contoso tiene un sitio de SharePoint Online donde administran el ciclo de
vida de los proyectos, desde su solicitud, aprobación y desarrollo hasta la revisión final. Un solicitante de
proyecto como, por ejemplo, un director de departamento, solicita un proyecto de TI mediante la adición de un
elemento a una lista de SharePoint. Un aprobador de proyecto como, por ejemplo, un administrador de TI,
revisa el proyecto y, a continuación, lo aprueba o lo rechaza. Si se aprueba, el proyecto se asigna a un jefe de
proyecto y se agrega información adicional a una segunda lista en la misma aplicación. Un analista de negocios
revisa los proyectos actuales y los ya finalizados mediante un informe de Power BI insertado en SharePoint.
Power Automatic se usa para enviar correo electrónico de aprobación y responder a Power BI alertas.
Introducción rápida
El escenario que se presenta en esta serie de tutoriales es sencillo en comparación con una aplicación de análisis
y gestión de proyectos con todas las prestaciones, pero aún así se tarda algún tiempo en completar todas las
tareas. Si solo desea obtener una introducción rápida al uso de PowerApps, Power Automate y Power BI con
SharePoint, consulte los artículos siguientes:
PowerApps: Creación de una aplicación desde SharePoint mediante PowerApps y Generación de una
aplicación para administrar datos en una lista de SharePoint
Power Automatic: espera de aprobación en Power Automatic
Power BI: Insertar el elemento web de informes en SharePoint Online
Una vez que haya terminado, confiamos en que volverá para comprobar el escenario completo.
Incluso dentro del mismo escenario, puede centrarse en las tareas que más le interesen e ir completando el resto
a medida que disponga de más tiempo. Después de configurar las listas de SharePoint en la tarea 1, puede
trabajar en las tareas 2 a 5 en cualquier orden. Por último, las tareas 6 a 8 son secuenciales. Finalmente, hemos
incluido dos aplicaciones terminadas y un informe de Power BI Desktop como parte del paquete de descarga de
este escenario. Puede examinar estos y obtener información incluso aunque no realice todos los pasos de cada
tarea.
Requisitos previos
Para completar el escenario, necesita las siguientes suscripciones y herramientas de escritorio. La suscripción a
Office 365 Business Premium incluye PowerApps y Power Automatic.
Lo ideal es tener un conocimiento básico de cada tecnología, pero incluso si no es así, podrá completar el
escenario descrito. Use el siguiente contenido para ponerse al día:
Introducción a SharePoint
Aprendizaje guiado de PowerApps
Alimentación automatizada de aprendizaje guiado
Aprendizaje guiado de Power BI
Pasos siguientes
El siguiente paso en esta serie de tutoriales es configurar las listas de SharePoint Online que se usan en toda la
serie.
Configuración de listas para la integración de
SharePoint Online con PowerApps, Power Automate
y Power BI
09/11/2019 • 11 minutes to read
NOTE
Este artículo forma parte de una serie de tutoriales sobre el uso de PowerApps, la automatización y el Power BI con
SharePoint Online. Asegúrese de leer la introducción a la serie para hacerse una idea general, así como para obtener
descargas relacionadas.
SharePoint tiene una gran cantidad de características para la colaboración y el uso compartido, pero nos
centraremos en una característica de este escenario: las listas de SharePoint. Una lista no es más que una colección
de datos que se pueden compartir con los miembros del equipo y otros usuarios del sitio. Analizaremos las listas
que se usan en este escenario y, después, podrá crearlas en su propio sitio de SharePoint Online.
RequestDate Date
La segunda lista es Project Details, que realiza un seguimiento de los detalles de todos los proyectos aprobados,
como el jefe de proyecto asignado.
ApprovedDate Date
NOTE
Use Internet Explorer para este paso.
3. Abra el libro project-requests.xlsx y seleccione todos los datos (no los encabezados).
4. Copie los datos y péguelos en la cuadrícula de SharePoint y haga clic en o pulse en Done (Listo).
5. Repita el proceso de creación y copia de la lista "Project Details", para lo que usará el libro project-
details.xlsx. Consulte la tabla Project Details en Paso 1: Información de las listas, ya que contiene los tipos de
datos y los nombres de las columnas.
5. En el panel Datos, haga clic o pulse el botón de puntos suspensivos ( ... ) que se encuentra al lado de
Detalles del proyecto y haga clic o pulse en Quitar.
10. Haga clic o pulse el botón de puntos suspensivos ( ... ) que se encuentra al lado de Detalles del proyecto y
haga clic o pulse en Actualizar.
11. Haga clic en en la esquina superior derecha para ejecutar la aplicación y asegúrese de que la conexión
funciona correctamente.
12. Haga clic o pulse Archivo y guarde la aplicación en la nube.
13. Repita los pasos de esta sección en app.msapp de las solicitudes de proyecto, mediante el uso de la lista
Project Requests.
Actualizar las conexiones del informe de ejemplo
1. Abra project-analysis.pbix en Power BI Desktop.
2. En la cinta de opciones, en la pestaña Inicio, pulse o haga clic en Editar consultas y, luego, en
Configuración de origen de datos.
4. Escriba la dirección URL del sitio de SharePoint Online, haga clic o pulse Aceptar y, finalmente, Cerrar.
5. Power BI Desktop muestra un banner debajo de la cinta de opciones, con el fin de que pueda aplicar los
cambios y trasladar los datos del nuevo origen. Haga clic o pulse en Aplicar cambios.
6. Inicie sesión con una cuenta de Microsoft (la cuenta que utiliza para acceder a SharePoint Online) y haga
clic o pulse en Conectar.
Pasos siguientes
El siguiente paso de esta serie de tutoriales es generar una aplicación para controlar las solicitudes de proyecto.
Generación de una aplicación de lienzo para
controlar solicitudes de proyecto
12/11/2019 • 11 minutes to read
NOTE
Este artículo forma parte de una serie de tutoriales sobre el uso de PowerApps, la automatización y el Power BI con
SharePoint Online. Asegúrese de leer la introducción a la serie para hacerse una idea general, así como para obtener
descargas relacionadas.
Ahora que las listas de SharePoint están en su sitio, podemos generar y personalizar la primera aplicación.
PowerApps está integrado con SharePoint, por lo que es fácil generar una aplicación de tres pantallas básica
directamente desde una lista. Esta aplicación permite ver información tanto resumida como detallada de cada
elemento de la lista, actualizar los elementos existentes en la lista y crear nuevos elementos en la lista. Si crea una
aplicación directamente a partir de una lista, esta aparece como un vista en dicha lista. Posteriormente, dicha
aplicación se puede ejecutar tanto en un explorador como en un teléfono móvil.
TIP
El paquete de descarga para este escenario incluye una versión terminada de esta aplicación: project-requests-app.msapp.
2. Asigne un nombre a la aplicación, como "Project Requests app", y haga clic o pulse en Crear. Cuando la
aplicación está lista, se abre en PowerApps Studio.
3. Pulse o haga clic en la pantalla que desee para verla en el panel central. Hay tres pantallas:
(a). La pantalla de exploración, donde se exploran, ordenan y filtran los datos extraídos de la lista.
(b). La pantalla de detalles, en la que aparece información más detallada de un elemento.
(c). La pantalla de edición o creación, donde se editan los elementos existentes o se crean nuevos.
Paso 3: Personalización de la pantalla de exploración de la aplicación
1. Haga clic o pulse en la pantalla de exploración.
Esta pantalla tiene una diseño que contiene un galería que muestra los elementos de lista, así como otros
controles, como una barra de búsqueda y un botón de ordenación.
2. Seleccione la galería BrowseGallery1 haciendo clic o pulsando en cualquier registro, excepto en el
primero.
Le permite ordenar y buscar por el campo Title, en lugar del predeterminado que eligió PowerApps. Para
más información, consulte Formula deep-dive (Análisis en profundidad de una fórmula).
7. Pulse o haga clic en Archivo y, luego, en Guardar. Haga clic o pulse en (Volver a la aplicación) para
volver a la aplicación.
2. Haga clic en Abrir, lo que abre la aplicación en una nueva pestaña de explorador.
Se trata de una aplicación muy simple y solo hemos realizado unas pocas personalizaciones básicas, pero se puede
ver que es posible crear rápidamente algo interesante. Vamos a pasar a la tarea siguiente, pero si lo desea, examine
la aplicación con mayor profundidad para ver cómo funcionan conjuntamente los controles y las fórmulas para
potenciar el comportamiento de la aplicación.
Pasos siguientes
El siguiente paso de esta serie de tutoriales es crear un flujo para administrar aprobaciones de proyectos.
Creación de un flujo para administrar aprobaciones
de proyectos
09/11/2019 • 10 minutes to read
NOTE
Este artículo forma parte de una serie de tutoriales sobre el uso de PowerApps, la automatización y el Power BI con
SharePoint Online. Asegúrese de leer la introducción a la serie para hacerse una idea general, así como para obtener
descargas relacionadas.
En esta tarea, vamos a crear un flujo que acciona el proceso de aprobación de proyectos. Power Automatic se
integra con SharePoint, por lo que es fácil crear un flujo directamente desde una lista. El flujo que vamos a crear se
desencadena cuando se agrega un elemento a la lista Project Requests. El flujo envía un correo electrónico al
aprobador del proyecto, quien aprueba o rechaza la solicitud directamente en el correo electrónico. Después, el
flujo envía un correo electrónico de aprobación o rechazo al solicitante del proyecto y actualiza nuestras listas de
SharePoint en consecuencia.
2. En el panel derecho, pulse o haga clic en Enviar aprobación cuando se agregue un elemento nuevo.
3. Si aún no ha iniciado sesión, inicie sesión en SharePoint y Outlook, y pulse o haga clic en Continuar.
Ahora verá la plantilla para este flujo, lista para que la complete. Los cuadros en el flujo representan pasos.
Toman tanto la entrada de los pasos anteriores como la que el usuario proporcione. Cada paso puede
proporcionar salida a los pasos posteriores.
El siguiente cuadro del flujo responde a la decisión del correo electrónico del aprobador del proyecto y
enruta el flujo a una de las dos ramas: En caso positivo o En caso negativo.
2. De forma predeterminada, se envía un correo electrónico a la persona que creó el elemento de la lista, con
la línea de asunto y cuerpo del mensaje que se ven. Puede actualizar estos elementos si lo desea.
4. En Elegir una acción, busque "SharePoint", a continuación, haga clic o pulse en SharePoint: actualizar
elemento.
El contenido dinámico está disponible en todo el flujo, basándose en los pasos anteriores. En este caso, la
información de la lista de SharePoint está disponible y se puede usar en las acciones que se creen.
7. Seleccione el cuadro Title, busque "Title" en el cuadro de diálogo de contenido dinámico y pulse o haga clic
en Title.
8. En el cuadro Aprobado, escriba "Sí". Ahora esta parte del flujo debería parecerse a la siguiente imagen.
9. Vuelva a pulse o a hacer clic en Agregar una acción. Esta vez vamos a agregar un elemento a la lista
Project Details del proyecto que se ha aprobado.
10. En Elegir una acción, busque "SharePoint" y seleccione SharePoint: crear elemento.
12. Seleccione el cuadro Title, busque "Title" en el cuadro de diálogo de contenido dinámico y pulse o haga clic
en Title.
13. Seleccione el cuadro RequestId y pulse o haga clic en ID en el cuadro de diálogo de contenido dinámico.
14. En el cuadro PMAssigned, escriba "Sin asignar". Ahora esta parte del flujo debería parecerse a la siguiente
imagen.
2. De forma predeterminada, se envía un correo electrónico a la persona que creó el elemento de la lista, con
la línea de asunto y cuerpo del mensaje que se ven. Puede actualizar estos elementos si lo desea.
4. En Elegir una acción, busque "SharePoint", a continuación, haga clic o pulse en SharePoint: actualizar
elemento.
6. Seleccione el cuadro Identificador y pulse o haga clic en Identificador en el cuadro de diálogo Contenido
dinámico.
7. Seleccione el cuadro Title, busque "Title" en el cuadro de diálogo de contenido dinámico y pulse o haga clic
en Title.
8. En el cuadro Aprobado, escriba "No". Ahora esta parte del flujo debería parecerse a la siguiente imagen.
3. Compruebe la bandeja de entrada de la cuenta de correo electrónico del aprobador. Debe tener un correo
electrónico similar al siguiente.
4. Después de hacer clic en Aprobar o Rechazar el flujo ejecuta otro proceso y obtiene información similar a
la siguiente directamente en el correo electrónico.
5. El flujo envía un correo electrónico a Megan con la respuesta de Allan, como se muestra en la siguiente
imagen. Dicho correo electrónico procede de Megan porque es la propietaria del flujo.
Pasos siguientes
El siguiente paso de esta serie de tutoriales es crear una aplicación para administrar proyectos.
Creación de una aplicación de lienzo para
administrar proyectos
12/11/2019 • 26 minutes to read
NOTE
Este artículo forma parte de una serie de tutoriales sobre el uso de PowerApps, la automatización y el Power BI con
SharePoint Online. Asegúrese de leer la introducción a la serie para hacerse una idea general, así como para obtener
descargas relacionadas.
En esta tarea se va a compilar una aplicación de lienzo desde el principio. Esta aplicación permite a un usuario
asignar un administrador a proyectos y actualizar los detalles de proyectos. Va a ver algunos de los mismos
controles y fórmulas que en la primera aplicación, pero creará más partes de la aplicación en esta ocasión. El
proceso es más complejo, pero aprenderá más, por lo que el equilibrio debería ser razonable.
TIP
El paquete de descarga de este escenario incluye una versión terminada de esta aplicación: project-details-app.msapp.
2. Pulse o haga clic en archivo, que se abre en una pestaña de configuración de la aplicación . Escriba el
nombre "aplicación de administración de proyectos".
3. Pulse o haga clic en Guardar como, compruebe que la aplicación se guardará en la nube y haga clic en
Guardar en la esquina inferior derecha.
PANTALLA PROPÓSITO
La pestaña Orígenes de datos en el panel derecho muestra ahora la conexión que ha creado.
3. En la pestaña Insertar, pulse o haga clic en Etiqueta y arrastre la etiqueta debajo del título superior.
4. En la barra de fórmulas, establezca las siguientes propiedades para la etiqueta:
Propiedad Color = GrisOscuro
Propiedad Tamaño = 18
Propiedad Texto = "Click or tap a task to continue…"
Ejecutar la aplicación
La aplicación aún no hace mucho, pero se puede ejecutar si así lo desea:
1. Pulse o haga clic en la pantalla SelectTask (la aplicación siempre se inicia desde la pantalla seleccionada en
el modo de vista previa de PowerApps Studio).
2. Haga clic o pulse en la esquina superior derecha para ejecutar la aplicación.
3. Pulse o haga clic en uno de los botones para ir a otra pantalla.
4. Haga clic o pulse en la esquina superior derecha para cerrar la aplicación.
NOTE
Más adelante, se va a crear en la aplicación una página que permite editar todos los campos de un proyecto (incluido el de
administrador), pero también podría estar bien crear una pantalla como esta.
3. Mueva la flecha al lado izquierdo de la barra azul y establezca las siguientes propiedades:
Propiedad Color = Blanco
Propiedad Alto = 40
Propiedad AlSeleccionar = Navigate(SelectTask; Fade)
Propiedad Ancho = 40
4. En el panel derecho, actualice los campos para que coincidan con la siguiente lista:
ApprovedDate
Status
Title
5. Cambie el tamaño de las etiquetas en la galería según corresponda y quite la flecha del primer elemento de
la galería (no es necesario salir de esta galería).
3. En la pestaña Insertar, pulse o haga clic en Texto y en Entrada de texto. Arrastre la entrada de texto
debajo de la galería, en el centro. Establezca las siguientes propiedades para la lista desplegable:
Propiedad Predeterminado = ""
Propiedad Alto = 60
Propiedad Tamaño = 20
Propiedad Ancho = 250
4. En la pestaña Insertar, pulse o haga clic en Botón. Arrastre el botón debajo de la galería, a la derecha.
Establezca las siguientes propiedades para el botón:
Propiedad Alto = 60
Propiedad AlSeleccionar = Patch('Project Details'; LookUp('Project Details'; ID =
Gallery1.Selected.ID ); {PMAssigned: TextInput1.Text}) . Para más información, consulte
Análisis en profundidad de una fórmula.
Esta fórmula actualiza la lista Project Details y establece un valor para el campo PMAssigned.
Propiedad Tamaño = 20
Propiedad Texto = "OK"
Propiedad Ancho = 80
4. En la pantalla Assign Manager, verá los dos proyectos sin asignar en la lista. Seleccione el proyecto New
BI software.
6. Vuelva a la lista de SharePoint y actualice la página. Verá que la entrada del proyecto se ha actualizado con
el nombre del administrador de proyecto.
Actualizar detalles para el proyecto
1. Pulse o haga clic en para volver a la primera pantalla y en Update Details.
Pasos siguientes
El siguiente paso en esta serie de tutoriales es crear un informe de Power BI para analizar proyectos.
Creación de un informe de Power BI para analizar
proyectos
12/11/2019 • 26 minutes to read
NOTE
Este artículo forma parte de una serie de tutoriales sobre el uso de PowerApps, la automatización y el Power BI con
SharePoint Online. Asegúrese de leer la introducción a la serie para hacerse una idea general, así como para obtener
descargas relacionadas.
En esta tarea, vamos a crear un informe de Power BI basado en las dos listas de SharePoint. Trasladaremos los
datos de las listas a Power BI Desktop y los limpiaremos un poco, realizaremos algunas operaciones básicas de
modelado de datos y crearemos un conjunto de objetos visuales que nos proporcionarán cierta información
acerca de los datos.
TIP
El paquete de descarga de este escenario incluye una versión terminada de este informe: project-analysis.pbix.
En esta tarea no se usa la vista Relaciones, pero se puede consultar más adelante, después de que trasladar los
datos de lista a Power BI Desktop.
En el Editor de consultas, se crean consultas y se transforman datos y, posteriormente, el modelo de datos
refinados se carga en Power BI Desktop. El Editor de consultas tiene cuatro áreas principales:
1. La cinta de opciones, que tiene muchas opciones para dar forma y transformar los datos que se proporcionan.
2. El panel izquierdo, en el que se enumeran las consultas que se pueden seleccionar, visualizar y dar forma.
3. El panel central, en el que se muestran los datos de la consulta seleccionada y están disponibles para darles
forma.
4. La ventana Configuración de la consulta, que enumera las propiedades de la consulta y los pasos de
transformación de datos que se han aplicado.
3. Escriba la dirección URL del sitio de SharePoint y, después, haga clic en Aceptar o pulse en él.
4. Si aparece el siguiente cuadro de diálogo, asegúrese de que ha iniciado sesión con las credenciales
correctas y haga clic o pulse en Conectar.
TIP
Utilice la tecla Máyus para seleccionar ambas columnas y, después, haga clic o pulse Quitar columnas.
4. Quite todas las columnas a la derecha de la columna PMAssigned (un total de 22 columnas). La tabla debe
coincidir con la de la siguiente imagen:
5. Repita el proceso que acaba de realizar, ahora para Project Requests: quite FileSystemObjectType,
ServerRedirectedEmbedURL, ContentTypeId y todas las columnas a la derecha de la columna
Approved (un total de 22). La tabla debe coincidir con la de la siguiente imagen:
2. Haga clic o pulse en Archivo y , luego, en Guardar y guarde el proyecto con el nombre project-
analysis.pbix.
2. En la pestaña Modelado, haga clic o pulse Administrar relaciones. Permaneceremos en esta pestaña de
la vista Datos para todos los pasos del modelado de datos.
3. Asegúrese de que está seleccionada la relación existente, haga clic o pulse Eliminar y, después, otra vez
Eliminar para confirmar.
Esta fórmula crea una tabla denominada Dates con una sola columna de fecha. La tabla cubre todas las
fechas de la otra tabla y se actualiza automáticamente si se agregan fechas adicionales (es decir, si se
actualizan los datos).
Tanto esta fórmula como las restantes de esta sección usan expresiones de análisis de datos (DAX), un
lenguaje de fórmulas de Power BI y otras tecnologías. Para más información, consulte Aspectos básicos de
DAX en Power BI Desktop.
3. Presione Entrar para crear la tabla Dates.
ApprovedStartDiff = CALCULATE(SUM(Dates[IsWeekday]),
DATESBETWEEN(Dates[Date],
'Project Details'[ApprovedDate],
'Project Details'[ProjectedStartDate]
)
)
Esta fórmula calcula la diferencia, en días, entre el momento en que se aprobó un proyecto y cuando está
previsto que se inicie. Usa la columna IsWeekday de la tabla Dates, por lo solo cuentan los días laborables.
3. Presione Entrar para agregar la columna ApprovedStartDiff a la tabla Project Details.
Esta fórmula calcula la diferencia, en días, entre la fecha en que se solicitó un proyecto y la fecha de hoy
[AHORA()]. Una vez más, la fórmula solo cuenta los días laborables. Esta columna se utiliza para buscar el
proyecto que más tiempo lleva pendiente.
3. Presione Entrar para agregar la columna RequestDateAge a la tabla Project Requests.
VarProjectedActual = DIVIDE(
SUM('Project Details'[ActualDays]) - SUM('Project Details'[ProjectedDays]),
SUM('Project Details'[ProjectedDays])
)
Esta fórmula calcula la varianza entre días reales y previstos de un proyecto. Se agrega como una medida,
en lugar de como una columna calculada, por lo que devuelve los resultados correctos, independientemente
de cómo se filtren o se agreguen los datos en un informe.
3. Presione Entrar para agregar la medida VarProjectedActual a la tabla Project Details.
Adición de una medida a la tabla Project Requests
1. En el panel derecho, haga clic o pulse en la tabla Project Requests y , después, en Nueva medida.
MaxDaysPending = MAXX(
FILTER('Project Requests', 'Project Requests'[Approved]="Pending"),
'Project Requests'[RequestDateAge]
)
Esta fórmula busca el proyecto más tiempo lleva pendiente, en función de la columna calculada que se ha
definido antes.
3. Presione Entrar para agregar la medida MaxDaysPending a la tabla Project Requests.
2. En el panel Visualizaciones panel de la derecha, haga clic o pulse Gráfico de columnas agrupadas.
3. Arrastre PMAssigned y Title de Project Details, en el panel Campos, a Eje, en el panel Visualizaciones.
El gráfico ahora está filtrado y muestra solo los proyectos completos, lo que tiene sentido porque se
comparan días previstos con días reales.
7. Haga clic en las flechas de la esquina superior izquierda del gráfico para subir y bajar por la jerarquía de los
jefes de proyecto y proyectos. En la siguiente imagen, verá cómo se exploran proyectos en profundidad.
Creación de un gráfico de barras que muestre la varianza a partir de las fechas previstas
1. Haga clic o pulse en el lienzo fuera de la visualización que acaba de crear.
2. En el panel Visualizaciones panel de la derecha, haga clic o pulse Gráfico de columnas agrupadas.
3. Arrastre PMAssigned y Title de Project Details, en el panel Campos, a Eje, en el panel Visualizaciones.
5. Arrastre Status desde el panel Campos de Project Details hasta el área Filtros del panel
Visualizaciones y seleccione la casilla Completado.
6. Para poder crear más visualizaciones, mueva las que ha creado y cámbielas de tamaño para que quepan en
paralelo.
Creación de una tarjeta que muestre el proyecto que lleva más tiempo pendiente
1. Haga clic o pulse en el lienzo fuera de la visualización que acaba de crear.
2. En el panel Visualizaciones de la derecha, haga clic o pulse Tarjeta.
3. Arrastre MaxDaysPending de Project Requests, en el panel Campos, a Campos en el panel
Visualizaciones.
4. Arrastre ProjectedStartDate de Project Details, en el panel Campos, al área Filtros del panel
Visualizaciones y seleccione todas las fechas, excepto (En blanco) .
5. Ajuste el tamaño de las columnas de la tabla para que pueda ver todos los datos y ordénelos por
ApprovedStartDiff, de forma descendente. Ahora la visualización debería parecerse a la siguiente imagen.
6. En el área Valores, haga clic en la flecha hacia abajo (o púlsela) de ApprovedStartDiff y haga clic o pulse
Promedio. Ahora se puede ver el tiempo medio que transcurre entre la aprobación de un proyecto y la
fecha de inicio proyectada.
7. Vuelva a hacer clic o a pulsar la flecha hacia abajo de ApprovedStartDiff, haga clic o pulse Formato
condicional y, después, haga clic o pulse Escalas de color de fondo.
8. Establezca los colores de los campos Mínimo y Máximo como se muestra a continuación y haga clic o
pulse Aceptar.
Ahora la visualización debería parecerse a la siguiente imagen.
Como puede ver, los proyectos que ejecuta Irvin Sayers tienden a comenzar mucho más tarde que su
aprobación. Puede que haya factores que no tengan nada que ver con el administrador asignado, pero
merece la pena examinar este factor.
Esto nos lleva al final de la sección del informe y deberíamos tener un informe completo basado en los datos
importados de SharePoint y limpiados y modelados en Power BI Desktop. Si todo ha salido según el plan, el
informe debe ser similar al de la siguiente imagen.
Pasos siguientes
El siguiente paso en esta serie de tutoriales es publicar el informe de proyecto de Power BI y crear un panel.
Publicación del informe de proyecto de Power BI y
creación de un panel
09/11/2019 • 5 minutes to read
NOTE
Este artículo forma parte de una serie de tutoriales sobre el uso de PowerApps, la automatización y el Power BI con
SharePoint Online. Asegúrese de leer la introducción a la serie para hacerse una idea general, así como para obtener
descargas relacionadas.
En esta tarea, vamos a publicar nuestro conjunto de datos y el informe en el servicio Power BI. A continuación, se
creará un panel basado en este informe. Muchas veces, un informe tiene un gran número de visualizaciones y solo
se usa un subconjunto en un panel. En este caso, vamos a agregar cuatro visualizaciones al panel.
2. Si aún no ha iniciado sesión en el servicio Power BI, especifique una cuenta y, a continuación, haga clic o
pulse en Iniciar sesión.
4. Elija un destino para el informe y, a continuación, haga clic o pulse en Seleccionar. Se recomienda la
publicación en un área de trabajo del grupo para simplificar el acceso al informe en SharePoint. En este
caso, vamos a publicar en el área de trabajo del grupo denominada Project Management. Para obtener
más información, consulte Colaboración en un área de trabajo de aplicación de Power BI.
5. Una vez finalizada la publicación, haga clic o pulse en Abrir 'project-analysis.pbx' en Power BI.
6. El servicio Power BI carga el informe en un explorador. Haga clic o pulse en el menú situado en la esquina
superior izquierda (a) para ver el panel de navegación izquierdo.
Puede ver que, cuando se hizo la publicación, Power BI Desktop cargó un conjunto de datos (d) y un
informe (c) . Va a crear paneles en el servicio, no en Power BI Desktop, y esta área de trabajo aún no tiene
ningún panel (b) . Vamos a crear uno a continuación.
4. Seleccione OAuth2 como método de autenticación y, a continuación, haga clic o pulse en Iniciar sesión.
5. Seleccione o inicie sesión en una cuenta que tenga permisos para las listas de SharePoint.
4. Haga clic o pulse en el gráfico de la esquina superior derecha y, después, haga clic o pulse en .
Así concluye la mayor parte del trabajo en Power BI. Si esta fue su primera experiencia de creación de informes y
paneles, ¡enhorabuena! Si ya era un experto, esperamos que haya podido efectuar todos los pasos con rapidez.
Ahora agregaremos alertas para asegurarnos de que sabe cuándo el panel necesita atención.
Pasos siguientes
El siguiente paso en esta serie de tutoriales es configurar alertas de datos para el informe de proyecto de Power BI.
Inserción del informe de proyecto de Power BI en
SharePoint Online
09/11/2019 • 4 minutes to read
NOTE
Este artículo forma parte de una serie de tutoriales sobre el uso de PowerApps, la automatización y el Power BI con
SharePoint Online. Asegúrese de leer la introducción a la serie para hacerse una idea general, así como para obtener
descargas relacionadas.
Ahora vamos a insertar el informe de Power BI en el mismo sitio de SharePoint Online que hospeda nuestras dos
listas. Power BI admite varios métodos de inserción, como la integración directa en las páginas de SharePoint para
vistas móviles y web.
Con este tipo de inserción, Power BI inserta el informe como un elemento web, proporciona un acceso adecuado a
los usuarios y le permite desplazarse desde el informe insertado al informe de powerbi.com. En primer lugar, se va
a generar un vínculo de inserción en Power BI. Posteriormente, se utilizará ese vínculo en una página que vamos a
crear. Para obtener más información sobre cómo insertar, consulte Insertar el elemento web de informes en
SharePoint Online.
2. Podría incluir solamente un informe en la página principal del equipo, pero le mostraremos cómo crear
también una página independiente para él. Haga clic o pulse en Nueva y, a continuación en Página.
6. En el panel adecuado, copie la dirección URL en el cuadro Vínculo del informe de Power BI. Establezca
Mostrar panel de filtros y Mostrar el panel de navegación en Activado.
7. El informe ya se ha insertado en la página. Haga clic en Publicar para hacer que esté disponible para
cualquier persona que pueda acceder al informe subyacente.
Paso 3: Concesión de acceso al informe.
Si usas grupos de Office 365, tal y como se recomienda, asegúrese de que los usuarios que necesitan acceder son
miembros del área de trabajo del grupo en el servicio Power BI. Esto garantiza que los usuarios puedan ver el
contenido de ese grupo. Para obtener más información, consulte Colaboración en un área de trabajo de aplicación
de Power BI.
Así concluye nuestro trabajo en Power BI para este escenario. Empezó extrayendo datos de nuestras listas de
SharePoint en Power BI y ahora se ha cerrado el círculo con la inserción de un informe de Power BI de nuevo en
SharePoint.
Pasos siguientes
El siguiente paso en esta serie de tutoriales consiste en ejecutar íntegramente el flujo de trabajo que hemos creado.
Configurar alertas de datos para el panel de Power
BI
09/11/2019 • 4 minutes to read
NOTE
Este artículo forma parte de una serie de tutoriales sobre el uso de PowerApps, la automatización y el Power BI con
SharePoint Online. Asegúrese de leer la introducción a la serie para hacerse una idea general, así como para obtener
descargas relacionadas.
En esta tarea, se va a agregar una alerta en Power BI que avise de si se está tardando demasiado en aprobar
proyectos pendientes, y un flujo que responda cuando se produzca esa alerta. Para más información sobre las
alertas, consulte Alertas de datos en el servicio Power BI.
5. Observe las opciones disponibles para las alertas, como la frecuencia con la que se debe ejecutar una alerta.
Escriba el valor 25 para Umbral y pulse o haga clic en Guardar y cerrar.
La alerta no se activará ahora mismo, aunque 56 esté por encima del umbral de 25. Se activará cuando se
actualicen los datos, lo que se verá en el recorrido de principio a fin del escenario.
Cuando se activan las alertas, Power BI envía un correo electrónico al creador de la alerta y veremos cómo enviar
correo adicional con Power Automate en el paso siguiente.
2. Pulse o haga clic en Enviar un correo electrónico al público cuando se desencadene una alerta de
datos de Power BI.
3. Pulse o haga clic en Usar esta plantilla.
4. Si aún no ha iniciado sesión, inicie sesión en Outlook y Power BI, y pulse o haga clic en Continuar.
5. En la lista desplegable Id. de alerta, seleccione Alert for Max days pending approval (Alerta para
máximo de días pendientes de aprobación).
7. Pulse o haga clic en Editar para ver otros campos que se pueden actualizar.
Se verá esta ejecución de flujo en el recorrido de principio a fin del escenario. Ahora se va a continuar con la última
tarea de este escenario: insertar un informe de Power BI en SharePoint.
Pasos siguientes
El siguiente paso en esta serie de tutoriales es insertar el informe de proyecto de Power BI en SharePoint Online.
Tutorial de principio a fin para el escenario de
integración de SharePoint Online completado
09/11/2019 • 9 minutes to read
NOTE
Este artículo forma parte de una serie de tutoriales sobre el uso de PowerApps, la automatización y el Power BI con
SharePoint Online. Asegúrese de leer la introducción a la serie para hacerse una idea general, así como para obtener
descargas relacionadas.
Se ha tratado una cantidad enorme de datos en esta serie de tutoriales, desde la creación de aplicaciones de
lienzo y flujos hasta la creación de informes y su inserción en SharePoint. Con suerte, habrá aprendido mucho y
visto lo suficiente sobre cómo se integran estas tecnologías, para que pueda integrar aplicaciones de lienzo, flujos
e informes en SharePoint según sus propias necesidades. Antes de terminar, se va a realizar un recorrido del
escenario de principio a fin para ver cómo funcionan juntas todas las partes.
2. Haga clic en Abrir, lo que abre la aplicación en una nueva pestaña de explorador.
3. Compruebe la bandeja de entrada de la cuenta de correo electrónico del solicitante; debería ver un correo
electrónico de aprobación.
4. En la pantalla Assign Manager, verá los dos proyectos sin asignar en la lista. Seleccione el proyecto
Mobile devices for design team.
6. Cierre la aplicación y vuelva a la lista de SharePoint. Verá que la entrada del proyecto se ha actualizado con
el nombre del administrador de proyecto.
Como se señaló cuando se creó esta visualización, hay mucha más varianza en los proyectos ejecutados
por Irvin Sayers que en los de Joni Sherman.
4. Explore en profundidad la visualización y verá que gran parte de la varianza procede de dos proyectos que
tardaron mucho más tiempo del previsto.
5. Revise la tabla que muestra cuánto tiempo tardan los proyectos en pasar de la aprobación a la fecha de
inicio proyectada.
Como se señaló cuando se creó esta visualización, los proyectos que se asignaron a Irvin Sayers tardan
más en iniciarse y dos de ellos están tardando mucho más que el resto.
4. Compruebe la bandeja de entrada de la persona que creó la alerta (Megan Bowen, en este caso).
5. Compruebe la bandeja de entrada de la persona que agregó en el flujo de alertas de datos (Allan DeYoung,
en este caso).
6. Ahora que tiene información sobre los proyectos pendientes, puede regresar y aprobar los que tenga
esperando.
Con esto, ha llegado a la conclusión de este tutorial de principio a fin y de esta serie de tutoriales. Puede
continuar su viaje en los siguientes sitios:
PowerApps
Automatización de la energía
Power BI
Comunidad de usuarios avanzados
SharePoint
Comunidad tecnológica de Microsoft
Proporcione su opinión sobre esta serie, sugerencias para adiciones o ideas para contenidos adicionales que le
ayuden a trabajar con las tecnologías tratadas.
Uso de Cognitive Services en PowerApps
05/11/2019 • 15 minutes to read
En este artículo se muestra cómo compilar una aplicación de lienzo básica que usa el Text Analytics API de
Cognitive Services de Azure para analizar el texto. Le mostraremos cómo configurar Text Analytics API y cómo
conectarse a ella con el conector de Text Analytics. Luego se muestra cómo crear una aplicación de lienzo que llama
a la API.
NOTE
Si no está familiarizado con la compilación de aplicaciones en PowerApps, es aconsejable que lea Creación de una aplicación
desde cero antes de profundizar en este artículo.
3. En la página se muestran los resultados con formato en la pestaña texto analizado y la respuesta JSON en
la pestaña JSON . JSON es una forma de representar los datos; en este caso, los datos devueltos por el Text
Analytics API.
6. Copie una de las claves de la derecha de la pantalla. Esta clave la usará más tarde, cuando cree una conexión
a la API.
Creación de la aplicación
Ahora que Text Analytics API está en funcionamiento, puede conectarse a ella desde PowerApps y compilar una
aplicación que llame a la API. Es una aplicación de una sola pantalla que proporciona una funcionalidad similar a la
demostración de la página Text Analytics API. Vamos a empezar a trabajar.
Creación de la aplicación y adición de una conexión
En primer lugar, cree una aplicación de teléfono vacía y agregue una conexión con el conector de Text Analytics.
Si necesita más información sobre estas tareas, consulte Crear una aplicación desde cero y Administración de las
conexiones en PowerApps.
1. En powerapps.com, elija Iniciar desde cero > (teléfono) > Crear esta aplicación.
Siga los pasos a continuación para crear esta pantalla. Si se especifica un nombre de control, ese el nombre que se
usará en una fórmula en la sección siguiente.
1. En la pestaña Inicio, pulse o haga clic en Nueva pantalla y en Pantalla desplazable.
2. En Screen2, seleccione [Título] y cámbielo a Text Analysis.
3. Agregue un control Etiqueta para el texto que se escribe.
4. Agregue un control Entrada de texto para que pueda escribir el texto que se va a analizar. Asigne al control
el nombre tiTextToAnalyze. Ahora la aplicación debería parecerse a la siguiente imagen.
5. Agregue tres controles Casilla para poder elegir qué operaciones de API se van a realizar. Asigne a los
controles los nombres chkLanguage, chkPhrases y chkSentiment.
6. Agregue un botón para poder llamar a la API después de seleccionar las operaciones que se van a realizar.
Ahora la aplicación debería parecerse a la siguiente imagen.
7. Agregue tres controles Etiqueta. Los dos primeros contienen los resultados de las llamadas a la API sobre
el idioma y la opinión; el tercero es simplemente una introducción a la galería de la parte inferior de la
pantalla.
8. Agregue un control Galería vertical vacía y, después, agregue un control Etiqueta control a la galería. La
galería contiene los resultados de la llamada a la API sobre frases clave. Ahora la aplicación debería
parecerse a la siguiente imagen.
9. En el panel izquierdo, seleccione Screen1 > puntos suspensivos ( ... ) > Eliminar (no necesita esta pantalla
en la aplicación).
Simplificaremos esta aplicación para centrarnos en llamar a Text Analytics API, pero puede agregar elementos tales
como lógica para mostrar y ocultar los controles en función de las casillas que están activadas, para controlar los
errores si el usuario no selecciona ninguna opción, etc.
Adición de lógica para realizar las llamadas correctas a la API
Ya tiene una aplicación bonita, pero aún no hace nada. Eso se solucionará en un momento. Pero antes de
profundizar en los detalles, vamos a comprender el modelo que la aplicación sigue:
1. La aplicación realiza llamadas específicas a la API en función de las casillas activadas en la aplicación. Al
hacer clic o pulsar Analizar texto, la aplicación realiza 1, 2 o 3 llamadas a la API.
2. La aplicación almacena los datos que devuelve la API en tres colecciones diferentes: languageCollect,
sentimentCollect y phrasesCollect.
3. La aplicación actualiza la propiedad Texto de dos de las etiquetas y la propiedad Elementos de la galería se
actualizan en función de lo que hay en las tres colecciones.
Con esa información, vamos a agregar la fórmula de la propiedad AlSeleccionar del botón. Aquí es donde se
produce la magia.
If( chkLanguage.Value = true;
ClearCollect( languageCollect;
TextAnalytics.DetectLanguage(
{
numberOfLanguagesToDetect: 1;
text: tiTextToAnalyze.Text
}
).detectedLanguages.name
)
);;
Ejecutar la aplicación
Ahora que la aplicación ha finalizado, ejecútela para ver cómo funciona: haga clic o pulse el botón de ejecución de
la esquina superior derecha . En la siguiente imagen, se seleccionan las tres opciones y el texto es el mismo que
el texto predeterminado en la página de Text Analytics API.
Si compara la salida de esta aplicación con la página de Text Analytics API del principio de este artículo, verá que
los resultados son los mismos.
Esperamos que ahora comprenda un poco mejor Text Analytics API y que haya disfrutado de ver cómo se
incorpora a una aplicación. Háganos saber si hay otros servicios de Cognitive Services (u otros servicios en
general) que desearía que tratáramos en nuestros artículos. Como siempre, puede enviarnos sus comentarios y sus
preguntas.
Transformar el formulario de InfoPath en PowerApps
12/11/2019 • 27 minutes to read
¿Ha creado grandes contenidos en InfoPath, pero le gustaría ofrecerlos en una plataforma más sólida?
Formularios de SharePoint
Los equipos de PowerApps y SharePoint han trabajado juntos para crear una forma de personalización que se
puede usar con SharePoint. Si es como la mayoría de los desarrolladores de InfoPath, ha aprendido a usar InfoPath
para interactuar con SharePoint. SharePoint es fantástico, pero los formularios predeterminados son un poco
básicos y no permiten personalizarlos ni usar la lógica de negocios sin InfoPath. Bueno, eso era antes.
Con PowerApps, ya puede personalizar los formularios de lista como una funcionalidad nativa. Y, al hacerlo,
obtendrá todo el rendimiento de PowerApps. En la siguiente captura de pantalla, puede ver un ejemplo de un
formulario PowerApps con un informe de Power BI insertado. Toda la solución se realizó en menos de 15 minutos.
Otra característica importante de PowerApps es la capacidad de conectarse fácilmente a otra colección de sitios de
SharePoint o a otro entorno desde el mismo formulario. Por ejemplo, ¿quiere crear un formulario que muestre y
actualice al mismo tiempo los datos de SharePoint Online y el entorno local de SharePoint? No hay problema. Si
instala la puerta de enlace de datos local, está en funcionamiento en cuestión de minutos, conectando PowerApps,
Power BI, Power automatic y Azure Logic apps con los datos locales. No se requiere ningún cambio en las reglas
de firewall. Puede seguir un paso más conectando esta aplicación con Power Automatic.
Esta fórmula indica que, si el campo Color del elemento actual es Blue, el campo Animal es de solo lectura. Si no,
el campo se puede modificar.
Para ocultar la tarjeta en lugar de hacer que sea de solo lectura, inserte una función similar en la propiedad Visible
justo encima de DisplayMode.
También puede jugar con, por ejemplo, mostrar un botón de aprobación solo si la dirección de correo electrónico
del usuario coincide con la dirección de correo electrónico del aprobador. (Sugerencia: use User (). Correo
electrónico para tener acceso a la dirección de correo electrónico del usuario actual). Por lo tanto, puede
almacenar la dirección de correo electrónico del aprobador en YourDataCard y, a continuación, establecer la
propiedad visible del botón en esta fórmula:
If( YourDataCard.Text = User().Email; true; false )
Formato condicional
De forma similar a como anteriormente ocultó el campo, también puede proporcionar comentarios visuales a los
usuarios. Puede que quiera resaltar texto en rojo si el valor especificado queda fuera del intervalo aceptable o
cambiar el texto y el color del botón de carga después de que el usuario cargue un archivo. Puede hacer ambas
cosas con una función, como If, en propiedades como Color o Visible.
Por ejemplo, podría usar la función If emparejada con la función IsMatch para que el texto del campo de correo
electrónico cambie a color rojo si el usuario no especifica una dirección de correo con el formato correcto en el
cuadro de entrada. Se haría al establecer el valor Color de TextInput1 (donde el usuario escribe una dirección de
correo electrónico) en esta fórmula:
If( IsMatch(TextInput1.Text; Email); Black; Red )
IsMatch admite una gran cantidad de patrones predefinidos, como Correo electrónico, o puede crear los suyos
propios. Para obtener más información sobre el formato condicional, vea este vídeo de la comunidad.
Implementación de seguridad basada en roles
La primera función a tener en cuenta es DataSourceInfo. La información que se obtiene desde el origen de datos
varía, pero a menudo se puede usar esta fórmula para confirmar si el usuario tiene acceso para editar los datos
(sustituya YourDataSource por el nombre del origen de datos):
DataSourceInfo( YourDataSource; DataSourceInfo.EditPermission )
Así, puede mostrar un formulario o un botón únicamente si el usuario tiene acceso para editar. Vea la
documentación de DataSourceInfo para obtener la lista completa de la información que puede consultar en la
función.
Si quiere usar grupos de Active Directory para administrar el acceso a los botones o a los formularios de la
aplicación, deberá profundizar más. Para ello, puede sacar partido de la flexibilidad de PowerApps y crear su propio
conector mediante Microsoft Graph API. Si eso suena complicado, puede seguir este entrada de blog para obtener
instrucciones paso a paso.
Enviar un correo electrónico desde la aplicación
Puede enviar un mensaje de correo electrónico desde PowerApps de muchas formas, pero la más fácil es usar el
conector de Office 365 Outlook. Con este conector, puede enviar un mensaje en su nombre desde la aplicación.
También puede obtener mensajes de correo electrónico y otras tareas que interactúan con el buzón. Existe
documentación o este vídeo de la comunidad sobre el envío de correo electrónico.
Puede enviar un mensaje más complejo (por ejemplo, como parte de un flujo de trabajo de aprobación de
SharePoint) mediante el uso de Power Automatic y la conexión de la aplicación al flujo que cree. Una vez que
conecte la aplicación a Power Automate, habrá abierto toda la potencia de un motor de flujo de trabajo que, como
PowerApps, está muy bien conectada a los datos y servicios externos. Para obtener más información sobre cómo
conectar PowerApps y Power Automate, consulte esta documentación.
Si todavía no ha encontrado la opción de correo electrónico que busca, puede sacar provecho de los conectores de
PowerApps para Benchmark Email, Gmail, MailChimp, Outlook.com, SendGrid o SMTP. La conectividad es lo más
bonito de PowerApps.
Flujos de trabajo
Es difícil hablar de aplicaciones empresariales y lógica de negocios sin un motor de flujo de trabajo. Lo bueno es
que el equipo de PowerApps no ha reinventado la rueda y le proporciona otro motor de flujo de trabajo, En su
lugar, proporcionan un conector sólido al servicio Power Automatic. Puede automatizar procesos y tareas en más
de 200 servicios distintos mediante su sencillo motor de flujo de trabajo. Para obtener más información sobre
cómo conectar PowerApps y Power Automate, consulte esta documentación.
Variables con PowerApps
Al compilar soluciones, es natural pensar que habrá que usar variables. PowerApps ofrece varios tipos de variables,
pero úselas solo cuando sea necesario. En lugar de pensar en obtener datos, almacenarlos en una variable y luego
hacer referencia a esa variable, piense en hacer referencia directamente a esos datos. Comprenderá mejor este
modelo si lo compara con Excel. En Excel, Total no es una variable, sino la suma de otros campos. Por lo tanto, si
quiere usar ese valor en otra parte de la hoja, especifica la celda en la que ha calculado el total. En la
documentación hay una magnífica explicación de todo esto. Esté abierto a un proceso de pensamiento diferente.
Si aun así necesita una variable (hay muchos casos en que será así), esto le ayudará a comprender las distintas
opciones. Tenga en cuenta que, con PowerApps, no tiene que definir las variables. Simplemente use una función
para especificar un nombre y un valor que se van a almacenar, y la variable se crea. Puede ver las variables que ha
creado seleccionando variables en la pestaña vista . las variables se mantienen en la memoria y sus valores se
pierden cuando se cierra la aplicación. Puede crear estos tipos de variables:
Las variables globales son las que se suelen considerar primero. Use la función Set para especificar un valor
para una variable global y haga que esté disponible en toda la aplicación:
Set( YourVariable; YourValue )
Este ejemplo establece el valor de una variable, denominada Submitted, en true. Podría agregar esta
fórmula a la propiedad OnSelect de un botón de envío a fin de realizar un seguimiento de si la información
se ha enviado y cambiar todos los campos a solo lectura.
Las colecciones almacenan tablas de información que se pueden actualizar de forma individual. Use Collect
para crear un carro de la compra, por ejemplo, cuando el usuario etiquete varios elementos de SharePoint
que quiere enviar. Un vídeo de la comunidad muestra ese concepto en acción.
Listas desplegables en cascada
Las listas desplegables en cascada son muy útiles porque permiten, por ejemplo, filtrar las opciones en una lista
desplegable en función del valor seleccionado en la lista desplegable anterior. Para crearlas en PowerApps, a
menudo se utilizan dos orígenes de datos en la aplicación. El primer origen de datos se compone de los datos que
se están viendo o actualizando, y el segundo origen de datos almacena los valores para compilar el efecto en
cascada. Este gráfico muestra un ejemplo del segundo origen de datos con las posibilidades de elección.
En este ejemplo, podría agregar una lista desplegable denominada ddSelectType y establecer su propiedad Items
en esta fórmula:
Distinct( Impacts; Title )
La lista desplegable solo mostraría el costo, el impacto del programa y la programación. Luego podría agregar una
segunda lista desplegable y establecer su propiedad Items en esta fórmula:
Filter( Impacts; ddSelectType.Selected.Value in SCategory )
De esta manera tendríamos listas desplegables en cascada. Para obtener más información, vea esta entrada del
equipo de PowerApps SharePoint: Cascading Dropdowns in 4 Easy Steps! (SharePoint: listas desplegables en
cascada en 4 pasos sencillos) o este vídeo de la comunidad. No se preocupe: sin SharePoint es igual de fácil.
No cree una superaplicación
Con PowerApps, puede llamar a una aplicación desde otra. Así que, en lugar de tener un enorme formulario de
InfoPath tan difícil de mantener, se puede crear un grupo de aplicaciones que se llaman entre sí e incluso se pasan
datos, lo que facilita mucho las labores de desarrollo.
Pasos siguientes
Con PowerApps y la información de este tema, ya tiene todo lo necesario para empezar a crear aplicaciones de una
en una. A medida que avanza, puede ver los útiles vínculos útiles que se ofrecen a continuación, por ejemplo, el
vínculo al sitio de la comunidad de PowerApps. Implíquese en la comunidad y aumente sus conocimientos mucho
más rápido de lo que lo haría por sí mismo.
Referencia sobre fórmulas: una excelente manera de inspirarse mediante la exploración de algunas de las
funciones predeterminadas.
Comunidad de PowerApps: vea los ejemplos, relaciónese con otros usuarios, plantee sus dudas, responda a las
de los demás y contribuya al crecimiento de la comunidad de PowerApps.
Aplicaciones de lienzo para desarrolladores
empresariales, asociados y fabricantes de software
independientes
14/11/2019 • 2 minutes to read
Los desarrolladores tienen la posibilidad de ampliar aplicaciones de lienzo en PowerApps, lo que habilita
soluciones aún más potentes para las organizaciones y los clientes.
Sin necesidad de escribir ningún código, puede crear flujos de trabajo y aplicaciones de lienzo con Azure Logic
apps, Power Automaticy PowerApps. Con el objetivo de ayudarle a integrar sus procesos empresariales y de
datos, dichos servicios ofrecen más de 180 conectores para productos y servicios de Microsoft, así como para
otros servicios, como GitHub, Salesforce y Twitter.
Aunque, a veces, es posible que quiera llamar a API, servicios y sistemas que no están disponibles como
conectores compilados previamente. Para admitir escenarios más específicos, puede compilar conectores
personalizados con acciones y desencadenadores propios. En el sitio de la documentación sobre los conectores
encontrará un conjunto muy completo de tutoriales básicos y avanzados sobre los conectores personalizados.
Recomendamos empezar por la información general sobre los conectores personalizados, pero, si quiere, puede ir
directamente a los siguientes temas para obtener más información sobre un aspecto en concreto:
Creación de un conector personalizado a partir de una definición de OpenAPI
Creación de un conector personalizado a partir de una colección Postman
Creación de un conector personalizado desde cero
Uso de un conector personalizado a partir de una aplicación de PowerApps
Uso compartido de los conectores personalizados en la organización
Envío de conectores para obtener la certificación de Microsoft
Preguntas más frecuentes sobre los conectores personalizados
Integración de aplicaciones de lienzo en sitios web y
otros servicios
14/11/2019 • 7 minutes to read
Las aplicaciones que cree suelen ser más útiles cuando están disponibles en el momento en que los usuarios
realizan su trabajo. Al incrustar aplicaciones de lienzo en un iframe, puede integrar esas aplicaciones en sitios web
y otros servicios, como Power BI o SharePoint.
En este tema se muestra cómo establecer los parámetros para la inserción de aplicaciones y, después, se instará la
aplicación Asset Ordering en un sitio web.
https://apps.powerapps.com/play/[AppID]?source=iframe
IMPORTANT
A partir del 2019 de agosto, el formato del URI ha cambiado de https://web.powerapps.com/webplayer a
https://apps.powerapps.com/play. Actualice cualquier iframe incrustado para que use el nuevo formato de URI. Las
referencias al formato anterior se redirigirán al nuevo URI para garantizar la compatibilidad.
Formato anterior:
https://Web.powerapps.com/WebPlayer/iframeapp? Source = iframe & appId
=/providers/Microsoft.PowerApps/apps/[AppID]
Lo único que tiene que hacer es sustituir el identificador de la aplicación por [AppID ] en el identificador URI
(incluido "[' & ']"). Le mostraremos cómo obtener ese valor en breve, pero primero aquí están todos los
parámetros disponibles en el identificador URI:
[appID ] : proporciona el identificador de la aplicación que se va a ejecutar.
tenantid : es un parámetro opcional para admitir el acceso de invitado y determina en qué inquilino se debe
abrir la aplicación.
screenColor: se usa para proporcionar a los usuarios una mejor experiencia de carga. Este parámetro tiene el
formato RGBA (rojo, verde, azul, alfa) y controla el color de la pantalla mientras se carga la aplicación. Es mejor
establecerlo en el mismo color que el icono de la aplicación.
source: no afecta a la aplicación, pero se recomienda agregar un nombre descriptivo para hacer referencia al
origen de la aplicación insertada.
Por último, puede agregar los parámetros personalizados que desee con la función Param() y esos valores
pueden ser utilizados por la aplicación. Se agregan al final del identificador URI, como
[AppID]?source=iframe¶m1=value1¶m2=value2 . Estos parámetros son de solo lectura durante el inicio de la
aplicación. Si tiene que cambiarlos, debe volver a iniciar la aplicación. Tenga en cuenta que solo el primer
elemento después de [AppID ] debe tener un "?"; después, use el "&" como se muestra aquí.
Obtener el identificador de aplicación
El identificador de la aplicación está disponible en powerapps.com. Para la aplicación que desea insertar:
1. En powerapps.com, en la pestaña Aplicaciones, pulse o haga clic en los puntos suspensivos ( ... ) y, a
continuación, seleccione Detalles.
https://apps.powerapps.com/play/76897698-91a8-b2de-756e-fe2774f114f2?source=iframe
Especifique los valores de ancho y alto del iframe y sustituya el identificador de la aplicación por [AppID] .
NOTE
Incluya allow="geolocation; microphone; camera" en el código HTML de iframe para permitir que las aplicaciones usen
estas funcionalidades en Google Chrome.
La siguiente imagen muestra la aplicación "Pedido de activos" insertada en un sitio web de ejemplo de Contoso.
Tenga en cuenta los puntos siguientes para autenticar a los usuarios de la aplicación:
Si el sitio web usa autenticación basada en Azure Active Directory (AAD ), no será necesario ningún inicio de
sesión adicional.
Si el sitio web utiliza cualquier otro mecanismo de inicio de sesión o no está autenticado, los usuarios verán un
mensaje de inicio de sesión en el iframe. Después de iniciar sesión, podrán ejecutar la aplicación siempre y
cuando el autor de la aplicación la haya compartido con ellos.
Como ve, insertar aplicaciones es fácil y eficaz. La inserción le permite llevar las aplicaciones a los lugares en los
que usted y sus clientes trabajan (sitios web, paneles de Power BI y páginas de SharePoint, entre otros).
Desarrollo de aplicaciones de lienzo que puedan
ejecutarse sin conexión
04/06/2019 • 13 minutes to read
Los usuarios móviles a menudo necesitan ser productivo incluso cuando tienen limitado o sin conexión. Al
compilar una aplicación de lienzo, puede realizar estas tareas:
Abra PowerApps Mobile y ejecutar aplicaciones sin conexión.
Determinar si una aplicación está sin conexión, en línea o en una conexión de uso medido mediante el objeto
de señal conexión.
Usar colecciones y aprovechar funciones como LoadData y SaveData para el almacenamiento de datos básico
cuando esté sin conexión.
Limitaciones
LoadData y SaveData se combinan para formar un mecanismo sencillo para almacenar pequeñas cantidades de
datos en un dispositivo local. Mediante el uso de estas funciones, puede agregar capacidades sin conexión
sencillas a la aplicación.
Estas funciones están limitadas por la cantidad de memoria de la aplicación disponible, ya que operan en una
colección en memoria. Memoria disponible puede variar en función del dispositivo, el sistema operativo, la
memoria que usa PowerApps Mobile y la complejidad de la aplicación en cuanto a las pantallas y controles. Si
almacena más de unos cuantos megabytes de datos, pruebe la aplicación con los escenarios esperados en los
dispositivos en el que se espera que se ejecute. Generalmente tendrá 70-30 megabytes de memoria disponible.
Las funciones también no resuelven automáticamente los conflictos de combinación cuando un dispositivo está
en línea. Configuración en los datos que se guardan y cómo controlar la reconexión es hasta el fabricante al
escribir expresiones.
Para obtener actualizaciones de capacidades sin conexión, vuelva a este tema y suscribirse a la blog de
PowerApps.
Información general
Al diseñar escenarios sin conexión, primero debe considerar cómo sus aplicaciones funcionan con datos.
Aplicaciones en PowerApps principalmente a los datos mediante un conjunto de conectores que ofrece la
plataforma, como SharePoint, Office 365 y Common Data Service. También puede crear conectores
personalizados que permiten a las aplicaciones tener acceso a cualquier servicio que proporcione un punto de
conexión REST. Podría tratarse de una API web o un servicio como Azure Functions. Todos estos conectores usan
HTTPS a través de Internet, lo que significa que los usuarios deben estar en línea para acceder a los datos y otras
funcionalidades que ofrece un servicio.
If( Connection.Connected;
ClearCollect( LocalTweets; Twitter.SearchTweet( "PowerApps"; {maxResults: 10} ) );;
Set( statusText; "Online data" );
LoadData( LocalTweets; "LocalTweets"; true );;
Set( statusText; "Local data" )
);;
SaveData( LocalTweets; "LocalTweets" );;
2. En el vista de árbol panel, seleccione el menú de puntos suspensivos de la aplicación objeto y, a
continuación, seleccione ejecutar OnStart para ejecutar esa fórmula.
NOTE
El LoadData y SaveData funciones podrían mostrar un error en PowerApps Studio, ya que los exploradores no las
admiten. Sin embargo, realizará con normalidad después de implementar esta aplicación en un dispositivo.
Esta fórmula determina si el dispositivo está en línea. Si es así, la etiqueta muestra conectado; en caso contrario,
muestra Offline.
Paso 5: Agregue un cuadro para redactar tweets
1. En la etiqueta de estado de la conexión, inserte un entrada de texto controlar y cámbiele el nombre
NewTweetTextInput.
2. Establezca el cuadro de entrada de texto predeterminado propiedad "" .
If( Connection.Connected;
Twitter.Tweet( ""; {tweetText: NewTweetTextInput.Text} );
Collect( LocalTweetsToPost; {tweetText: NewTweetTextInput.Text} );;
SaveData( LocalTweetsToPost; "LocalTweetsToPost" )
);;
Reset( NewTweetTextInput );;
If( Connection.Connected;
ClearCollect( LocalTweets; Twitter.SearchTweet( "PowerApps"; {maxResults: 100} ) );;
Set( statusText; "Online data" );
LoadData( LocalTweets; "LocalTweets"; true );;
Set( statusText; "Local data" )
);;
SaveData( LocalTweets; "LocalTweets" );;
LoadData( LocalTweetsToPost; "LocalTweetsToPost"; true );; // added line
Esta fórmula determina si el dispositivo está en línea:
Si el dispositivo está en línea, envía el tweet inmediatamente.
Si el dispositivo está desconectado, captura el tweet en un LocalTweetsToPost colección y lo guarda en el
dispositivo.
A continuación, la fórmula restablece el texto en el cuadro de entrada de texto.
Paso 7: Busque nuevos tweets
1. En el lado derecho del botón, agregue un temporizador control.
If( Connection.Connected;
ForAll( LocalTweetsToPost; Twitter.Tweet( ""; {tweetText: tweetText} ) );;
Clear( LocalTweetsToPost );;
ClearCollect( LocalTweets; Twitter.SearchTweet( "PowerApps"; {maxResults: 10} ) );;
SaveData( LocalTweets; "LocalTweets" );;
)
Esta fórmula determina si el dispositivo está en línea. Si es así, la aplicación envía los tweets todos los elementos
de la LocalTweetsToPost colección y, a continuación, borra la colección.
Probar la aplicación
1. Abra la aplicación en un dispositivo móvil que está conectado a Internet.
Tweets existentes aparecen en la galería y se muestra el estado conectado.
2. Desconectar el dispositivo de Internet mediante la habilitación del modo avión del dispositivo y
deshabilitación de wi-fi.
La etiqueta de estado muestra que la aplicación está Offline.
3. Mientras el dispositivo está sin conexión, escribir un tweet que incluya PowerAppsy, a continuación,
seleccione el Tweet botón.
El tweet se almacena localmente en el LocalTweetsToPost colección.
4. Volver a conectar el dispositivo a Internet mediante la deshabilitación del modo avión del dispositivo y
habilitar wi-fi.
Dentro de cinco minutos, la aplicación envía el tweet, que aparece en la galería.
Esperamos que este artículo le haya proporcionado una idea de las funcionalidades que tiene PowerApps para la
creación de aplicaciones sin conexión. Como siempre, proporcione sus comentarios en nuestro foro y comparta
sus ejemplos de aplicaciones sin conexión en el Blog de la Comunidad de PowerApps.
Proporcionar a los clientes una versión de prueba de
las aplicaciones de lienzo en AppSource
08/10/2019 • 8 minutes to read
¿Es un apasionado de la compilación de aplicaciones de lienzo en PowerApps? ¿Quiere compartir una aplicación
de lienzo con los clientes? AppSource.com admite soluciones de versión de prueba de PowerApps como una
manera de compartir aplicaciones con los clientes y generar clientes potenciales para su empresa.
Importe estas dos tablas en PowerApps mediante la opción Agregar datos estáticos a la aplicación.
Ahora dispone de las tablas como orígenes de datos en la aplicación.
La fórmula borra ambas colecciones y, a continuación, recopila los datos de cada tabla en la colección adecuada:
Llame a esta fórmula en alguna parte de la aplicación para cargar los datos.
Para ver todas las colecciones de la aplicación, vaya a Archivo > Colecciones.
Para más información, consulte Crear y actualizar una colección en la aplicación.
Ahora, si desea tener acceso al campo Title, use SiteInspectorCollect.Title en la fórmula.
Paso 3: Agregar, actualizar y eliminar datos en la aplicación
Ha visto cómo leer datos directamente y desde una colección; ahora, vamos a mostrarle cómo agregar, actualizar
y eliminar datos de una colección:
Para agregar una fila a una colección, use Collect( DataSource, Item, ... ):
Collect( SiteInspectorCollect;
{
ID: Value( Max( SiteInspectorCollect; ID ) + 1 );
Title: TitleText.Text;
SubTitle: SubTitleText.Text;
Description: DescriptionText.Text
}
)
Para actualizar una fila de una colección, use UpdateIf( DataSource, Condition1, ChangeRecord1 [,
Condition2, ChangeRecord2, ...] ):
UpdateIf( SiteInspectorCollect;
ID = record.ID;
{
Title: TitleEditText.Text;
SubTitle: SubTitleEditText.Text;
Description: DescriptionEditText.Text
}
)
Para eliminar una fila de una colección, use RemoveIf( DataSource, Condition [, ...] ):
NOTE
Las colecciones contienen datos solo mientras se ejecuta la aplicación; los cambios se descartan cuando se cierra la
aplicación.
En resumen, puede crear una versión de la aplicación con datos insertados, que simula la experiencia de la
aplicación con conexión a datos externos. Después de insertar los datos, estará listo para publicar la aplicación
como una solución de versión de prueba en AppSource.com.
IMPORTANT
Esta característica está todavía experimental y está deshabilitado de forma predeterminada. Para obtener más información,
consulte características experimentales y de vista previa.
Los componentes son bloques de creación reutilizables para las aplicaciones de lienzo para que los creadores de
aplicaciones pueden crear controles personalizados para usarlos en una aplicación o entre aplicaciones.
Características avanzadas, como las propiedades personalizadas, habilitar funciones complejas de componentes.
Este artículo presentan los conceptos de componente y algunos ejemplos.
Los componentes son útiles en la creación de aplicaciones más grandes que tienen patrones de control similar. Si
actualiza una definición de componente, todas las instancias de la aplicación reflejan los cambios. También puede
mejorar el rendimiento mediante el uso de uno o más componentes ya no copiar y pegar controles, que duplica la
sobrecarga. Los componentes también facilita el desarrollo en colaboración y normaliza la apariencia y
funcionamiento de una organización.
Requisito previo
Abra el configuración de la aplicación pantalla, seleccione configuración avanzaday habilitar la
característica, así como asegurarse de que representación de aplicación mejorada también está habilitada.
Lienzo de componente
Puede crear un componente de la componentes menú en el insertar pestaña o, como el siguiente gráfico se
muestra, en la barra de navegación izquierdo. Esta lista muestra los componentes que se definen en la aplicación,
ordenada por hora de creación.
Independientemente del enfoque que se adopte, aparecerá un lienzo vacío, donde puede agregar controles como
parte de la definición del componente. Si edita un componente en el lienzo, deberá actualizar las instancias del
mismo componente en otras pantallas de la aplicación y otras aplicaciones.
Si selecciona una pantalla, puede seleccionar un componente de la lista de componentes existentes en la barra de
navegación izquierda o la componentes menú en el insertar ficha. Cuando se selecciona un componente, inserte
una instancia de ese componente en la pantalla, como insertar un control.
Ámbito
Piense en un componente como un cuadro negro encapsulado con propiedades como la interfaz. No se puede
obtener acceso a los controles en el componente desde fuera del componente, y no puede hacer referencia a nada
fuera el componente desde dentro del componente. Si lo intenta, se producirá un error. Restricciones de ámbito de
mantener el contrato de datos de un componente simple y coherente y ayuda a habilitar las actualizaciones de
definición de componente sin problemas, especialmente en las aplicaciones. Puede actualizar el contrato de datos
del componente mediante la creación de una o varias propiedades personalizadas.
Variables
Componentes no son compatibles con el UpdateContext funcionan, pero puede crear y actualizar las variables
en un componente mediante el uso de la establecer función. El ámbito de estas variables se limita al componente,
pero se pueden acceder a ellas desde fuera del componente mediante el aprovechamiento de las propiedades de
salida personalizado.
Importación y exportación
Para importar uno o más componentes de una aplicación a otro, seleccione importar componentes en la lista
desplegable de componentes. Un cuadro de diálogo enumera todas las aplicaciones que contienen los
componentes que tienen permiso para editar. Seleccione una aplicación y, a continuación, seleccione importar
para importar la versión publicada más reciente de todos los componentes en esa aplicación. Después de
importar al menos un componente, puede editar su copia y eliminar cualquiera que no necesita.
Si exporta un componente, cree un archivo local que se puede importar a otra aplicación. Si la aplicación contiene
una versión modificada del mismo componente, se le pedirá que decida si desea reemplazar la versión modificada
o cancelar la importación.
Propiedades personalizadas
Un componente puede recibir valores de entrada y emitir los datos si crea una o varias propiedades
personalizadas. Estos escenarios son avanzados y tendrá que comprender las fórmulas y contratos vinculantes.
Una propiedad de entrada es el modo en que un componente recibe los datos que se usará en el componente.
Propiedades de entrada aparecen en la propiedades ficha del panel derecho, si se selecciona una instancia del
componente. Puede configurar las propiedades de entrada con expresiones o fórmulas, tal como configurar las
propiedades estándar en otros controles. Otros controles disponen de las propiedades de entrada, como el
predeterminado propiedad de un entrada de texto control.
Propiedades de salida pueden emitir el estado de datos o un componente. Por ejemplo, el seleccionados
propiedad en un galería control es una propiedad de salida. Cuando se crea una propiedad de salida, puede
determinar qué otros controles pueden consultar el estado del componente.
Aún más en este tutorial explica estos conceptos.
3. Al mantener el mouse sobre el componente nuevo, seleccione el botón de puntos suspensivos (...),
seleccione cambiar el nombre dey, a continuación, escriba o pegue MenuComponent.
4. En el panel derecho, establezca el ancho del componente 150 y su alto 250y, a continuación, seleccione
nueva propiedad personalizada.
5. En el nombre para mostrar, nombre de la propiedad, y descripción cuadros, escriba o pegue
elementos.
Cuando se especifica un nombre de propiedad, no incluya espacios porque hará referencia al componente
con este nombre al escribir una fórmula (por ejemplo, ComponentName.PropertyName).
El nombre para mostrar aparece en la propiedades ficha del panel derecho, si selecciona el componente.
Un nombre para mostrar descriptivo le y otros fabricantes comprender el propósito de esta propiedad. El
descripción aparece en una información sobre herramientas si sitúa sobre el nombre para mostrar de esta
propiedad en el propiedades ficha.
6. En el tipo de datos lista, seleccione tablay, a continuación, seleccione crear.
El elementos propiedad está establecida en un valor predeterminado según el tipo de datos que ha
especificado, pero puede establecerlo en un valor que se adapte a sus necesidades. Si especifica un tipo de
datos de tabla o registro, es posible que desee cambiar el valor de la elementos propiedad para que
coincida con el esquema de datos que desea que el componente de entrada. En este caso, va a cambiar a
una lista de cadenas.
Puede establecer el valor de propiedad en la barra de fórmulas si selecciona el nombre de la propiedad en
el propiedades ficha del panel derecho.
Como el gráfico se muestra, también puede editar el valor de propiedad en el avanzadas ficha del panel
derecho.
7. Establezca el componente elementos propiedad en esta fórmula:
Table({Item:"SampleText"})
MenuComponent.Items
De este modo, el elementos propiedad de la galería control lee y depende de la elementos propiedad del
componente de entrada.
10. Establecer el galería del control BorderThickness propiedad 1 y su Tamañodeplantilla propiedad 50.
11. En la plantilla de la galería control, agregue un etiqueta control.
A continuación, deberá agregar el componente a una pantalla y especificar una tabla de cadenas para el
componente mostrar.
1. En la barra de navegación izquierdo, seleccione la lista de pantallas y, a continuación, seleccione la pantalla
predeterminada.
Esta instancia es similar a este gráfico, pero puede personalizar el texto y otras propiedades de cada
instancia.
Hasta ahora, ha creado un componente y agregarlo a una aplicación. A continuación, creará una propiedad de
salida que refleja el elemento que el usuario selecciona en el menú.
1. Abra la lista de componentes y, a continuación, seleccione MenuComponent.
2. En el panel derecho, seleccione el propiedades pestaña y, a continuación, seleccione nueva propiedad
personalizada.
3. En el nombre para mostrar, nombre de la propiedad, y descripción cuadros, escriba o pegue
seleccionados.
4. En tipo de propiedad, seleccione saliday, a continuación, seleccione crear.
5. En el avanzadas pestaña, establezca el valor de la seleccionados propiedad en esta expresión, ajuste el
número en el nombre de la Galería si es necesario:
Gallery1.Selected.Item
MenuComponent_1.Selected
Limitaciones conocidas
Cuando se redactó este documento, los orígenes de datos no se guardan con los componentes, por lo que se
deshabilitan los formularios y las tablas de datos.
PowerApps no admite colecciones de componentes.
No se puede insertar un componente en una galería, un formulario o una tarjeta de datos.
Una instancia de un componente principal es un local maestro y ámbito de la aplicación. Si cambia una
instancia de patrón, solo las copias del componente dentro de la aplicación reflejará el cambio. Copias en otras
aplicaciones seguirá siendo el mismo, a menos que vuelva a importar la biblioteca de componentes. Todas las
instancias maestras en esas aplicaciones se detectarán automáticamente y actualizadas.
No se puede empaquetar archivos multimedia al importar un componente.
Fórmulas de comportamiento para componentes
29/10/2019 • 4 minutes to read
IMPORTANT
Esta característica sigue siendo experimental y está deshabilitada de forma predeterminada. Para obtener más información,
vea características experimentales y de vista previa.
Especifique una o varias fórmulas de comportamiento que se ejecuten cuando un evento desencadene un cambio
en instancias de componente. Por ejemplo, establezca la propiedad onreset de un componente en una o varias
fórmulas que realicen la inicialización, borren la entrada y restablezcan los valores cuando la función de
restablecimiento se ejecute en las instancias del componente.
OnReset
Con un componente maestro seleccionado, seleccione onreset en la lista desplegable de propiedades (en el lado
izquierdo de la barra de fórmulas) y, a continuación, escriba una o varias fórmulas.
Para probar RESET, configure un control para restablecer el componente. Por ejemplo, establezca la propiedad
alseleccionar de un botón en esta fórmula: RESET(ComponentName).
Ejemplo: restablecer temporizador
En este componente selector de hora, se usan dos variables para mostrar la hora _selectedHour y _selectedMinute.
Cuando el selector se restablece, estas variables se deben restablecer a un valor predeterminado, por ejemplo,
12:12. La propiedad onreset del componente tiene la siguiente fórmula: set (_selectedHour); Set
(_selectedMinute)
Para desencadenar el restablecimiento, vaya a una pantalla e inserte una instancia del componente. Agregue un
botón y configure alseleccionar del botón para llamar a RESET (TimerComponent_instance) para desencadenar
onreset.
IMPORTANT
Se trata de una característica de vista previa.
Las vistas previas de características no se han diseñado para un uso de producción y pueden tener una funcionalidad
restringida. Estas características están disponibles antes del lanzamiento oficial para que los clientes puedan tener un
acceso anticipado y proporcionar comentarios.
El diseño de una aplicación controlada por modelos es un enfoque centrado en los componentes para el
desarrollo de la aplicación. Para el diseño de aplicaciones controladas por modelos no se requiere código y las
aplicaciones que crea pueden ser simples o muy complejas. A diferencia del desarrollo de aplicaciones de lienzo,
donde el diseñador tiene control total sobre el diseño de la aplicación, con las aplicaciones controladas por
modelos, la mayoría del diseño lo determina el usuario y viene determinado en gran medida por los
componentes que agrega a la aplicación.
El diseño de las aplicaciones controladas por modelos proporciona las siguientes ventajas:
Entornos de diseño enriquecidos no de código orientados a los componentes
Crear aplicaciones complejas que responden adecuadamente con una IU similar en una variedad de
dispositivos de escritorio a móvil
Amplia capacidad de diseño
Su aplicación se puede distribuir como una solución
Pasos siguientes
Crear la primera aplicación controlada por modelos
Conocer los componentes de las aplicaciones basadas en modelos
Aplicaciones controladas por modelos de ejemplo
25/11/2019 • 3 minutes to read • Edit Online
En powerapps.com, use una aplicación de ejemplo para explorar posibilidades de diseño y para descubrir
conceptos que puede aplicar cuando se desarrolla sus propias aplicaciones. Cada aplicación de ejemplo usa datos
ficticios para mostrar un escenario del mundo real.
Asegúrese de comprobar la documentación específica de cada aplicación de ejemplo para obtener más detalles.
5. Desplácese a Configuración/Soluciones.
6. Seleccione la solución para la aplicación que se va a eliminar y haga clic Eliminar.
También puede acceder a la lista de soluciones haciendo clic en Avanzadas en el portal de creadores y eliminando
todo lo que hay en la dirección URL después de .dynamics.com/
IMPORTANT
No elimine otras soluciones del sistema a menos que tenga en cuenta su repercusión.
El diseño de una aplicación controlada por modelos es un enfoque centrado en los componentes para el desarrollo
de la aplicación. En este tema, simplificará el modo de crear una aplicación controlada por modelos usando una de
las entidades estándar que esté disponible en el entorno de PowerApps.
TIP
Para obtener todos sobre las aplicaciones controladas por modelos, empiece aquí: Comprender los componentes de
aplicaciones controladas por modelos.
IMPORTANT
Si el modo de diseño Controlado por modelos no está disponible, puede que tenga que Crear un entorno.
2. En el diseñador del mapa del sitio, seleccione Nueva subárea, en el panel derecho seleccione la pestaña
Propiedades y, a continuación, seleccione las siguientes propiedades.
Tipo: Entidad
Entidad: Cuenta
3. Seleccione Guardar y cerrar.
4. En el lienzo del diseñador de aplicaciones, seleccione Formularios y, en el panel derecho, bajo el grupo
Formularios principales, seleccione el formulario Cuenta.
5. En el lienzo del diseñador de aplicaciones, seleccione Vistas y, a continuación, seleccione las vistas Cuentas
activas, Todas las cuentas y Mis cuentas activas.
6. En el lienzo del diseñador de aplicaciones, seleccione Gráficos y seleccione el gráfico Cuentas por sector.
7. En la barra de herramientas del diseñador de aplicaciones, seleccione Guardar.
Publicar la aplicación
En la barra de herramientas del diseñador de aplicaciones, seleccione Publicar.
Después de que publique la aplicación, la podrá ejecutar o compartir con otros.
Pasos siguientes
En este tema, creó una aplicación controlada por modelos simple.
Para ver cómo quedará la aplicación cuando la ejecute, consulte Ejecutar una aplicación controlada por
modelos en un dispositivo móvil.
Para obtener más información sobre cómo compartir la aplicación, consulte Compartir una aplicación
controlada por modelos.
Para ver una introducción y para obtener todos los detalles sobre cómo crear aplicaciones controladas por
modelos, consulte: Comprender los componentes de aplicaciones controladas por modelos.
Conocer los componentes de las aplicaciones
basadas en modelos
25/11/2019 • 9 minutes to read • Edit Online
Una aplicación controlada por modelos bien diseñada se compone de varios componentes que selecciona usando
el diseñador para crear la apariencia y funcionalidades de la aplicación terminada. Los componentes y
propiedades de componentes que los diseñadores usan para crear una aplicación son los metadatos.
Para conocer cómo cada uno de estos componentes se relaciona con el diseño de la aplicación, se separan aquí
en las categorías de datos, IU, lógica y visualización.
Datos
Estos componentes determinan en qué datos se basará la aplicación y qué diseñador se utiliza para crear o editar
el componente.
Campo Conjunto de opciones Este es un tipo especial de campo, que Diseñador de conjunto de opciones de
proporciona al usuario un conjunto de PowerApps
opciones predeterminadas. Cada
opción tiene un valor y una etiqueta
del número. Cuando se agrega a un
formulario, este campo muestra un
control para que el usuario pueda
seleccionar una opción. Hay dos tipos
de conjuntos de opciones; conjuntos de
opciones, donde el usuario solo puede
seleccionar una opción y conjuntos de
opciones de selección múltiple, que
permiten más de una selección.
IU
Estos componentes determinan cómo interactúan los usuarios con la aplicación.
Mapa del sitio Especifica la navegación para su Diseñador del mapa del sitio
aplicación.
Flujo de proceso de negocio Proceso en línea que guía a los Diseñador de flujos de proceso de
usuarios a través de un proceso de negocio
negocio estándar. Por ejemplo, use un
proceso de negocio si desea que todo
el mundo administre las solicitudes de
servicio al cliente de la misma forma, o
para requerir que el personal obtenga
aprobación para una factura antes de
enviar un pedido.
Flujo de trabajo Los flujos de trabajo automatizan los Diseñador de flujos de trabajo
procesos de negocio sin una interfaz de
usuario. Los diseñadores usan flujos de
trabajo para iniciar tareas de
automatización que no requieren
ninguna interacción del usuario.
Regla de negocio Se usa para aplicar lógica de reglas o de Diseñador de reglas de negocio
recomendación a un formulario, por
ejemplo, para establecer los requisitos
de campo, ocultar campos o validar
datos. Los diseñadores de aplicaciones
usan una interfaz básica para
implementar y mantener reglas de
evolución rápida y de uso general.
Visualizaciones
Determina qué tipo de visualizaciones y de creación de informes tendrá disponible la aplicación.
COMPONENTE DESCRIPCIÓN DISEÑADOR
Temas relacionados
Validar y publicar una aplicación controlada por modelos
Compartir su aplicación controlada por modelos
Definir datos para su aplicación controlada por
modelos
25/11/2019 • 2 minutes to read • Edit Online
Los datos para su aplicación controlada por modelos se define en Common Data Service.
Puede definir los datos de la aplicación mediante los siguientes componentes: entidad, campo y relación.
Para obtener más información acerca de cómo trabajar con estos componentes en Common Data Service para
definir datos para su aplicación controlada por modelos, consulte los temas siguientes en la sección de Common
Data Service:
COMPONENTE TEMA
Paso siguiente
Usar el diseñador de aplicaciones para crear una aplicación
Propiedades de campos comunes de aplicaciones
controladas por modelos
25/11/2019 • 5 minutes to read • Edit Online
Los campos de un formulario muestran controles que los usuarios utilizan para ver o modificar datos de un
registro de entidad. Los campos pueden formatearse para ocupar hasta cuatro columnas en una sección.
Puede acceder a Propiedades comunes de los campos en el explorador de soluciones. En Componentes,
expanda Entidades, expanda la entidad que desea y luego seleccione Formularios. En la lista de formularios,
abra el formulario de tipo Principal. A continuación, haga doble clic en uno de los campos para ver las
propiedades comunes de los campos.
En la siguiente tabla se describen las propiedades que tienen todos los campos. Determinados tipos de campos
tienen propiedades especiales. Se describen en Propiedades de campos especiales.
Detalles Nombre para mostrar, Nombre y Estos campos de solo lectura son de
Descripción referencia. Haga clic en el botón Editar
para acceder cómodamente a la
definición del campo si desea editarla.
Pasos siguientes
Utilizar el formulario Principal y sus componentes
Información general sobre propiedades de campos
especiales de aplicaciones controladas por modelos
25/11/2019 • 6 minutes to read • Edit Online
Todos los campos tienen las propiedades enumeradas en Propiedades comunes de los campos, pero
determinados campos tienen propiedades adicionales, como este campo de derecho que se puede abrir desde el
formulario principal de la entidad de caso.
Filtrado de registros relacionados Mostrar solo los registros donde Si esta característica está habilitada, los
registros que se muestran cuando los
usuarios buscan un registro tendrán
SECCIÓN PROPIEDAD DESCRIPCIÓN
filtros adicionales aplicados. Esto ayuda
a realizar búsquedas más relevantes al
establecer el valor de búsqueda.
N:1 1:N Sí
N:1 N:1 Sí
N:1 N:N Sí
1:N 1:N Sí
RELACIÓN DE LA PRIMERA LISTA RELACIÓN DE LA SEGUNDA LISTA ¿ESTÁ DISPONIBLE?
1:N N:1 No
1:N N:N No
N:N 1:N Sí
N:N N:1 No
N:N N:N No
Pasos siguientes
Utilizar el formulario Principal y sus componentes
Traducir texto localizable para aplicaciones
controladas por modelos
25/11/2019 • 9 minutes to read • Edit Online
Si ha personalizado texto de entidad o campo, como etiquetas de campos o valores de lista desplegable, puede
ofrecer a los usuarios de su entorno que no trabajan con la versión del idioma base del entorno texto
personalizado en sus idiomas preferidos.
El proceso consta de los siguientes pasos:
1. Habilitar otros idiomas para el entorno
2. Exportar el texto localizable
3. Obtener el texto localizable traducido
4. Importar el texto localizado
IMPORTANT
Habilitar cada idioma puede llevar varios minutos. Durante este tiempo, puede que otros usuarios del entorno no puedan
usar la aplicación. Debe habilitar los idiomas en el momento en que menos molestias ocasione a los usuarios.
TIP
Mientras habilita los idiomas, anote los valores de LCID usados para cada idioma. Este valor representará el idioma en los
datos exportados del texto localizable. Los códigos de idioma son identificadores de configuración regional de cuatro o cinco
dígitos. Los valores de identificadores de configuración regional válidos pueden encontrarse en el gráfico de identificadores de
configuración regional (LCID).
La exportación de etiquetas personalizadas para la traducción puede tardar varios minutos. No haga clic en el
vínculo de exportación de nuevo hasta que la primera exportación haya finalizado. ¿Está seguro de que desea
exportar ahora?
TIP
A menos que normalmente abra archivos XML con Excel, puede que sea más fácil abrir Excel y, después, abrir el archivo
pegando la ruta de acceso al archivo CrmTranslations.xml extraído.
IMPORTANT
Asegúrese de no cambiar el formato del archivo. Si guarda el archivo en otro formato, no podrá volver a importarlo.
NOTE
Si ha cambiado el nombre para mostrar o la descripción de cualquier entidad estándar o campo de la entidad, las cadenas
localizadas seguirán reflejando las traducciones del valor original. Estas deberían localizarse para reflejar el nuevo valor.
La pestaña Cadenas para mostrar contiene el texto que se muestra para otros elementos de la IU, como
comandos de la cinta de opciones, mensajes de error y etiquetas del formulario.
Actualizar el texto localizable en el idioma base
Si cambia el nombre para mostrar para cualquier entidad o campo de la entidad que está incluido en algún
mensaje especial, puede actualizar la información en la pestaña Cadenas para mostrar para usar el nombre
personalizado.
TIP
Aunque la IU expuesta para editar mensajes de entidad del sistema incluye muchas referencias a los nombres de entidad, no
los incluye todos. Mediante esta técnica puede encontrar más. Más información: Editar mensajes de entidad del sistema
Por ejemplo, si cambia el nombre para mostrar de la entidad Cuenta a Compañía, busque en la columna de idioma
base en Cadenas para mostrar las coincidencias siguientes: account , accounts , Account y Accounts y, a
continuación realice las sustituciones correspondientes en company , companies , Company y Companies ,
respectivamente.
IMPORTANT
No haga una búsqueda/sustitución general en el archivo para ello. Debe prestar atención para que el texto coincidente haga
referencia a los nombres que ha cambiado.
Seleccione el archivo que contiene el texto traducido comprimido y, a continuación, seleccione Importar.
Una vez importado el texto traducido, debe publicar todas las personalizaciones para ver los cambios en sus
aplicaciones;
Herramientas de la Comunidad
Easy Translator es una herramienta desarrollada por la comunidad de XrmToolbox. Use Easy Translator para
exportar e importar traducciones con información contextual.
NOTE
Las herramientas de la comunidad no se admiten en Microsoft. Si tiene alguna duda relacionada con la herramienta, póngase
en contacto con el editor. Más información: XrmToolBox.
Pasos siguientes
Opciones regionales y de idioma para la organización
Editar mensajes de entidades del sistema
Diseñar aplicaciones controladas por modelos
usando el diseñador de aplicaciones
25/11/2019 • 3 minutes to read • Edit Online
Con PowerApps, las aplicaciones controladas por modelos están formadas por componentes como entidades,
paneles, formularios, vistas, gráficos y procesos de negocio.
El diseñador de la aplicación ayuda a reunir todos estos componentes rápidamente. Su estructura de información
basada en ventanas y la interfaz simplificada hacen que el proceso de generar una aplicación sea mucho más fácil,
y puede crear aplicaciones que son específicas de las funciones y los roles de negocio sin necesidad de escribir
código.
Cada aplicación que cree puede tener su propio mapa del sitio con el diseñador de mapas del sitio integrado y
fácil de usar. Solo tiene que arrastrar y colocar áreas, grupos, y subáreas al lienzo. Los componentes que
seleccione en el mapa del sitio también se agregan como entidades en el diseñador de la aplicación.
Puede agregar o quitar entidades que necesite, así como agregar otros componentes.
Una vez que ha terminado de agregar componentes, puede validar la aplicación para comprobar si le falta
agregar componentes necesarios, agregarlos y, a continuación publicar la aplicación para los usuarios.
La siguiente tabla muestra los pasos que dará para crear una aplicación.
Defina la navegación para una Crear un mapa del sitio para una
aplicación mediante el diseñador del aplicación
mapa del sitio.
Microsoft Edge Sí
Internet Explorer 11 Sí Sí
Internet Explorer 11 Sí
Modern
Internet Explorer 10 Sí
Internet Explorer 10 Sí
Modern
Mozilla Firefox Sí Sí Sí
Google Chrome Sí Sí Sí
Apple Safari Sí
Pasos siguientes
Crear la primera aplicación controlada por modelos desde cero
Crear o editar una aplicación controlada por
modelos utilizando el diseñador de aplicaciones
25/11/2019 • 6 minutes to read • Edit Online
En este tema aprenderá los aspectos básicos de cómo crear y editar una aplicación controlada por modelos
usando el diseñador de aplicaciones basado en mosaicos.
Requisitos previos
Compruebe los requisitos siguientes antes de empezar a crear una aplicación:
Un entorno de PowerApps. Más información: Crear un entorno
Rol de seguridad de administrador del sistema o de personalizador del sistema. Más información: Acerca de los
roles de seguridad predefinidos
IMPORTANT
“Si el modo de diseño Controlado por modelos no está disponible, puede que tenga que Crear un entorno.
NOTE
El prefijo del editor es el texto que se agrega a cualquier entidad o campo creado para una solución que tiene
este editor.
NOTE
Al seleccionar Solución predeterminada cuando se agrega un mapa del sitio, los componentes que están
asociados con ese mapa del sitio se agregan automáticamente a la aplicación.
Elija una página de bienvenida: Esta opción permite elegir entre los recursos web disponibles en
su organización. Las páginas de bienvenida que cree pueden contener información útil para los
usuarios, como vínculos a vídeos, instrucciones de actualización o información de introducción. La
página de bienvenida aparece cuando se abre una aplicación. Los usuarios pueden seleccionar No
mostrar esta pantalla de bienvenida la próxima vez en la página de inicio de sesión para
deshabilitar la página para que no aparezca la próxima vez que se inicie la aplicación. Tenga en
cuenta que la opción No mostrar esta pantalla de bienvenida la próxima vez es una
configuración de usuario y no se puede controlar por los administradores o proveedores de la
aplicación. Para obtener más información acerca de cómo crear un recurso web, por ejemplo, un
archivo HTML que pueda usar como página de bienvenida, consulte: Crear y editar recursos web
para extender la aplicación web.
Para editar propiedades de la aplicación más adelante, vaya a la pestaña Propiedades en el diseñador de
aplicaciones. Más información: Administrar propiedades de aplicaciones
NOTE
No puede cambiar el nombre único y el sufijo de la dirección URL de la aplicación en la pestaña Propiedades.
3. Seleccione Listo o—si seleccionó Usar una solución existente para crear la aplicación—seleccione
Siguiente para elegir entre las soluciones disponibles que se importaron en la organización.
Una nueva aplicación se crea y se muestra en estado de borrador. Verá el lienzo del diseñador de
aplicaciones para la nueva aplicación. Desde ahí puede agregar componentes, como entidades, vistas y
paneles para que su aplicación resulte útil. Más información: Agregar o editar componentes de la aplicación
IMPORTANT
“Si el modo de diseño Controlado por modelos no está disponible, puede que tenga que Crear un entorno.
En este tutorial realizará varias tareas del mapa del sitio, como crear un nuevo mapa del sitio y agregar un área, un
grupo y una subárea.
Los mapas del sitio definen la navegación para su aplicación. Cree un mapa del sitio para su aplicación con
facilidad usando el diseñador de mapas del sitio basado en ventanas. Use el diseñador para arrastrar componentes
al lienzo de diseño, realizar una vista previa del trabajo y publicar inmediatamente el mapa del sitio. Los
personalizadores del sistema o cualquier usuario con los privilegios necesarios pueden crear rápidamente mapas
del sitio para aplicaciones.
El diseñador de mapas del sitio además le permite definir los títulos de áreas, subáreas o grupos en los idiomas
admitidos por el entorno.
Un mapa del sitio predeterminado está disponible. Puede editar este mapa del sitio o configurar mapas del sitio
para nuevas aplicaciones mediante el diseñador de mapas del sitio. El diseñador de mapas del sitio está integrado
con el diseñador de aplicaciones.
Requisitos previos
Compruebe que tiene el rol de seguridad de Administrador del sistema o de Personalizador del sistema o
permisos equivalentes. Concretamente, cualquier usuario con los siguientes privilegios también puede crear
aplicaciones:
Privilegios de Crear, Leer y Escribir para la entidad Aplicación
Privilegios de Leer y Escribir para la entidad Personalizaciones
Privilegios de Leer para la entidad Solución
Puede ver o establecer estos privilegios en la pestaña Personalización de un rol de seguridad.
NOTE
Al seleccionar Abrir el diseñador del mapa del sitio desde el lienzo del diseñador de aplicaciones, se crea
automáticamente un nuevo mapa del sitio (si no hay un mapa del sitio existente) y da al mapa del sitio el mismo
nombre que el nombre de la aplicación y el mismo nombre único que el nombre único de la aplicación.
2. Agregar un área al mapa del sitio.
3. Agregar un grupo al mapa del sitio.
4. Agregar un subárea a un grupo en el mapa del sitio.
5. Seleccione Guardar.
NOTE
El nuevo mapa del sitio se asocia con la aplicación al volver al diseñador de la aplicación y hacer clic en seleccionar
Guardar. Cuando se configura un mapa del sitio, configurado aparece en la ventana del mapa del sitio; de lo
contrario no se ha configurado aparece en la ventana. Si abre el diseñador del mapa del sitio desde el diseñador de
la aplicación y configura un nuevo mapa del sitio, pero cierra el explorador antes de asociar el mapa del sitio a la
aplicación, el mapa del sitio se asociará automáticamente con la aplicación la próxima vez que abra el diseñador de la
aplicación, en función del nombre único de la aplicación.
6. Seleccione Publish.
Clientes compatibles
En la tabla siguiente se explican los clientes compatibles para diferentes mapas del sitio.
Mapa del sitio para la aplicación personalizada de Dynamics Aplicación web heredada y Dynamics 365 for Outlook
365
Aplicaciones basada en modelos (Sales, Centro de ventas, Aplicaciones web heredadas e interfaz unificada
Customer Service, Centro de servicio al cliente, Field Service,
Project Service Automation)
Pasos siguientes
Creación o edición de aplicaciones
Agregar o editar componentes de la aplicación
Tutorial: Agregar o editar componentes de
aplicación controlada por modelos en el diseñador
de aplicaciones de PowerApps
25/11/2019 • 16 minutes to read • Edit Online
En este tutorial aprenderá a agregar y quitar componentes de una aplicación controlada por modelos.
Una aplicación controlada por modelos se compone de distintos componentes. Puede añadir dos tipos de
componentes a una aplicación: artefactos y activos de la entidad. En el contexto del diseñador de la aplicación, las
entidades, panel, y los flujos de proceso de negocio son artefactos de una aplicación. Los activos de entidad
constan de formularios, vistas, gráficos y paneles.
El diseñador de la aplicación hace referencia a metadatos existentes en la solución predeterminada. Puede usarlo
para crear componentes como formularios, vistas, gráficos y paneles.
En el lado derecho están las pestañas que usará para seleccionar componentes y establecer propiedades de
componentes.
En el lienzo, verá las áreas para el mapa del sitio, flujo de proceso de negocio, panel y entidades. Cuando
selecciona un panel o un flujo de proceso de negocio o configura un mapa del sitio, el diseñador de la aplicación
agrega automáticamente las entidades que se usan en estos componentes al lienzo. Después de que las
entidades estén en su lugar, todo lo que necesita hacer es seleccionar cada entidad y agregar los activos de
entidad necesarios, tales como formularios, vistas y gráficos.
También puede usar Buscar en el lienzo para buscar componentes en el lienzo. Si selecciona Buscar en el
lienzo, se abre una nueva pestaña de búsqueda a la derecha de las pestañas en el panel derecho.
2. En el cuadro Buscar, escriba algunas palabras clave para el nombre del panel que busca.
La lista del panel se filtrará para que aparezcan los resultados que coincidan con las palabras claves.
3. Si desea que los usuarios sólo usen paneles seleccionados, active la casilla para los paneles que desee
agregar. Se puede elegir entre los siguientes tipos de paneles:
Paneles clásicos aparecen en la aplicación web y la aplicación Interfaz unificada.
Paneles interactivos solo aparecen en la aplicación Interfaz unificada. Si ha seleccionado el tipo de
cliente de la aplicación como aplicaciones web, la opción Paneles interactivos no se mostrará.
Esos paneles se agregarán a la ventana Panel en el lienzo del diseñador de la aplicación. La ventana Panel
también muestra el número de paneles agregados a la aplicación. Si no selecciona un panel, Todos
aparecerán en vez del recuento de paneles y estarán disponibles todos los paneles para los usuarios
cuando usen la aplicación.
Todas las entidades que utiliza el panel también se agregan al área Vista de la entidad. Por ejemplo, si
agrega el panel Administrador de servicio de atención al cliente, las entidades Caso, Derechos y Cola se
agregan al área Vista de entidad. Para cada entidad, también se agregan las ventanas de sus activos. Puede
usar estas ventanas para agregar formularios, vistas y gráficos. Más información:Agregar o editar
componentes en el diseñador de aplicaciones de PowerApps
4. Si el panel que desea no existe en la solución predeterminada, cree un panel seleccionando Crear nuevo
en la pestaña Componentes en el lado derecho del lienzo.
NOTE
Como alternativa, puede realizar una de las acciones siguientes:
TIP
Para todas las entidades seleccionadas para la aplicación, un botón Más opciones (...) aparece en la lista
Seleccionar entidades en la pestaña Componentes. Para agregar todos los activos para la entidad seleccionada,
seleccione Más opciones (...) y seleccione Agregar todos los activos.
2. Si desea que los usuarios de la aplicación sólo usen formularios seleccionados, active las casillas para los
formularios que desee agregar. Los formularios definen cómo los usuarios verán e interactuarán con los
datos en la aplicación.
La ventana del formulario de la entidad seleccionada mostrará el número de formularios agregados.
Por ejemplo, si no selecciona ningún formulario para una entidad, todos los formularios de la entidad se
mostrarán a los usuarios finales mientras utilizan la aplicación. Este comportamiento es similar para los
gráficos y vistas también, si no se selecciona ninguna vista o gráfico. Esto ayuda a crear aplicaciones
rápidamente cuando necesita trabajar con todos los componentes disponibles; no es necesario seleccionar
cada componente durante el diseño de la aplicación.
Si no se selecciona ningún panel o flujo de procesos de negocio, todos los paneles y los flujos de procesos
negocio estarán disponibles para los usuarios mientras utilizan la aplicación.
NOTE
Para que la aplicación se ejecute, cada entidad que agrega debe tener al menos un formulario activo. Si ha
seleccionado múltiples formularios, el primer formulario activo que aparece en la solución predeterminada se usará
cuando los usuarios ejecuten la aplicación.
3. Si desea agregar un nuevo formulario que no esté disponible en la lista, seleccione Crear nuevo.
En la lista desplegable, seleccione el tipo de formulario que desea crear.
NOTE
La lista desplegable solo está disponible cuando está agregando formularios. No está disponible para las vistas y
gráficos.
NOTE
Cuando agrega una vista, puede hacer referencia solo a las vistas públicas que se muestran en el nodo Vistas en el
explorador de soluciones.
4. Seleccione la flecha abajo flecha abajo para expandir la ventana y ver una lista de formularios que se
han agregado.
5. Repita estos pasos para agregar vistas y los gráficos de la entidad a la aplicación.
6. Seleccione Guardar.
Para quitar un panel o flujo de proceso de negocio, seleccione la flecha abajo para expandir la
ventana y, después, seleccione el panel o el flujo de proceso de negocio que desea quitar. En la barra de
comandos, seleccione Quitar.
Otra forma de quitar un panel o flujo de proceso de negocio es desactivando la casilla correspondiente en
la pestaña componentes.
Para editar o quitar una entidad, seleccione la ventana de la entidad y, luego, en la barra de comandos,
seleccione Editar o Quitar. Cuando edita una entidad, el explorador de soluciones se abre, donde puede
realizar cambios a la entidad.
Como alternativa, para quitar un componente, seleccione el panel, el flujo de proceso de negocio o la
ventana de la entidad. En la pestaña Componentes, desactive las casillas de los artefactos que desea
quitar del diseñador.
NOTE
Cuando realice cambios a una entidad—como cambiar un nombre para mostrar o una descripción de la entidad—,
los cambios no aparecerán en el diseñador de la aplicación a menos que los cambios se publiquen en el explorador
de soluciones.
Seleccione el botón diseñador del mapa de sitio correspondiente en el formulario, la vista, el gráfico o
el panel.
Quitar activos de la entidad
1. Seleccione la flecha abajo para expandir la ventana de formularios, vistas, gráficos o paneles.
2. Seleccione el formulario, vista, gráfico o panel que desea editar.
3. En la barra de comandos, seleccione Quitar.
También puede seleccionar la ventana de los formularios, vistas, gráficos o paneles y, después, en la pestaña
componentes, desactivar las casillas de los activos que quiere quitar del diseñador.
Pasos siguientes
Crear un mapa del sitio para una aplicación
Con aplicaciones de la interfaz unificada, para que la entidad de equipo esté disponible en una búsqueda se debe
agregar a la aplicación. Por ejemplo, los registros de contacto tienen la capacidad de asignarse a un usuario o
equipo.
Sin embargo, si la entidad de usuario se incluye en la aplicación pero no la entidad de equipo, solo los registros de
usuario aparecerán en una búsqueda.
Con PowerApps, los formularios ofrecen la interfaz de usuario que emplean los usuarios para interactuar con
los datos que necesitan para realizar su trabajo. Es importante que los formularios que usan los usuarios estén
diseñados para permitirles buscar o especificar la información que necesitan de manera eficaz.
En la solución predeterminada o en una solución no administrada, se pueden crear nuevos formularios o
editar los formularios existentes de todas las entidades que admitan personalizaciones de formularios. En una
solución no administrada, se pueden editar las propiedades administradas para una entidad personalizada no
administrada creada para la solución. Si está viendo una solución administrada, aquí no se pueden crear
nuevos formularios ni editar los formularios existentes entre las entidades. Sin embargo, si las propiedades
administradas de una entidad de la solución administrada están establecidas para admitir personalizaciones,
se pueden agregar o editar formularios a esa entidad.
Tipos de formularios
Hay diferentes tipos de formularios y cada tipo tiene una funcionalidad o uso específico. Más información:
Tipo de formularios en PowerApps.
Objetivo Métrica del objetivo Importar archivo de Producto de la Producto del pedido
origen factura
El nuevo diseñador de formularios controlados por modelos proporciona una moderna experiencia de creación
de WYSIWYG al trabajar con formularios controlados por modelos. Incluye varias mejoras que no están
disponibles en el diseñador de formularios basado en modelos clásico.
El diseñador muestra una vista previa de tiempo real de WYSIWYG (solo interfaz unificada) mientras crea un
formulario. Los cambios en el formulario se reflejan inmediatamente en la vista previa que le habilita para ver
exactamente cómo aparecerá el formulario para los usuarios cuando se publique. Un panel de propiedad siempre
disponible convierte la tarea común de actualizar propiedades en algo rápido y sencillo. Las actualizaciones de las
propiedades también se reflejan inmediatamente en la vista previa de formularios. El panel de campos con
funcionalidad de buscar y filtrar ayuda a los creadores a encontrar y agregar rápidamente campos al formulario.
El panel de componentes facilita detectar y usar componentes y proporciona una rica experiencia de usuario final.
La vista de árbol ayuda a visualizar la jerarquía de campos y componentes del formulario y a buscar y seleccionar
rápidamente un campo o un componente específico en el formulario.
La interfaz del diseñador de formularios tiene las siguientes áreas:
Barra de comandos – Muestra las acciones disponibles como guardar, publicar, deshacer, y rehacer.
Paneles – Muestra paneles con funciones específicas
Panel Campos para agregar campos a un formulario.
Panel Componentes para agregar componentes a un formulario.
Vista de árbol para ver la jerarquía de componentes en el formulario y seleccionarlos.
Vista previa de formularios – Muestra una vista previa en tiempo real del formulario tal como aparecerá para
los usuarios cuando se publique.
El panel de la propiedad – Muestra propiedades del elemento seleccionado y también permite realizar
cambios.
Interruptor de tamaño de vista previa - Cambia el tamaño de la vista previa de formularios ayudando a ver
cómo el formulario aparecerá en diferentes tamaños de pantalla.
Control deslizante de zoom - Acerca o aleja la vista previa de formularios ayudándole a ver más
detalladamente.
Ajuste al ancho - Acción rápida para ajustar la vista previa del formulario al ancho disponible.
Vea también
Crear, editar o configurar formularios usando el diseñador de formularios
Agregar, configurar, mover o eliminar campos de un formulario
Agregar, configurar, mover o eliminar componentes de un formulario
Agregar, configurar, mover o eliminar secciones de un formulario
Agregar, configurar, mover o eliminar pestañas de un formulario
Configurar propiedades de encabezado en el diseñador de formularios
Agregar y configurar un componente de subcuadrícula en un formulario
Agregar y configurar un componente de vista rápida en un formulario
Configurar un componente de búsqueda en un formulario
Use la vista de árbol del diseñador de formularios
Crear y editar campos
Crear, editar o configurar formularios usando el
diseñador de formularios
25/11/2019 • 5 minutes to read • Edit Online
Use el nuevo diseñador de formularios para crear, editar o configurar formularios para aplicaciones controladas
por formularios.
IMPORTANT
El nuevo diseñador de formularios controlado por modelos actualmente no permite editar los formularios de tarjeta. Más
información: Tipos de formularios
Crear un formulario
1. Inicie sesión en PowerApps.
2. En el panel de navegación izquierdo, expanda Datos, y seleccione Entidades.
3. Seleccione una endidad como la entidad de contable y luego seleccione la pestaña Formularios.
4. Seleccione Agregar formulario y, a continuación, seleccione una de las opciones siguientes
Formulario principal
El contenido del nuevo formulario se rellena mediante la definición de formulario principal existente.
Si existen varios formularios principales, el formulario superior de la lista del orden de formularios se
usa para completar el nuevo formulario.
Formulario de creación rápida
Formulario de vista rápida
5. Cuando termine de realizar cambios en el formulario, seleccione Guardar para guardar el formulario, o
seleccione Publicar si desea guardar y hacer que los cambios sean visibles para los usuarios de la aplicación.
Editar un formulario
1. Inicie sesión en PowerApps.
2. En el panel de navegación izquierdo, expanda Datos, y seleccione Entidades.
3. Seleccione una endidad como la entidad de contable y luego seleccione la pestaña Formularios.
4. Seleccione el nombre del formulario que desea editar.
También puede seleccionar la fila de un formulario y, en la barra de comandos, seleccionar Editar
formulario
Otra alternativa consiste en seleccionar ... junto al nombre del formulario y, en el menú, seleccionar
Editar formulario.
5. Cuando termine de realizar cambios en el formulario, seleccione Guardar para guardar el formulario, o
seleccione Publicar si desea guardar y hacer que los cambios sean visibles para los usuarios de la aplicación.
Configurar un formulario
Éstas son las propiedades disponibles para configurar un formulario cuando crea o edita un formulario usando
el diseñador de formularios.
NOMBRE DESCRIPCIÓN
Ancho máx. Establezca el ancho máximo (en píxeles) para limitar el ancho
del formulario. El valor predeterminado es 1900.
Vea también
Información general del diseñador de formularios controlado por modelos
Agregar, configurar, mover o eliminar campos de un formulario
Agregar, configurar, mover o eliminar componentes de un formulario
Agregar, configurar, mover o eliminar secciones de un formulario
Agregar, configurar, mover o eliminar pestañas de un formulario
Configurar propiedades de encabezado en el diseñador de formularios
Agregar y configurar un componente de subcuadrícula en un formulario
Agregar y configurar un componente de vista rápida en un formulario
Configurar un componente de búsqueda en un formulario
Use la vista de árbol del diseñador de formularios
Crear y editar campos
Agregar, configurar, mover o eliminar campos de un
formulario
25/11/2019 • 16 minutes to read • Edit Online
1. Abra el diseñador de formularios para crear o editar un formulario. Más información: Crear un formulario o
Editar un formulario
2. En la barra de comandos, seleccione Agregar campo, o en el panel izquierdo, seleccione Campos. El panel
Campos está abierto de forma predeterminada cuando se abre el diseñador de formularios.
3. En el panel Campos, busque, filtre o desplácese para encontrar el campo que desee agregar. Si no encuentra
un campo, puede que esté ya en el formulario. Desactive Mostrar solo los campos no usados para ver todos
los campos, incluidos los ya agregados al formulario.
4. En el panel Campos, seleccione un campo y arrástrelo sobre la vista previa de formulario. Cuando arrastra el
campo sobre la vista previa de formulario verá destinos de colocación en los que podrá agregar el campo.
5. Coloque el campo en la ubicación que desea. Tenga en cuenta lo siguiente:
Los campos se pueden colocar antes o después de cualquier componente o campo existente.
Los campos también se pueden colocar en el área vacía de una sección. En este caso, el campo se
agregará en un espacio disponible para distribuir uniformemente campos y componentes a través de
las columnas de sección.
Si mantiene el puntero sobre un encabezado de pestaña cuando arrastra un campo cambiará la pestaña
actualmente seleccionada, permitiendo que agregue el campo a una pestaña diferente.
6. Repita los pasos 3-5 anteriores si desea agregar más campos.
7. En la barra de comandos, seleccione Guardar para guardar el formulario o seleccione Publicar si desea
guardar y hacer que los cambios sean visibles para los usuarios.
Agregar campos a un formulario utilizando selección
1. Abra el diseñador de formularios para crear o editar un formulario. Más información: Crear un formulario o
Editar un formulario
2. En la vista previa de formulario, seleccione otro campo o sección existente. Tenga en cuenta lo siguiente:
Cuando selecciona un campo existente, el nuevo campo se agrega después del campo existente.
Cuando seleccione una sección, el nuevo campo se agrega en un espacio disponible para distribuir
uniformemente campos a través de las columnas de sección.
3. En la barra de comandos, seleccione Agregar campo, o en el panel izquierdo, seleccione Campos. El panel
Campos está abierto de forma predeterminada cuando se abre el diseñador de formularios.
4. En el panel Campos, busque, filtre o desplácese para encontrar el campo que desee agregar. Si no encuentra
un campo, puede que esté ya en el formulario. Desactive Mostrar solo los campos no usados para ver todos
los campos, incluidos los ya agregados al formulario.
5. En el panel Campos , seleccione un campo para agregarlo al formulario. Como alternativa, seleccione ... junto
al campo que desee y, a continuación seleccione Agregar a la sección seleccionada.
6. Repita los pasos 2-5 anteriores si desea agregar más campos.
7. En la barra de comandos, seleccione Guardar para guardar el formulario o seleccione Publicar si desea
guardar y hacer que los cambios sean visibles para los usuarios.
Opciones de visualización Nombre del campo Nombre del campo. Esto procede de las
propiedades de campo de la entidad y
es de solo lectura.
NOTE
Si elimina un campo por error, en la barra de comandos seleccione Deshacer para revertir el formulario al estado
anterior.
No puede eliminar un campo que esté bloqueado o sea obligatorio y no se encuentra presente en ninguna otra
parte del formulario.
NOTE
Algunos tipos de campos no están disponibles cuando crea un campo desde el diseñador de formularios. Si un
tipo de campo que desea no está disponible, puede seguir los pasos que se describen en Crear y editar campos
para Common Data Service usando el portal de PowerApps
6. Seleccione Hecho para crear un nuevo campo de la entidad. El campo aparece en el panel Campos.
7. Si desea agregar el campo recién creado al formulario, siga los pasos indicados en la sección Agregar
campos a un formulario.
NOTE
Cuando un campo se crea en la entidad, no está limitado al formulario actual y estará disponible para su uso en
otros sitios.
Vea también
Información general del diseñador de formularios controlado por modelos
Crear, editar o configurar formularios usando el diseñador de formularios
Agregar, configurar, mover o eliminar componentes de un formulario
Agregar, configurar, mover o eliminar secciones de un formulario
Agregar, configurar, mover o eliminar pestañas de un formulario
Configurar propiedades de encabezado en el diseñador de formularios
Agregar y configurar un componente de subcuadrícula en un formulario
Agregar y configurar un componente de vista rápida en un formulario
Configurar un componente de búsqueda en un formulario
Use la vista de árbol del diseñador de formularios
Crear y editar campos
Agregar, configurar, mover o eliminar componentes
de un formulario
25/11/2019 • 14 minutes to read • Edit Online
Gracias al diseñador de formularios, los fabrticantes pueden agregar y configurar fácilmente componentes
populares, como subcuadrícula, vista rápida, control de mando esférico, control deslizante lineal, etc.
1. Abra el diseñador de formularios para crear o editar un formulario. Más información: Crear un formulario
o Editar un formulario
2. En la barra de comandos, seleccione Agregar componente, o en el panel izquierdo, seleccione
Componentes para ver una lista de componentes disponibles. También puede mantener el mouse sobre
un componente de la lista para ver una imagen de vista previa, la descripción, y otros detalles de ese
componente.
3. En el panel Componentes, busque o desplácese para buscar el componente que desea agregar y a
continuación selecciónelo.
4. Arrastre y coloque el componente sobre la vista previa de formularios. Cuando arrastra el componente
sobre la vista previa de formulario verá destinos de colocación en los que podrá agregar el componente.
Tenga en cuenta lo siguiente:
Los componentes se pueden colocar antes o después de cualquier componente o campo existente.
Los componentes también se pueden colocar en el área vacía de una sección. En este caso, el
componente se agregará en un espacio disponible para distribuir uniformemente campos y
componentes a través de las columnas de sección.
Si mantiene el puntero sobre un encabezado de sección cuando arrastra un componente cambiará la
pestaña actualmente seleccionada, permitiendo que agregue el componente a una pestaña diferente.
Cuando quita el componente, en la mayoría de los casos, verá un diálogo para establecer las
propiedades del componente. Asegúrese de que haya configurado todas las propiedades necesarias
del componente.
5. En el cuadro de diálogo para establecer las propiedades del componente, en Mostrar el componente en,
las opciones Web, Móvil y Tableta se seleccionan de forma predeterminada para garantizar que se usa
el componente cuando el formulario se muestra en la web, aplicación móvil, y aplicación de tableta. En
función de sus requisitos puede borrar algunas de estas opciones para restringir el uso del componente.
Seleccione Listo.
6. Repita los pasos 3-5 anteriores para agregar más componentes.
7. En la barra de comandos, seleccione Guardar para guardar el formulario o seleccione Publicar si desea
guardar y hacer que los cambios sean visibles para los usuarios.
Agregue componentes a un campo en el formulario
1. Abra el diseñador de formularios para crear o editar un formulario. Más información: Crear un formulario o
Editar un formulario
2. En la vista previa de formulario, seleccione un campo existente.
3. En el panel de propiedad, en el área Componentes, seleccione + Componente.
4. El diálogo Agregar componente muestra una lista de componentes que estén disponibles para el tipo de
campo actual. Puede mantener el mouse sobre un componente de la lista para ver una imagen de vista
previa, la descripción, y otros detalles de ese componente.
5. En el diálogo Agregar componente, busque o desplácese para buscar el componente que desea agregar y a
continuación selecciónelo. En la mayoría de los casos, aparece un diálogo para poder establecer las
propiedades del componente. Asegúrese de que haya configurado todas las propiedades necesarias del
componente.
6. En el cuadro de diálogo para establecer las propiedades del componente, en Mostrar el componente en, las
opciones Web, Móvil y Tableta se seleccionan de forma predeterminada para garantizar que se usa el
componente cuando el formulario se muestra en la web, aplicación móvil, y aplicación de tableta. En función
de sus requisitos puede borrar algunas de estas opciones para restringir el uso del componente. Seleccione
Listo.
7. Repita los pasos 2-6 anteriores si desea agregar más componentes al mismo campo o a otro.
8. En la barra de comandos, seleccione Guardar para guardar el formulario o seleccione Publicar si desea
guardar y hacer que los cambios sean visibles para los usuarios.
NOTE
Si elimina un componente por error, en la barra de comandos seleccione Deshacer para revertir el formulario al
estado anterior.
No puede eliminar un componente que esté bloqueado ni usar un campo obligatorio que no se encuentra
presente en ninguna otra parte del formulario.
Vea también
Información general del diseñador de formularios controlado por modelos
Crear, editar o configurar formularios usando el diseñador de formularios
Agregar, configurar, mover o eliminar campos de un formulario
Agregar, configurar, mover o eliminar secciones de un formulario
Agregar, configurar, mover o eliminar pestañas de un formulario
Configurar propiedades de encabezado en el diseñador de formularios
Agregar y configurar un componente de subcuadrícula en un formulario
Agregar y configurar un componente de vista rápida en un formulario
Configurar un componente de búsqueda en un formulario
Use la vista de árbol del diseñador de formularios
Crear y editar campos
Agregar, configurar, mover o eliminar secciones de
un formulario
25/11/2019 • 12 minutes to read • Edit Online
NOTE
Las secciones solo se pueden agregar a formularios principales y formularios de la vista rápida. Más información: Tipos de
formularios
NOTE
Cuando se agregan o mueven secciones utilizando arrastrar y colocar tenga en cuenta que la vista previa de formularios es
dinámica y puede representar columnas de varias pestañas como apiladas. Para asegurarse de que la sección que se agrega
o mueve está en la columna de la pestaña correcta, colóquela o péguela anclada a otra sección que ya esté en esa columna
de pestaña.
1. Abra el diseñador de formularios para crear o editar un formulario. Más información: Crear un formulario o
Editar un formulario
2. En la barra de comandos, seleccione Agregar componente, o en el panel izquierdo, seleccione
Componentes.
3. En el panel Componente, seleccione un componente de sección y arrástrelo sobre la vista previa de
formulario. Cuando arrastra la sección sobre la vista previa de formulario verá destinos de colocación en los
que podrá agregar la sección.
4. Coloque la sección en la ubicación que desea. Tenga en cuenta lo siguiente:
Las secciones se pueden colocar antes o después de cualquier sección existente.
Las secciones también se pueden colocar en el área vacía de una pestaña. En este caso la sección se
agregará en un espacio disponible para distribuir uniformemente secciones a lo largo de las columnas
de la pestaña.
Si mantiene el puntero sobre un encabezado de sección cuando arrastra un campo cambiará la pestaña
actualmente seleccionada, permitiendo que agregue la sección a una pestaña diferente.
5. Repita los pasos 3-4 anteriores si desea agregar más secciones.
6. En la barra de comandos, seleccione Guardar para guardar el formulario o seleccione Publicar si desea
guardar y hacer que los cambios sean visibles para los usuarios.
Agregar secciones a un formulario utilizando selección
1. Abra el diseñador de formularios para crear o editar un formulario. Más información: Crear un formulario o
Editar un formulario
2. En la vista previa de formulario, seleccione otra sección o pestaña existente. Observe lo siguiente:
Cuando selecciona un campo existente, la nueva sección se agrega después de la sección existente.
Cuando seleccione una pestaña, la nueva sección se agrega en un espacio disponible para distribuir
uniformemente secciones a lo largo de las columnas de pestaña.
3. En la barra de comandos, seleccione Agregar componente, o en el panel izquierdo, seleccione
Componentes.
4. En el panel Componentes, seleccione un componente de sección para agregarlo al formulario. Como
alternativa, seleccione ... junto al componente de selección que desee y, a continuación seleccione Agregar a
la pestaña seleccionada.
5. Repita los pasos 2-4 anteriores si desea agregar más secciones.
6. En la barra de comandos, seleccione Guardar para guardar el formulario o seleccione Publicar si desea
guardar y hacer que los cambios sean visibles para los usuarios.
Opciones de visualización Bloquear sección Bloquee esta sección para evitar que se
elimine.
NOTE
Las secciones solo se pueden eliminar en formularios principales y formularios de la vista rápida. Más
información: Tipos de formularios
Si elimina una sección por error, en la barra de comandos seleccione Deshacer para revertir el formulario al
estado anterior.
No puede eliminar una sección que contenga un campo obligatorio o bloqueado.
No puede eliminar una sección que esté bloqueada.
Una pestaña necesita tener al menos una sección en cada columna de pestaña. Si elimina la última sección
restante de una columna de pestaña se agregará automáticamente una nueva sección.
Vea también
Información general del diseñador de formularios controlado por modelos
Crear, editar o configurar formularios usando el diseñador de formularios
Agregar, configurar, mover o eliminar campos de un formulario
Agregar, configurar, mover o eliminar componentes de un formulario
Agregar, configurar, mover o eliminar pestañas de un formulario
Configurar propiedades de encabezado en el diseñador de formularios
Agregar y configurar un componente de subcuadrícula en un formulario
Agregar y configurar un componente de vista rápida en un formulario
Configurar un componente de búsqueda en un formulario
Use la vista de árbol del diseñador de formularios
Crear y editar campos
Agregar, configurar, mover o eliminar pestañas de
un formulario
25/11/2019 • 11 minutes to read • Edit Online
NOTE
Solo se pueden agregar pestañas a los formularios principales. Más información: Tipos de formularios
Opciones de visualización Expandir esta ficha de forma El estado de la ficha puede alternar
predeterminada entre expandida o contraída usando
scripts de formulario o cuando los
usuarios seleccionan la etiqueta. Elija el
estado predeterminado para la
pestaña.
Vea también
Información general del diseñador de formularios controlado por modelos
Crear, editar o configurar formularios usando el diseñador de formularios
Agregar, configurar, mover o eliminar campos de un formulario
Agregar, configurar, mover o eliminar componentes de un formulario
Agregar, configurar, mover o eliminar secciones de un formulario
Configurar propiedades de encabezado en el diseñador de formularios
Agregar y configurar un componente de subcuadrícula en un formulario
Agregar y configurar un componente de vista rápida en un formulario
Configurar un componente de búsqueda en un formulario
Use la vista de árbol del diseñador de formularios
Crear y editar campos
Configurar propiedades de encabezado en el
diseñador de formularios
25/11/2019 • 20 minutes to read • Edit Online
Los creadores pueden controlar la densidad de encabezados de formularios basados en modelo para que se
ajusten a las necesidades de cualquiera que utilice el formulario.
NOTE
Esta característica solo está disponible con entornos suscritos a las características de la versión de vista previa temprana de
2019 oleada 2. Más información: Adhesión temprana a la segunda oleada de la versión 2019
NOTE
Utilice el nuevo de diseñador de formularios. El diseñador de formularios clásico no ofrece la posibilidad de configurar la
densidad de encabezado.
NOTE
Utilice el nuevo de diseñador de formularios. El diseñador de formularios clásico no ofrece la posibilidad de mostrar u
ocultar el control flotante de encabezado.
La visibilidad del control flotante de encabezado solo se pueden controlar cuando se usa un encabezado de formulario
de alta densidad. Cuando se utiliza un encabezado de baja densidad, el control flotante de encabezado se muestra o se
oculta automáticamente en función del número de campos en el encabezado y el ancho del formulario.
Una imagen de una entidad se mostrará en el encabezado solo si el atributo Imagen principal se define para la
entidad y se habilita la propiedad de formulario Mostrar imagen en el formulario. Más información: Campos de
imagen.
Los programadores pueden especificar una imagen para una entidad mediante el atributo
EntityMetadata.PrimaryImageAttribute.
Vea también
Información general del diseñador de formularios controlado por modelos
Crear, editar o configurar formularios usando el diseñador de formularios
Agregar, configurar, mover o eliminar campos de un formulario
Agregar, configurar, mover o eliminar componentes de un formulario
Agregar, configurar, mover o eliminar secciones de un formulario
Agregar, configurar, mover o eliminar pestañas de un formulario
Agregar y configurar un componente de subcuadrícula en un formulario
Agregar y configurar un componente de vista rápida en un formulario
Configurar un componente de búsqueda en un formulario
Use la vista de árbol del diseñador de formularios
Crear y editar campos
Agregar y configurar un componente de
subcuadrícula en un formulario
25/11/2019 • 5 minutes to read • Edit Online
Un formulario que muestra los detalles de un registro puede usar un componente de subcuadrícula para
mostrar la lista de registros relacionados o no relacionadas en un formato tabular. Los fabricantes pueden
agregar y configurar un componente de subcuadrícula con el diseñador de formularios.
Opciones de visualización Permitir que los usuarios cambien Cuando está seleccionada, los usuarios
la vista de la aplicación pueden cambiar de la
Vista predeterminada a otra vista de
la entidad seleccionada en la propiedad
Entidad.
Opciones de visualización Mostrar todas las vistas Cuando está seleccionada, los usuarios
de la aplicación pueden cambiar de la
Vista predeterminada a todas las
demás vistas de la entidad
seleccionada en la propiedad Entidad.
Vea también
Información general del diseñador de formularios controlado por modelos
Crear, editar o configurar formularios usando el diseñador de formularios
Agregar, configurar, mover o eliminar campos de un formulario
Agregar, configurar, mover o eliminar componentes de un formulario
Agregar, configurar, mover o eliminar secciones de un formulario
Agregar, configurar, mover o eliminar pestañas de un formulario
Configurar propiedades de encabezado en el diseñador de formularios
Agregar y configurar un componente de vista rápida en un formulario
Configurar un componente de búsqueda en un formulario
Use la vista de árbol del diseñador de formularios
Crear y editar campos
Agregar y configurar un componente de vista
rápida en un formulario
25/11/2019 • 3 minutes to read • Edit Online
Un formulario principal que muestra los detalles de un registro puede usar un componente de vista rápida para
mostrar detalles de solo lectura de un registro relacionado (consulta). Los datos mostrados por el componente
de vista rápida están definidos por el formulario de vista rápida de la entidad relacionada. Cuando no hay
ningún registro relacionado, como una consulta, el componente de vista rápida se oculta automáticamente.
Opciones de visualización Formularios de vista rápida Una lista de formularios de vista rápida
que se muestran a los usuarios de la
aplicación.
Vea también
Información general del diseñador de formularios controlado por modelos
Crear, editar o configurar formularios usando el diseñador de formularios
Agregar, configurar, mover o eliminar campos de un formulario
Agregar, configurar, mover o eliminar componentes de un formulario
Agregar, configurar, mover o eliminar secciones de un formulario
Agregar, configurar, mover o eliminar pestañas de un formulario
Configurar propiedades de encabezado en el diseñador de formularios
Agregar y configurar un componente de subcuadrícula en un formulario
Configurar un componente de búsqueda en un formulario
Use la vista de árbol del diseñador de formularios
Crear y editar campos
Configurar un componente de búsqueda en un
formulario
25/11/2019 • 3 minutes to read • Edit Online
Un campo de búsqueda se puede usar para vincular con un registro en otra entidad. Se utiliza un componente
de búsqueda automáticamente cuando un campo de búsqueda se agrega a un formulario. Los fabricantes
pueden configurar un componente de búsqueda con el diseñador de formularios.
Opciones de visualización Permitir que los usuarios cambien Cuando está seleccionada, los usuarios
la vista de la aplicación pueden cambiar de la
Vista predeterminada a otra vista de
la entidad seleccionada en la propiedad
Entidad.
Opciones de visualización Mostrar todas las vistas Cuando está seleccionada, los usuarios
de la aplicación pueden cambiar de la
Vista predeterminada a todas las
demás vistas de la entidad seleccionada
en la propiedad Entidad.
Vea también
Información general del diseñador de formularios controlado por modelos
Crear, editar o configurar formularios usando el diseñador de formularios
Agregar, configurar, mover o eliminar campos de un formulario
Agregar, configurar, mover o eliminar componentes de un formulario
Agregar, configurar, mover o eliminar secciones de un formulario
Agregar, configurar, mover o eliminar pestañas de un formulario
Configurar propiedades de encabezado en el diseñador de formularios
Agregar y configurar un componente de subcuadrícula en un formulario
Agregar y configurar un componente de vista rápida en un formulario
Use la vista de árbol del diseñador de formularios
Crear y editar campos
Use la vista de árbol del diseñador de formularios
25/11/2019 • 2 minutes to read • Edit Online
El panel Vista de árbol muestra una jerarquía visual de componentes del formulario. Los iconos en la ayuda
de la vista de árbol ayudan a identificar rápidamente el tipo de campo o de componente.
También puede usar la vista de árbol para seleccionar los campos y los componentes presentes en el
formulario. La vista de árbol resulta útil cuando desea seleccionar elementos ocultos que no aparecen en la
vista previa de formulario.
Puede expandir o contraer nodos en la vista de árbol para ver u ocultar los elementos de un nodo. Cuando
selecciona un elemento de la vista de árbol, pasa destacarse en la vista previa del formulario, y el panel de
propiedades muestra las propiedades del elemento.
Vea también
Información general del diseñador de formularios controlado por modelos
Crear, editar o configurar formularios usando el diseñador de formularios
Agregar, configurar, mover o eliminar campos de un formulario
Agregar, configurar, mover o eliminar componentes de un formulario
Agregar, configurar, mover o eliminar secciones de un formulario
Agregar, configurar, mover o eliminar pestañas de un formulario
Configurar propiedades de encabezado en el diseñador de formularios
Agregar y configurar un componente de subcuadrícula en un formulario
Agregar y configurar un componente de vista rápida en un formulario
Configurar un componente de búsqueda en un formulario
Crear y editar campos
Tipo de formularios de aplicaciones controladas por
modelos en PowerApps
25/11/2019 • 2 minutes to read • Edit Online
Hay diferentes tipos de formularios y cada tipo tiene una funcionalidad o uso específico. La siguiente tabla
describe los tipos de formularios disponibles.
Aunque cada tipo de formulario tiene necesidades específicas, cuando trabaje con formularios use el editor de
formularios. Más información: Información general de la interfaz de usuario del editor de formularios
Pasos siguientes
Información general de la interfaz de usuario del editor de formularios
Crear o editar formularios principales de aplicaciones
controladas por modelos
25/11/2019 • 4 minutes to read • Edit Online
En este tema aprenderá a crear o editar un formulario principal para una entidad.
Al crear un nuevo formulario para una entidad, el tipo de formulario es Principal. Cuando se abre el formulario
principal, es idéntico al formulario denominado Información. Puede agregar o editar campos, secciones, pestañas,
navegación y propiedades asociadas al formulario y, a continuación, guardar el formulario.
Cada formulario principal se compone de una o varias pestañas. Cada ficha tiene una o varias secciones. Cada
sección contiene uno o varios campos o IFRAMES. Si desea basar su nuevo formulario en uno existente, puede
clonar un formulario.
Compruebe que tiene el rol de seguridad de Administrador del sistema o de Personalizador del sistema o permisos
equivalentes para realizar esta tarea.
IMPORTANT
“Si el modo de diseño Controlado por modelos no está disponible, puede que tenga que Crear un entorno.
2. Expanda Datos, seleccione Entidades, seleccione la entidad que desee y, a continuación, seleccione la
pestaña Formularios.
3. Para crear un nuevo formulario principal, en la barra de herramientas seleccione Agregar formulario >
Formulario principal.
-O bien - Para editar un formulario principal existente, seleccione cualquiera de los formularios cuyo Tipo
sea Principal.
4. Cambie el diseño del formulario de cualquiera de las siguientes maneras, según corresponda:
Adición de una ficha a un formulario
Adición de secciones a un formulario
Adición de campos a un formulario
Agregar o editar un IFRAME de formulario
Agregar o editar una subcuadrícula en un formulario
Agregar o editar un recurso web de formulario
Adición o edición de la navegación del formulario para las entidades relacionadas
Edición de encabezados y pies de página de formularios
Quitar una pestaña, sección, campo o IFRAME
Habilitar o deshabilitar el Asistente de formulario
5. Edite las propiedades de las partes del formulario según sea necesario:
Edición de propiedades de formularios
Edición de las propiedades de campos de formulario
Edición de las propiedades de ficha
Edición de las propiedades de sección
6. Agregue los scripts de eventos que sea necesario.
7. Determine qué roles de seguridad podrán ver el formulario. Más información: Asignar roles de seguridad a
un formulario
8. *Muestre una vista previa del aspecto que tendrá el formulario principal y cómo funcionan los eventos:
En la ficha Inicio, seleccione Vista previa y, a continuación, seleccione Formulario de creación,
Formulario de actualización o Formulario de sólo lectura.
Para cerrar el formulario Vista previa, en el menú Archivo, seleccione Cerrar.
9. Cuando haya terminado de editar el formulario, seleccione Guardar como. Escriba un nombre para el
formulario y, a continuación, seleccione Aceptar.
10. Cuando haya completado las personalizaciones, publíquelas:
Para publicar las personalizaciones únicamente para el componente que está editando actualmente, en
Componentes, haga clic en la entidad en la que ha estado trabajando, y haga clic en Publicar.
Para publicar personalizaciones de todos los componentes no publicados a la vez, en Componentes,
haga clic en Entidades y, en la barra de comandos, haga clic en Publicar todas las personalizaciones.
Pasos siguientes
Información general de la interfaz de usuario del editor de formularios
Crear o editar formularios de creación rápida de
aplicaciones controladas por modelos para lograr
una experiencia optimizada de entrada de datos
25/11/2019 • 12 minutes to read • Edit Online
Aunque puede crear formularios de creación rápida para entidades de actividad del sistema, a excepción de la
entidad Cita, estas no admiten formularios de creación rápida. Con el lanzamiento de Microsoft Dynamics 365,
versión 9.0, la entidad Cita incluye un formulario de creación rápida para utilizar con la Interfaz unificada.
Actualmente, la opción de deshabilitar el formulario de creación rápida para la entidad Cita no se admite.
Cualquiera de las otras entidades actualizadas y todas las entidades personalizadas se pueden habilitar para
admitir estos formularios seleccionando Permitir creación rápida en la definición de la entidad y creando un
formulario de creación rápida para la entidad.
Puede habilitar entidades de actividad personalizadas para admitir formularios de creación rápida y puede crear
formularios de creación rápida para esas entidades. Sin embargo, el formulario de creación rápida para entidades
de actividad personalizadas no se usará cuando los usuarios seleccionen Crear en la barra de navegación. Estos
formularios de creación rápida se pueden usar solo cuando los usuarios agregan un nuevo registro para un
subcuadrícula que muestra esa entidad de actividad personalizada específica.
IMPORTANT
“Si el modo de diseño Controlado por modelos no está disponible, puede que tenga que Crear un entorno.
2. Expanda Datos, seleccione Entidades, seleccione la entidad que desee y, a continuación, seleccione la
pestaña Formularios.
3. En la barra de herramientas seleccione Agregar formulario > Formulario de creación rápida.
4. En el diseñador de formularios arrastre los campos que desee del Explorador de campos a las secciones
del formulario.
5. Cuando haya terminado, seleccione Guardar.
6. Seleccione Publicar para ver el nuevo formulario en la aplicación.
IMPORTANT
Si el modo de diseño Controlado por modelos no está disponible, puede que tenga que Crear un entorno.
2. Expanda Datos, seleccione Entidades, seleccione la entidad que desee y, a continuación, seleccione la
pestaña Formularios.
3. En la lista de formularios, seleccione uno cuyo Tipo sea Creación rápida.
4. Arrastre los campos que desee del Explorador de campos a las secciones del formulario.
Consulte Configurar controladores de eventos para obtener información sobre la edición de controladores
de eventos de scripts de formularios.
5. Cuando haya terminado, seleccione Guardar.
6. Seleccione Publicar para ver el formulario modificado en la aplicación.
1Las actividades aparecen en los botones globales Crear o + Nuevo cuando se habilita la propiedad Permitir
creación rápida. En este caso, se utiliza el formulario de creación rápida si existe o el formulario principal si no. Si
está deshabilitado Permitir creación rápida, la entrada para la entidad no aparecerá.
Comportamiento de visualización de formulario del cliente web clásico
En la siguiente tabla se indica qué formulario aparece de forma predeterminada cuando la propiedad Permitir
creación rápida está habilitada en el cliente web clásico.
Cita Principal
En este tema aprenderá a crear un formulario de vista rápida y a agregar un control de vista rápida a un
formulario principal.
Un formulario de vista rápida se puede agregar a otro formulario como un control de vista rápida. Proporciona
una plantilla para ver información sobre un registro de entidad relacionada dentro de un formulario de otro
registro de entidad. Esto significa que los usuarios de la aplicación no necesitan navegar a otro registro para ver
la información que necesitan para realizar su trabajo.
Los controles de vista rápida están asociados a un campo de búsqueda que se incluye en un formulario. Si el
valor del campo de búsqueda no está configurado, el control de vista rápida no estará visible. Los datos de los
controles de vista rápida no se pueden editar y formularios de vista rápida no admiten scripts de formularios.
Dado que los formularios de vista rápida se ven mediante un control de vista rápida en un formulario, no
incluyen las áreas de encabezado, pie de página y navegación. Los roles de seguridad no se pueden asignar a
formularios de vista rápida ni se pueden activar o desactivar.
IMPORTANT
“Si el modo de diseño Controlado por modelos no está disponible, puede que tenga que Crear un entorno.
2. Expanda Datos, seleccione Entidades, seleccione la entidad que desee y, a continuación, seleccione la
pestaña Formularios.
3. En la barra de herramientas seleccione Agregar formulario > Formulario de vista rápida.
4. En la barra de herramientas del editor de formularios, seleccione Propiedades del formulario.
5. En el cuadro de diálogo Propiedades del formulario, escriba un Nombre del formulario y una
Descripción para distinguir este formulario de vista rápida de cualquier otro. Seleccione Aceptar para
cerrar el cuadro de diálogo Propiedades del formulario.
6. En el diseñador de formularios arrastre los campos que desee del Explorador de campos a la sección del
formulario.
IMPORTANT
Si agrega un campo y elige Requisito de campo > Requerido por la empresa y después lo guarda, no podrá
eliminar el campo.
NOTE
No puede eliminar un campo que sea Requerido por la empresa. Recibirá este mensaje si intenta eliminar el campo: "El
campo que intenta quitar es necesario para el sistema o la empresa". Si no desea el campo del formulario, debe eliminar el
formulario completo y volver a crearlo.
Cuando edite un formulario de vista rápida, debe publicar los cambios antes de que estén visible en la aplicación.
IMPORTANT
“Si el modo de diseño Controlado por modelos no está disponible, puede que tenga que Crear un entorno.
2. Expanda Datos, seleccione Entidades, seleccione la entidad que desee y, a continuación, seleccione la
pestaña Formularios.
3. Seleccione un formulario cuyo Tipo sea Principal.
4. En el diseñador de formularios seleccione la pestaña Insertar y, a continuación, en la barra de
herramientas seleccione Formulario de vista rápida.
5. En el cuadro de diálogo Propiedades de control de vista rápida, establezca las propiedades del control
de vista rápida, como Nombre, Etiqueta y Formulario de vista rápida. Más información: Propiedades
de control de vista rápida.
6. Seleccione Aceptar para cerrar el cuadro de diálogo Propiedades de control de vista rápida.
7. Seleccione la pestaña Inicio y, a continuación, seleccione Publicar para que el control de vista rápida
aparezca en el formulario.
Pasos siguientes
Crear y diseñar formularios
Crear o editar formularios de creación rápida
Crear un formulario de tarjeta
25/11/2019 • 4 minutes to read • Edit Online
Los formularios de tarjeta se utilizan en vistas para aplicaciones de la interfaz unificada. Los formularios de tarjeta
están diseñados para mostrar información en un formato compacto adecuado para dispositivos móviles. Por
ejemplo, el formulario de tarjeta predeterminado para la vista Mis cuentas activas define la información mostrada
para cada registro de cuenta.
Aunque los formularios de tarjeta se pueden crear y editar igual que otros tipos de formularios, los formularios de
tarjeta se agregan a aplicaciones de forma diferente. En lugar de agregar un formulario como componente de
aplicación, los formularios de tarjeta personalizados se agregan a vistas mediante el control Cuadrícula de solo
lectura.
NOTE
Hay dos controles de cuadrícula de solo lectura. El control de cuadrícula de solo lectura predeterminado que se llama
Cuadrícula de solo lectura (predeterminada) no admite formularios de tarjeta personalizados.
Vea también
Usar controles personalizados para visualizaciones de datos de aplicaciones controladas por modelos
Información general de la interfaz de usuario del
editor de formularios de aplicaciones controladas
por modelos
25/11/2019 • 13 minutes to read • Edit Online
Navegación
Ubicada en la parte izquierda, use el área de navegación para controlar el acceso a las entidades relacionadas o
agregar vínculos a las direcciones URL que deben mostrarse en el panel principal del formulario. Para modificar
la navegación debe seleccionar primero el comando Navegación en el grupo Seleccionar de la ficha Inicio.
Los formularios principales proporcionan opciones de navegación a través de la barra de navegación, pero usan
los mismos datos en el área de navegación para controlar las opciones de navegación que están disponibles. Más
información: Editar navegación
Cuerpo
Ubicada en el centro, use el área del cuerpo para controlar el diseño del formulario. Puede seleccionar y arrastrar
elementos de formulario para colocarlos. Al hacer doble clic en un elemento se abrirán las propiedades del
elemento.
De manera predeterminada, para los formularios principales de Caso, Contacto y Cuenta, la primera sección en
la pestaña Resumen muestra el formulario de cuenta o tarjeta de contacto del tipo Vista rápida. Para las
entidades personalizadas, esta sección no está disponible de forma predeterminada. Puede insertar una sección
nueva y un formulario de vista rápida en ella. El formulario de tarjeta muestra un máximo de cinco campos. Con
la excepción de los campos, no es posible mostrar otros controles en la ventana Azul aunque el formulario de
vista rápida lo contenga.
NOTE
Para mantener el formato de tarjeta (como se muestra en la siguiente imagen), se recomienda no mover el formulario de
vista rápida a ninguna otra sección del formulario.
Pestaña Archivo
Seleccione la pestaña Archivo para agregar o ver las siguientes opciones:
Nueva actividad agrega una nueva actividad
Nuevo registro agrega nuevo registro
Herramientas utiliza opciones como Importar datos, Detección de duplicados y Asistente para eliminación
en masa
Opciones Cambie la configuración de visualización predeterminada para personalizar la solución
predeterminada y administre las plantillas de correo
General
Sincronización
Actividades
Formatos
Plantillas de correo electrónico
Firmas de correo electrónico
Correo electrónico
Privacidad
Idiomas
Ayuda
Cerrar
Pestaña Inicio
La pestaña Inicio muestra los comandos de la tabla siguiente:
- Propiedades de la ficha
- Propiedades de las secciones
- Propiedades comunes de los campos
- Propiedades de campos especiales
- Propiedades de subcuadrícula
- Propiedades del control de vista
rápida
Insertar la ficha
NOTE
No se admiten los componentes siguientes en los formularios principales:
Mapas de Bing
Yammer
Fuentes de actividades
Pasos siguientes
Utilizar el formulario Principal y sus componentes
Propiedades de formularios de aplicaciones
controladas por modelos
25/11/2019 • 5 minutes to read • Edit Online
Asistente de Seleccione la
formulario casilla si desea
habilitar el
asistente de
formularios o
ver el
formulario
ampliado de
forma
predetermina
da.
En los
formularios de
entidades
actualizadas
esto significa
que el valor
del nombre
principal del
registro que
se muestra
actualmente
no aparecerá
en la barra de
navegación
para permitir
la navegación
a las vistas
asociadas.
En formularios
con la
presentación
clásica, las
opciones de
navegación
para elegir las
vistas
asociadas en
el lado
izquierdo del
formulario no
se mostrarán.
PESTAÑA PROPIEDAD DESCRIPCIÓN
Consulte
Habilitar o
deshabilitar
opciones de
entidad para
obtener más
información
acerca de las
opciones de la
entidad.
Presentación Escriba en
píxeles el
ancho
máximo que
desea para el
formulario
aquí.
Se
comprobarán
el nombre y el
tipo de datos,
y el formulario
no se abrirá si
se le
transfieren
parámetros
de cadena de
consulta no
válidos.
Nota: El
nombre no
puede
comenzar con
un guion bajo
() o crm_.
Debe empezar
con caracteres
alfanuméricos
seguidos de
un guion bajo
(_). Por
ejemplo,
parameter_1
o
1_parameter.
El nombre no
puede
contener
guiones (-),
dos puntos (:),
punto y coma
(;), comas (,) o
puntos (.).
PESTAÑA PROPIEDAD DESCRIPCIÓN
Dependencia Campos Cada
s que no son dependiente controlador
de eventos s de eventos
tiene una
propiedad
Campos
dependiente
s similar para
registrar
cualquier
campo que
sea necesario
para el script.
Si alguien
intenta
eliminar los
campos
dependientes,
no podrá
hacerlo.
Algunos
scripts
funcionan en
el formulario
pero no se
configuran en
un
controlador
de eventos.
Los scripts
que se inician
desde la barra
de comandos
no tienen un
lugar donde
los campos
dependientes
puedan
registrarse.
Esta
propiedad de
formulario
proporciona
un lugar para
que los
campos
dependientes
de dichos
scripts
puedan
registrarse.
Pasos siguientes
Utilizar el formulario Principal y sus componentes
Información general de propiedades de
subcuadrícula para formularios principales de
aplicaciones controladas por modelos
25/11/2019 • 11 minutes to read • Edit Online
Puede configurar una subcuadrícula en un formulario para presentar una lista de registros o un gráfico.
Seleccione Solo mostrar gráfico en la ficha Mostrar para mostrar un gráfico en lugar de una lista.
Puede acceder a las Propiedades de subcuadrícula desde el sitio de PowerApps.
1. En el sitio de PowerApps seleccione Controlado por modelos (parte inferior izquierda del panel de
navegación).
2. Expanda Datos, seleccione Entidades, seleccione la entidad que desee y, a continuación, seleccione la
pestaña Formularios.
3. En la lista de formularios, abra el formulario de tipo Principal. Luego en la pestaña Insertar, seleccione
Subcuadrícula para ver propiedades de subcuadrícula.
FICHA PROPIEDAD DESCRIPCIÓN
Si se selecciona Expandir
automáticamente para usar el
espacio disponible, el formulario
permitirá espacio para dos registros y
expandirá el espacio a medida que el
número de registros aumente. Si el
número excede Número de filas, los
usuarios pueden navegar a páginas
adicionales para ver los registros.
En formularios que utilizan la presentación clásica, las acciones realizadas en una subcuadrícula están disponibles
en la cinta de opciones. Los desarrolladores pueden personalizar el comportamiento de estas acciones o agregar
acciones adicionales personalizando la cinta de opciones.
En formularios que utilizan los formularios actualizados, las acciones para las subcuadrículas se colocan cerca de
la subcuadrícula, para que sea más fácil acceder a ellas. Sin embargo, la barra de comandos no permite agregar
acciones personalizadas. Los desarrolladores pueden editar la cinta de opciones para modificar las acciones para
las tres acciones restantes: mostrar la lista, agregar registro y eliminar registro.
Pasos siguientes
Utilizar el formulario Principal y sus componentes
Información general de propiedades de pestaña para
formularios de aplicaciones controladas por modelos
25/11/2019 • 3 minutes to read • Edit Online
En el cuerpo de un formulario, las pestañas proporcionan separación horizontal. Las pestañas tienen una etiqueta
que puede mostrarse. Si se muestra la etiqueta, las pestañas se pueden expandir o contraer para mostrar u ocultar
su contenido eligiendo la etiqueta.
Las pestañas contienen hasta tres columnas y el ancho de cada columna se puede establecer en un porcentaje del
ancho total. Al crear una nueva pestaña, cada columna se rellena previamente con una sección.
Puede acceder a las Propiedades de pestaña desde el sitio de PowerApps.
1. En el sitio de PowerApps seleccione Controlado por modelos (parte inferior izquierda del panel de
navegación).
2. Expanda Datos, seleccione Entidades, seleccione la entidad que desee y, a continuación, seleccione la
pestaña Formularios.
3. En la lista de formularios, abra el formulario de tipo Principal. A continuación, haga doble clic dentro de
una de las pestañas en el lienzo del formulario para ver las propiedades de las pestañas.
La siguiente tabla muestra las propiedades que se pueden definir para las pestañas en el formulario:
FICHA PROPIEDAD DESCRIPCIÓN
Pasos siguientes
Utilizar el formulario Principal y sus componentes
Consideraciones de diseño para formularios
principales de aplicaciones controladas por modelos
25/11/2019 • 6 minutes to read • Edit Online
Los formularios principales son la interfaz de usuario principal donde los usuarios ven y interactúan con los datos.
Los formularios principales proporcionan el rango de opciones más amplio y están disponibles para aplicaciones
controladas por modelos, a excepción de Dynamics 365 for phones.
Uno de los objetivos principales del diseño de formularios principales es que se diseñan una vez y se implementan
en cualquier ubicación. El mismo formulario principal que diseña para una aplicación basada en modelos también
se usa en Dynamics 365 for Outlook y Dynamics 365 para tabletas. La ventaja de este método es que no es
necesario integrar cambios en formularios diferentes. No obstante, existen varios factores importantes a
considerar en el diseño de estos formularios.
Diferencias de presentación
Aunque no es necesario administrar formularios múltiples para cada presentación, debe considerar la forma que
tomarán de las diferencias en la presentación en el formulario principal. Presentaciones de formularios principales
describe las distintas formas en que se puede presentar el formulario principal. Los factores principales a tener en
cuenta son:
Dynamics 365 for tablets no permite agregar recursos web de imagen, HTML o Silverlight a formularios.
El diseño de formularios de Dynamics 365 for tablets se genera automáticamente en función del formulario
principal. No hay ningún editor de formularios especial para formularios de Dynamics 365 for tablets. Debe
comprobar que la presentación de formularios funcione correctamente para los clientes.
Si tiene scripts incompatibles que interactúan con los elementos DOM encontrados en la aplicación web,
dichos scripts no funcionarán en los formularios de Dynamics 365 for tablets porque los mismos elementos
DOM no están disponibles.
Los formularios del panel de lectura de Dynamics 365 for Outlook no permiten el uso de scripts. La
visibilidad de elementos de formulario depende de la configuración predeterminada y no se puede cambiar
en tiempo de ejecución mediante scripts.
El formulario principal se usa en todos los clientes de aplicación basada en modelos Este formulario proporciona
una experiencia de usuario coherente si alguien usa un explorador web, Dynamics 365 para teléfonos, Dynamics
365 para tabletas o Dynamics 365 for Outlook.
Formularios principales
Cualquier formulario principal que exista para una entidad se puede presentar de forma diferente en función de
los factores de la siguiente tabla. Cuando diseñe un formulario principal, considere cómo funciona en cada
presentación distinta.
PRESENTACIÓN DESCRIPCIÓN
Dynamics 365 for tablets Dynamics 365 for tablets muestra el contenido del formulario
principal de una forma optimizada para tabletas.
Dynamics 365 for phones Dynamics 365 for phones muestra el contenido del formulario
principal de una forma optimizada para teléfonos.
Formularios actualizados
Este diagrama representa componentes comunes que se encuentran en formularios de entidad actualizados.
Para las entidades actualizadas, el diseño del formulario funciona con una gran variedad de visualizaciones y
tamaños de ventana. A medida que el ancho de la ventana disminuye, las columnas de la ficha bajan para que
pueda desplazarse y trabajar con ellas en lugar de comprimirse o requerir que se desplaza a la derecha.
La siguiente tabla resume los componentes disponibles en el formulario principal para las entidades actualizadas.
COMPONENTE RESUMEN
Barra de navegación Use los datos del mapa del sitio para proporcionar la
capacidad de pasar a diferentes áreas de la aplicación.
Barra de comandos Use los datos definidos para que las cintas de opciones
ofrezcan comandos relevantes para el registro.
Campos Los cambios muestran controles que los usuarios utilizan para
ver o modificar datos del registro de entidad. Los campos
pueden formatearse para ocupar hasta cuatro columnas en
una sección.
iFrame Marco flotante que configura para mostrar una página web
de otro sitio web. Importante:
Cuando la página mostrada en un iFrame está en otro
dominio, los exploradores aplican un nivel alto de
seguridad. Esto puede complicar los requisitos para
que el contenido de un iFrame interactúe con los
datos del formulario.
No se puede mostrar un formulario de entidad en un
iFrame incrustado en otro formulario de entidad.
Los elementos de formulario se transforman en un diseño panorámico amplio en Dynamics 365 for tablets, donde
los usuarios pueden pasar el dedo por la pantalla para cambiar los elementos visibles en una ventana gráfica. En
Dynamics 365 for phones, los usuarios deslizan la pantalla para ver otra columna, o panel de elementos, y el
control de proceso aparece sobre cada columna.
Elemento de la ventana gráfica
Los siguientes elementos están siempre visibles dentro de la ventana gráfica en el contexto de un formulario:
Barra de navegación
La barra de navegación es una presentación del mapa del sitio optimizada para el funcionamiento táctil. Más
información: Cambiar opciones de navegación
Inicio
El botón de inicio lleva a los usuarios al panel que es la página de inicio para Dynamics 365 for phones y
Dynamics 365 for tablets.
Control de proceso
Si la entidad tiene un proceso de negocio habilitado, aparecerá en la esquina superior derecha junto al control de
búsqueda en Dynamics 365 for tablets, y en la parte superior de la pantalla en Dynamics 365 for phones.
Buscar
Los usuarios pueden pulsar el control de búsqueda para abrir la pantalla para buscar registros.
Barra de comandos
De forma predeterminada, algunos de los comandos que aparecen en la aplicación ejecutándose en un explorador
web no aparecen en las aplicaciones de Dynamics 365 for phones y Dynamics 365 for tablets. De manera similar a
la aplicación web, la barra de comandos es contextual, por lo que los comandos disponibles cambian en función de
lo que se visualice o seleccione. Más información: Cambiar comandos
Elementos de formulario
Los elementos de formulario mostrados se toman del formulario principal y aparecen como una serie de paneles
que los usuarios ven a través de la ventana gráfica.
En Dynamics 365 for tablets el primer panel muestra la información de contacto de las relaciones existentes para
el registro. En Dynamics 365 for phones, el primer panel también muestra campos de encabezado del formulario
sobre las ventanas de relación.
Para los formularios Contacto y Usuario, el elemento muestra una tarjeta de comunicación correspondiente al
registro. La tarjeta de comunicación proporciona botones para iniciar la comunicación con el contacto. Para otras
entidades, aparece una tarjeta de comunicación si hay un formulario de vista rápida Contacto incrustado en el
formulario principal.
Puede mostrar ventanas adicionales de acuerdo con las relaciones de las entidades, pero no es posible
personalizar las ventanas de las siguiente entidades:
ENTIDAD MOSAICOS
Cuenta Propietario
Puede personalizar las ventanas restantes con el editor de formularios. El orden es fijo, pero puede establecer qué
elementos son visibles en el panel de relaciones.
En Dynamics 365 for tablets, el segundo panel comienza con el nombre de la primera pestaña del formulario.
Todos los campos que están incluidos en el encabezado se incluyen; posteriormente, se agrega el contenido de la
primera pestaña. En Dynamics 365 for phones, los encabezados aparecen en la primera columna.
Si hay un flujo de proceso activo para el formulario, la tercera pestaña muestra las tareas de la fase actual del
proceso en Dynamics 365 for tablets. En Dynamics 365 for phones, el control de proceso flota sobre los paneles,
se expande sobre el panel actual del usuario cuando se selecciona, y siempre es visible y permite actuar.
Los paneles restantes del formulario incluyen el contenido de las pestañas del formulario. Las subcuadrículas
encontradas se muestran como un panel diferente.
El formulario de Dynamics 365 for phones y Dynamics 365 for tablets siempre muestra las etiquetas de pestañas
y subcuadrículas. El valor de Mostrar etiqueta en el formulario no se aplica.
NOTE
Para optimizar el rendimiento de los dispositivos móviles, el número de objetos está limitada a 5 pestañas o 75 campos y 10
subcuadrículas.
Los formularios para Dynamics 365 for phones y Dynamics 365 for tablets no admiten lo siguiente:
Mapas de Bing
Yammer
Fuentes de actividades
Temas
Además, las imágenes de la entidad son visibles en las vistas de lista y tarjetas de contacto, pero no dentro del
formulario real.
Varios formularios
Dynamics 365 for phones y Dynamics 365 for tablets admite varios formularios, pero no proporcionan a los
usuarios ningún método para cambiar entre formularios si pueden acceder a más de uno. Los usuarios verán el
primer formulario del pedido de formularios al que tengan acceso.
Por ejemplo, si tiene los siguientes formularios principales para la entidad de oportunidad y ha asignado los
siguientes roles de seguridad a cada uno, verá el pedido de formularios indicado en la tabla siguiente.
Los usuarios con el rol de comercial siempre verán el primer formulario de ventas.
Los usuarios con el rol de jefe de ventas siempre verán el segundo formulario de ventas.
Los usuarios con el rol de vicepresidente de ventas siempre verán el cuarto formulario de ventas.
Formularios clásicos
En el siguiente diagrama se muestran los componentes principales del formulario usados en la presentación
clásica.
Los formularios de entidades actualizadas han heredado muchos componentes de los formularios clásicos,
aunque hay diferencias significativas.
Los formularios que usan la presentación clásica no incluyen la barra de navegación y la cinta de opciones se usa
en lugar de la barra de comandos. Estos formularios no admiten las imágenes de entidad, el control de proceso,
los formularios de vista rápida, el guardado automático ni los mapas de Bing. Los campos del encabezado no se
pueden editar.
El Asistente de formulario se expone para determinadas entidades, como Article .
Pasos siguientes
Creación y diseño de formularios
Controlar el acceso a formularios de aplicaciones
controladas por modelos
25/11/2019 • 9 minutes to read • Edit Online
NOTE
Los formularios de creación rápida, vista rápida y formularios de tarjeta no se pueden asignar a roles de seguridad.
En el editor de formularios o desde la cuadrícula de formularios puede asignar roles de seguridad a un formulario
principal. No obstante, mientras haya solo un formulario para la entidad, no podrá desactivar la opción
Habilitado para reserva en el cuadro de diálogo Asignar roles de seguridad. En este caso, aunque haya
asignado roles de seguridad al formulario, cualquier persona asociada a un rol de seguridad que no incluyó podrá
ver el formulario debido a que está habilitado para reserva.
Después de crear un segundo formulario principal para la entidad, podrá desactivar la opción Habilitado para
reserva para uno de ellos. El sistema siempre garantizará que al menos un formulario esté habilitado para
reserva.
Si tiene más de un formulario principal, puede especificar que un orden de formularios para controlar el
formulario que podrá ver un usuario sea aquel que ve de forma predeterminada. Si hay más de un formulario
que pueden usar, puede cambiar los formularios y aquel que elija será su formulario predeterminado hasta que
elija otro. Esta preferencia se almacena en el explorador. Si usa un equipo o un explorador diferente, verá el
formulario predeterminado original.
Estrategias para administrar el formulario de reserva
Algunas estrategias para administrar el formulario de reserva son:
Todos los usuarios ven el mismo formulario
Si no requiere formularios múltiples para una entidad, no necesita un formulario de reserva.
Crear un formulario de contingencia
Si usa formularios basados en roles porque desea limitar la información que los usuarios pueden ver o editar,
considere la posibilidad de crear un formulario que muestre la información mínima. A continuación, en el cuadro
Asignar roles de seguridad, seleccione Mostrar solo a estos roles de seguridad determinados, pero no
seleccione ningún rol excepto el de administrador del sistema y seleccione Habilitado para reserva. El resultado
es que este formulario nunca lo verá nadie excepto el administrador del sistema y cualquier usuario cuyos roles
de seguridad no se hayan asociado a un determinado formulario. Podría incluir un recurso web HTML en el
formulario con la información sobre los motivos de mostrar poca información en el formulario y un vínculo a
información sobre cómo solicitar que se le agregue a un rol de seguridad asociado a un formulario o incluir un
nuevo rol de seguridad para un formulario.
NOTE
No se puede incluir un recurso web en un encabezado o pie de página de formulario.
IMPORTANT
El objeto Xrm.Page está obsoleto, y ahora debe utilizar el método getFormContext de la pasada en objeto de contexto de
ejecución para devolver referencia al formulario adecuado o a un elemento en el formulario.
Vea también
Asignar roles de seguridad a formularios
Agregar un campo a un formulario de aplicación
controlada por modelos
25/11/2019 • 3 minutes to read • Edit Online
Si un formulario de PowerApps para una entidad estándar no cumple los requisitos empresariales de su
organización, puede personalizar el formulario cambiando los campos existentes o agregando nuevos campos. Si
bien puede que sea más fácil editar los campos existentes en un formulario, a veces es mejor agregar un campo
para abordar un escenario específico de negocio.
En este tema, agregará un campo a un formulario.
1. Inicie sesión en PowerApps.
IMPORTANT
“Si el modo de diseño Controlado por modelos no está disponible, puede que tenga que Crear un entorno.
2. Expanda Datos, seleccione Entidades, seleccione la entidad que desee y, a continuación, seleccione la
pestaña Formularios.
3. En la lista, abra un formulario con el tipo Principal para editarlo.
4. En el formulario, haga clic en la sección a la que desea agregar un campo y, en el panel Explorador de
campos, haga doble clic en el campo desee agregar al formulario.
TIP
Cuando agrega un campo de conjunto de opciones en el formulario, la lista desplegable que contiene los valores del
conjunto de opciones puede mostrar sólo dos valores. Los usuarios deben desplazarse para ver más valores de la
lista. Si desea mostrar más de dos valores sin que los usuarios tengan que desplazarse, agregue uno o varios
controles Separador bajo el campo del conjunto de opciones en el formulario. Cada control Separador
proporciona un espacio para un valor de conjunto de opciones adicional. Por ejemplo, si desea mostrar cuatro
valores en la lista desplegable sin desplazarse, agregue dos controles Separador bajo el campo del conjunto de
opciones en el formulario.
5. Para mostrar una vista previa del aspecto que tendrá el formulario y cómo funcionan los eventos:
a. En la ficha Inicio, haga clic en Vista previa y, a continuación, seleccione Formulario de creación,
Formulario de actualización o Formulario de sólo lectura.
b. Para cerrar el formulario de vista previa, haga clic en Cerrar .
c. Para publicar personalizaciones del formulario está editando, con el formulario abierto, haga clic en
Publicar.
6. Cuando haya terminado de editar el formulario, haga clic en Guardar y cerrar.
7. Para publicar las personalizaciones de todos los componentes no publicados a la vez, haga clic en Archivo
y luego haga clic en Publicar todas las personalizaciones.
NOTE
La publicación de personalizaciones pueden interferir en el funcionamiento normal del sistema. Le recomendamos que
publique cuando perjudique menos a los usuarios.
Pasos siguientes
Crear y diseñar formularios
Mostrar u ocultar elementos de formularios de
aplicaciones controladas por modelos
25/11/2019 • 2 minutes to read • Edit Online
Varios tipos de elementos de formulario tienen la opción para mostrarse u ocultarse de forma predeterminada.
Todos los recursos web, fichas, secciones, campos e iFrames proporcionan esta opción. Con scripts de formulario
o reglas de negocio, la visibilidad de estos elementos se puede controlar para crear un formulario dinámico para
proporcionar una interfaz de usuario que se adapte a las condiciones del formulario.
NOTE
Ocultar elementos de formulario no es una forma recomendada para imponer la seguridad. Existen varias formas en que
los usuarios pueden ver todos los elementos y datos en el formulario cuando los elementos están ocultos.
En lugar de diseñar formularios que dependen de scripts para controlar la visibilidad de opciones, piense si flujo
de proceso de negocio, un diálogo o el cambio a otro formulario pueden ajustarse mejor a sus requisitos. Si usa
scripts, asegúrese de que los elementos que puedan estar ocultos estén ocultos de forma predeterminada.
Muéstrelo solo con scripts cuando su lógica lo exija. De esta forma no se mostrará en las presentaciones que no
admiten scripts.
Pasos siguientes
Información general de la interfaz del editor de formularios
Cambiar la navegación en un formulario de
aplicación controlada por modelos
25/11/2019 • 5 minutes to read • Edit Online
La navegación en un formulario permite que los usuarios de la aplicación vean listas de registros relacionados.
Cada relación de entidad tiene propiedades para controlar si se debe mostrar. Más información: Elemento del
panel de navegación para una entidad principal
Las relaciones de entidad configuradas para mostrarse se pueden reemplazar en el editor de formularios. También
puede incluir vínculos de navegación para mostrar recursos web u otros sitios web mediante la navegación del
formulario.
Para ver instrucciones paso a paso, consulte Crear y editar relaciones de entidades para Common Data Service
Para habilitar la edición de la navegación debe seleccionar primero Navegación en el grupo Seleccionar de la
pestaña Inicio del diseñador de formularios.
En el panel derecho, en Explorador de relaciones puede filtrar por las relaciones 1:N (uno a varios) o N:N
(varios a varios), o ver todas las relaciones disponibles. La opción Mostrar únicamente la casilla de
verificación sin usar de relaciones está deshabilitada y seleccionada. Cada una de las relaciones se puede
agregar una vez.
Para agregar una relación desde el Explorador de relaciones haga doble clic en la relación y se agregará debajo
de la relación actualmente seleccionada en el área de navegación. Haga doble clic en una relación en el área de
navegación y podrá cambiar la etiqueta en la pestaña Visualización. Asimismo, en la pestaña Nombre, puede
obtener información sobre la relación. Use el botón Editar para abrir la definición de la entidad.
Hay cinco grupos en el área de navegación. Puede arrastrarlos para cambiar su ubicación y hacer doble clic
encima para cambiar la etiqueta, pero no puede quitarlos. Estos grupos solo se mostrarán cuando contengan algo.
Si no desea que un grupo aparezca, no le agregue ningún elemento.
Use el botón Vínculo de navegación en el grupo Control de la ficha Insertar para agregar un vínculo a un
recurso web o una dirección URL externa.
PROPIEDAD DESCRIPCIÓN
Dirección URL externa Especifique la dirección URL de una página para mostrar en el
panel principal del formulario.
Avisos de privacidad
Cuando agrega el control de vista previa de sitios web a un formulario, al cargarse, se enviará a Bing (un servicio
al consumidor) cierta información de identificación del dispositivo (el nombre del dispositivo, como iPhone, el
sistema operativo y la versión del sistema operativo, el explorador y la versión del explorador). Por tanto, los datos
de cliente enviados a Bing estarán sujetos a la Declaración de privacidad de Microsoft. Al agregar este control,
manifiesta su conformidad para que este conjunto limitado de datos se envíe el servicio Bing. Tenga en cuenta
que puede quitar el control en cualquier momento para dejar de usar esta funcionalidad.
Cuando agrega el control multimedia a un formulario, se enviará cierta información sobre el dispositivo que
permite identificarlo (el nombre del dispositivo, como iPhone, el sistema operativo y la versión del sistema
operativo, el explorador y la versión del explorador) al servicio al que está llamando (por ejemplo, YouTube o
Servicios multimedia de Azure) y esta información quedará sujeta a los términos de la declaración de privacidad
de ese servicio. Al agregar este control, está de acuerdo en que este conjunto limitado de datos se envíe al servicio
externo al que está llamando. Tenga en cuenta que puede quitar el control en cualquier momento para dejar de
usar esta funcionalidad.
Pasos siguientes
Información general de la interfaz de usuario del editor de formularios
Agregar navegación de formulario de aplicación
controlada por modelos para entidades relacionadas
25/11/2019 • 5 minutes to read • Edit Online
En este tema, usará el panel de navegación de formulario que se usa para agregar vínculos a las entidades
relacionadas. Cuando el usuario de una aplicación hace clic en uno de estos vínculos en un registro, se muestra la
vista asociada para la entidad.
1. Inicie sesión en PowerApps.
IMPORTANT
“Si el modo de diseño Controlado por modelos no está disponible, puede que tenga que Crear un entorno.
2. Expanda Datos, seleccione Entidades, seleccione la entidad que desee y, a continuación, seleccione la
pestaña Formularios.
3. En la lista, abra un formulario con el tipo Principal para editarlo.
4. Para agregar un vínculo a una entidad relacionada, en la pestaña Inicio, en el grupo Seleccionar, elija
Navegación.
El panel Explorador de relaciones se abre en la parte derecha del editor de formularios.
5. En el panel Explorador de relaciones, en la lista Filtro, seleccione una de las siguientes opciones:
Relaciones disponibles. Muestra todas las entidades que pueden relacionarse con la entidad con la
que está asociado el formulario.
Relaciones de 1:N. Muestra las entidades que pueden relacionarse en una relación de 1:N con la
entidad con la que está asociado el formulario.
Relaciones de N:N. Muestra las entidades que pueden relacionarse en una relación de N:N con la
entidad con la que está asociado el formulario.
NOTE
Si no aparece ninguna entidad relacionada en el panel Explorador de relaciones, no puede crear un vínculo en este
formulario con una entidad relacionada.
6. Seleccione la entidad relacionada con la que desea establecer el vínculo, arrástrela hasta el Panel de
navegación y colóquela donde desee que se muestre.
TIP
También puede crear una nueva relación eligiendo Nueva 1:N o Nueva N:N en el panel Explorador de relaciones.
7. Para modificar las propiedades de este o cualquier otro vínculo a una entidad relacionada en el Panel de
navegación, seleccione el vínculo y, a continuación, en la pestaña Inicio elija Cambiar propiedades.
8. En el cuadro de diálogo Propiedades de la relación, en la pestaña Mostrar, escriba una nueva etiqueta
para mostrar.
9. En la pestaña Nombre, elija Editar para ver o modificar los detalles asociados con el registro de relación.
10. Elija Aceptar.
11. Obtenga una vista previa para comprobar cómo aparecerá el formulario principal y cómo funcionarán los
eventos:
a. En la pestaña Inicio, elija Vista previa y, a continuación, seleccione Formulario de creación,
Formulario de actualización o Formulario de sólo lectura.
b. Para cerrar el formulario Vista previa, en el menú Archivo, elija Cerrar.
12. Cuando haya terminado de modificar el formulario, elija Guardar y cerrar para cerrarlo.
13. Cuando haya completado las personalizaciones, publíquelas:
Para publicar las personalizaciones únicamente para el componente que está editando actualmente,
en la barra de navegación o en el panel de navegación, elija la entidad en la que ha estado trabajando,
y elija Publicar.
Para publicar personalizaciones de todos los componentes no publicados a la vez, en el Panel de
navegación, elija Entidades y, en la barra de comandos, elija Publicar todas las personalizaciones.
NOTE
La instalación de una solución o la publicación de personalizaciones puede interferir en el funcionamiento normal del sistema.
Le recomendamos que programe la importación de una solución cuando perjudique lo menos posible a los usuarios.
Pasos siguientes
Crear y editar relaciones entre entidades para Common Data Service
Utilizar el formulario principal de la aplicación
controlada por modelos y sus componentes
25/11/2019 • 14 minutes to read • Edit Online
Los formularios en las aplicaciones basadas en la interfaz unificada proporcionan una mejor experiencia de
usuario para la productividad óptima de agentes y ayudan a mantener el contexto mientras se trabaja en
registros relacionados. Puede ver los formularios en el explorador de soluciones. El tipo de formulario de los
formularios nuevos es Principal.
En este tema se explica cómo editar un formulario principal y agregar, modificar o cambiar varios elementos del
formulario.
NOTE
Si crea componentes de la solución nuevos en el proceso de edición del formulario, los nombres de los componentes
usarán el prefijo de personalización del editor de soluciones de la solución predeterminada y estos componentes solo se
incluirán en la solución predeterminada. Si desea que los nuevos componentes de la solución se incluyan en una solución
no administrada específica, abra el editor de formularios a través de esa solución no administrada.
3. En el lienzo del diseñador de aplicaciones, selecciones la flecha hacia abajo junto a una entidad para
ver los formularios disponibles para esa entidad.
5. En el diseñador de formularios, realice los cambios y seleccione Guardar para guardar los cambios y
Publicar para publicarlos para su uso en la aplicación.
NOTE
Si se han realizado otros cambios en la aplicación, publíquelos utilizando la opción de publicación de nivel de aplicación.
Consulte Validar y publicar una aplicación mediante el diseñador de aplicaciones para obtener más información.
NOTE
El formulario principal del cliente web también es compatible con el Centro de servicio al cliente y está disponible para
editar con el diseñador de aplicaciones.
Opciones de visibilidad
Varios tipos de elementos de formulario tienen la opción para mostrarse u ocultarse de forma predeterminada.
Pestañas, secciones y campos proporcionan esta opción. Con scripts de formulario o reglas de negocio, la
visibilidad de estos elementos se puede controlar para crear un formulario dinámico para proporcionar una
interfaz de usuario que se adapte a las condiciones del formulario.
NOTE
Ocultar elementos de formulario no es una forma recomendada para imponer la seguridad. Existen varias formas en que
los usuarios pueden ver todos los elementos y datos en el formulario cuando los elementos están ocultos. Para obtener
más información, consulte Mostrar u ocultar elementos de formulario.
Escala de tiempo
La línea de tiempo muestra actividades relacionadas para una entidad específica.
Se admiten los siguientes tipos de actividades: tarea, cita, llamada de teléfono, correo electrónico, actividad social,
actividad personalizada.
La escala de tiempo también muestra notas y publicaciones del sistema y del usuario. Muestra las actividades
que tienen el campo Referente a definido como la entidad que está visualizando. Para notas, el campo
Referente a no se muestra al usuario; Es implícito cuando se creó desde la escala de tiempo.
Cada actividad que aparece en la escala de tiempo tendrá las mismas acciones rápidas que están disponibles en
la barra de comandos de la actividad.
Propiedades comunes de los campos
Para conocer en detalle las propiedades de campos comunes, consulte Propiedades de campos comunes.
Propiedades de subcuadrícula
Puede configurar una subcuadrícula en un formulario para presentar una lista de registros o un gráfico. Para
conocer en detalle las propiedades de la subcuadrícula, consulte Propiedades de la subcuadrícula.
Propiedades de IFRAME
Puede agregar los iFrame a un formulario para integrar contenido de otro sitio web en un formulario. Para
conocer más sobre las propiedades de IFRAME, consulte Propiedades de IFRAME.
Editar la navegación
La navegación en el formulario permite que los usuarios vean listas de registros relacionados. Cada relación de
entidad tiene propiedades para controlar si se debe mostrar. Más información: Elemento del panel de navegación
para una entidad principal
Las relaciones de entidad configuradas para mostrarse se pueden reemplazar en el editor de formularios.
Para ver instrucciones paso a paso, consulte Agregar navegación del formulario para las entidades relacionadas.
Para habilitar la edición de la navegación debe seleccionar primero Navegación en el grupo Seleccionar de la
ficha Inicio.
En el Explorador de relaciones puede filtrar por las relaciones 1: N (uno a varios) o N:N (varios a varios), o ver
todas las relaciones disponibles. La opción Mostrar únicamente la casilla de verificación sin usar de
relaciones está deshabilitada y seleccionada. Cada una de las relaciones se puede agregar una vez.
Para agregar una relación desde el Explorador de relaciones haga doble clic y se agregará debajo de la
relación actualmente seleccionada en el área de navegación. Haga doble clic en una relación en el área de
navegación y podrá cambiar la etiqueta en la pestaña Visualización. En la pestaña Nombre, puede obtener
información sobre la relación. Use el botón Editar para abrir la definición de la entidad.
Hay cinco grupos en el área de navegación. Puede arrastrarlos para cambiar su ubicación y hacer doble clic
encima para cambiar la etiqueta, pero no puede quitarlos. Estos grupos solo se mostrarán cuando contengan
algo. Si no desea que un grupo aparezca, no le agregue ningún elemento.
Configurar controladores de eventos
Un controlador de eventos se compone de una referencia a un recurso web de JavaScript y a una función
definida dentro de ese recurso web que se ejecutará cuando se produzca el evento. Para obtener más
información sobre la configuración de controladores de eventos, consulte Configurar controladores de eventos.
Pasos siguientes
Crear y diseñar formularios
Crear y editar formularios de creación rápida
Crear y editar formularios de vista rápida
Abrir el editor de formularios de una aplicación
controlada por modelos
25/11/2019 • 4 minutes to read • Edit Online
El editor de formularios es donde debe diseñar los formularios colocando componentes como secciones, pestañas,
campos y controles sobre el lienzo del editor de formularios. En este tema aprenderá varias formas de acceder al
editor de formularios.
Si crea componentes de la solución nuevos en el proceso de edición del formulario, como recursos web, los
nombres de los componentes usarán el prefijo de personalización del editor de soluciones de la solución
predeterminada y estos componentes solo se incluirán en la solución predeterminada. Si desea que los nuevos
componentes de la solución se incluyan en una solución no administrada específica, debe abrir el editor de
formularios a través de esa solución no administrada.
Pasos siguientes
Creación y diseño de formularios
Propiedades de iFrame para formularios principales
de aplicaciones controladas por modelos
25/11/2019 • 5 minutes to read • Edit Online
Puede agregar los iFrame a un formulario para integrar contenido de otro sitio web en un formulario.
Para ver las propiedades de IFrame, siga estos pasos.
1. Inicie sesión en PowerApps.
2. Expanda Datos, seleccione Entidades, seleccione la entidad que desee y, a continuación, seleccione la
pestaña Formularios.
3. En la lista de formularios, abra un formulario de tipo Principal. Luego en la pestaña Insertar, seleccione
IFRAME para ver propiedades de IFRAME.
NOTE
Los formularios no están diseñados para mostrarse en un iFrame.
PARÁMETRO DESCRIPCIÓN
type Código de tipo de entidad. Este valor puede ser diferente para
las entidades personalizadas en distintas organizaciones. Use
typename en su lugar.
Pasos siguientes
Utilizar el formulario Principal y sus componentes
Optimizar el rendimiento de los formularios de
aplicaciones controladas por modelos
25/11/2019 • 4 minutes to read • Edit Online
Los formularios que se cargan lentamente pueden reducir la productividad y la adopción por parte del usuario.
Siga estas recomendaciones para maximizar la velocidad de carga de los formularios. Muchas de las prácticas
recomendadas describen la forma en que un programador puede implementar scripts de formularios para la
organización. Asegúrese de discutir estas prácticas recomendadas con los programadores que crean scripts de
formularios para los formularios.
Diseño de formularios
Considere la interacción que el usuario tendrá con el formulario y la cantidad de datos que se deben mostrar en él.
Mantenga el número de campos al mínimo
Cuanto más campos tenga en un formulario, más datos deberá transferir a través de Internet o de a una intranet
para ver cada registro.
Scripts de formularios
Si tiene personalizaciones que usan scripts de formularios, asegúrese de que el desarrollador comprende estas
estrategias para mejorar el rendimiento.
Evite incluir bibliotecas de recursos web de JavaScript que no necesite
Cuantos más scripts agregue al formulario, más tiempo tardará en descargarlos. Por lo general, los scripts se
almacenan en caché en el explorador después de cargarse la primera vez, pero el rendimiento la primera vez que
se ve un formulario suele crear una impresión considerable.
Evite cargar todos los scripts en el evento Onload
Si tiene código que únicamente admite los eventos OnChange para campos o el evento OnSave , asegúrese de
definir la biblioteca de scripts con el controlador de eventos para dichos eventos en lugar del evento OnLoad . De
esta manera, la carga de estas bibliotecas se puede aplazar y aumentar el rendimiento cuando el formulario se
carga.
Use las fichas contraídas para aplazar la carga de recursos web
Cuando se incluyen recursos web o IFRAMES en secciones en una pestaña contraída, estos no se cargarán si la
pestaña está contraída. Se cargarán cuando se expanda la ficha. Cuando el estado de la ficha cambia, se produce el
evento TabStateChange . Ningún código necesario para admitir recursos web o IFRAMEs en fichas contraídas
puede usar controladores de eventos para el evento TabStateChange ni reducir código que, de otro modo,
debería producirse en el evento OnLoad .
Defina las opciones predeterminadas de visibilidad
Evite usar scripts de formularios en el evento OnLoad que oculten elementos de formulario. En su lugar, defina las
opciones predeterminadas de visibilidad de los elementos de formulario que podrían ocultarse para no ser visibles
de forma predeterminada cuando el formulario se carga. A continuación, use los scripts en el evento OnLoad para
mostrar los elementos de formulario que desee mostrar.
Pasos siguientes
Crear y diseñar formularios
Propiedades de sección para formularios principales
de aplicaciones controladas por modelos
25/11/2019 • 5 minutes to read • Edit Online
Una sección en un formulario ocupa el espacio disponible en una columna de la ficha. Las secciones tienen una
etiqueta que se puede mostrarse y una línea se puede mostrar debajo de la etiqueta.
Las secciones pueden tener hasta 4 columnas e incluyen las opciones para mostrar cómo las etiquetas de los
campos de la sección se muestran.
Los encabezados y pies de página son similares a las secciones pero no se pueden quitar. Si no contienen nada no
se mostrarán.
Puede acceder a las Propiedades de sección desde el sitio de PowerApps.
1. Inicie sesión en PowerApps.
2. Expanda Datos, seleccione Entidades, seleccione la entidad que desee y, a continuación, seleccione la
pestaña Formularios.
3. En la lista de formularios, abra el formulario de tipo Principal. A continuación, haga doble clic en una de
las secciones para ver las propiedades de la sección.
IMPORTANT
De forma predeterminada, la sección del panel de referencia está bloqueada en estos formularios estándar: casos, cuentas y
contactos. Para quitarla o cambiarla, debe desbloquearla.
Pasos siguientes
Utilizar el formulario Principal y sus componentes
Configurar un mapa en un formulario
25/11/2019 • 4 minutes to read • Edit Online
De forma predeterminada, el control de mapas de Bing se configura en el formulario principal para las entidades
de cuenta y contacto, lo que proporciona la capacidad de mostrar un mapa en registros de entidad. Aunque no
está configurado de forma predeterminada, el control de mapas de Bing puede agregarse a la entidad de usuario
del sistema. El control de mapas de Bing también se puede usar con algunas entidades incluidas con aplicaciones
basadas en modelo en Dynamics 365, como Dynamics 365 Sales y Dynamics 365 Customer Service. Por ejemplo,
las entidades cliente potencial, oferta, pedido, facturación, y competidor. El control de mapas de Bing no se puede
usar con entidades personalizadas.
Cuando está habilitado, el mapa muestra la ubicación especificada en los campos compuestos de dirección para el
registro dado.
IMPORTANT
Para usar mapas debe estar habilitada la configuración del sistema Mostrar Mapas de Bing en los formularios. Más
información: Habilitar mapas para el entorno
Puede quitar el área de mapas de Bing en el editor de formularios o volver a agregarlo con el botón Mapas de
Bing en la ficha Insertar del editor de formularios clásico.
Configurar un mapa
1. Inicie sesión en PowerApps.
2. Vaya a Datos > Entidades y seleccione la entidad que desea configurar un mapa en el formulario principal.
3. Seleccione la pestaña Formularios y seleccione el formulario principal y, en la barra de comandos
seleccione Cambiar a clásico.
4. En el diseñador de formularios clásico, haga doble clic en el control Vista del mapa para ver y editar las
propiedades. Más información: Ver y editar propiedades de mapa
Para quitar el control de mapa del formulario, seleccione el control Vista de mapa y después presione la tecla
Eliminar.
Seleccione una dirección para Elija qué dirección se debe usar para
utilizar con este control de mapas proporcionar datos para el mapa.
de Bing
Si tiene varios formularios principales, de creación rápida, vista rápida o formularios de tarjetas para una entidad,
puede establecer un orden para los formularios. El orden de formularios determine qué formularios disponibles se
mostrarán de forma predeterminada. Los formularios principales disponibles se pueden controlar mejor si se
asignan roles de seguridad al formulario. Consulte Controlar el acceso a los formularios para obtener más
información.
No puede asignar roles de seguridad a formularios de creación rápida, vista rápida o formularios de tarjetas por lo
que el único formulario que podrá usar todo el mundo es el que se encuentra en la parte superior del orden de
formularios.
Pasos siguientes
Cambiar la navegación en un formulario
Configurar controladores de eventos para
formularios de aplicaciones controladas por modelos
25/11/2019 • 7 minutes to read • Edit Online
Los controladores de eventos de formularios para formularios de PowerApps pueden configurarse para las
siguientes áreas en un formulario:
Un controlador de eventos se compone de una referencia a un recurso web de JavaScript y a una función
definida dentro de ese recurso web que se ejecutará cuando se produzca el evento. Cada elemento puede tener
hasta 50 controladores de eventos independientes configurados.
IMPORTANT
La configuración de un controlador de eventos puede provocar errores de script que pueden causar que el formulario no
se cargue o no funcione correctamente. Si no es el desarrollador del script, asegúrese de comprender exactamente qué
opciones de configuración requiere el script.
No configure un controlador de eventos de script mediante una biblioteca que no proceda de un origen de confianza. Los
scripts se pueden usar para realizar las acciones que un usuario podría realizar y un script mal redactado puede afectar
considerablemente al rendimiento de un formulario.
Después de configurar un controlador de eventos, pruébelo siempre para comprobar que funciona correctamente.
PROPIEDAD VALOR
NOTE
Dado que este editor de texto simple no ofrece ninguna característica para comprobar si el script es
correcto, debe intentar usar una aplicación independiente como Visual Studio para editar scripts y
cargarlos a continuación.
NOTE
Aunque la interfaz de usuario (UI) le permite cambiar el orden en que los scripts se cargan utilizando las flechas verdes
arriba y abajo, los scripts no se cargan en realidad de forma secuencial.
Pasos siguientes
Utilizar el formulario Principal y sus componentes
Deshabilitar el guardado automático en una
aplicación controlada por modelos
25/11/2019 • 9 minutes to read • Edit Online
El guardado automático ayuda a los usuarios de la aplicación a centrarse en el trabajo sin tener que administrar el
almacenamiento de datos en el formulario. La mayoría de las personas apreciará no tener que guardar datos de
forma explícita que cada vez actualice un registro, pero algunas organizaciones pueden tener personalizaciones que
fueron diseñadas para guardarse de forma explícita. Para estas organizaciones existen opciones para administrar la
forma de aplicar el autoguardado.
Autoguardado de trabajos
De forma predeterminada, todos los formularios de las entidades actualizadas y clásicas tendrán el autoguardado
habilitado. Una vez creado un registro (guardado en un principio), los cambios realizados en un formulario se
guardarán automáticamente treinta segundos después del cambio. Si no se realiza ningún cambio en el formulario,
el guardado automático no se producirá mientras el formulario esté abierto. Después de realizar un cambio, el
período de 30 segundos antes del autoguardado vuelve a empezar. El campo que alguien está editando
actualmente no se incluye en un autoguardado. Si otra persona ha actualizado el mismo registro mientras lo
editaba, esos cambios se recuperarán y mostrarán en el formulario al realizar el autoguardado.
Con el autoguardado habilitado, el botón de guardar solo aparece al guardar inicialmente el registro. Una vez
creado el registro, el botón de guardar en la barra de comandos no aparece, pero puede verse un en la esquina
inferior derecha, que aparecerá si existen cambios sin guardar. Este control también se muestra si el autoguardado
está deshabilitado.
Puede seleccionar este botón para guardar el registro y actualizar datos en el formulario de forma inmediata.
Cuando el autoguardado está habilitado, el registro se guardará cada vez que navegue fuera de un registro o cierre
la ventana independiente que muestra un registro. No es necesario para el botón Guardar y cerrar que aparece en
los formularios de entidades que no se actualizan.
NOTE
El guardado automático se deshabilitará para el formulario, pero los datos se guardarán al seleccionar el de la esquina
inferior derecha. Si intenta desplazarse fuera de un formulario o cerrar un formulario donde se han cambiado los datos, se les
pedirá que guarden los cambios para poder salir o cerrar el formulario.
Nombre preventAutoSave
function preventAutoSave(econtext) {
var eventArgs = econtext.getEventArgs();
if (eventArgs.getSaveMode() == 70 || eventArgs.getSaveMode() == 2) {
eventArgs.preventDefault();
}
}
IMPORTANT
Si no realiza este paso, el script no funcionará.
El diálogo Propiedades del controlador debe verse así. El prefijo de personalización "new_" puede
variar según el prefijo de personalización definido para el editor predeterminado para la
organización.
Pasos siguientes
Creación y diseño de formularios
Agregar la pestaña documentos de SharePoint al
formulario principal de una entidad
25/11/2019 • 5 minutes to read • Edit Online
IMPORTANT
Debe habilitar la administración de documentos para usar esta característica. Más información: Administrar los documentos
utilizando SharePoint
6. Cambiar el nombre de la etiqueta de la pestaña. Para ello, seleccione Nueva pestaña y, en el panel derecho
de propiedades reemplace Nueva pestaña con algo más descriptivo, como Archivos.
7. Seleccione Guardar y Publicar, y luego cierre el editor de formularios.
8. En la página principal del fabricante de PowerApps, seleccione Soluciones, seleccione la solución y
seleccione Exportación para exportar la solución como una solución no administrada. Más información:
Exportar soluciones
9. Extraiga la solución y abra el archivo customization.xml con un editor de XML o texto.
10. En customization.xml busque label description="Files" (o el nombre que dio a la etiqueta de la pestaña en
el paso anterior).
11. Desplácese hasta el elemento field name” del id de control, como control id="address1_city" y reemplace
el elemento completo con el Ejemplo de XML en este tema.
12. Cree estas modificaciones en el ejemplo XML.
a. Localice el elemento RelationshipName y reemplácelo con el nombre de esquema que aparece como
entityLogicalName_SharePointDocument. Por ejemplo, para la entidad de cuentas el nombre de esquema
para la relación es Account_SharePointDocument, que es el nombre de esquema para el ejemplo de XML de
este tema. Para buscar el nombre para una entidad distinta, vaya a Configuración > Personalizaciones >
Personalizar el sistema > Entidades > seleccione la entidad > seleccione Relaciones de 1: N. Busque
Entidad relacionada de tipo SharePointDocument.
b. Cree un identificador global único (guid) y reemplace el guid uniqueid existente ubicado en el elemento
control que pegó en el paso anterior al tiempo que conserva las llaves {}.
Vea también
Administrar los documentos con SharePoint
Insertar una aplicación de lienzo en un formulario
controlado por modelos
25/11/2019 • 3 minutes to read • Edit Online
Las aplicaciones de lienzo permiten a proveedores fácilmente diseñar y crear diseños personalizados con
diseñador de aplicaciones de lienzo WYSIWYG de poco código. Las aplicaciones de lienzo también permiten a los
proveedores conectar y mostrar datos de más de 200 orígenes de datos en sus formularios.
Con aplicaciones incrustadas de lienzo, los proveedores pueden aportar la fuerza de aplicaciones de lienzo a sus
formularios controlados por modelos. Con aplicaciones incrustadas de lienzo, puede crear fácilmente áreas
visuales completas en un formulario y mostrar datos pantalla de diversos orígenes directamente al lado de datos
de Common Data Service.
Las aplicaciones de lienzo se insertan en formularios controlados por modelos igual que se agregan otros
controles personalizados. Una aplicación incrustada de lienzo incluye capacidades completas de integración de
datos que aportan datos contextuales del formulario controlado por modelos del host a la aplicación incrustada de
lienzo. Más información: Agregar una aplicación de lienzo incrustada en un formulario basado en modelos.
Tras agregar una aplicación incrustada de lienzo al formulario controlado por modelos, aprenda a compartir la
aplicación incrustada de lienzo con otros usuarios. Más información: Compartir una aplicación incrustada de
lienzo.
Para las directrices acerca de cómo trabajar con aplicaciones incrustadas de lienzo, así como sugerencias útiles
para solucionar problemas que puede encontrar, consulte: Directrices acerca de cómo trabajar con aplicaciones
incrustadas de lienzo.
Vea también
¿Qué son las aplicaciones de lienzo en PowerApps?
Agregar y configurar un control de aplicaciones de lienzo en PowerApps
Información general sobre conectores de aplicaciones de lienzo para PowerApps
Agregar una aplicación de lienzo incrustada en un formulario basado en modelos
Editar una aplicación de lienzo incrustada en un formulario basado en modelos
Personalizar el tamaño y orientación de la pantalla de una aplicación de lienzo insertada en un formulario basado
en modelos
Realice acciones predefinidas en el formulario de host desde una aplicación de lienzo insertada
Propiedades y acciones del control ModelDrivenFormIntegration
Compartir una aplicación incrustada de lienzo
Directrices acerca de cómo trabajar con aplicaciones de lienzo incrustadas
Migrar aplicaciones de lienzo insertadas en formularios basados en modelos creados mediante la versión de vista
previa pública a la más reciente
Agregar una aplicación de lienzo incrustada en un
formulario basado en modelos
25/11/2019 • 11 minutes to read • Edit Online
En este tema se explica cómo insertar una nueva aplicación de lienzo en un formulario basado en modelos.
Imagine que desee crear una nueva aplicación de lienzo e incrustarla en un formulario principal para la entidad
de cuentas. Para ello, siga estos pasos:
1. Inicie sesión en PowerApps.
2. Creación o edición del formulario principal de una entidad, entidad Cuentas en nuestro ejemplo.
3. En la barra de comandos, seleccione Cambiar a clásico para abrir el formulario en el diseñador de
formularios clásico.
4. En el diseñador de formularios clásicos, seleccione la sección del formulario donde desea que aparezca la
aplicación incrustada de lienzo.
5. Usando el panel de campos, agregue un campo obligatorio, como Nombre de cuenta.
IMPORTANT
Use siempre un campo obligatorio que siempre tiene garantizado un valor. Si el campo no tiene un valor, su
aplicación incrustada de lienzo no se actualizará como respuesta a cualquier cambio en los datos del formulario
controlado por modelos de host.
6. Con este campo seleccionado, en la pestaña Inicio, en el grupo Editar, haga clic en Cambiar propiedades.
7. En el cuadro de diálogo Propiedades de campo , seleccione la pestaña Controles .
8. En la pestaña Controles seleccione Agregar control.
9. En el cuadro de diálogo Agregar control , en la lista de controles disponibles, seleccione Aplicación de
lienzo y después seleccione Agregar.
10. En el cuadro de diálogo Propiedades de campo, en la lista de controles seleccione Aplicación de lienzo y
seleccione la opción Web.
11. En la sección debajo de la lista de controles, la lista de propiedades disponible para el control de aplicaciones
de lienzo se muestra.
La propiedad Nombre de entidad especifica la entidad que proporcionará los datos a la aplicación
incrustada de lienzo. Se establecerá en la entidad que contiene el campo que se agregó en un paso
anterior.
Tenga en cuenta que, aunque esta propiedad parece cambiable, cambiarla no tendrá ningún
efecto en la aplicación incrustada de lienzo. Está previsto que solo sirva como referencia para
usted.
La propiedad Identificador de la aplicación especifica el identificador de la aplicación incrustada de
lienzo. Se generará y rellenará automáticamente en su lugar cuando se cree la aplicación de lienzo.
Tenga en cuenta que, los cambios efectuados en el valor Identificador de la aplicación
rompen el vínculo entre el formulario controlado por modelos y la aplicación incrustada de
lienzo.
12. Seleccione Personalizar para crear o editar la aplicación de lienzo. Esto abre PowerApps Studio en una
nueva pestaña.
NOTE
Si abrir PowerApps Studio está bloqueado debido a un bloqueador de elementos emergentes de explorador web,
debe habilitar el sitio de make.powerapps.com o temporalmente deshabilitar el bloqueador de elementos
emergentes y después seleccionar Personalizar de nuevo.
13. En PowerApps Studio, observe que hay un control ModelDrivenFormIntegration especial en el panel
izquierdo. Este control es responsable de llevar datos contextuales del formulario controlado por modelos del
host a la aplicación incrustada de lienzo.
14. Observe que un control de formulario de la aplicación de lienzo se agregó automáticamente a la aplicación de
lienzo incrustada y muestra los datos que se le pasan desde el formulario basado en modelos de host
mediante el control de ModelDrivenFormIntegration.
15. Seleccione la pestaña Vista y, a continuación seleccione Orígenes de datos. Observe que un origen de datos
para la entidad principal del formulario basado en modelos host, Cuentas en este caso, se agregó
automáticamente a la aplicación de lienzo incrustada.
16. Seleccione el control Form1 y observe que la propiedad DataSource está establecida en Cuentas.
17. Con el control Form1 aún seleccionado, observe que la propiedad Item está establecida en
ModelDrivenFormIntegration.Item.
NOTE
La aplicación de lienzo incrustada tiene acceso total al registro desde el formulario basado en modelos host
mediante ModelDrivenFormIntegration.Item. Por ejemplo, para obtener el valor de un campo con el nombre
accountnumber y el nombre para mostrar Número de cuenta, puede usar
ModelDrivenFormIntegration.Item.accountnumber o ModelDrivenFormIntegration.Item.'Número de
cuenta'.
NOTE
El diseñador de formularios tiene un vínculo directo con PowerApps Studio que se abrió en otra pestaña del
explorador en un paso anterior.
El diseñador de formularios escucha para recibir el Identificador de la aplicación que se le envía.
El Identificador de la aplicación se envía al diseñador de formularios cuando se guarda la aplicación.
Vea también
Insertar una aplicación de lienzo en un formulario controlado por modelos
Editar una aplicación de lienzo incrustada en un formulario basado en modelos
Personalizar el tamaño y orientación de la pantalla de una aplicación de lienzo insertada en un formulario
basado en modelos
Realice acciones predefinidas en el formulario de host desde una aplicación de lienzo insertada
Propiedades y acciones del control ModelDrivenFormIntegration
Compartir una aplicación incrustada de lienzo
Directrices acerca de cómo trabajar con aplicaciones de lienzo incrustadas
Migrar aplicaciones de lienzo insertadas en formularios basados en modelos creados mediante la versión de
vista previa pública a la más reciente
Editar una aplicación de lienzo incrustada en un
formulario basado en modelos.
25/11/2019 • 3 minutes to read • Edit Online
En este tema se explica cómo editar una aplicación de lienzo incrustada en un formulario basado en modelos.
NOTE
Si abrir PowerApps Studio está bloqueado debido a un bloqueador de elementos emergentes de explorador web,
debe habilitar el sitio de make.powerapps.com o temporalmente deshabilitar el bloqueador de elementos
emergentes y después seleccionar Personalizar de nuevo.
9. Cuando finalice de hacer cambios, seleccione la pestaña Archivo y, a continuación seleccione Guardar.
10. Para que los cambios pasen a estar disponibles a los usuarios finales, seleccione Publicar y luego seleccione
Publicar esta versión.
Vea también
Insertar una aplicación de lienzo en un formulario controlado por modelos
Agregar una aplicación de lienzo incrustada en un formulario basado en modelos
Personalizar el tamaño y orientación de la pantalla de una aplicación de lienzo insertada en un formulario basado
en modelos
Realice acciones predefinidas en el formulario de host desde una aplicación de lienzo insertada
Propiedades y acciones del control ModelDrivenFormIntegration
Compartir una aplicación incrustada de lienzo
Directrices acerca de cómo trabajar con aplicaciones de lienzo incrustadas
Migrar aplicaciones de lienzo insertadas en formularios basados en modelos creados mediante la versión de vista
previa pública a la más reciente
Personalizar el tamaño y orientación de la pantalla
de una aplicación de lienzo insertada en un
formulario basado en modelos
25/11/2019 • 2 minutes to read • Edit Online
Este tema explica cómo personalizar el tamaño y orientación de la pantalla de una aplicación de lienzo insertada
en un formulario basado en modelos
1. Siga los pasos para agregar o editar aplicación de lienzo incrustada en un formulario basado en modelos.
Agregar una aplicación de lienzo incrustada en un formulario basado en modelos
Editar una aplicación de lienzo incrustada en un formulario basado en modelos
2. Con la aplicación de lienzo abierta en PowerApps Studio, seleccione la pestaña Archivo y, a continuación
seleccione Configuración de la aplicación.
3. Seleccione la pestaña Tamaño de pantalla + orientiation. De forma predeterminada, el Tamaño se ajusta
como Personalizado.
4. Seleccione en la lista de opciones disponibles de Tamaño y Orientación o seleccione Personalizado y
proporcione la configuración que desea para Ancho y Alto.
NOTE
Cuando el Tamaño se establece como Personalizado, se deshabilita Orientación ya que se determina en función
del Ancho y Alto que especifique.
5. Cuando finalice de hacer cambios, seleccione la pestaña Archivo y, a continuación seleccione Guardar.
6. Para que los cambios pasen a estar disponibles a los usuarios finales, seleccione Publicar y luego seleccione
Publicar esta versión.
Vea también
Insertar una aplicación de lienzo en un formulario controlado por modelos
Agregar una aplicación de lienzo incrustada en un formulario basado en modelos
Editar una aplicación de lienzo incrustada en un formulario basado en modelos
Realice acciones predefinidas en el formulario de host desde una aplicación de lienzo insertada
Propiedades y acciones del control ModelDrivenFormIntegration
Compartir una aplicación incrustada de lienzo
Directrices acerca de cómo trabajar con aplicaciones de lienzo incrustadas
Migrar aplicaciones de lienzo insertadas en formularios basados en modelos creados mediante la versión de vista
previa pública a la más reciente
Realice acciones predefinidas en el formulario
basado en modelos host desde una aplicación de
lienzo insertada
25/11/2019 • 6 minutes to read • Edit Online
Las aplicaciones de lienzo incrustadas permiten realizar acciones predefinidas en el formulario basado en
modelos host. Estas acciones permiten a creadores navegar, actualizar y guardar el formulario basado en modelos
host. Con estas acciones, una aplicación de lienzo incrustada puede actuar como parte más integral del
formulario basado en modelos y de la aplicación basada en modelos.
El objeto ModelDrivenFormIntegration ahora incluye los siguientes nuevos métodos para permitir a los
creadores realizar acciones en el formulario basado en modelos host.
NavigateToMainForm(entityName, mainFormName, recordId)
Navega el formulario basado en modelos host a un formulario principal y muestra el registro especificado.
entityName - Parámetro de cadena requerido que especifica la entidad principal del formulario principal.
formName - Parámetro de cadena requerido que especifica el nombre del formulario principal al que
navegar.
recordId - Parámetro de cadena requerido que especifica el identificador del registro para mostrar en el
formulario principal.
Al llamar al método NavigateToMainForm se pueden mostrar los siguientes mensajes de error.
Se produjo un problema al cargar el registro. Compruebe el valor del parámetro recordId y asegúrese de
que es un identificador de registro válido y que el usuario
tiene acceso a él.
NavigateToView(entityName, viewName )
Navega el formulario basado en modelos host a una vista.
entityName - Parámetro de cadena requerido que especifica la entidad principal de la vista.
viewName - Parámetro de cadena requerido que especifica el nombre del formulario principal al que
navegar.
Al llamar al método NavigateToView se pueden mostrar los siguientes mensajes de error.
OpenQuickCreateForm(entityName )
Abre el formulario de creación rápida predeterminado para una entidad.
entityName - Parámetro de cadena requerido que especifica la entidad principal del formulario de creación
rápida.
Al llamar al método OpenQuickCreateForm se pueden mostrar los siguientes mensajes de error.
RefreshForm(showPrompt)
Actualiza los datos en el formulario basado en modelos host.
showPrompt - Parámetro booleano requerido que indica si un mensaje de confirmación se debe mostrar al
usuario antes de guardar los datos sin guardar en el formulario basado en modelos host. Los valores de deben
ser “True “o “False”.
Al llamar al método RefreshForm se pueden mostrar los siguientes mensajes de error.
Utilice "true" o "false" como valor del parámetro. Compruebe el valor del parámetro showPrompt y asegúrese
que es ”True” o ”False”.
SaveForm()
Guarda los datos en el formulario basado en modelos host.
NOTE
Si no ve IntelliSense en los métodos para realizar acciones predefinidas en las aplicaciones de lienzo incrustadas que se
crearon antes de que la funcionalidad estuviera disponible; guarde, cierre y vuelva a abrir la aplicación.
Vea también
Insertar una aplicación de lienzo en un formulario controlado por modelos
Agregar una aplicación de lienzo incrustada en un formulario basado en modelos
Editar una aplicación de lienzo incrustada en un formulario basado en modelos
Personalizar el tamaño y orientación de la pantalla de una aplicación de lienzo insertada en un formulario basado
en modelos
Propiedades y acciones del control ModelDrivenFormIntegration
Compartir una aplicación incrustada de lienzo
Directrices acerca de cómo trabajar con aplicaciones de lienzo incrustadas
Migrar aplicaciones de lienzo insertadas en formularios basados en modelos creados mediante la versión de vista
previa pública a la más reciente
Propiedades y acciones del control
ModelDrivenFormIntegration
25/11/2019 • 4 minutes to read • Edit Online
Las aplicaciones de lienzo incrustadas en formularios basados en modelos incluyen un control especial llamado
ModelDrivenFormIntegration. Este control es responsable de llevar datos contextuales del formulario
controlado por modelos del host a la aplicación incrustada de lienzo.
En este tema se explican las propiedades y acciones disponibles en el control de ModelDrivenFormIntegration.
Vea también
Insertar una aplicación de lienzo en un formulario controlado por modelos
Agregar una aplicación de lienzo incrustada en un formulario basado en modelos
Editar una aplicación de lienzo incrustada en un formulario basado en modelos
Personalizar el tamaño y orientación de la pantalla de una aplicación de lienzo insertada en un formulario basado
en modelos
Realice acciones predefinidas en el formulario de host desde una aplicación de lienzo insertada
Compartir una aplicación incrustada de lienzo
Directrices acerca de cómo trabajar con aplicaciones de lienzo incrustadas
Migrar aplicaciones de lienzo insertadas en formularios basados en modelos creados mediante la versión de vista
previa pública a la más reciente
Compartir una aplicación incrustada de lienzo
25/11/2019 • 3 minutes to read • Edit Online
En este tema se explica cómo compartir una aplicación incrustada de lienzo que ha creado ya.
Una vez que haya creado y haya agregado una aplicación incrustada de lienzo a un formulario controlado por
modelos deberá realizar pasos para garantizar que todos los usuarios que tienen acceso al formulario
controlado por modelos también accedan a la aplicación de lienzo y los datos que usa. Consulte las directrices
siguientes:
Comparta la aplicación incrustada de lienzo con todos los usuarios de su organización o usuarios del grupo
de seguridad o específicos. Más información: Compartir una aplicación.
Asegúrese de que los usuarios tienen permisos adecuados para cualquier entidad de Common Data Service
que su aplicación incrustada de lienzo use. Más información: Administrar permisos de entidades
Asegúrese de que los usuarios tienen permisos adecuados para datos de cualquier servicio de nube que su
aplicación incrustada de lienzo use, como SharePoint o OneDrive. Los pasos para compartir son específicos
para cada servicio en la nube y salen de alcance de PowerApps.
NOTE
Actualmente no puede usar el privilegio Aplicación de lienzo en un rol de seguridad para conceder acceso a usuarios de
aplicaciones a una aplicación incrustada o independiente de lienzo.
Las aplicaciones de lienzo incrustadas también reconocen las soluciones. De forma predeterminada se crean
aplicaciones incrustadas de lienzo en la misma solución que el formulario controlado por modelos. Para mover
la aplicación incrustada de lienzo de un entorno a otras aplicaciones de lienzo incrustadas de exportación e
importación como parte de una solución igual que como cualquier otro componente.
Vea también
Insertar una aplicación de lienzo en un formulario controlado por modelos
Agregar una aplicación de lienzo incrustada en un formulario basado en modelos
Editar una aplicación de lienzo incrustada en un formulario basado en modelos
Personalizar el tamaño y orientación de la pantalla de una aplicación de lienzo insertada en un formulario
basado en modelos
Realice acciones predefinidas en el formulario de host desde una aplicación de lienzo insertada
Propiedades y acciones del control ModelDrivenFormIntegration
Directrices acerca de cómo trabajar con aplicaciones de lienzo incrustadas
Migrar aplicaciones de lienzo insertadas en formularios basados en modelos creados mediante la versión de
vista previa pública a la más reciente
Directrices acerca de cómo trabajar con aplicaciones
de lienzo incrustadas
25/11/2019 • 10 minutes to read • Edit Online
En este tema se proporcionan directrices acerca de cómo trabajar con aplicaciones del lienzo incrustadas así
como sugerencias útiles para solucionar los problemas que puede encontrar.
Las aplicaciones de lienzo incrustadas se admiten solo con aplicaciones controladas por modelos de interfaz
unificada.
Puede habilitar solo una aplicación insertada del lienzo por formulario.
Puede tener múltiples aplicaciones incrustadas del lienzo agregadas al formulario pero puede habilitar
solo una a la vez.
Si intenta habilitar más de una aplicación insertada del lienzo en un formulario controlado por
modelos, recibirá un mensaje “solo una aplicación del lienzo se puede habilitar en un formulario.”
Para habilitar o deshabilitar una aplicación incrustada del lienzo consulte Habilitar una aplicación de
lienzo incrustada y Deshabilitar una aplicación incrustada de lienzo.
Cuando agrega una aplicación de lienzo incrustada a un formulario basado en modelos, use siempre un
campo obligatorio que tiene garantizado siempre un valor. Si el campo no tiene un valor su aplicación
incrustada de lienzo no se actualizará como respuesta a cualquier cambio en los datos del formulario
controlado por modelos de host.
Publicar un formulario controlado por modelos tampoco publica la aplicación de lienzo incrustada.
Las aplicaciones incrustadas de lienzo tiene que publicarse independientemente del formulario
controlado por modelos del host. Más información: Publicación una aplicación.
Si abre PowerApps Studio para crear o editar una aplicación incrustada de lienzo mediante el botón
Personalizar en las propiedades del control de aplicaciones de la lona está bloqueado debido a un
bloqueador de elementos emergentes de explorador web, debe habilitar el sitio de make.powerapps.com o
temporalmente deshabilitar el bloqueador de elementos emergentes y después seleccionar Personalizar de
nuevo.
Las aplicaciones incrustadas de lienzo no se muestran al crear un nuevo registro ya que necesitan que se les
pase un contexto de registro.
El objeto de ModelDrivenFormIntegration.Item es de solo lectura.
Para devolver datos por escrito debe usar el conector Common Data Service. Más información:
Common Data Service
Las aplicaciones incrustadas del lienzo se pueden crear solo a través del formulario controlado por modelos
del host.
Agregar aplicaciones de lienzo existentes como incrustadas en formularios basados en modelos no se
admite actualmente.
En una futura actualización se proporcionará soporte para incrustar una aplicación de lienzo existente
en un formulario basado en modelos mediante el identificador de la aplicación.
Cuando vea un formulario controlado por modelos con una aplicación incrustada de lienzo, si recibe un
mensaje de error del estilo “no hemos encontrado la aplicación” asegúrese de que la aplicación incrustada de
lienzo esté en la misma solución que el formulario controlado por modelos.
Cuando se ve un formulario controlado por modelos con una aplicación incrustada de lienzo, si recibe un
mensaje de error como “parece que no tiene acceso a la aplicación. Solicite al propietario que la comparta
con usted” asegúrese de que el autor ha compartido la aplicación incrustada de lienzo con usted. Más
información: Compartir una aplicación incrustada de lienzo.
Ya no es posible agregar una aplicación de lienzo en el control de subcuadrícula.
En el lanzamiento de vista previa, los creadores pudieron agregar una aplicación de lienzo en un
control de subcuadrícula. Con la incrustación de aplicaciones de lienzo en formularios basados en
modelo ahora disponible de manera generalizada, la adición de una aplicación de lienzo incrustada en
un formulario basado en modelo se simplifica al campo.
Esto hace que sea más fácil para los creadores ya que no tienen que decidir de antemano si pasan el
registro (formulario principal) como el contexto de datos o una lista de registros relacionados con el
registro actual (formulario principal).
Los creadores siempre empiezan con un campo y pueden tener acceso tanto al registro actual
(formulario principal) como a una lista de registros relacionados con el registro actual (formulario
principal).
Para obtener acceso a la lista de registros relacionados en la aplicación de lienzo, los creadores pueden
usar el conector de Common Data Service y la función Filtro con la funcionalidad Mejorar la
experiencia de orígenes de datos y vistas de Common Data Service habilitada en la aplicación de
lienzo.
Por ejemplo, para tener acceso a la vista Contactos activos de la entidad Contactos, los creadores
pueden usar: Filter (Contacts, 'Contacts (Views)'.'Active Contacts' ).
Las aplicaciones de lienzo existentes que usen el control de subcuadrícula continuarán funcionando.
Sin embargo, se recomienda migrar estas aplicaciones para usar un campo en su lugar. Más
información: Migrar aplicaciones de lienzo insertadas en formularios basados en modelos que usan
una lista de registros relacionados con el registro actual (formulario principal).
Vea también
Insertar una aplicación de lienzo en un formulario controlado por modelos
Agregar una aplicación de lienzo incrustada en un formulario basado en modelos
Editar una aplicación de lienzo incrustada en un formulario basado en modelos
Personalizar el tamaño y orientación de la pantalla de una aplicación de lienzo insertada en un formulario
basado en modelos
Realice acciones predefinidas en el formulario de host desde una aplicación de lienzo insertada
Propiedades y acciones del control ModelDrivenFormIntegration
Compartir una aplicación incrustada de lienzo
Migrar aplicaciones de lienzo insertadas en formularios basados en modelos creados mediante la versión de
vista previa pública a la más reciente
Migrar aplicaciones de lienzo insertadas en
formularios basados en modelos creados mediante
la versión de vista previa pública
25/11/2019 • 8 minutes to read • Edit Online
IMPORTANT
Con la versión más reciente, las aplicaciones de lienzo incrustadas en formularios basados en modelos están disponibles en
general. Las aplicaciones de lienzo incrustadas en formularios basados en modelos mediante la versión de vista previa
pública deben migrarse a nuevas aplicaciones incrustadas creadas mediante la última versión. Pronto dejará de prestarse
soporte técnico para aplicaciones de lienzo insertadas en formularios basados en modelos creados mediante la versión de
vista previa pública
Para migrar aplicaciones de lienzo incrustadas en formularios basados en modelos mediante la versión de vista
previa pública a la más reciente, los creadores primero deben crear una nueva aplicación de lienzo incrustada
creada mediante la última versión. A continuación los creadores pueden copiar los controles desde la aplicación
de lienzo incrustada existente a la nueva, agregar orígenes de datos requeridos y actualizar referencias rotas si
las hay. A continuación se proporcionan los pasos detallados.
1. Inicie sesión en PowerApps.
2. Abra la aplicación de lienzo incrustada creada con la versión de vista previa pública para editar en PowerApps
Studio. Para obtener pasos sobre cómo editar una aplicación de lienzo consulte: Editar una aplicación de
lienzo.
3. En una nueva pestaña del explorador, siga los pasos para agregar una nueva aplicación de lienzo incrustada
en un formulario basado en modelos.
4. Copie los controles de la aplicación de lienzo incrustada creada con la versión de vista previa pública a la
nueva aplicación de lienzo incrustada, una sola pantalla cada vez mediante los pasos indicados a continuación.
a. Seleccione la pestaña del explorador del paso 2, que tiene la aplicación de lienzo incrustada, creada con
la versión de vista previa pública, abierta en PowerApps Studio.
b. Seleccione una pantalla para copiar los controles.
c. Use Ctrl + A para seleccionar todos los controles en la pantalla.
d. Use Ctrl + C para copiar todos los controles seleccionados.
e. Seleccione la pestaña del explorador del paso 3, que tiene la nueva aplicación de lienzo incrustada
creada con la versión más reciente.
f. Seleccionar una pantalla o agregue una nueva.
g. Use Ctrl + V para pegar los controles en la pantalla seleccionada.
h. Repita los pasos para copiar cada pantalla.
5. Cuando termine de copiar todas las pantallas, seleccione la pestaña del explorador del paso 3, que tiene la
nueva aplicación de lienzo incrustada creada con la versión más reciente.
6. Actualice todos lugares donde se accede al registro del formulario basado en modelos host. Reemplace
First(ModelDrivenFormIntegration.Data) con ModelDrivenFormIntegration.Item.
7. Agregue los orígenes de datos que faltan en la nueva aplicación de lienzo incrustada.
8. Actualice todas las referencias rotas en la nueva aplicación de lienzo incrustada.
9. Cuando finalice de hacer cambios, seleccione la pestaña Archivo y, a continuación seleccione Guardar.
10. Para que los cambios pasen a estar disponibles a los usuarios finales, seleccione Publicar y luego seleccione
Publicar esta versión.
NOTE
La aplicación de lienzo incrustada tiene acceso total al registro desde el formulario basado en modelos host
mediante ModelDrivenFormIntegration.Item. Por ejemplo, para obtener el valor de un campo con el nombre
accountnumber y el nombre para mostrar Número de cuenta, puede usar
ModelDrivenFormIntegration.Item.accountnumber o ModelDrivenFormIntegration.Item.'Número de
cuenta'.
4. Con las actualizaciones recientes Common Data Service ahora también ofrece soporte para usar vistas de
entidad como filtro. Consulte esta entrada de blog para los detalles: Selección mejorada de origen de datos y
Common Data Service vistas.
Vea también
Insertar una aplicación de lienzo en un formulario controlado por modelos
Agregar una aplicación de lienzo incrustada en un formulario basado en modelos
Editar una aplicación de lienzo incrustada en un formulario basado en modelos
Personalizar el tamaño y orientación de la pantalla de una aplicación de lienzo insertada en un formulario basado
en modelos
Realice acciones predefinidas en el formulario de host desde una aplicación de lienzo insertada
Propiedades y acciones del control ModelDrivenFormIntegration
Compartir una aplicación incrustada de lienzo
Directrices acerca de cómo trabajar con aplicaciones de lienzo incrustadas
Insertar un informe de Power BI en un formulario
basado en modelos
25/11/2019 • 10 minutes to read • Edit Online
Puede usar informes de Power BI en aplicaciones basadas en modelos PowerApps para incluir informes y análisis
enriquecido en los formularios del sistema y permitir a los usuarios conseguir más. Esto desbloquea la capacidad
de agregar datos en entre los sistemas, y adaptarlos al contexto de un solo registro.
Requisitos previos
Insertar contenido de Power BI es una característica opcional y está deshabilitada en todos los entornos de forma
predeterminada. Debe habilitarla para poder insertar contenido de Power BI. Más información: Visualizaciones de
Power BI en la organización.
Esta característica requiere exportar una solución, modificarla para agregar el fragmento de código XML, y luego
volver a importarla al entorno. Asegúrese de importar los cambios en el entorno de destino mediante una solución
administrada únicamente. Vea Importar, actualizar y exportar soluciones para obtener instrucciones sobre instalar
una actualización en una solución administrada existente.
Puede insertar una sección que hospede informes y ventanas de Power BI en los formularios del sistema
agregando el fragmento de código siguiente en el bloqueo <sections> del XML del formulario. A continuación,
importe la solución en el entorno de destino.
<section id="{d411658c-7450-e1e3-bc80-07021a04bcc2}" locklevel="0" showlabel="true" IsUserDefined="0"
name="tab_4_section_1" labelwidth="115" columns="1" layout="varwidth" showbar="false">
<labels>
<label languagecode="1033" description="Unfiltered Power BI embedding demo"/>
</labels>
<rows>
<row>
<cell id="{7d18b61c-c588-136c-aee7-03e5e74a09a1}" showlabel="true" rowspan="20" colspan="1"
auto="false">
<labels>
<label languagecode="1033" description="Accounts (Parent Account)"/>
</labels>
<control id="unfilteredreport" classid="{8C54228C-1B25-4909-A12A-F2B968BB0D62}">
<parameters>
<PowerBIGroupId>00000000-0000-0000-0000-000000000000</PowerBIGroupId>
<PowerBIReportId>544c4162-6773-4944-900c-abfd075f6081</PowerBIReportId>
<TileUrl>https://xyz.powerbi.com/reportEmbed?reportId=544c4162-6773-4944-900c-
abfd075f6081</TileUrl>
</parameters>
</control>
</cell>
</row>
<row/>
</rows>
</section>
IMPORTANT
Asegúrese de usar el control classid="{8C54228C-1B25-4909-A12A-F2B968BB0D62}" como se indica en el XML de ejemplo.
PROPIEDAD DESCRIPCIÓN
El filtrado se realiza agregando un elemento <PowerBIFilter> en el bloque <parameter> como se muestra aquí.
Puede usar cualquier atributo de entidad del formulario para generar expresión de filtro. Más información:
Construir filtros para comprender cómo crear sus propios filtros.
Tenga en cuenta que se usa el mismo control que la inserción del informe sin filtrar y, por tanto, el Id. de clases
control se mantiene sin cambios.
En esta tabla se describen las propiedades adicionales utilizadas en el ejemplo anterior.
PROPIEDAD DESCRIPCIÓN
La parte de destino de la expresión anterior identifica la tabla y la columna a la que aplicar filtros. El operador
identifica la lógica y los valores identifican los últimos datos pasados desde la aplicación basada en modelos de
PowerApps. Para parametrizar de una forma genérica, los valores son construidos mediante alias. En la expresión
anterior, se pasa el valor de firstname y lastname de una cuenta, y se busca cualquiera de ellos en la columna
Nombre de cuenta en el informe de Power BI. Tenga en cuenta que firstname y lastname son los nombres
únicos de los atributos de la entidad de cuenta, cuyo valor será pasado aquí.
Puede crear expresiones de filtro más complejas consultando ejemplos de Construir los filtros y proporcionando
los valores adecuados para $schema y filterType. Asegúrese de escapar cada literal en la parte de filtro con ", para
generar JSON correctamente.
4. No se mostrarán datos si una cuenta incorrecta se usa para iniciar sesión en Power BI. Para iniciar sesión
con las credenciales correctas, cierre sesión y, a continuación vuelva a iniciar sesión.
5. La vista de los datos de informe que se muestran en PowerApps es igual que en Power BI, y los roles de
seguridad y los privilegios de PowerApps no afectan a los datos que se muestran. Por lo tanto, los datos son
esencialmente iguales que los que vería el creador del conjunto de datos de Power BI. Para aplicar las
restricciones de acceso a datos similares a los roles de seguridad y equipos de PowerApps, use Seguridad de
nivel de fila (RLS ) con Power BI.
6. Si el formulario no muestra el informe de Power BI después de importar la solución y de publicar las
personalizaciones, ábrala en el editor de formularios basados en modelos y guárdelo, para que se genere el
JSON de formulario.
Vea también
Insertar un panel de Power BI en un panel personal basado en modelos de PowerApps
Usar Power BI con aplicaciones de Dynamics 365
Importar, actualizar y exportar soluciones
Conocer las vistas de las aplicaciones controladas
por modelos
25/11/2019 • 10 minutes to read • Edit Online
Con las aplicaciones de PowerApps, utilice vistas para definir cómo se muestra una lista de registros para una
entidad específica en la aplicación. Las vistas definen:
Las columnas que aparecen
Qué ancho debe tener cada columna
Cómo debe ordenarse la lista de registros de forma predeterminada
Qué filtros predeterminados se deben aplicar para limitar los registros que aparecerán en la lista
Una lista desplegable de vistas con frecuencia se muestra en la aplicación para que la gente tiene distintas
opciones para vistas de datos de la entidad.
Los registros que están visibles en vistas individuales se muestran en una lista, a veces denominada cuadrícula,
que a menudo proporciona opciones para que los usuarios puedan cambiar el orden predeterminado, el ancho
de columna, y filtros para ver más fácilmente los datos importantes para ellos. Las vistas definen también el
origen de datos para los gráficos que se usan en la aplicación.
Tipos de vistas
Existen tres tipos de vistas: personales, del sistema y públicas.
Este tema aborda cómo los administradores y personalizadores del sistema trabajan con vistas del sistema y
públicas.
Vistas personales
Usted y cualquiera que tenga al menos el nivel de acceso Usuario a las acciones de la entidad Vista guardada
también pueden crear vistas personales. Como administrador del sistema, usted puede modificar el nivel de
acceso de cada acción en el rol de seguridad para controlar la profundidad a la que los usuarios pueden crear,
leer, escribir, eliminar, asignar o compartir vistas personales.
Las vistas personales son propiedad de personas individuales y debido a su acceso predeterminado de nivel de
usuario, solo son visibles para esas personas o cualquiera que hayan elegido para compartir sus vistas
personales. Puede crear vistas personales guardando una consulta que defina mediante Búsqueda avanzada o
mediante las opciones Guardar filtros como vistas nuevas y Guardar filtros en la vista actual en la lista de vistas.
Estas vistas suelen incluirse en la parte inferior de las listas de vistas del sistema o públicas que estén disponibles
en la aplicación. Aunque puede crear una vista personal nueva basada en una vista del sistema o pública, no
puede crear una vista del sistema o pública basada en una vista personal.
Vistas del sistema
Como administrador o personalizador del sistema, puede editar vistas del sistema. Las vistas del sistema son
vistas especiales de las que depende la aplicación, que existen para entidades del sistema o se crean
automáticamente cuando se crean entidades personalizadas. Estas vistas tienen finalidades específicas y algunas
funcionalidades adicionales.
Estas vistas no aparecen en el selector de la vista y no puede usarlas en sublistas en un formulario o como una
lista en un panel. No puede eliminar o desactivar estas vistas. Más información: Quitar vistas
Las vistas del sistema son propiedad de la organización, por lo que todos puedan verlas. Por ejemplo, todos
tienen acceso a nivel de organización a registros de lectura para la entidad Vista (savedquery). Estas vistas están
asociadas con entidades específicas y son visibles en el explorador de soluciones. Puede incluir estas vistas en
soluciones porque están asociadas con la entidad.
Vistas públicas
Las vistas públicas son vistas de uso general que puede personalizar como desee. Estas vistas están disponibles
en el selector de vistas y puede utilizarlas en subcuadrículas en un formulario o como lista en un panel. Algunas
vistas públicas existen de forma predeterminada para entidades del sistema y para cualquier entidad
personalizada. Por ejemplo, al crear una nueva entidad personalizada, tendrá la siguiente combinación de vistas
públicas y del sistema.
NOMBRE ESCRIBA
Puede crear vistas públicas personalizadas. Puede eliminar cualquier vista pública personalizada creada en una
solución no administrada. No puede eliminar ninguna vista pública definida por el sistema. Las vistas públicas
personalizadas agregadas importando una solución administrada pueden tener propiedades administradas
establecidas que pueden impedir que se eliminen, excepto desinstalando la solución administrada.
Personalizar vistas
Como personalizador del sistema, puede personalizar las vistas a través de controles haciendo que las
cuadrículas (listas) sean editables y compatibles para Interfaz unificada. Se usan los controles siguientes:
Cuadrícula editable Permite a los usuarios editar en línea con gran detalle directamente desde cuadrículas y
subcuadrículas tanto si usan una aplicación web, tableta o teléfono. Más información: Crear cuadrículas
editables mediante el control personalizado Cuadrículas editables
Cuadrícula de solo lectura: Ofrece una experiencia de visualización e interacción óptima para cualquier
tamaño de pantalla u orientación, como móviles y tabletas, usando principios de diseño receptivos. Más
información: Especificar propiedades para aplicaciones de Interfaz unificada
Pasos siguientes
Creación o edición de vistas
Crear o editar una vista de aplicación controlada por
modelos
25/11/2019 • 3 minutes to read • Edit Online
En este tema, creará una nueva vista pública personalizada. También editará una vista existente.
Crea una vista
1. Inicie sesión en PowerApps.
IMPORTANT
“Si el modo de diseño Controlado por modelos no está disponible, puede que tenga que Crear un entorno.
2. Expanda Datos, seleccione Entidades, seleccione la entidad Cuenta que desee y, a continuación,
seleccione la pestaña Vistas.
3. En la barra de herramientas, seleccione Agregar vista.
4. En el cuadro de diálogo Ver propiedades, indique un Nombre, como Cuentas con 25 o más
empleados, opcionalmente una Descripción para la vista y, a continuación seleccione Aceptar.
5. En el panel derecho de tareas comunes, seleccione Agregar columnas, en el cuadro Agregar columnas
seleccione Número de empleados y, a continuación seleccione Aceptar.
6. En el panel derecho de tareas comunes, seleccione Editar criterios de filtrado, en el cuadro de diálogo
Editar criterios de filtrado, seleccione Número de empleados, seleccione Es mayor o igual que y, a
continuación, introduzca 25.
7. Seleccione Aceptar para cerrar el cuadro de diálogo Editar criterios de filtrado y, a continuación,
seleccione Guardar y cerrar en el editor de la vista.
8. Tenga en cuenta que la vista ahora está disponible en la pestaña Vistas en el sitio de PowerApps, lo que
permite agregarla a una aplicación.
Edite una vista
1. En la pestaña Vistas en el sitio de PowerApps, seleccione la vista Número de empleados.
2. Cambie el Nombre de la vista a Número de empleados con 25 o más empleados de Arizona y, a
continuación, seleccione Aceptar.
3. En el panel derecho de tareas comunes, seleccione Agregar columnas, en el cuadro de diálogo Agregar
columnas seleccione Dirección 1: ciudad y, a continuación seleccione Aceptar.
4. En el panel derecho de tareas comunes, seleccione Edite criterios de filtrado, en el cuadro de diálogo
Editar criterios de filtrado agregue una segunda cláusula de filtro. Seleccione Dirección 2: estado o
provincia, seleccione Igual a y, a continuación, Arizona.
5. Seleccione Aceptar para cerrar el cuadro de diálogo Editar criterios de filtrado y, a continuación,
seleccione Guardar y cerrar en el editor de la vista.
En este tema abrirá una definición de vista para mostrar propiedades y opciones para configurar la vista. Existen
varias formas de acceder a definiciones de vista en PowerApps.
IMPORTANT
“Si el modo de diseño Controlado por modelos no está disponible, puede que tenga que Crear un entorno.
2. Expanda Datos, seleccione Entidades y, a continuación, seleccione la entidad que desee, como la entidad
Cuenta.
3. Seleccione la ficha Vistas.
4. Seleccione la vista que desea abrir como, por ejemplo, la vista Todas las cuentas de la entidad de cuenta.
Abra una vista para editarla desde una aplicación web heredada
En cualquier vista de lista para una entidad de una aplicación web heredada, en la barra de comandos encontrará
los siguientes comandos tras seleccionar el botón de puntos (...):
Vista: Abre la definición de la vista actual de la solución predeterminada.
Nueva vista del sistema: Abre una ventana nueva para crear una nueva vista de la entidad actual en la
solución predeterminada.
Personalizar entidad: Le llevará a la definición de la entidad actual en la solución predeterminada donde
puede seleccionar Vistas.
Vistas del sistema: Abre la misma que ventana que Personalizar entidad, pero con Vistas seleccionado.
Esta lista de vistas tiene cuatro filtros que puede usar para encontrar las vistas que desea más fácilmente:
Todas las vistas activas
Vistas públicas activas
Vistas públicas inactivas
Vistas activas definidas por el sistema
Si la entidad con la que está asociada la vista forma parte de una solución no administrada, puede crear o editar
vistas para esa entidad en la solución predeterminada. Las vistas del sistema se asocian con una entidad y no están
disponibles como componentes de soluciones independientes. A diferencia de los campos, las vistas no usan un
prefijo de personalización en un nombre único que deba ser coherente en una solución, de modo que no es
necesario crear vistas en el contexto de una solución.
Pasos siguientes
Comprender las vistas
Crear y editar vistas públicas o del sistema de
aplicaciones controladas por modelos
25/11/2019 • 14 minutes to read • Edit Online
En este tema realizará varias tareas necesarias para trabajar con las vistas, como crear una vista pública, agregar
una vista existente a una aplicación y cambiar las columnas, los filtros y el criterio de ordenación para una vista.
En PowerApps, las vistas definen cómo se muestran los registros de una entidad específica. Una vista define lo
siguiente:
Las columnas (atributos) que aparecen
Ancho de las columnas
Cómo se ordenan los registros de forma predeterminada
Qué filtros se aplican para determinar qué registros aparecen en la lista de forma predeterminada
Las vistas se clasifican generalmente en tres tipos:
Personal: los usuarios individuales pueden crear vistas personales según sus requisitos personales. Estas vistas
solo son visibles para el usuario que las creó y para cualquier usuario con el que hubiera elegido compartirlas.
Pública: como creador de aplicaciones, puede crear y editar vistas públicas para adaptarse a los requisitos de
su organización. Estas vistas están disponibles en el selector de vistas y puede utilizarlas en subcuadrículas en
un formulario o como lista en un panel.
Sistema: como creador de aplicaciones, también puede modificar vistas del sistema para cumplir los requisitos
de su organización. Son vistas especiales de las que depende la aplicación, que existen para entidades del
sistema o se crean automáticamente cuando se crean entidades personalizadas. Estas vistas están disponibles
para algunos o para todos los usuarios, en función de sus permisos.
Más información: Comprender las vistas
IMPORTANT
“Si el modo de diseño Controlado por modelos no está disponible, puede que tenga que Crear un entorno.
2. Expanda Datos, seleccione Entidades, seleccione la entidad que desee y, a continuación, seleccione la
pestaña Vistas.
3. En la barra de herramientas, seleccione Agregar vista.
4. En el cuadro de diálogo Crear vista, introduzca un nombre y, si lo desea, una descripción, y, a continuación,
seleccione Crear.
5. En el diseñador de vistas, seleccione la columna más para agregar las columnas adicionales que desee
mostrar en la vista. Más información: Agregar una columna a su vista en diseñador de aplicaciones
6. En el diseñador de vistas, puede realizar las tareas siguientes:
Para cambiar el filtro de la columna seleccione el encabezado de columna que desea filtrar y en la lista
desplegable seleccione Filtrar por.
Para cambiar el orden de la columna seleccione el encabezado de columna que desea filtrar y en la lista
desplegable seleccione Filtrar Ordenar de la A a la Z u Ordenar de la Z a la A.
Configure el ancho de columna haciendo clic en la columna y arrastrándola a la posición deseada.
Reordene las columnas arrastrando una columna hasta la posición que desee.
NOTE
También puede cambiar el orden de la columna haciendo clic en el encabezado de columna y seleccionando Mover a
la derecha o Mover a la izquierda.
7. Elija Publicar para guardar la vista y hacer que esté disponible para otros usuarios de su organización.
NOTE
Las vistas se muestran en función de la entidad que ha seleccionado. Por ejemplo, si selecciona Cuenta, se muestran
las vistas relacionadas con la entidad Cuenta.
Para obtener más información sobre el diseñador de aplicaciones: Diseñar aplicaciones de negocio personalizadas
mediante el diseñador de aplicaciones
Agregue una columna a la vista en diseñador de aplicaciones
Las vistas muestran registros en una tabla que contiene filas y columnas. Cada fila es un registro y los campos que
se muestra desde el registro dependen de las columnas que agregue a la vista.
1. En el diseñador de la aplicación, seleccione la vista de la entidad que desea y en el panel derecho junto a la
vista que desee seleccione editar (botón de lápiz).
2. En la ficha Componentes, seleccione la lista Atributos de columna de la Entidad principal o la Entidad
relacionada.
3. En la lista, seleccione el atributo que desee y arrástrelo hacia el encabezado de la columna. También puede
agregar el atributo haciendo doble clic en él.
4. Repita el paso 3 hasta que haya agregado todos los atributos que desee mostrar en la vista.
A medida que agrega atributos, puede arrastrarlos a cualquier posición entre los encabezados de columna
existentes. También puede mover columnas después de agregarlas a la vista.
Defina los criterios de filtro en diseñador de la aplicación
Puede establecer criterios de filtrado para que solo se muestre un subconjunto de registros en una vista. Cuando
un usuario abre la vista, se muestran solo los registros que cumplan los criterios de filtro definidos. Puede
seleccionar campos para filtrar entre las entidades principales y las relacionadas.
1. En el diseñador de aplicaciones, expanda la sección Criterios de filtro.
Al seleccionar Agrupar por Y, solo los registros que satisfagan ambos criterios se muestran en la vista. Si
selecciona Agrupar por O, se muestran los registros que cumplan cualquiera de los criterios de filtro. Por
ejemplo, para mostrar solo los registros que tienen prioridad Alta o Normal y el estado de Activo, seleccione
Agrupar por Y.
Para quitar el filtro de un grupo, seleccione el grupo y seleccione Desagrupar.
Establecer el criterio de ordenación primario y secundario de las columnas del diseñador de aplicaciones
Cuando se abre una vista, se ordenan los registros que se muestra en el orden que se establece cuando se crea la
vista. De forma predeterminada, los registros se ordenan según la primera columna en una vista cuando no se
selecciona ningún orden. Puede elegir ordenar por una sola columna, o bien, elegir dos columnas —una principal
y otra secundaria— para ordenar. Cuando se abre la vista, los registros se ordenan primero por la columna que
desea usar para la ordenación principal y, después, por la columna que desea usar para la ordenación secundaria.
NOTE
Solo puede establecer ordenaciones principales y secundarias para los atributos de columna que ha agregado desde la
entidad principal.
1. En la lista Vistas de una entidad, seleccione la flecha abajo Mostrar la lista de referencias .
Herramientas de la Comunidad
Ver diseño del Duplicador y Ver diseñador son herramientas que la comunidad XrmToolbox desarrolló para
PowerApps.
Más información: Herramientas del desarrollador.
NOTE
Estas herramientas se proporcionan por XrmToolBox y no se admiten por Microsoft. Si tiene alguna duda relacionada con la
herramienta, póngase en contacto con el Editor. Más información: XrmToolBox.
Pasos siguientes
Crear relaciones 1: N (uno a varios) o N:1 (varios a uno)
Elegir y configurar columnas en vistas de aplicaciones
controladas por modelos
25/11/2019 • 5 minutes to read • Edit Online
Junto con los criterios de filtro, las columnas visibles en una vista de PowerApps son muy importantes para el
valor proporcionado por la vista. En este tema, creará o editará vistas realizando las siguientes tareas:
Abrir el editor de vistas
Agregar columnas
Quitar columnas
Cambiar el ancho de columna
Mueva una columna
IMPORTANT
La versión más reciente del diseñador de vistas está funcionando actualmente en vista previa. Algunas características como
habilitar o deshabilitar la presencia de una columna y agregar una columna de búsqueda aún no se admiten. Para realizar
estas tareas abra la vista en el diseñador clásico de vistas.
Habilite o deshabilite presencia para una columna
Agregue columnas de búsqueda
3. Seleccione una vista existente para abrirla o, en la barra de herramientas, seleccione Agregar vista.
Agregar columnas
Puede incluir las columnas de la entidad actual o de cualquier entidad relacionada que tenga una relación de
entidad 1:N con la entidad actual.
Por ejemplo, es posible que desee mostrar el propietario de una entidad propiedad del usuario en una columna.
Puede elegir el campo Propietario de la entidad actual para mostrar el nombre del propietario. Esto aparecerá
como un vínculo para abrir el registro Usuario de la persona que es el propietario.
Si desea que muestre el número de teléfono del propietario del registro, debe seleccionar Usuario propietario
(usuario) en el cuadro desplegable Tipo de registro y luego seleccione el campo Teléfono principal.
Agregue columnas a vistas
1. Mientras crea y edita las vistas, asegúrese que el panel Campos está abierto. Si no es así, seleccione
Agregar campos en la barra de herramientas.
2. Seleccione los campos que desee agregar al diseñador de vistas. Esto agrega el campo como una columna
en la mano derecha de la vista.
3. Seleccione la pestaña Relacionado para ver las entidades relacionadas y los campos correspondientes.
Al agregar columnas, se incrementará el ancho de la vista. Si el ancho de la vista supera el espacio disponible para
mostrarlo en la página, las barras horizontales de navegación permitirán desplazarse y ver las columnas ocultas.
TIP
Si la vista filtra los datos de un determinado campo para mostrar únicamente los registros con determinado valor, no incluya
esa columna en la vista. Por ejemplo, si solo muestra registros activos, no incluya la columna de estado en la vista. En su
lugar, asigne un nombre a la vista para indicar que todos los registros que se muestran en la vista están activos.
NOTE
Al agregar columnas a las vistas de búsqueda para entidades actualizadas, solo las primeras tres columnas se mostrarán.
Quitar columnas
1. Seleccione el encabezado de la columna que desee quitar.
2. En el menú desplegable, seleccione Quitar.
Cambiar el ancho de columna
1. Pase el puntero por el área entre las columnas de la vista.
2. Una línea aparece y el cursor se convierte en una flecha doble.
3. Arrastre la columna hasta el ancho adecuado.
Mueva una columna
Haga clic en el encabezado de columna y arrástrelo a la ubicación correcta.
TIP
También puede seleccionar el encabezado de la columna que desea mover y desde el desplegable seleccione Mover a la
derecha o Mover a la izquierda.
Pasos siguientes
Creación o edición de vistas
Crear cuadrículas (listas) editables de aplicaciones
controladas por modelos mediante el control
personalizado Cuadrícula editable
25/11/2019 • 9 minutes to read • Edit Online
En versiones anteriores de Dynamics CRM, los usuarios no podían introducir datos directamente en cuadrículas (a
veces denominadas las listas) o subcuadrículas de formularios. Tenían que seleccionar en el registro en la
cuadrícula para abrir un formulario, modificar los datos, y luego guardarlos, lo que requería varios pasos. Con las
cuadrículas editables, los usuarios pueden editar en línea con gran detalle directamente desde cuadrículas y
subcuadrículas tanto si usan una aplicación web, tableta o teléfono.
Cuando se habilitan cuadrículas editables a través del control personalizado Cuadrículas editables, los usuarios
pueden editar la mayoría de los tipos de campos, incluidos campos de búsqueda básicos y conjuntos de opciones.
Las cuadrículas editables admiten:
Edición en línea de registros en el nivel de entidad o subcuadrícula (incluye entidades personalizadas)
Vistas del sistema y vistas personales
Clientes web y móviles
Navegación con un teclado o un mouse
Agrupación y orden (puede agrupar/ordenar por cualquier columna de la vista actual)
Filtrado
Mover y cambiar el tamaño de columnas
Paginación
Guardar cambios de sesión a otra para agrupar, ordenar, filtrar, paginar y mover y cambiar de tamaño
columnas
Configuración de búsqueda
Campos calculados y campos consolidados
Reglas de negocio (campo Mostrar mensaje de error, Establecer valor de campo, Establecer Requerido por
la empresa, Establece valor predeterminado, Bloquear o desbloquear)
Eventos JavaScript
Habilitar o deshabilitar celdas en función del rol de seguridad
Los usuarios pueden seguir usando búsqueda y gráficos, y pueden acceder a la barra de acción como
cuadrículas de solo lectura
3. En el cuadro de diálogo Agregar control, seleccione Cuadrícula editable, y después seleccione Agregar.
4. En la fila Cuadrícula editable que se agrega, seleccione los factores de forma que desea aplicar a la
cuadrícula. Esto convierte al control de cuadrícula editable en el control predeterminado para el factor de
forma seleccionado.
NOTE
En tiempo de ejecución, los usuarios cambiar entre cuadrículas editables y cuadrículas de solo lectura.
5. Para agregar una búsqueda, en el grupo de opciones Cuadrícula editable, seleccione Agregar búsqueda
y en el cuadro de diálogo Configurar propiedad “Agregar búsqueda”:
a. En la lista Vistas disponibles, seleccione la vista a la que agregar la búsqueda (por ejemplo,
seleccione Mis cuentas activas).
b. En la lista Columnas disponibles, seleccione la columna de búsqueda para agregar (por ejemplo,
seleccione Contacto principal).
c. En la lista Vista predeterminada, seleccione el origen de datos del campo de búsqueda.
d. Si desea limitar los registros mostrados, seleccione la casilla Mostrar solo los registros donde,
continuación, seleccione los criterios en la lista y, por último, seleccione Aceptar.
6. Si tiene una cuadrícula anidada, seleccione el botón de lápiz para Vista de cuadrícula anidada y
seleccione la entidad y la vista de cuadrícula anidadas. Para el Id. principal de cuadrícula anidada
seleccione la relación de las entidades. Por ejemplo, el campo ParentAccountID conecta las entidades
Cuenta y Contacto.
NOTE
Las cuadrículas anidadas solo están disponibles para teléfonos y tabletas, no para la web.
7. Si no desea permitir que el usuario agrupe datos por cualquier columna de la vista (conviene ahorrar
espacio, por ejemplo), en la fila Agrupar por columna, seleccione el botón de lápiz y, en el cuadro de
diálogo Configura propiedad “Agrupar por columna”, seleccione Deshabilitado y, a continuación,
seleccione Aceptar.
TIP
Esto es sobre todo útil para subcuadrículas de formularios.
8. Si desea agregar eventos de JavaScript, seleccione la pestaña Eventos y luego seleccione las entidades, los
campos y los eventos adecuados. Más información: Documentación para desarrolladores: Usar cuadrículas
editables
Recurso que se puede reservar Elemento de la regla de perfil de acceso Respuesta de campaña
al canal
Reserva de recursos que se pueden Perfil de acceso al canal
reservar Dirección de competidor
Regla de perfil de acceso al canal
Encabezado de reserva de recursos que Conexión
se pueden reservar Contrato
Rol de conexión
Categoría de recurso que se puede Plantilla de derecho
reservar Firma de correo electrónico
Parte externa
Asociación de categoría de recurso que Plantilla de correo electrónico
se puede reservar Fax
Proceso expirado
Característica del recurso que se puede Carta
reservar Producto de la factura
Lista de marketing
Grupo de recursos que se pueden Incidente de artículo de conocimientos
reservar Posición
Cliente potencial a ventas de la
Estado de reserva oportunidad Campaña exprés
Competidor Nota
Comentarios Organización
Pedido
Llamada de teléfono
Lista de precios
Producto
Cola
Oferta
Modelo de clasificación
Valor de la clasificación
Actividad social
Perfil social
Error de sincronización
Tarea
Equipo
Usuario
Pasos siguientes
Usar métodos abreviados de teclado en cuadrículas editables
Ordenar registros en una vista de aplicación
controlada por modelos
25/11/2019 • 2 minutes to read • Edit Online
Al crear o editar una vista puede configurar el criterio de ordenación ascendente o descendente.
1. Inicie sesión en PowerApps.
2. Expanda Datos, seleccione Entidades y, a continuación, seleccione la entidad que desee, como Cuentas.
3. Seleccione la pestaña Vistas y, si se muestra, seleccione Quitar filtro y, a continuación, abra la vista que
desee, como Cuentas activas.
4. En el diseñador de vistas, seleccione Configurar orden.
5. En el cuadro de diálogo Configurar orden, en la lista Ordenar por, seleccione la columna que desea
ordenar y, a continuación, seleccione Orden ascendente u Orden descendente.
6. Seleccione Aceptar para cerrar el cuadro de diálogo Configurar orden.
Pasos siguientes
Creación o edición de vistas
Editar criterios de filtro y cambiar el orden en vistas
de aplicaciones controladas por modelos
25/11/2019 • 2 minutes to read • Edit Online
Junto con las columnas que se muestran en la vista, los criterios de filtro que se aplican a una vista son parte
fundamental del valor proporcionado por la vista.
1. Cuando cree o edite la vista en el diseñador de vistas, en el panel Tareas comunes derecho seleccione
Editar criterios de filtrado.
2. El cuadro de diálogo muestra una interfaz de usuario similar a Búsqueda avanzada. Puede usar las
cláusulas Y y O para especificar y agrupar criterios seleccionando la cláusula de filtro y luego seleccionando
Agrupar con Y o Agrupar con O.
3. Seleccione Aceptar para guardar y cerrar el cuadro de diálogo Editar criterios de filtrado.
Para obtener más información sobre cómo crear cláusulas de filtro, consulte Crear, editar o guardar búsquedas
avanzadas.
Pasos siguientes
Comprender las vistas
Propiedades administradas de aplicaciones
controladas por modelos para vistas
25/11/2019 • 2 minutes to read • Edit Online
Si crea una vista pública personalizada en PowerApps que desea incluir en una solución administrada que
distribuirá, tiene la opción de limitar la capacidad de personalizar la vista a cualquier usuario que esté instalando la
solución.
De forma predeterminada, la mayoría de las vistas tienen la propiedad administrada Personalizable establecida
como verdadero para que los usuarios puedan personalizarlas. A menos que tenga una razón muy buena para
cambiar esto, se recomienda permitir que los usuarios personalicen las vistas en la aplicación.
Pasos siguientes
Comprender las vistas
Especificar una vista predeterminada de aplicación
controlada por modelos
25/11/2019 • 2 minutes to read • Edit Online
A menos que alguien haya fijado una vista diferente en su aplicación como su predeterminada personal, se verá la
vista predeterminada que especifique como el creador de la aplicación. Puede establecer cualquier vista pública
como vista predeterminada de una entidad.
Pasos siguientes
Comprender las vistas
Eliminar o desactivar una vista de aplicación
controlada por modelos
25/11/2019 • 2 minutes to read • Edit Online
Puede que tenga una vista que no desea que la vea nadie. Según el tipo de vista, puede eliminarla o desactivarla.
Pasos siguientes
Crear o editar vistas
Aplicar la lógica empresarial personalizada con
reglas de negocio y flujos en aplicaciones basadas en
modelos
25/11/2019 • 3 minutes to read • Edit Online
Definir y forzar procesos de negocio coherentes es una de las principales razones por las que las personas utilizan
aplicaciones basadas en modelos. Los procesos coherentes garantizan a los usuarios que usan una aplicación
basada en modelos que puedan concentrarse en su trabajo y no en recordar realizar un conjunto de pasos
manuales.
Reglas de negocio
Las reglas de negocio proporcionan una interfaz básica para implementar y mantener reglas de evolución rápida
y de uso general. El ámbito der una regla de negocio define si la regla de negocio se ejecutará:
Para obtener más información sobre cómo definir reglas de negocio que se aplique a un formulario en una
aplicación basada en modelos, consulte Crear reglas de negocio para aplicar lógica en un formulario de
aplicaciones controladas por modelos.
NOTE
Para definir una regla de negocio para una entidad para que se aplique en el servidor o a aplicaciones de lienzo y
aplicaciones basadas en modelos, consulte Crear una reglas de negocio para una entidad.
Flujos
Microsoft Flow incluye varios tipos de procesos, cada uno diseñado con un objetivo:
Flujos automatizados. Cree un flujo que realizará una o varias tareas automáticamente después de que un
evento lo desencadene. Más información: Crear un flujo
Flujos de botones. Realice tareas repetitivas simplemente tocando un botón en su dispositivo móvil. Más
información: Introducción a flujos de botones
Flujos programados. Cree un flujo que realizará una o varias tareas en un programa como una vez al día,
en una fecha específica, o después de una determinada hora. Más información: Ejecutar flujos en un
programa
Flujos de proceso de negocio. Asegúrese de que los usuarios especifiquen datos de manera coherente y
siguen los mismos pasos cada vez que trabajan con una aplicación mediante la creación de un flujo de
proceso de negocio. Más información: Información general sobre flujos de proceso de negocio
Flujos de trabajo y acciones. Los personalizadores de Dynamics 365 puede estar familiarizados con los
procesos clásicos de Common Data Service, que son flujos de trabajo y acciones. Más información: Usar
procesos de flujo de trabajo e Información general sobre acciones
Paso siguiente
Crear reglas de negocio para aplicar lógica en un formulario de aplicaciones basadas en modelos
Vea también
Aplicar la lógica de negocios con Common Data Service
Crear reglas de negocio y recomendaciones para
aplicar lógica en un formulario de aplicaciones
controladas por modelos
25/11/2019 • 12 minutes to read • Edit Online
En este tema se muestra cómo crear reglas de negocio y recomendaciones para aplicar lógica del formulario en
una aplicación basada en modelos sin escribir código de JavaScript ni crear complementos. Las reglas de
negocio proporcionan una interfaz básica para implementar y mantener reglas de rápida evolución y de uso
general. Se pueden aplicar a formularios principales y de creación rápida y funcionan en aplicaciones basadas
en modelos, aplicaciones web heredadas, Dynamics 365 para tabletas, Dynamics 365 for Outlook (modo con o
sin conexión).
NOTE
Para definir una regla de negocio para una entidad para que se aplique a todos los formularios y servidores, consulte
Crear una reglas de negocio para una entidad.
Combinando condiciones y acciones puede realizar cualquiera de las siguientes reglas de negocio:
Establecer valores de campo
Borrar valores de campos
Establecer niveles de requisitos de campo
Mostrar u ocultar campos
Habilitar o deshabilitar campos
Validar datos y mostrar mensajes de error
Cree recomendaciones de negocio basadas en inteligencia empresarial.
TIP
Si desea modificar una regla de negocio existente, debe desactivarla para poder editarla.
b. Para establecer propiedades para la acción, haga clic en el componente Acción en la ventana del
diseñador y, a continuación establezca las propiedades en la pestaña Propiedades.
c. Cuando termine de establecer propiedades, haga clic en Aplicar.
8. Agregar una recomendación de negocio. Para agregar una recomendación de negocio:
a. Arrastre el componente Recomendación desde una pestaña Componentes hasta un signo más
junto a un componente Condición. Arrastre el componente Recomendación a un signo más
junto a una marca de verificación si desea que la regla de negocio realice esa acción cuando la
condición se cumple, o a un signo más junto a una x si desea que la regla de negocio realice esa
acción si la condición no se cumple.
b. Para establecer propiedades para la recomendación, haga clic en el componente
Recomendación en la ventana del diseñador y, a continuación establezca las propiedades en la
pestaña Propiedades.
c. Para agregar más acciones a la recomendación, arrástrelas desde la pestaña Componentes y, a
continuación establezca propiedades para cada acción en la pestaña Propiedades.
NOTE
Al crear una recomendación, se agrega una sola acción de forma predeterminada. Para ver todas las
acciones en una recomendación, haga clic en Detalles en el componente Recomendación.
TIP
A continuación se proporcionan algunas sugerencias a tener presentes mientras trabaja en reglas de negocio en la
ventana del diseñador:
Para realizar una instantánea de todo en la ventana Reglas de negocio, haga clic en Instantánea en la barra de
acciones. Esto es útil, por ejemplo, si desea compartir y obtener comentarios en la regla de negocio de un miembro
del equipo.
Use el minimapa para navegar rápidamente a distintas partes del proceso. Esto es útil cuando tiene un proceso
complicado que se desplaza fuera de la pantalla.
A medida que agregue condiciones, acciones, y recomendaciones de negocio a la regla de negocio, se crea el código
para la regla de negocio y aparece en la parte inferior de la ventana del diseñador. Este código es de solo lectura.
Problemas comunes
En esta sección se describen los problemas comunes que se pueden producir al usar reglas de negocio.
El campo Nombre completo no es compatible con aplicaciones de la interfaz unificada
Las acciones o condiciones que usan un campo Nombre completo (nombre completo) no se admiten en
aplicaciones basadas en la interfaz unificada. Como alternativa, puede usar acciones o condiciones con los
campos Nombre de pila (firstname) y Apellido (lastname).
¿No se está desencadenando su regla de negocio para un formulario?
Una regla de negocio puede no ejecutarse debido a que el campo al que se hace referencia en la regla de
negocio no se incluye en el formulario.
1. Abra el explorador de soluciones. Expanda la entidad deseada y seleccione Formularios.
2. Abra el formulario que desea y en la cinta del diseñador de formularios seleccione Reglas de negocio.
3. En el diseñador de formularios, abra la regla de negocio.
4. En el diseñador de reglas de negocio seleccione cada condición y acción para comprobar todos los
campos a los que se hace referencia en cada condición y acción.
5. Compruebe que cada campo al que se hace referencia en la regla de negocio también está incluido en el
formulario. De lo contrario, agregue el campo que falta al formulario.
Vea también
Crear una lógica de negocios personalizada con procesos
Crear un flujo de proceso de negocio
Crear o editar un gráfico del sistema de una
aplicación controlada por modelos
25/11/2019 • 2 minutes to read • Edit Online
En este tema aprenderá a crear un gráfico del sistema. Los gráficos del sistema son gráficos propiedad de la
organización, que los pone a disposición de cualquier persona con acceso para leer los datos que ejecutan la
aplicación. Los gráficos del sistema no se pueden asignar ni compartir con usuarios específicos de la aplicación.
1. Inicie sesión en PowerApps.
IMPORTANT
“Si el modo de diseño Controlado por modelos no está disponible, puede que tenga que Crear un entorno.
2. Expanda Datos, seleccione Entidades, seleccione la entidad que desee y, a continuación, seleccione la
pestaña Gráficos.
3. En la barra de herramientas, seleccione Agregar gráfico.
4. Especifique el tipo de gráfico y cómo se mostrarán los datos en el gráfico.
Introduzca el nombre del gráfico, como Número de empleados por cuenta.
En las listas desplegables de Seleccionar campo:
En la lista desplegable del eje Serie de Seleccionar campo, seleccione un campo como
Número de empleados.
En la lista desplegable del eje Categoría de Seleccionar campo, seleccione un campo como
Nombre de cuenta.
Agregue una descripción para identificar la finalidad del gráfico, como Este gráfico de columnas
muestra el número de empleados por nombre de cuenta.
Pasos siguientes
Crear o editar paneles
Crear o editar paneles de aplicaciones controladas
por modelos
25/11/2019 • 4 minutes to read • Edit Online
Existen dos tipos de paneles: paneles de usuario y paneles del sistema. Un usuario de la aplicación puede crear un
panel visible solo para él en las áreas de la aplicación para las que tenga privilegio. Un administrador o
personalizador crea o personaliza paneles del sistema que, cuando se publican, están visibles para todos los
usuarios de la aplicación. Un usuario puede optar por establecer su panel de usuario como predeterminado y
reemplazar el panel del sistema. Este tema se centra en los paneles de sistema.
Crea un panel
1. Inicie sesión en PowerApps.
IMPORTANT
“Si el modo de diseño Controlado por modelos no está disponible, puede que tenga que Crear un entorno.
2. Expanda Datos, seleccione Entidades, seleccione la entidad en la que desee que se base el panel, como la
entidad Cuenta y, a continuación, seleccione la pestaña Paneles.
3. En la barra de herramientas seleccione Agregar un panel y, a continuación, elija un diseño de 2, 3 o 4
columnas.
4. En el cuadro de diálogo Panel: Nuevo escriba un nombre para el panel.
5. Seleccione una de las áreas del componente y seleccione el icono para un gráfico o una lista.
Puede tener hasta seis componentes en el panel.
6. Por ejemplo, si agrega un gráfico, en el cuadro de diálogo Agregar componente, seleccione valores para
Tipo de registro, Ver y Gráfico y, a continuación seleccione Agregar para agregar el gráfico al panel.
7. Cuando haya terminado de agregar componentes al panel, seleccione Guardar y luego Publicar.
IMPORTANT
“Si el modo de diseño Controlado por modelos no está disponible, puede que tenga que Crear un entorno.
2. Expanda Datos, seleccione Entidades, seleccione la entidad en la que desee que se base el panel, como la
entidad Cuenta y, a continuación, seleccione la pestaña Paneles.
3. Abra un panel, seleccione una de las áreas del componente y, a continuación, en la barra de herramientas,
seleccione Editar componente.
4. En el cuadro de diálogo Establecer propiedades, puede realizar cambios en un gráfico o lista, como
cambiar la entidad o la vista predeterminada, agregar un seleccionador de gráfico o hacer que el panel esté
disponible en las aplicaciones móviles. Cuando esté listo, seleccione Establecer.
Para obtener más información sobre cómo establecer propiedades de los componentes del panel, consulte
Establecer las propiedades para un gráfico o una lista incluidos en un panel.
5. Cuando haya completado sus cambios asegúrese de guardarlos y después publíquelos.
Tareas adicionales de paneles del sistema que puede realizar son:
Quitar una lista o un gráfico de un panel
Agregar una lista o un gráfico a un panel
Establecer el panel predeterminado
Usar roles de seguridad para crear un panel visible solo para determinados roles
Pasos siguientes
Establecimiento de propiedades para un gráfico o una lista incluidos en un panel
Configurar paneles de experiencia interactiva de
aplicaciones controladas por modelos
25/11/2019 • 23 minutes to read • Edit Online
Los paneles de experiencia interactiva pueden convertirse en un área de trabajo integral para los usuarios de las
aplicaciones, como representantes de servicio, para ver la información sobre la carga de trabajo y actuar. Son
totalmente configurables, están basados en roles de seguridad y proporcionan la información de carga de trabajo
a través de secuencias múltiples en tiempo real. Los usuarios de panel interactivo no necesitan navegar por la
aplicación en busca de un registro específico; pueden actuar sobre él directamente desde el panel.
Los paneles de experiencia interactiva se ofrecen en dos formatos: de varias secuencias y de secuencia única.
Además, los paneles de varias secuencias pueden ser paneles específicos de la página principal o de la entidad.
Los paneles específicos de la entidad se configuran en una parte diferente de la interfaz de usuario y se precargan
parcialmente con información de configuración específica de la entidad.
Los paneles de varias secuencias muestran datos en tiempo real sobre varias secuencias de datos. No hay un
límite en el número de secuencias que puede configurar en el panel. Los datos de una secuencia se pueden basar
únicamente en una entidad, pero cada secuencia se puede basar en otra entidad. En los paneles específicos de la
entidad, todas las secuencias se basan en la misma entidad. Los datos fluyen desde distintas vistas o colas, por
ejemplo, Mis actividades, Mis casoso Casos de la cola bancarios.
Los paneles de secuencia única muestran datos en tiempo real a lo largo de una secuencia basados en una vista o
cola de la entidad. Las ventanas se colocan en la parte derecha de los paneles y se muestran siempre. Los paneles
de secuencia única suelen ser útiles para los clientes potenciales o administradores del servicio de nivel 2, que
supervisan menos casos, pero más complejos o remitidos a una instancia superior.
Los paneles de varias secuencias y de secuencia única contienen gráficos interactivos que proporcionan un
recuento de registros relevantes, como casos por prioridad o por estado. Estos gráficos también actúan como
filtros visuales. Los filtros visuales (gráficos interactivos) se basan en varias entidades y en los paneles de
secuencia única, la entidad en la secuencia de datos define la entidad de filtro visual.
Los usuarios pueden aplicar filtrado adicional con filtros globales y filtros temporales. El filtro global trabaja en un
nivel de campo en todos los gráficos, y también en secuencias y ventanas que se basan en la entidad de filtro
(especifique la entidad de filtro al configurar los filtros visuales).
NOTE
Los paneles interactivos son compatibles con soluciones y se pueden exportar y luego importar en otro entorno como
solución. Sin embargo, las colas en las que se basan las secuencias y las ventanas no son compatibles con soluciones. Antes
de importar la solución del panel en el sistema de destino, las colas tienen que crearse manualmente en el sistema de
destino en Configuración > Administración de servicios > Colas. Después de crear las colas, importe la solución de
panel en el sistema de destino, y a continuación edite las secuencias o las ventanas que se basan en las colas para asignar las
colas recién creadas adecuadamente.
Las ilustraciones de este tema muestran paneles de varias secuencias y de secuencia única con el panel del
encabezado. Debajo del encabezado se ven filtros visuales y secuencias. En el panel de secuencia única también se
ven ventanas. Para cada tipo de panel, puede elegir entre varios diseños diferentes que también se muestran. El
encabezado del panel contiene los siguientes controles e iconos que se pueden seleccionar, de izquierda a derecha:
selector de paneles, actualizar, icono de filtro visual, icono de filtro global y filtro temporal.
Vista estándar del panel de varias secuencias
En el panel de varias secuencias, verá una fila de filtros visuales en la parte superior con las secuencias de datos
por debajo de ellos.
Entidad de filtro: Los filtros visuales y los atributos de filtro global se basan en esta entidad.
Vista de entidad: Los filtros visuales se basan en esta vista.
Filtrar por: El campo al que se aplica el filtro temporal.
Plazo de tiempo: El valor predeterminado del filtro temporal para el campo Filtrar por.
Una vez especificada la información de filtrado, comience a agregar componentes para los gráficos y las
secuencias de datos. Para agregar un componente, simplemente seleccione el elemento del centro del gráfico o la
secuencia y, cuando aparezca el cuadro de diálogo, seleccione la información necesaria de la lista desplegable,
como se muestra en las siguientes ilustraciones.
Agregue el gráfico de anillos Casos por prioridad.
Algunos gráficos, como los gráficos de barras o los gráficos circulares, se generan mostrando los datos
almacenados en el sistema. Los gráficos de anillos y gráficos de etiqueta cargan se cargan como imágenes
estáticas y no aparecen en la vista previa de los datos reales.
NOTE
Los gráficos configurados para los filtros visuales pueden usar los campos de la entidad Filtro y también entidades
relacionadas. Cuando se usan los gráficos basados en campos de entidad relacionados, los representantes del servicio al
cliente pueden filtrar gráficos con estos campos de entidad relacionados. Los campos que se basan en la entidad relacionada
tienen normalmente el siguiente formato en la ventana de configuración de gráficos: "nombre del campo (nombre de la
entidad)", como el campo Modificado por (delegado). Para crear gráficos de varias entidades, debe agregar campos de
una entidad relacionada a cualquiera de las vistas y luego usar estos campos mientras crea gráficos.
A continuación, hay que configurar las secuencias. Al igual que ocurre al agregar componentes en los gráficos,
seleccione el elemento dentro del panel de secuencia. Cuando aparezca el cuadro de diálogo, seleccione Vista o
Cola en función del elemento que desea que use la secuencia. Introduzca la información requerida tal y como se
muestra en la ilustración siguiente.
Configure la secuencia para los Elementos disponibles para trabajar en ellos como se muestra aquí:
NOTE
La opción Cola está disponible en el cuadro de diálogo solo para entidades habilitadas para cola. En el caso de los paneles
de entidad, si la entidad no está habilitada para cola, no verá la opción Cola en el cuadro de diálogo. Solo puede usar la
opción Vista en la secuencia de paneles para las entidades que no están habilitadas para cola.
Después de completar la configuración del panel, guárdelo y publique las personalizaciones para que los cambios
surtan efecto.
Editar o eliminar secuencias individuales de un panel existente
1. Inicie sesión en PowerApps.
2. Seleccione Datos > Entidades > seleccione la entidad que desee. Seleccione la ficha Paneles.
O bien
Abra el explorador de soluciones y, a continuación, en Componentes seleccione Paneles.
3. En la cuadrícula, seleccione el nombre del panel interactivo que desea editar para abrirlo.
4. Seleccione la secuencia que desea editar para seleccionarla y luego seleccione Editar componente.
5. En función de si desea agregar una vista o una cola a la secuencia, seleccione los detalles de la vista o la
cola para la secuencia y, a continuación seleccione Establecer.
6. Seleccione Guardar.
También puede eliminar una secuencia individual de un panel. Para ello, seleccione la secuencia y, en la barra de
comandos, seleccione Eliminar.
Configurar un panel específico de la entidad
Un panel específico de la entidad es un panel de varias secuencias. La configuración de este panel es similar a
configurar un panel de varias secuencias de la página principal, pero se realiza en un lugar distinto de la interfaz
de usuario y hay otras diferencias de menor importancia.
Por ejemplo, en lugar de seleccionar una entidad, algunos campos del panel específico de la entidad se
preestablecen en la entidad para la que está creando el panel.
1. Inicie sesión en PowerApps.
2. Seleccione Datos > Entidades > seleccione la entidad que desee.
3. Seleccione la pestaña Paneles y, a continuación, en la barra de herramientas seleccione Agregar panel.
4. Elija el diseño, 2, 3 o 4 de ancho de las columnas.
5. Cuando se abre el formulario del panel, la Entidad de filtro se preestablece en la entidad para la que está
creando el panel. La lista desplegable Vista de entidad contiene las vistas disponibles para la entidad.
Seleccione la vista y rellene el resto de la información necesaria en la página.
El resto de instalación es muy similar a la instalación del panel de varias secuencias de página principal que se
describe en la sección anterior.
Configurar un panel de secuencia única
La configuración de un panel de secuencia única es similar a la del panel de varias secuencias. Todos los pasos de
navegación de la interfaz de usuario son los mismos que para el panel de varias secuencias. Puede elegir un
diseño que incluya ventanas o el diseño que no las incluye. Si se incluyen ventanas, siempre se muestran en el
panel. Para configurar una ventana, seleccione el icono del centro de la ventana. Cuando se abre la ventana
Agregar ventana, complete los datos necesarios. La ilustración siguiente es un ejemplo de configuración de
ventanas.
Cuando se abra el cuadro de diálogo Modificar valor de lista, elija el color como se muestra aquí:
De forma similar, si va al campo Prioridad para modificar los colores de las opciones de prioridad de casos, elija
el color en la subárea Opciones de la pestaña General, tal como se muestra a continuación:
Vea también
Crear o editar paneles
Establecer propiedades para un gráfico o una lista de
una aplicación controlada por modelos incluidos en
un panel
25/11/2019 • 5 minutes to read • Edit Online
Para editar un gráfico o componente de lista desde el diseñador de paneles, seleccione el gráfico o o la lista que
desee y seleccione Editar componente en la barra de herramientas del diseñador de paneles.
Pasos siguientes
Creación o personalización de paneles
Configurar el control de notas de una aplicación
controlada por modelos para acceder a información
sobre las publicaciones
25/11/2019 • 3 minutes to read • Edit Online
En los formularios de PowerApps de determinadas entidades del sistema que usan los formularios actualizados, el
control de notas proporciona la capacidad de tener acceso a la información de Publicaciones, Actividades y
Notas. Para las entidades personalizadas en las que ha habilitado notas y actividades, verá solo Notas y
Actividades. Para incluir Publicaciones, debe habilitarlas para la entidad personalizada.
- Actividades
- Publicaciones
- Notas
PESTAÑA PROPIEDAD DESCRIPCIÓN
Pasos siguientes
Abrir el editor de formularios
Propiedades de los controles de vista rápida de
aplicaciones controladas por modelos
25/11/2019 • 3 minutes to read • Edit Online
Un control de vista rápida en un formulario de aplicación basada en modelos muestra datos de un registro
seleccionado en una búsqueda en el formulario. Los datos que se muestran en el control se definen mediante un
formulario de vista rápida. Los datos que se muestran no se pueden editar, pero cuando el campo principal se
incluye en el formulario de vista rápida, se convierte en un vínculo para abrir el registro relacionado. Más
información: Crear y editar formularios de vista rápida
Puede acceder a las Propiedades de controles de vista rápida desde el sitio de PowerApps.
1. Inicie sesión en PowerApps.
2. Expanda Datos, seleccione Entidades, seleccione la entidad que desee y, a continuación, seleccione la
pestaña Formularios.
3. En la lista de formularios, abra el formulario de tipo Principal. A continuación, en la pestaña Insertar,
seleccione Formulario de vista rápida para ver las propiedades de control de vista rápida.
PROPIEDAD DESCRIPCIÓN
Pasos siguientes
Utilizar el formulario Principal y sus componentes
Controles adicionales para Dynamics 365 para
teléfonos y tabletas
25/11/2019 • 20 minutes to read • Edit Online
Puede usar un completo conjunto de controles adicionales para crear una experiencia más táctil en Dynamics 365
para teléfonos y tabletas. Esto incluye los controles deslizantes, modificadores, reproductor multimedia, máscaras
de entrada, calendario, y otros controles.
NOTE
Puede usar estos controles adicionales solo con las aplicaciones móviles. No se admiten en la aplicación web.
NOTE
Hay diferentes controles disponibles según el tipo de campo o lista. Por ejemplo, los controles de control deslizante
pueden estar disponibles solo para campos numéricos o de divisa, y el control de calendario solo está disponible para
listas.
5. Seleccione los dispositivos en los que desea que aparezca el control (teléfono, tableta, o ambos). Los
controles no están disponibles para campos de encabezado de teléfono.
6. Configure los valores para cada propiedad.
7. Haga clic en Aceptar cuando haya terminado de configurar el control.
A continuación se ofrecen descripciones de cada control que puede usar en formularios de Dynamics 365 para
teléfonos y tabletas.
PROPIEDAD DESCRIPCIÓN
Fecha de inicio Defina la fecha y hora del comienzo del elemento a visualizar
en la vista de calendario. Los valores disponibles son
cualquiera de las columnas de esta vista de tipo fecha.
PROPIEDAD DESCRIPCIÓN
Fecha de finalización Defina la fecha y hora del final del elemento a visualizar en la
vista de calendario. Los valores disponibles son cualquiera de
las columnas de esta vista de tipo fecha.
Descripción Este es el pie de imagen que desea ver para elementos del
calendario.
La duración mínima que aparece en el calendario es de 30 minutos. Los elementos que tengan menos una
duración de menos de 30 minutos aparecerán con una duración de 30 minutos.
El control calendario admite todos los comportamientos de fecha (Local del usuario, Solo fecha e Independiente de
la zona horaria).
PROPIEDAD DESCRIPCIÓN
PROPIEDAD DESCRIPCIÓN
PROPIEDAD DESCRIPCIÓN
Cambio de volteo
El cambio de volteo como un interruptor de encendido/apagado, que proporciona una selección entre dos valores.
PROPIEDAD DESCRIPCIÓN
Clasificación de estrellas
Use la clasificación de estrellas para proporcionar una representación visual de una clasificación. El número
máximo de estrellas que puede establecer es cinco. Puede usar este control para números enteros solo; no puede
aceptar valores decimales.
NOTE
Asegúrese de seleccionar la opción Ocultar en la Web para este control.
PROPIEDAD DESCRIPCIÓN
Mando radial
El mando radial proporciona una forma de que los usuarios especifiquen datos deslizando el mando, y se muestra
en la pantalla como un círculo. El control de mando radial permite introducir y ver solo números enteros. Use este
control para cualquier campo numérico o de divisa. Puede tocar para cambiar el valor, o puede usar el teclado
numérico para poner el enfoque en el número y editarlo.
NOTE
Este control no se admite en dispositivos Android 4.2 y 4.3. Afecta a la experiencia de desplazamiento en esas versiones.
PROPIEDAD DESCRIPCIÓN
IMPORTANT
Al habilitar este control, usted consiente permitir que los usuarios compartan cierta información identificable de dispositivos
con un sistema externo. Los datos importados de sistemas externos en la aplicación de PowerApps o aplicaciones de
Dynamics 365 como Dynamics 365 Sales o Dynamics 365 Customer Service están sujetas a nuestra declaración de privacidad
en Privacidad y cookies de Microsoft.
Avisos de privacidad
PROPIEDAD DESCRIPCIÓN
Gráfico de viñetas
El control de gráficos de viñetas muestra una sola medida clave con una medida comparativa e intervalos
cualitativos para señalar inmediatamente si la medida es buena, malo u otro estado. Use este control en paneles
para cualquier campo numérico o de divisa. Por ejemplo, puede asignar el valor a ingresos reales y el destino a los
ingresos estimados para visualizar ingresos reales frente a estimados.
PROPIEDAD DESCRIPCIÓN
Destino Asigne esto al campo con el que desee comparar el valor. Por
ejemplo, si se asigna Valor a Ingresos reales, puede asignar
Destino a Ingresos estimados, o puede proporcionar un
valor estático.
Control de lápiz
Use el control de lápiz para capturar entrada escrita como firmas.
NOTE
El mínimo requerido Longitud máxima especificado para el campo al que se asigna este control es 15000 horas.
Asegúrese de seleccionar la opción Ocultar en la Web para este control.
PROPIEDAD DESCRIPCIÓN
Autocompletar
El control de Autocompletar filtra una lista de elementos a medida que escribe y permite seleccionar un valor de la
lista desplegable. Por ejemplo, puede usar este control para permitir que los usuarios elijan de una lista
desplegable de estados o de países y regiones. Este control se asigna a un campo de tipo Línea de texto única.
PROPIEDAD DESCRIPCIÓN
Multimedia
Puede incrustar vídeos para proporcionar una experiencia más rica a los clientes para el personal comercial y sobre
el terreno. Use este control para asignar a un campo de dirección URL que contiene el vínculo de audio o vídeo que
se reproducirá en el control.
NOTE
Este control se admite en Android versiones 4.4 y posteriores.
Los vídeos de YouTube no son compatibles actualmente en teléfonos y tabletas con Windows 8 y Windows 8.1. En Windows
10, solo se admiten actualmente vídeos HTTPS, incluidos los de YouTube.
PROPIEDAD DESCRIPCIÓN
Entrada numérica
Use el control de entrada de número para ayudar a los usuarios a escribir datos rápidamente. Los usuarios solo
tienen que pulsar e los botones más y menos para cambiar un valor numérico en los incrementos que configure.
Use este control para cualquier campo numérico o de divisa. Los usuarios también pueden escribir un número
directamente en el campo. Este campo se admite únicamente en modo de edición.
PROPIEDAD DESCRIPCIÓN
Máscara de entrada
Con el control de máscara de entrada, se establece el formato para un campo como número de teléfono o tarjeta
de crédito para evitar especificar datos no válidos. Por ejemplo, si desea que los usuarios introduzcan un número
de teléfono de Estados Unidos en el formato +1-222-555-1011, use la máscara de entrada +1-000-000-0000.
PROPIEDAD DESCRIPCIÓN
0 – dígito
9 – dígito o espacio
L – letra
I - letra o espacio
A – alfanumérico
A – alfanumérica o espacio
Medidor lineal
El medidor lineal permite a los usuarios especificar valores numéricos arrastrando un control deslizante en lugar de
escribir la cantidad exacta. El control deslizante permite introducir y ver solo números enteros. Use este control
para cualquier campo numérico y de divisa.
PROPIEDAD DESCRIPCIÓN
Mando esférico
El mando esférico proporciona una forma de que los usuarios especifiquen datos deslizando el mando, y aparece
en la pantalla como una esfera. El control de mando esférico permite introducir y ver solo números enteros. Use
este control para cualquier campo numérico y de divisa. Puede tocar para cambiar el valor, también puede poner el
enfoque en el número y editarlo usando el teclado numérico.
NOTE
Este control no se admite en dispositivos Android 4.2 y 4.3. Afecta a la experiencia de desplazamiento en esas versiones.
PROPIEDAD DESCRIPCIÓN
Pasos siguientes
Tutorial: Usar controles personalizados para visualizaciones de datos
Información general del control de temporizador de
aplicaciones controladas por modelos
25/11/2019 • 3 minutes to read • Edit Online
Use un control de temporizador con formularios donde los registros deban cumplir un hito específico basado en
tiempo. Un control de temporizador muestra a las personas cuánto tiempo hay disponible para completar una
acción en la resolución de un registro activo o cuánto tiempo ha pasado desde que finalizó el tiempo para
completar la acción. Como mínimo, los controles de temporizador se deben configurar para mostrar el resultado
correcto o con error al completar la acción. Además, pueden configurarse para mostrar advertencias cuando las
condiciones se acercan al error.
Se puede agregar un control de temporizador a un formulario para cualquier entidad, pero se usan con más
frecuencia para la entidad de caso, especialmente cuando están vinculados a campos que realizan un seguimiento
de contratos de nivel de servicio. Puede agregar varios controles de temporizador en el cuerpo de un formulario.
No puede agregarlos al encabezado o pie de página.
Las propiedades Origen de datos de control de temporizador usan campos para la entidad.
El Campo de hora del error usa un campo fecha-hora para establecer la hora.
Los tres campos de condición usan uno de los campos Conjunto de opciones, Dos opciones, Estado, o
Razón para el estado para la entidad.
Para crear un control de temporizador, en el diseñador de formularios seleccione la pestaña Insertar y, a
continuación, en la barra de herramientas, seleccione Temporizador.
En la página de propiedades del control de temporizador, introduzca o seleccione las propiedades que desee y, a
continuación, seleccione Aceptar.
Origen de datos Campo de hora del error Requerido. Seleccione uno de los
campos de fecha-hora para la entidad
para representar cuándo debe realizarse
correctamente un hito.
Pasos siguientes
Información general de la interfaz de usuario del editor de formularios
Usar controles personalizados para visualizaciones de
datos de aplicaciones controladas por modelos
25/11/2019 • 8 minutes to read • Edit Online
Puede establecer un tipo de control personalizado para que aparezca en el cliente de explorador web y, al mismo
tiempo, hacer que en sus aplicaciones móviles de Dynamics 365 para teléfono o tableta aparezca un control
personalizado distinto. Por ejemplo, puede usar un control personalizado de entrada de número para un campo en
los clientes de explorador web y un control personalizado deslizante para la aplicación de teléfonos. Una vez
publicada la personalización, los usuarios pueden interactuar plenamente con el control para cambiar el valor; por
ejemplo, deslizando el control, si están usando el control personalizado deslizante lineal. Los cambios se guardan
automáticamente cuando se cierra el formulario, al igual que ocurre cuando el usuario cambia un campo
tradicional en un formulario.
El campo se muestra ahora como un control deslizante en lugar de como un campo de texto.
Pasos siguientes
Crear y editar campos
Usar plantillas de Excel y Word
25/11/2019 • 2 minutes to read • Edit Online
Puede usar plantillas de diversas formas para acelerar su trabajo y mejorar la coherencia. Con las plantillas de
Excel, es fácil crear y compartir sus análisis personalizados con otros usuarios en su organización. Puede usar
plantillas de Word para crear documentos estandarizados automáticamente rellenos con datos de aplicaciones de
Common Data Service.
4. En la esquina superior derecha, seleccione el icono de rueda dentada y, después, seleccione Configuración
avanzada. Si no ve Configuración avanzada, siga con el siguiente paso.
5. Selecciione Configuración > Plantillas.
6. En la página Plantillas, seleccione Plantilla del documento para trabajar con plantillas de Excel o Word.
Para obtener información sobre el uso de plantillas, vea la siguiente documentación:
Plantillas de Word: Usar plantillas de Word para crear documentos estandarizados
Plantillas de Excel: Analizar y compartir los datos con plantillas de Excel
Crear un tema
25/11/2019 • 7 minutes to read • Edit Online
Puede crear una vista y una sensación personalizadas (un tema) para su aplicación al realizar cambios en los
colores predeterminados y los elementos visuales proporcionados en el sistema personalizado. Por ejemplo, puede
crear su marca de producto personal agregando un logotipo de compañía y proporcionando colores específicos de
la entidad. Un tema se crea mediante las herramientas de personalización de la interfaz de usuario, sin necesidad
de que un programador escriba código. Puede crear, cambiar o eliminar temas que se usen en su organización. La
personalización del tema se admite en los formularios web de Dynamics 365 for Outlook. Puede definir varios
temas, pero solo puede establecer y publicar uno como tema predeterminado.
Conocimiento de la solución
El tema no tiene conocimiento de la solución. Los cambios realizados en el tema de una organización no están
incluidos en soluciones exportadas desde la organización. Los datos se almacenan en la entidad del tema que se
puede exportar y reimportar a otro entorno. Los temas importados se deben publicar para que surtan efecto.
La captura de pantalla siguiente muestra la cuadrícula de entidad de cuenta con el nuevo color del resalte.
Prácticas recomendadas
A continuación se ofrecen recomendaciones para diseñar contrastes de tema y elegir colores.
Contraste de temas
Se recomienda el siguiente método para proporcionar colores de contraste:
Elija cuidadosamente los colores de contraste. El tema predeterminado predefinido de Common Data
Service tiene los coeficientes de contraste correctos para asegurar una facilidad de uso óptima. Use
coeficientes similares para los nuevos temas.
Para el modo de contraste alto, use la configuración predeterminada de colores.
Colores de temas
Recomendamos no usar un gran número de diferentes colores. Aunque puede establecer un color diferente para
cada entidad, se recomienda uno de dos patrones:
Cree todas las entidades en colores neutrales y resalte las entidades clave.
Use el mismo color para entidades similares o entidades relacionadas, como elemento de cola y cola, o
entidades del catálogo de productos. Mantenga bajo el número total de grupos.
Vea también
Vídeo: Temas Consultar y editar un tema de organización
Crear ayuda guiada para la aplicación de la Interfaz
unificada
25/11/2019 • 24 minutes to read • Edit Online
Requisitos previos
Para crear paneles personalizados de ayuda, necesita el siguiente:
Versión 9.1.0.10300 o posterior.
Permisos globales para crear, leer, escribir, eliminar, anexar, y anexar a en el privilegioPágina de ayuda. De
forma predeterminada, los roles de seguridad Administrador del sistema y Personalizador del sistema tienen
este privilegio.
El entorno debe tener paneles personalizados de Ayuda habilitados.
IMPORTANT
Puede habilitar paneles de ayuda personalizados o ayuda personalizable pero no ambos al mismo tiempo. Confirme que
Usar la Ayuda personalizada para entidades personalizables y Anexar los parámetros a la URL están establecidos en
No.
El panel de ayuda ahora está en modo de edición y cursor se coloca en el título del panel de ayuda.
3. Desde el panel de edición puede realizar las siguientes tareas:
Escriba texto escribiendo directamente en el área del panel de ayuda.
Dé formato al texto mediante los comandos de texto enriquecido, como negrita, cursiva, tachado y cree
listas.
Seleccione la pestaña Insertar para agregar secciones, vídeo, imágenes, vínculos, marcas de formación y
ayuda de globo.
4. Seleccione Guardar para guardar los cambios.
Texto de forma libre
El texto se puede colocar en cualquier lugar dentro del panel de ayuda. Escriba texto de forma libre antes, dentro o
después de secciones. El texto admite formatos de fuente de negrita, cursiva, subrayado y tachado. También puede
usar cortar, copiar y pegar así como deshacer multinivel.
Viñetas y listas numeradas
La selección del icono de viñeta o número activa y desactiva la línea actual para convertirla en viñetas o numerarla.
Si ha seleccionado varias líneas en una lista, cada línea se convierte en viñetas o se numera. Tabulación y
aplicación de sangría a subnúmeros en una línea de la lista.
Secciones
Una sección es un cuadro de texto contraíble. Puede colocar vínculos o texto de forma libre en ella. Use una sección
para agrupar elementos similares. Una sección puede estar abierta o contraída de forma predeterminada.
Imágenes de vídeo y estáticas
Puede insertar vídeos e imágenes estáticas en el panel de ayuda. Los vídeos y las imágenes son vínculos al
contenido en Internet. Los paneles de ayuda personalizados no almacenan archivos de vídeo y de imagen en el
panel de ayuda. Cuando se abre el panel de la ayuda, los paneles personalizados de la ayuda llevan el contenido
del vínculo para mostrarlo. Puede usar un vínculo a un vídeo de Microsoft Stream si desea hacer referencia al
contenido corporativo privado.
TIP
Recuerde copiar la dirección URL del vínculo para el vídeo o la imagen que desee para poder pegarlo en el panel de ayuda.
NOTE
Actualmente, no puede agregar paneles existentes de la ayuda a una solución no administrada en el explorador de
soluciones moderno.
Automatización de la documentación de la página de ayuda
Es posible que desee realizar una copia de seguridad o almacenar su contenido en un sistema de control de código
de origen. Puede que también desee usar herramientas de automatización de la documentación, como
herramientas de traducción o comprobadores, en contenido del panel de ayuda. Los datos del panel de la ayuda
personalizado se almacenan directamente en Common Data Service y se pueden exportar e importar con este fin.
Los paneles personalizados de ayuda admiten un formato XML personalizado. Este formato se documenta a
continuación. Más información: Definición XML de ayuda personalizado
Cuando se exportada, cada página de ayuda se exporta como un archivo separado.
<pphml>
<h1>FAQ</h1>
<collapsible title="What is PPHML?">
<p>PPHML is a domain specific language for help content. It is used to create help content that
includes elements such as images, videos, balloons, coach marks, etc.</p>
</collapsible>
<collapsible title="What does PPHML stand for?">
<p>PPHML stands for Power Platform Help Markup Language</p>
</collapsible>
</pphml>
Definición y uso
El elemento <pphml> indica al explorador de la ayuda que esto es un documento PPHML.
El elemento <pphml> representa la raíz de un documento PPHML.
El elemento <pphml> es el contenedor para todos los demás elementos PPHML.
Título
Muestra un título en una página de ayuda.
Definición y uso
El elemento <h1> define el título de una página de ayuda.
<h1> Debe ser el primer elemento en <pphml> .
Imagen
Muestra una imagen en una página de ayuda.
Definición y uso
El elemento <img> inserta una imagen en una página de ayuda.
Atributos
src : Especifica la dirección URL de una imagen. Se requiere este atributo.
: Especifica un título para mostrar junto con la imagen, normalmente como información sobre
title
herramientas al mantener el puntero.
alt : Especifica un texto alternativo para una imagen. Este texto se usa en los lectores de pantalla.
Vídeo
Muestra un vídeo en una página de ayuda.
Definición y uso
El elemento <video> inserta un vídeo, como un tutorial o una película de aprendizaje, en una página de ayuda.
O r í gen es c o m pat i bl es
Microsoft Stream
YouTube
Facebook
Vimeo
Atributos
src : Especifica la dirección URL del vídeo. Se requiere este atributo.
allowFullScreen : Especifica si el usuario puede cambiar el vídeo a pantalla completa. Los valores posibles
son “true “o “false”. Este atributo no es compatible con todos los orígenes de vídeo.
autoplay: Especifica que el vídeo comenzará a reproducirse tan pronto como la página de ayuda se cargue.
Los valores posibles son “true “o “false”. Este atributo no es compatible con todos los orígenes de vídeo.
startTime : Especifica, en segundos, desde qué punto comienza a reproducirse el vídeo.
Párrafo
Muestra un párrafo en una página de ayuda.
Definición y uso
El elemento <p> define un párrafo.
El texto dentro de un párrafo se puede adornar de las siguientes formas:
Negrita, con el elemento <strong>
Cursiva, con el elemento <em>
Tachado, con el elemento <del>
Subrayado, con el elemento <u>
Estas decoraciones se pueden combinar. Por ejemplo, cree un fragmento de texto que sea negrita y subrayado.
Lista de viñetas
Muestra una lista de viñetas en una página de ayuda.
<ul>
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
</ul>
Definición y uso
El elemento <ul> define una lista con viñetas.
Use el elemento <ul> junto con el elemento <li> para crear listas con viñetas.
Lista numerada
Muestra una lista numerada en una página de ayuda.
<ol>
<li>First step</li>
<li>Second step</li>
<li>Third step</li>
</ol>
Definición y uso
El elemento <ol> define una lista ordenada (numerada). Use la etiqueta <ol> junto con el elemento <li> para
crear listas numeradas.
Plegable
Muestra una sección contraíble en una página de ayuda.
Definición y uso
El elemento <collapsible> define una sección de contenido que el usuario puede ver u ocultar a petición.
Atributos
collapsed : Especifica si la sección se contrae o expande inicialmente. Los valores posibles son “true“
(contraída) o “false” (expandida).
Vínculo
Muestra un vínculo en una página de ayuda.
Vincular a una página web que se abre en una nueva ventana del explorador:
Definición y uso
La etiqueta <a> define un vínculo, que permite al usuario navegar de una página de ayuda a un sitio web, o a otra
página de ayuda.
Atributos
href : Especifica la dirección URL del sitio web o la página de ayuda a los que navegar. Se requiere este
atributo.
target : Especifica dónde abrir la dirección URL vinculada.
Si no está presente o _self , se da por hecho que el vínculo es otra página de ayuda y se abre en el
explorador de ayuda.
Si _blank , el vínculo se abre en una nueva ventana del explorador.
Si _top , el vínculo se abre en la ventana actual del explorador.
Si el valor es el nombre de un iframe , el vínculo se abre en ese iframe.
Marca de formación
Muestra una marca de formación en una página de ayuda.
Definición y uso
Una marca de formación es un elemento interactivo que se puede usar para atraer la atención del usuario a un
punto específico en la interfaz de usuario de la aplicación que hospeda el explorador de ayuda.
Atributos
target: Selector de CSS que especifica el elemento HTML sobre el que se mostrará la marca de formación. Se
requiere este atributo.
Globo
Muestra un globo en una página de ayuda.
<balloon target="#my-html-button" title="This button submits the form" details="Please click this button to
continue and submit the form">Click to show a balloon over the HTML element with id [my-html-button]</balloon>
Definición y uso
Un globo es un elemento interactivo que se puede usar para ayudar al usuario a realizar una acción en la interfaz
de usuario de la aplicación que hospeda el explorador de ayuda.
Atributos
target : Selector de CSS que especifica el elemento HTML sobre el que se mostrará el vínculo de globo. Se
requiere este atributo.
title : Especifica el título del globo.
details : Especifica el contenido para mostrar en Globo de conexión.
Agregar características de informes a una aplicación
basada en modelos
25/11/2019 • 7 minutes to read • Edit Online
Las aplicaciones PowerApps pueden incluir informes que proporcionen información de negocio útil al usuario.
Estos informes se basan en SQL Server Reporting Services y proporcionan el mismo conjunto de características
que están disponibles para los informes típicos de SQL Server Reporting Services.
Los informes del sistema están disponibles para todos los usuarios. Los usuarios que crean o poseen informes
pueden compartirlos con equipos o colegas específicos, o pueden ponerlos a disposición de la organización para
que todos los usuarios puedan ejecutarlos. Estos informes usan consultas FetchXML que pertenecen a Common
Data Service y recuperan datos para crear el informe. Los informes que crea en una aplicación de PowerApps son
informes basados en Fetch.
NOTE
Las características del informe no funcionan con las aplicaciones de lienzo o aplicaciones basadas en modelos que se ejecutan
en dispositivos móviles, como tabletas y teléfonos.
Agregar informes a una aplicación de la interfaz unificada
Puede agregar funcionalidad de informes basados en Fetch a la aplicación de forma que los usuarios puedan
ejecutar, compartir, crear y editar informes. Para ello, agregue la entidad de informe al mapa del sitio de su
aplicación.
1. Inicie sesión en PowerApps y abra una aplicación existente para editar.
Informes en soluciones
Los informes son compatibles con las soluciones. Al agregar un informe como componente a una solución hace
que esta sea una sola unidad de software que amplía la funcionalidad de PowerApps y la interfaz de usuario. Solo
los informes que son visibles para la organización se pueden agregar a las soluciones.
Para saber si un informe puede verse en la organización: En la lista de informes, abra una aplicación basada en
modelos, seleccione un informe y luego seleccione Editar. En la pestaña Administración, vea si Visible por está
configurado en Organización.
Puede agregar, importar o exportar las instantáneas de informes como parte de una solución. En aplicaciones
basadas en modelo, los informes, subinformes, categorías de informe, áreas de visualización de informes y tipos de
registro relacionados con el informe se consideran como componentes de un conjunto de informes. Cuando se
importa la actualización de una solución en modo sin sobrescritura, se omitirán las actualizaciones de la solución a
un informe si se ha personalizado algún componente del informe.
Temas relacionados
Trabajar con informes
Crear un informe con el Asistente para informes
Agregar un informe desde fuera de PowerApps
Edición del filtro predeterminado de un informe
Informes de solución de problemas
Consideraciones sobre informes
25/11/2019 • 9 minutes to read • Edit Online
Las aplicaciones basadas en modelo tienen varias características que permiten que los clientes busquen datos
profesionales que les ayudan a tomar decisiones e interactuar con sus clientes de forma más eficaz. Las funciones
que están disponibles incluyen vistas, gráficos, paneles e informes de SQL Server Reporting Services. También
incluyen integración de Microsoft Excel que permite a los usuarios crear fácilmente informes de autoservicio
utilizando las características de Power BI PowerView, PowerPivot y PowerQuery. A medida que el volumen de
datos contenidos en la base de datos de aplicaciones sigue creciendo, se hace cada vez más importante que pensar
en la estrategia de BI y determinar los mecanismos más eficaces para generar informes y ver conjuntos de datos
grandes.
En un entorno, la infraestructura de informes está compartida y separada de la base de datos. En esta arquitectura,
aunque los clientes compartan los recursos necesarios ejecutar el informe, cada informe se ejecuta con la instancias
individuales de la base de datos de los clientes. Además, los usuarios pueden ejecutar tantos informes como
necesiten siempre que deseen ejecutarlos para cumplir objetivos empresariales. No ponemos restricciones de
tiempo en informes.
Las capacidades de informes integradas en Common Data Service están diseñadas para permitir que los usuarios
ejecuten informes en conjuntos de datos que abarcan períodos de tiempo más cortos. Considerando esto, observe
los siguientes valores fijos:
Los informes y las consultas pueden ejecutarse durante hasta cinco minutos. Cuando se alcanza el período
máximo, el informe agota el tiempo de espera y un mensaje se devuelve al usuario. En la duración de cinco
minutos, se permite que informes y consultas abarquen conjuntos de datos grandes de más de 50.000
registros, lo que proporciona flexibilidad significativa para satisfacer la mayoría de las necesidades
operativas de los informes.
Para mejorar la respuesta de la consulta, es recomendable que los informes detallados minimicen la
visualización de un gran número de registros. Para ello, aplique el filtrado conveniente para reducir el
número de registros que se devuelven. Al crear informes agregados o resumidos, las consultas deben
impulsar la agregación a la consulta en lugar de recoger registros detallados para realizar agregación en el
informe. Esto se puede hacer mediante agregación Fetch XML.
Para los gráficos y cuadrículas que se muestran en paneles, las aplicaciones permiten que los usuarios
ejecuten consultas que tienen un conjunto de datos de menos de 50.000 filas. Si un usuario ejecuta una
consulta de panel de ventas que abarca un conjunto de datos de 50.000 o más filas, devuelve el mensaje "Se
ha superado el límite de registros máximos. Reducir el número de registros para sincronizar." La
configuración práctica del conjunto de datos ayuda a asegurar el rendimiento óptimo de la aplicación.
IMPORTANT
Al usar estas herramientas, es recomendable que mueva o sincronice los datos en horas sin actividad de negocio.
Si es necesario, hay muchos asociados de Microsoft que pueden ayudarle a proporcionar una solución para las
necesidades de informes específicas. como crear una copia sin conexión de los datos usados específicamente para
ejecutar informes grandes. Estos asociados conocen las herramientas de integración de datos disponibles. Más
información: Buscar un asociado de Dynamics 365
Herramientas ETL
Integración con TIBCO Dynamics 365
Vea también
Extensión de creación de informes (con compatibilidad con SQL Server Data Tools)
Introducción a Microsoft Power Query para Excel
[Fuentes de OData y Power Query de Dynamics 365 for Customer Engagement: ¿Qué es el registro?
Espacio seguro para RDL
25/11/2019 • 5 minutes to read • Edit Online
En Common Data Service, los informes se ejecutan en el modo de espacio seguro. Para hacerlo se habilita el
espacio seguro del lenguaje RDL (Report Definition Language) en SQL Server Reporting Services. El espacio
seguro para RDL permite detectar y limitar el uso de determinados tipos de recursos. Como resultado,
determinadas características de aplicaciones basadas en modelos de PowerApps pueden no estar disponibles. Para
obtener más información, vea MSDN: Habilitar y deshabilitar el espacio aislado de RDL.
Las opciones de configuración del espacio seguro para RDL en Common Data Service se describen en las
siguientes secciones en este tema.
System.Array CreateInstance
Finalizar
GetType
MemberwiseClone
Cambiar tamaño
System.DateTime FromBinary
GetDateTimeFormats
TIPOS PERMITIDOS INTEGRANTES DENEGADOS
GreaterThan
GreaterThanOrEqual
System.Object GetType
MemberwiseClone
ReferenceEquals
System.DbNull Finalizar
MemberwiseClone
GetObjectData
GetTypeCode
System.Math BigMul
DivRem
IEEERemainder
PI
Pow
System.String
System.TimeSpan Horas
TicksPerDay
TicksPerHour
TicksPerMillisecond
TicksPerMinute
TicksPerSecond
Cero
TIPOS PERMITIDOS INTEGRANTES DENEGADOS
TryParse
TryParseExact
System.Convert ChangeType
IConvertible.ToBoolean
IConvertible.ToByte
IConvertible.ToChar
IConvertible.ToDateTime
IConvertible.ToDecimal
IConvertible.ToDouble
IConvertible.ToInt16
IConvertible.ToInt32
IConvertible.ToInt64
IConvertible.ToSByte
IConvertible.ToSingle
IConvertible.ToType
IConvertible.ToUInt16
IConvertible.ToUInt32
IConvertible.ToUInt64
System.StringComparer Crear
Finalizar
System.TimeZone Finalizar
GetType
MemberwiseClone
Analizar
Escape
Finalizar
System.UriBuilder Finalizar
System.Globalization.CultureInfo ClearCachedData
System.Text.RegularExpressions.Match Vacío
NextMatch
Resultado
Sincronizado
System.Text.RegularExpressions.Regex CacheSize
CompileToAssembly
GetGroupNames
GetGroupNumbers
GetHashCode
Eliminar escape
UseOptionC
UseOptionR
capnames
mayús
capsize
capslist
roptions
TIPOS PERMITIDOS INTEGRANTES DENEGADOS
patrón
fábrica
IsMatch
Coincidencias
Iserializable.GetObjectData
InitializeReferences
RightToLeft
Opciones
Microsoft.VisualBasic.Constants vbAbort
vbAbortRetryIgnore
vbApplicationModal
vbArchive
vbBinaryCompare
vbCancel
vbCritical
vbDefaultButton1
vbDefaultButton2
vbDefaultButton3
vbExclamation
vbFormFeed
vbGet
vbHidden
vbHide
vbHiragana
TIPOS PERMITIDOS INTEGRANTES DENEGADOS
vbIgnore
vbInformation
vbKatakana
vbLet
vbLinguisticCasing
vbMaximizedFocus
vbMinimizedFocus
vbMinimizedNoFocus
vbMsgBoxHelp
vbMsgBoxRight
vbMsgBoxRtlReading
vbMsgBoxSetForeground
vbNo
vbNormal
vbNormalFocus
vbNormalNoFocus
vbObjectError
vbOK
vbOKCancel
vbOKOnly
vbQuestion
vbReadOnly
vbRetry
vbRetryCancel
vbSet
TIPOS PERMITIDOS INTEGRANTES DENEGADOS
vbSystem
vbSystemModal
VbTypeName
vbVolume
Cero
Microsoft.VisualBasic.ControlChars Finalizar
GetType
MemberwiseClone
Microsoft.VisualBasic.Conversion Err
ErrorToString
Corregir
Microsoft.VisualBasic.DateInterval Finalizar
GetType
MemberwiseClone
Microsoft.VisualBasic.Financial Finalizar
GetType
MemberwiseClone
IRR
NPV
MIRR
Microsoft.VisualBasic.Interaction AppActivate
Bip
TIPOS PERMITIDOS INTEGRANTES DENEGADOS
CallByName
Comando
CreateObject
Environ
Finalizar
GetAllSettings
GetObject
GetSetting
GetType
InputBox
MemberwiseClone
MsgBox
SaveSetting
Shell
Elegir
Modificador
Microsoft.VisualBasic.Information Erl
Err
IsError
IsDBNull
Lbound
Ubound
SystemTypeName
TIPOS PERMITIDOS INTEGRANTES DENEGADOS
Microsoft.VisualBasic.Strings Finalizar
GetType
MemberwiseClone
Lset
Rset
Microsoft.Crm.Reporting.RdlHelper
DateString
Duración
Igualdad
Es igual a
Erl
Filtro
GetChar
GroupNameFromNumber
GroupNumberFromName
Int
MaxValue
MinValue
Negar
Temporizador
TimeString
ToBinary
Finalizar
GetType
MemberwiseClone
Uso de Power BI
25/11/2019 • 9 minutes to read • Edit Online
El servicio de nube de Power BI funciona con aplicaciones Common Data Service para proporcionar una solución
de análisis de autoservicio. Power BI actualiza automáticamente los datos de aplicaciones que se muestran. Con
Power BI Desktop o Microsoft Excel, Power Query para crear informes y Power BI para compartir panales y
actualizar datos de aplicaciones basadas en modelo, los usuarios tienen una manera eficaz de trabajar con los datos
de aplicaciones.
NOTE
Si el centro de datos se encuentra fuera de Norteamérica el nombre del dominio de crm.dynamics.com puede ser
distinto, como crm2.dynamics.com, crm3.dynamics.com, crm4.dynamics.com, etc. Para buscar el nombre de dominio,
en la aplicación web aplicaciones vaya a Configuración > Personalizacones > Recursos de desarrollador. Las
direcciones URL enumeradas indicarán el nombre de dominio correcto.
TIP
Si el paquete de contenido que selecciona no se abre en el explorador web, en el panel izquierdo de su espacio de trabajo de
Power BI, haga clic en el paquete de contenido en Paneles.
Contenido del paquete disponible para descarga.
Los paquetes de contenido de Dynamics 365 admiten las entidades predefinidas predeterminadas de la aplicación.
Sin embargo, puede personalizar los siguientes paquetes de contenido descargando el archivo .PBIX y usando
después Power BI Desktop para personalizar el paquete de contenido antes de cargarlo al servicio de Power BI.
Descargar el .PBIX de Dynamics CRM Online Sales Manager
Descargar el analizador de procesos .PBIX del administrador del servicio de aplicaciones Microsoft
Dynamics 365 for Customer Engagement (onlie)
La Power BI Report Template para Connected Field Service permite que los usuarios publiquen el informe
de Power BI que muestra el latido activo de los dispositivos conectados.
Descargar Power BI Report Template Connected Field Service for Dynamics 365 for Customer Engagement
Para obtener información acerca de cómo personalizar los paquetes de contenido, consulte Personalizar
agrupaciones de contenido de Power BI.
NOTE
De forma predeterminada, insertar visualizaciones de Power BI está deshabilitado y debe habilitarse para que los usuarios
puedan insertarlas en paneles personales.
IMPORTANT
Para obtener más información sobre las versiones del extremo, consulte Dirección URL de API de web y versiones.
TIP
Puede encontrar la dirección URL del extremo de OData. Vaya a Configuración > Personalizaciones > Recursos de
desarrollador y busque la dirección URL en la API web de la instancia.
5. En el cuadro de diálogo Acceso a una fuente OData, seleccione Cuenta profesional y, a continuación,
seleccione Conectar.
NOTE
Si no ha iniciado sesión en su instancia, seleccione Iniciar sesión en el cuadro de diálogo Acceso a una fuente OData
antes de hacer seleccionar Conectar.
6. Las tablas de entidad de base de datos de la organización aparecen en la ventana del navegador de Power
BI Desktop. Puede seleccionar entidades predeterminadas y personalizadas. Para obtener más información
acerca de la creación de informes con Power BI Desktop, consulte Compatibilidad con Power BI: vista de
informe en Power BI Desktop.
TIP
Puede usar pasos similares para conectarse a Dynamics 365 con Excel Power Query seleccionando De otras fuentes
en la pestaña Power Query de Excel.
Personalizar los paquetes de contenido Power BI de
aplicaciones Dynamics 365
25/11/2019 • 26 minutes to read • Edit Online
Power BI es una colección completa de servicios y herramientas que se usa para visualizar los datos profesionales.
Hay paquetes de contenido disponibles que permiten visualizar y analizar fácilmente los datos de aplicaciones
Dynamics 365 Sales, Service, y Marketing con Power BI basándose en un modelo de datos estándar. Los paquetes
de contenido se crean con un conjunto de entidades y campos que son útiles para la mayoría de los escenarios de
ventas, de servicio, o de informes de marketing.
Las instancias de aplicaciones Dynamics 365 se amplían con frecuencia con campos personalizados. Estos campos
personalizados no aparecen automáticamente en el modelo de Power BI. En este tema se describen las distintas
formas en que se pueden editar o ampliar los informes incluidos en un paquete de contenido para incluir campos
personalizados en el modelo de Power BI.
IMPORTANT
Para conectar la fuente de OData a su instancia debe seguir los pasos descritos aquí antes de personalizar el paquete de
contenido.
Actualmente, el servicio Power BI no es compatible con el extremo OData de Dynamics 365 versión 9.0. Cuando intenta usar
el extremo OData de la versión 9.0 con el servicio Power BI, aparece el mensaje de error “El documento de metadatos de la
fuente no parece válido”. Para solucionar esta incompatibilidad, use el extremo OData de la versión 8.2 de Dynamics 365.
Para obtener más información acerca de las distintas versiones de extremo, consulte Componer solicitudes HTTP y
administrar errores.
6. Cuando aparezca la página de inicio de sesión, escriba sus credenciales para autenticarse en su instancia.
7. En el diálogo Acceso a una fuente OData, seleccione Conectar.
Se actualizan las consultas del paquete de contenido. Esto puede llevar varios minutos.
NOTE
Para agregar un campo a la entidad Cuenta, consulte Agregar un campo personalizado a un informe para la entidad Cuenta.
Para agregar un campo que sea un conjunto de opciones, consulte Agregar un campo de conjunto de opciones a un
informe.
{"int_forecast","Forecast"}
6. Después de agregar las asignaciones de campos asegúrese de que no haya errores de sintaxis en la parte
inferior del editor avanzado. Además, asegúrese de que aparezca el nombre del campo exactamente del
mismo modo que aparece en el encabezado de columna, incluido el uso de mayúsculas y minúsculas. Si no
se detecta ningún error de sintaxis o de tabla, seleccione Hecho.
7. Haga clic en Cerrar y cargar en el editor de consultas.
El campo personalizado está ahora disponible en el panel derecho en Campos para la entidad y se puede
agregar a informes nuevos o existentes.
TIP
Muchas herramientas de codificador y descodificador de dirección URL se encuentran gratis en la web.
3. En el Fetch XML, agregue la entidad personalizada como nodo de atributo entre los nodos <entity>. Por
ejemplo, para agregar un campo personalizado llamado customclassificationcode, agregue el nodo después
de otro nodo de atributo, como industrycode.
4. Cifre la dirección URL del Fetch XML actualizado. El Fetch XML que incluye el nuevo atributo personalizado
se debe codificar y después usar para reemplazar la consulta existente de la fuente OData que se suministra
con el paquete de contenido. Para ello, copie el FetchXML actualizado al portapapeles y péguelo en un
codificador de dirección URL.
5. Pegue la dirección URL del Fetch XML codificado en la fuente OData. Para ello, pegue la dirección URL
codificada entre comillas después del texto Query=[fetchXml=, reemplazando el FetchXML codificado
existente. Después seleccione Hecho.
El captura de pantalla siguiente indica donde se encuentran las comillas izquierdas.
NOTE
El nombre del campo que seleccione en el Selector de columna y el nombre de campo que agrega a la consulta de
FetchXML deben coincidir.
Se actualizará la consulta de entidad y una columna se agrega en la tabla de entidad para el campo
personalizado que seleccionó.
8. Seleccione Cerrar y cargar en el editor de consultas.
El campo personalizado está ahora disponible en el panel derecho en Campos para la entidad y se puede
agregar a informes nuevos o existentes.
Para agregar el campo de conjunto de opciones personalizado a un informe, siga estos pasos.
1. Agregue la columna de campo personalizado.
En el panel de navegación de la izquierda del editor de consultas, en Consultas, seleccione la entidad
que tiene el conjunto de opciones personalizado asociado, como la entidad Oportunidad.
En el panel derecho, en PASOS APLICADOS, seleccione el botón de configuración junto a
Otras columnas quitadas.
La lista Elegir columnas muestra todos los campos para la entidad incluidos campos personalizados.
Seleccione el campo personalizado, como new_customoptionset y a continuación seleccione
Aceptar.
Seleccione Guardar y después cuando se le solicite, seleccione Aplicar.
La columna para el campo personalizado aparece en la tabla de entidad.
2. Cree la consulta del conjunto de opciones.
a. En Power BI Desktop, seleccione Editar consultas.
b. En el panel de navegación de la izquierda del editor de consultas, en Consultas, seleccione la
consulta en el grupo Crear tablas que tiene el campo de conjunto de opciones que es más similar al
conjunto de opciones que desea agregar a un informe. Para este ejemplo, la consulta
SalesStageOptionSet tiene cuatro opciones, por lo que es una buena opción.
c. Seleccione Editor avanzado.
Se muestra la consulta del conjunto de opciones.
d. Copie la consulta completa en el Portapapeles. Puede pegarlo en un editor de texto, como Bloc de
notas, para usar como referencia más tarde.
e. En el editor de consultas, haga clic con el botón secundario en el grupo Crear tablas, seleccione
Nueva consulta, y después seleccione Consulta en blanco.
f. En el panel derecho, en Nombre, escriba un nombre, como CustomOptionSet y presione Entrar.
g. Seleccione Editor avanzado.
h. En el editor avanzado, pegue la consulta que copió antes.
i. Reemplace los valores y las opciones existentes con sus valores y opciones personalizados. En este
ejemplo, cambie esto.
let
Source = #table({"Value","Option"},{{0,"Qualify"},{1,"Develop"},{2,"Propose"},{3,"Close"}})
in
Source
Por esto.
let
Source = #table({"Value","Option"},{{0,"A"},{1,"B"},{2,"C"},{3,"D"},{4,"E"}})
in
Source
j. Asegúrese de que no hay errores de sintaxis y después seleccione Hecho para cerrar el editor
avanzado. La tabla de valores y de opciones aparece en el editor de consultas.
k. Seleccione Guardar y después cuando se le solicite, seleccione Aplicar.
3. Inserte una consulta de combinación para las tablas del conjunto de opciones de la entidad y
personalizadas.
a. En el panel izquierdo del editor de consultas, en Entidades, seleccione la entidad que incluye el
conjunto de opciones personalizadas. Para este ejemplo, se selecciona la consulta de entidad
Oportunidad.
b. En la cinta de opciones seleccione Consultas de combinación y, cuando se le solicite insertar un
paso, seleccione Insertar.
c. En el diálogo Combinar, seleccione el encabezado de columna del conjunto de opciones
personalizado, como new_optionset. En la lista desplegable, seleccione la consulta del conjunto de
opciones correspondiente que creó anteriormente. Cuando aparezca la tabla del conjunto de
opciones, seleccione el encabezado de columna Valor para seleccionarlo.
d. Deje el tipo de unión como Externa izquierda (todas desde la primera, coincidiendo desde la
segunda), y después seleccione Aceptar.
TIP
Cambie el nombre de la consulta de combinación. En PASOS APLICADOS, haga clic con el botón secundario
en la consulta de combinación que ha creado, seleccione Cambiar nombre y especifique un nuevo nombre
descriptivo, como Merge CustomOptionSet.
IMPORTANT
Aumentar el límite de recuento de filas puede afectar significativamente al tiempo que se tarda en actualizar un informe.
Además, el servicio Power BI tiene un límite de 30 minutos para ejecutar consultas. Tenga cuidado al aumentar el límite de
recuento de filas.
Validar una aplicación para comprobar dependencias de activos que se requieren para que funcione la aplicación,
pero que aún no se han agregado a la aplicación. Después de una validación correcta, publique la aplicación.
Por ejemplo, ha agregado un Panel del rendimiento del servicio al cliente a la aplicación, que usa gráficos como
Combinación de casos (por prioridad) o Tendencia de resolución de caso (por día) que no ha agregado. Cuando se
valida esta aplicación, recibirá una lista de todos los activos necesarios que faltan.
Cuando se valida la aplicación, el lienzo del diseñador de la aplicación le muestra los detalles acerca de los activos
que faltan.
1. En el diseñador de la aplicaciones, seleccione Validar.
Una barra de notificación aparece y muestra si la aplicación tiene algún error o advertencias. La barra de
notificación muestra advertencias en casos donde, por ejemplo, una entidad no tiene ningún formulario ni
vista, o la aplicación no tiene ningún componente. Un error podría producirse si un mapa del sitio no está
configurado para la aplicación. Puede publicar una aplicación sin abordar las advertencias, pero debe
solucionar los errores para poder publicarla.
2. Para agregar los activos necesarios, seleccione la pestaña Necesario en el lado derecho del lienzo. La
pestaña Necesario está visible cuando falta al menos un activo necesario en la aplicación.
La pestaña muestra una lista de componentes requeridos.
3. Seleccione los activos que desea agregar y luego seleccione Agregar dependencias. Cuando se agrega
un activo requerido, el recuento en la ventana a la que se ha agregado el activo disminuye.
NOTE
Si hay un activo necesario común entre los distintos componentes de la aplicación, por ejemplo, se requiere un
formulario para un panel y una entidad, y agrega ese activo solo una vez desde el árbol de dependencia del panel, el
recuento de dependencias disminuirá solo en la ventana del panel, pero no en la ventana de la entidad. Sin
embargo, la dependencia se resolverá para ambas.
Seleccione el botón Obtener las últimas dependencias o seleccione de nuevo Validar para obtener el último
conjunto de dependencias. Verá solo estos botones después de guardar la aplicación.
NOTE
Si ahora oculta dependencias y desea exportar esta aplicación más adelante, volverán a aparecer todas estas
dependencias.
Pasos siguientes
Compartir una aplicación controlada por modelos con PowerApps
Ejecutar una aplicación controlada por modelos en un dispositivo móvil
Compartir una aplicación controlada por modelos
con PowerApps
25/11/2019 • 14 minutes to read • Edit Online
Las aplicaciones de PowerApps usan la seguridad basada en roles para compartir. El concepto básico en la
seguridad basada en roles es que el rol de seguridad contiene privilegios que definen un conjunto de acciones que
se pueden realizar en la aplicación. Todos los usuarios de la aplicación deben estar asignados a uno o más roles
predefinidos o personalizados. O bien, también se pueden asignar roles a equipos. Cuando se asigna un usuario o
un equipo a uno de estos roles, se concede a la persona o miembros del equipo el conjunto de privilegios
asociados a este rol.
En este tema realizará las tareas para compartir una aplicación controlada por modelos para que otros puedan
usarla. Aprenderá a:
Crear un rol de seguridad personalizado
Asignar usuarios al rol de seguridad personalizado
Asignar el rol de seguridad a una aplicación
Requisitos previos
Para compartir una aplicación debe tener el rol de administrador del entorno de PowerApps o el rol de
administrador del sistema.
7. Puesto que la aplicación de cuidado de mascotas también tiene una relación con la entidad Cuenta,
seleccione la pestaña Registros principales y, en la fila Cuenta seleccione Leer cuatro veces hasta que se
haya seleccionado el ámbito global de la organización .
8. Seleccione la pestaña Personalización y luego en la lista de privilegios seleccione el privilegio Leer junto a
Aplicación basada en modelo para seleccionar el ámbito de organización. .
9. Seleccione Guardar y cerrar.
10. En el diseñador de roles de seguridad, en el cuadro Nombre del rol, introduzca Programadores del
cuidado de mascotas.
11. Seleccione la pestaña Entidades personalizadas y, a continuación, localice la entidad Mascota.
12. En la fila Mascota, seleccione cada uno de los siguientes privilegios cuatro veces hasta que se seleccione el
ámbito global de la organización : Crear, Leer, Escribir, Eliminar, Anexar, Anexar a, Asignar,
Compartir
13. Puesto que la aplicación de cuidado de mascotas también tiene una relación con la entidad Cuenta y los
programadores deben poder crear y modificar registros de cuenta, seleccione la pestaña Registros
principales y, en la fila Cuenta seleccione cada uno de los siguientes privilegios cuatro veces hasta que se
haya seleccionado el ámbito global de la organización . Crear, Leer, Escribir, Eliminar, Anexar, Anexar
a, Asignar, Compartir
14. Seleccione Guardar y cerrar.
4. En el cuadro de diálogo Administrar roles de usuario, seleccione el rol de seguridad Técnicos del
cuidado de mascotas que creó antes y seleccione Aceptar.
Asignar un rol de seguridad a los programadores del cuidado de mascotas
1. En el cuadro de diálogo Compartir esta aplicación, en Asignar usuarios a un rol de seguridad, seleccione
Usuarios de seguridad.
2. En la lista que se muestra, seleccione los programadores del cuidado de mascotas.
3. Seleccione Administrar roles.
4. En el cuadro de diálogo Administrar roles de usuario, seleccione el rol de seguridad Programadores del
cuidado de mascotas que creó antes y seleccione Aceptar.
4. Seleccione Guardar.
Administrador del sistema Crear, Leer, Escribir, Eliminar, Tiene permiso completo para
Personalizaciones, Roles de seguridad personalizar o administrar el entorno,
incluida la creación, modificación y
asignación de roles de seguridad. Puede
ver todos los datos del entorno. Más
información: Privilegios necesarios para
la personalización
Personalizador del sistema Crear (propio), Leer (propio), Escribir Tiene permiso completo para
(propio), Eliminar (propio), personalizar el entorno. No obstante,
Personalizaciones solo puede ver los registros de las
entidades del entorno que cree. Más
información: Privilegios necesarios para
la personalización
Usuario de Common Data Service Leer, Crear (propio), Escribir (propio), Puede ejecutar una aplicación dentro
eliminar (propio) del entorno y realizar las tareas
comunes para los registros de su
propiedad.
Delegar Actúa en nombre de otro usuario Permite ejecutar código como otro
usuario o la suplantación. Se suele usar
con otro rol de seguridad para permitir
el acceso a los registros. Más
información: Suplantar a otro usuario
Pasos siguientes
Ejecutar una aplicación controlada por modelos en un dispositivo móvil
Administrar las propiedades de aplicaciones
controladas por modelos en el diseñador de
aplicaciones
25/11/2019 • 3 minutes to read • Edit Online
Las propiedades de la aplicación definen detalles importantes acerca la aplicación, como su título o dirección URL.
Defina propiedades de la aplicación al crear una aplicación. Si desea cambiar esas propiedades más adelante,
puede hacerlo en el diseñador de la aplicación.
1. En el diseñador de aplicaciones, en el lado derecho, seleccione la pestaña Propiedades.
App URL Suffix1 La dirección URL que elija mientras crea la aplicación se
muestra aquí de forma predeterminada. Puede cambiar la
dirección URL de la aplicación en el cuadro de diálogo
Administrar aplicación. Tenga en cuenta que en este
momento no se puede exportar o importar el sufijo de la
dirección URL de la aplicación mediante una solución.
Elija una página de bienvenida para la aplicación Esta opción permite elegir entre los recursos web
disponibles en su entorno. Las páginas de bienvenida que
cree pueden contener información útil para los usuarios,
como vínculos a los vídeos, instrucciones de actualización
o información de introducción. Para obtener más
información acerca de cómo crear un recurso web, por
ejemplo, un archivo HTML que pueda usar como página
de bienvenida, consulte Crear y editar recursos web para
extender la aplicación web.
Habilitar Mobile Offline Esta opción permite que la aplicación esté disponible sin
conexión en móviles a los perfiles que se seleccionan con
la lista desplegable Perfiles de Mobile Offline.
1Las propiedades Client y App URL Suffix ya no están disponibles cuando se crea una nueva aplicación.
3. Guardar la aplicación.
Pasos siguientes
Creación o edición de aplicaciones
Especificar propiedades para aplicaciones
controladas por modelos de Interfaz unificada
25/11/2019 • 4 minutes to read • Edit Online
El marco de interfaz unificada usa principios de diseño dinámicos para ofrecer una experiencia de visualización e
interacción óptima para cualquier tamaño de pantalla u orientación. Con las aplicaciones basadas en modelos que
usan el marco de interfaz unificada, el control de cuadrícula (vista) es dinámico. Como el tamaño del contenedor
disminuye , por ejemplo, en los teléfonos y los puntos de visión más pequeños, la cuadrícula se transforma en una
lista.
El control de cuadrícula de solo lectura especifica cómo debe ajustar una cuadrícula al tamaño de pantalla
diferente. Como creador de aplicaciones, si trabaja con una aplicación de interfaz unificada, puede configurar el
control de cuadrícula de solo lectura y sus propiedades paras cuadrículas y listas personalizadas.
Propiedad Formulario de tarjeta: utilizar un formulario de tarjeta para listas en lugar de la plantilla de lista
predeterminada. Los formularios de tarjeta proporcionan más información para mostrar los elementos que la
plantilla de lista predeterminada.
Propiedad de Comportamiento de redistribución: use este parámetro para especificar si redistribuir una
cuadrícula en una lista o no.
4. Seleccione los dispositivos (Web, teléfono, o Tableta) para el que desea realizar la cuadrícula de solo
lectura.
c. Elija Aceptar.
6. Configurar la propiedad Comportamiento de redistribución.
a. Elija el icono de lápiz junto a Comportamiento de redistribución.
Solo lista Muestra solo como una lista, incluso si hay espacio
suficiente para mostrar como cuadrícula.
c. Elija Aceptar.
7. Guarde y publique los cambios.
Imagen condicional
Puede mostrar un iconos personalizado en lugar de un valor en una lista y establecer la lógica utilizada para
seleccionarlos basada en los valores de la columna mediante JavaScript. Para obtener más información acerca de
las imágenes condicionales, vea Mostrar iconos personalizados en lugar de valores en vistas de lista.
Pasos siguientes
Crear o editar vistas
Eliminar una aplicación controlada por modelos
25/11/2019 • 2 minutes to read • Edit Online
IMPORTANT
Si se instaló una aplicación basada en modelo en la solución predeterminada como parte de una solución administrada,
consulte Eliminar una aplicación basada en modelo que se instaló como parte de una solución administrada.
NOTE
Cuando se elimina la aplicación, se recomienda que elimine su mapa de sitio asociado. Si no se elimina el mapa de sitio
asociado, el diseñador del mapa de sitio muestra un error la primera vez que intenta crear otra aplicación con el mismo
nombre. Sin embargo, puede omitir el error y el error no aparecerá cuando intente volver a crear la aplicación.
En este tema se describe cómo acceder a las áreas de personalización y administración avanzadas que están
disponibles en un entorno de PowerApps.
Soluciones
El área de soluciones es donde puede ver, editar, crear, importar, exportar y eliminar soluciones administradas y no
administradas.
1. Inicie sesión en PowerApps.
2. En el panel de navegación izquierdo, seleccione Soluciones.
Explorador de soluciones
Use el Explorador de soluciones para realizar las tareas de creación y personalización de aplicaciones que no se
pueden completar desde la página principal de PowerApps.
1. Inicie sesión en PowerApps.
2. En el panel de navegación izquierdo, seleccione Soluciones.
3. Seleccione Cambiar a clásica en la barra de herramientas para abrir la vista Todas las soluciones. Tenga en
cuenta que el comando Cambiar a clásica no está disponible cuando se selecciona una solución en la lista.
4. En la lista de soluciones disponibles seleccione la solución que desee en la columna Nombre para mostrar
para abrir el explorador de soluciones.
Aplicaciones
El área de aplicaciones muestra todas las aplicaciones basadas en modelos y de lienzo en las que tiene privilegios
en su entorno. Además de iniciar una aplicación, desde el área de aplicaciones también puede asignar roles de
seguridad a ella.
Para compartir una aplicación:
1. Inicie sesión en PowerApps.
2. Seleccione Aplicaciones.
3. Seleccione … > Compartir.
4. A continuación siga estos pasos: Agregar roles de seguridad a la aplicación
Configuración
Use el área de Configuración para configurar los parámetros del entorno, activar o desactivar procesos, etc.
Primero, vea si el valor que necesita está en el menú > Personalizaciones avanzadas.
Para buscar configuraciones no disponibles desde Personalizaciones avanzadas:
Vea también
Creación o edición de una aplicación basada en modelos usando el diseñador de aplicaciones Creación o edición
de aplicaciones en PowerApps Studio para web
Privilegios necesarios para la personalización de
aplicaciones controladas por modelos
25/11/2019 • 5 minutes to read • Edit Online
Los usuarios de la aplicación pueden personalizar el sistema e incluso compartir algunas de las personalizaciones
con otros usuarios, pero solo los usuarios con los privilegios adecuados pueden aplicar los cambios para todos.
NOTE
En esta sección se supone que sabe cómo trabajar con roles de seguridad. Para obtener más información acerca de cómo
trabajar con roles de seguridad, consulte Crear usuarios y asignar roles de seguridad.
Tiene privilegios completos para personalizar el sistema Tiene privilegios completos para personalizar el sistema
Puede ver todos los datos del sistema Solo puede ver los registros de las entidades del sistema que
cree
La diferencia entre los roles de seguridad de administrador del sistema y de personalizador del sistema es que un
administrador del sistema tiene privilegios de lectura para la mayoría de los registros del sistema y puede verlo
todo. Asigne el rol de personalizador del sistema a alguien que necesite realizar tareas de personalización, pero que
no debería ver ningún dato de las entidades del sistema. Sin embargo, las pruebas son una parte importante de la
personalización del sistema. Si los personalizadores del sistema no pueden ver datos, deberán crear registros para
probar sus personalizaciones. De forma predeterminada, los personalizadores del sistema tienen acceso completo
a entidades personalizadas. Si desea tener las mismas limitaciones que existen para entidades del sistema,
necesitará ajustar el rol de seguridad de personalizador del sistema para que el nivel de acceso sea Usuario en
lugar de Organización para entidades personalizadas.
IMPORTANT
No intente eliminar su rol de seguridad de administrador del sistema si solo tiene una cuenta de usuario. El sistema le
advertirá si lo intenta, pero si continúa, es posible que no pueda recuperarlo. La mayoría de los roles de seguridad no
permiten modificar los roles de seguridad de un usuario.
Pasos siguientes
Conocer los componentes de las aplicaciones basadas en modelos
Crear o editar recursos web de aplicaciones
controladas por modelos para ampliar una
aplicación
25/11/2019 • 13 minutes to read • Edit Online
Los programadores usan recursos web normalmente para extender la aplicación utilizando archivos que se usan
en el desarrollo web. Los usuarios de la aplicación es posible que necesiten administrar los recursos web
proporcionados por un programador o un diseñador.
TIP
Para obtener información detallada de los recursos web, consulte Documentación para desarrolladores: Recursos Web para
aplicaciones basadas en modelo.
Para obtener información sobre las dependencias de recursos web agregadas a PowerApps, consulte Documentación para
desarrolladores: Dependencias de recursos web.
donde <base URL> es la parte de la dirección URL se usa para ver aplicaciones que finalizan en dynamics.com .
Puesto que el recurso web son datos del sistema, sólo los usuarios con licencia de la organización pueden tener
acceso a ellos de esta forma. Normalmente, recursos web se incluyen en formularios en lugar de hacer referencia
a ellos directamente. El uso más común consiste en proporcionar bibliotecas de JavaScript para scripts de
formularios.
Puesto que los recursos web son datos del sistema y son compatibles con las soluciones, puede moverlos a
distintas organizaciones exportándolos como parte de una solución e importando la solución a otra organización.
Debe usar el explorador de soluciones para trabajar con recursos web.
Nombre para mostrar El nombre que se muestra si ve una lista de recursos web.
NOTE
Los cambios en un recurso web no serán visibles en la aplicación hasta que se publique.
Se recomienda usar un editor externo para editar archivos de texto y volver a guardarlos localmente antes de
cargarlos con el botón Cargar archivo. De esta manera puede mantener una copia del recurso web si necesita
volver a una versión anterior. Puede usar un editor simple como Bloc de notas, pero se recomienda
encarecidamente un editor de texto con funciones más avanzadas. Visual Studio Community y Visual Studio
Code son gratuitas y proporcionan eficaces capacidades para editar los archivos basados en texto que usan los
recursos web basados.
NOTE
No se puede incluir un recurso web en un encabezado o pie de página de formulario.
Puede agregar o editar recursos web en un formulario para aumentar su atractivo o utilidad para los usuarios de
la aplicación. Los recursos web habilitados para formularios son imágenes o controles de archivos HTML.
NOTE
Los recursos web de Silverlight están obsoletos y no funcionarán en el cliente de Interfaz unificada.
Al editar un recurso web: seleccione una pestaña de formulario y el recurso web que desee modificar y, a
continuación, en la pestaña Inicio, seleccione Cambiar propiedades.
CAMPO DESCRIPCIÓN
Visible de forma predeterminada Mientras se habilita, el recurso web estará visible cuando se
cargue el formulario. Si tiene una regla de negocio o script de
formulario que mostrará el recurso web según sea necesario,
desactive este campo. Más información: Mostrar u ocultar
elementos de formulario
Habilitar para móvil Seleccione esta opción para permitir que este recurso web sea
visible en aplicaciones móviles.
CAMPO DESCRIPCIÓN
Parámetro personalizado (datos) Suelen ser los datos de configuración que se transferirán al
recurso web de HTML como parámetro de cadena de
consulta de data . Los scripts asociados a la página HTML
pueden acceder a estos datos y usarlos para cambiar el
comportamiento de la página.
Restringir scripting entre marcos cuando sea posible Use esta opción si no confía plenamente en el contenido del
recurso de web de HTML. Más información: Documentación
para desarrolladores: Seleccionar si se restringe el scripting
entre marcos
Pasar código tipo de objeto de registro e id. único Los datos sobre el registro actual visible en el formulario se
como parámetros pueden transferir a la página del recurso web de HTML para
que el script que se ejecuta en la página pueda acceder a los
datos sobre el registro. Más información:
Pasar parámetros a recursos web
Documentación para desarrolladores: Transferir información
contextual sobre el registro
Para los recursos web de imagen tiene la opción de especificar el Texto alternativo que es importante para las
tecnologías de ayuda que hacen la página accesible para todos.
Pestaña Formato
En la pestaña Formato, las opciones que se muestran varían en función del tipo de recurso web insertado y del
contexto en que se inserta. Estas opciones incluyen especificar el número de columnas y filas mostradas, si se
muestra un borde y el comportamiento de desplazamiento.
PROPIEDAD DESCRIPCIÓN
Seleccione el número de columnas que ocupa el control Cuando la sección que contiene el recurso web tiene más de
una columna, puede establecer que el campo ocupe hasta el
número de columnas que tiene la sección.
Seleccione el número de filas que ocupa el control Puede controlar la altura del recurso web especificando varias
filas o seleccionando Expandir automáticamente para usar
el espacio disponible para permitir que la altura del recurso
web se expanda según el espacio disponible.
Seleccione el tipo de desplazamiento para el IFrame Un recurso web HTML se agrega al formulario mediante un
IFRAME.
Pestaña Dependencias
Un recurso web pueden interactuar con los campos del formulario mediante el script. Si se quita un campo del
formulario, el script del recurso web se puede interrumpir. Agregue campos a los que hagan referencia los scripts
del recurso web en Campos dependientes para que no puedan quitarse accidentalmente.
Pasar parámetros a recursos web
Un recurso web HTML puede aceptar que los parámetros se pasen como parámetros de cadena de consulta.
La información del registro se puede pasar habilitando la opción Pasar código tipo de objeto de registro e id.
único como parámetros. Si la información se escribe en el campo Parámetro personalizado (datos) se
pasará mediante el parámetro de datos. Los valores que se pasan son:
PARÁMETRO DESCRIPCIÓN
No se permite ningún otro parámetro y el recurso web no se abrirá si se usan otros parámetros. Si necesita pasar
varios valores, el parámetro de datos puede sobrecargarse para incluir varios parámetros.
Más información: Documentación para desarrolladores: Transferir información contextual sobre el registro
Vea también
Crear o editar recursos web para extender una aplicación
Utilizar el formulario principal y sus componentes
Cambiar iconos de entidades personalizadas de
aplicaciones controladas por modelos
25/11/2019 • 4 minutes to read • Edit Online
Al crear una entidad personalizada, se le asigna automáticamente un icono predeterminado. Todas las entidades
personalizadas usan el mismo icono de forma predeterminada. Use iconos personalizados para distinguir la
apariencia de las entidades personalizadas. No puede modificar los iconos asignados a entidades del sistema.
Puede cargar tres tipos de iconos de entidades para cada entidad personalizada.
Icono Interfaz unificada Debe ser un icono escalable del gráfico vectorial (.svg)
Icono en aplicación web Una imagen en formato .svg, .gif, .png, o .jpg, con un tamaño
de16x16 píxeles.
Icono para formularios de entidad Una imagen en formato .svg, .gif, .png, o .jpg, con un tamaño
de 32x32 píxeles.
NOTE
El tamaño de todos los archivos de imágenes no puede superar los 10 kilobytes.
Cuando se usa una imagen escalable del gráfico vectorial (.svg) como Icono en aplicación web o Icono para formularios
de entidad, debe tener definido el tamaño predeterminado. Puesto que SVG es un documento XML, puede editar los
valores de ancho y alto del elemento svg con un editor de texto para definir el tamaño predeterminado para la imagen.
Cada tipo de icono se almacena como un recurso web. Puede crear recursos web primero y después establecer los
iconos para usarlos, o puede crear el nuevo recurso web dentro del cuadro de diálogo Registro de búsqueda
seleccionando Nuevo mientras establece el valor. Más información: Crear o editar recursos web para extender una
aplicación web
Herramientas de la Comunidad
Iconator es una herramienta desarrollada por la comunidad de XrmToolbox para PowerApps. Consulte el tema
Herramientas para desarrolladores para Common Data Service para la comunidad de herramientas desarrolladas.
NOTE
Las herramientas de la comunidad no son un producto de Microsoft y no se incluyen en el soporte técnico. Si tiene alguna
duda relacionada con la herramienta, póngase en contacto con el Editor. Más información: XrmToolBox.
Pasos siguientes
Crear una entidad
Editar una entidad
Distribuir una aplicación controlada por modelos
usando una solución
25/11/2019 • 4 minutes to read • Edit Online
Las aplicaciones basadas en modelos se distribuyen como componentes de la solución. Una vez que haya creado
una aplicación controlada por modelos, puede hacer que esté disponible para que otros entornos la usen
empaquetando la aplicación en una solución y, después, se exportándola en un archivo zip. Después de que la
solución (archivo .zip) se importa correctamente en el entorno de destino, la aplicación empaquetada está
disponible para su uso.
5. Si aparece una página Faltan componentes necesarios se recomienda seleccionar Sí, incluir
componentes necesarios para agregar componentes necesarios como entidades, vistas, formularios,
gráficos y mapa del sitio que formen parte de la aplicación. Seleccione Aceptar.
6. En la página Solución, seleccione Guardar y cerrar.
Exportación de soluciones
Para distribuir la aplicación de modo que se pueda importar en otro entorno o ponerla a disposición en Microsoft
AppSource, debe exportar la solución a un archivo zip. A continuación, el archivo zip que contiene la aplicación y
los componentes se puede importar en otros entornos.
1. Abra la página Soluciones.
2. Seleccione la solución que desea exportar y, después, en la barra de herramientas, seleccione Exportar.
3. En la página Publicar personalizaciones, seleccione Siguiente.
4. Si aparece la página Faltan componentes necesarios, seleccione Siguiente.
5. En la página Exportar configuración del sistema, seleccione las características opcionales que desee
incluir y, a continuación, seleccione Siguiente.
6. En la página Tipo de paquete, seleccione No administrado o Administrado y seleccione Exportar. Para
obtener más información acerca de los tipos de paquetes de soluciones, consulte Información general de
soluciones.
7. En función del explorador y valores de configuración, se crea un archivo del paquete .zip y se copia en la
carpeta de descargas predeterminada. El nombre de archivo del paquete se basa en el nombre único de la
solución anexada con caracteres de subrayado y el número de versión de la solución.
NOTE
Cuando exporta una aplicación mediante una solución, no se exporta la dirección URL de la aplicación.
Importación de soluciones
Cuando reciba un archivo zip de la solución que contiene la aplicación que desea importar, abra la página de
componentes de soluciones e importe la solución. Cuando la solución se haya importado correctamente, la
aplicación estará disponible en su entorno.
1. Inicie sesión en PowerApps.
2. Seleccione Soluciones y en la barra de herramientas seleccione Importar.
3. Examine el archivo que desea importar y elija Siguiente.
4. Seleccione importar.
Vea también
Cambiar el prefijo del editor de soluciones
Habilitar y usar ayuda personalizable
25/11/2019 • 5 minutes to read • Edit Online
La ayuda personalizable le permite ofrecer su propia información contextual a los usuarios de aplicaciones
basadas en modelo rellenando formularios.
NOTE
En lugar de crear y de mantener su propio sistema de Ayuda, los paneles personalizados de ayuda y las tareas guiadas están
disponibles y puede usarlos para crear Ayuda que dé a la aplicación de la interfaz unificada una experiencia de ayuda en el
producto que esté adaptada a su organización. Más información: Crear ayuda guiada para la aplicación de la Interfaz
unificada
Con aplicaciones basadas en modelo puede reemplazar la Ayuda predeterminada con la Ayuda personalizada de
su elección, en el nivel global (entorno) o de la entidad. La Ayuda personalizada expone el contenido a través de los
vínculos de la Ayuda más relevantes para entidades personalizadas o personalizables. Con una dirección URL
única y global puede reemplazar los vínculos de la Ayuda estándar para todas las entidades personalizables. Las
direcciones URL de la entidad reemplazan los vínculos de la Ayuda estándar en cuadrículas y formularios para una
entidad personalizable específica. Puede incluir parámetros adicionales en la dirección URL, tales como código de
idioma y el nombre de la entidad. Estos parámetros permiten a los desarrolladores agregar funcionalidad para
redirigir el usuario a una página que sea relevante para su idioma o al contexto de entidad dentro de la aplicación.
La configuración de la Ayuda personalizada del nivel de la entidad es compatibles con soluciones. Por tanto, puede
empaquetarla como parte de una solución y transportarla entre entornos o distribuirla en soluciones.
1. Abra una aplicación basada en modelo y en la barra de comandos seleccione Configuración >
Configuración avanzada.
2. Vaya a Configuración > Administración.
3. Seleccione Configuración del sistema y luego seleccione la pestaña General.
4. En Establecer dirección URL de Ayuda personalizada, seleccione y defina la configuración global de
Ayuda personalizable siguiente:
Usar la Ayuda personalizada para entidades personalizables. Seleccione para habilitar.
Dirección URL de la ayuda personalizada global. Escriba la dirección URL de la Ayuda
personalizada.
Anexar los parámetros a la URL. Seleccione Sí para permitir que parámetros como código de idioma
o nombre de entidad se anexen a la Dirección URL de Ayuda que especifique en la definición de
entidad. Más información: Anexar parámetros a dirección URL
5. Seleccione Aceptar.
Establecer Ayuda personalizable para una entidad específica
Después de habilitar Ayuda personalizada en el nivel global, los personalizadores del sistema pueden reemplazar
la dirección URL global de Ayuda para una entidad en la definición de entidad.
1. Abra el explorador de soluciones.
2. Expanda Entidades y, a continuación, seleccione la entidad que desea.
3. En la pestaña General de la sección Ayuda de la definición de entidad, en la casilla Dirección URL de
Ayuda escriba la dirección URL de la página de Ayuda personalizada.
Use la Ruta de aprendizaje para dar a los usuarios una experiencia de Ayuda personalizada dentro de la aplicación
que está adaptada a su entorno y al uso y flujo de trabajo específicos de su organización.
IMPORTANT
Ruta de aprendizaje sólo está disponible con aplicaciones del cliente web heredadas. Use páginas de ayuda personalizadas
para aplicaciones de la interfaz unificada. Más información: Crear ayuda guiada para la aplicación de la Interfaz unificada
Requisitos previos
Para crear contenido de Ruta de aprendizaje, debe:
Estar usando PowerApps o Dynamics 365 (online).
Han optado por recibir la Ruta de aprendizaje. Este valor está activado de forma predeterminada, pero
puede haberse desactivado.
Para asegurarse de que la Ruta de aprendizaje está activada: en la barra de navegación, vaya a
Configuración > Optar por recibir la ruta de aprendizaje.
Más información: Modificador encendido/apagado para Ruta de aprendizaje (ayuda guiada).
Tener el rol Personalizador del sistema o Administrador del sistema u otro rol que tenga el privilegio de
creación de la Ruta de aprendizaje.
Habilitar la creación de la Ruta de aprendizaje Esto crea el grupo de seguridad Autores de la Ruta de
aprendizaje de Office 365.
Hágase miembro del grupo de seguridad Autores de la Ruta de aprendizaje de Office 365.
Puede crear contenido de la Ruta de aprendizaje para los módulos de aplicación web y los módulos de
aplicación de Interfaz unificada. Esto incluye Dynamics 365 para tabletas.
Activar la Ruta de aprendizaje para la organización
La Ruta de aprendizaje es una característica opcional que se puede activar o desactivar para su organización. Puede
mostrar el contenido de Ruta de aprendizaje incluido con Dynamics 365, crear su propio contenido de Ruta de
aprendizaje para los usuarios, o ambos.
1. Inicie sesión en PowerApps o Dynamics 365 con una cuenta de administrador.
2. Vaya a Configuración y, luego, Administración en Sistema. Más información: Configuración
3. En la página Administración, seleccione Configuración del sistema.
4. En la pestaña General, en Establecer la URL de la Ayuda personalizada, seleccione Sí en Habilitar
Ruta de aprendizaje y Habilitar la creación de la ruta de aprendizaje.
Puede habilitar Ruta de aprendizaje o Ayuda personalizable pero no ambas al mismo tiempo. Confirme que
Usar la Ayuda personalizada para entidades personalizables y Anexar los parámetros a la URL
están establecidos en No.
5. Seleccione Aceptar.
Agregar un usuario
1. Vaya al portal de administración del inquilino de Office 365 seleccionando Navegar a otras aplicaciones
en la esquina superior izquierda de la página cuando inicie sesión en Dynamics 365 y luego seleccione
Administración.
Es posible que deba volver a escribir la contraseña.
2. En el Centro de administración, seleccione Grupos.
3. En la página Grupos, seleccione el grupo de seguridad Autores de Ruta de aprendizaje.
4. Haga clic en Editar en la fila Integrantes para agregar usuarios al grupo.
5. Seleccione + Agregar integrantesy, a continuación especifique o busque los usuarios que desee agregar al
grupo.
6. Seleccione Guardar cuando haya terminado de agregar usuarios.
NOTE
Otra forma de asignar el grupo a una cuenta de usuario es seleccionando Usuarios > Usuarios activos, seleccionando el
usuario que desee agregar y, a continuación haciendo clic en Editar junto a Pertenencia al grupo para seleccionar los
grupos a los que agregar el usuario.
NOTE
Esto no elimina el rol de Dynamics 365. Elimina el rol del diseñador de la Ruta de aprendizaje para definir cómo se
muestra el contenido a los usuarios. Puede restablecer siempre un rol oculto seleccionando Sincronizar roles.
NOTE
Al conectarse a la versión de la aplicación móvil de la interfaz, se usarán las credenciales desde el inicio de sesión a la
interfaz web para autenticarle. Deberá dejar la interfaz web abierta para evitar errores de acceso denegado al abrir la
interfaz de la aplicación móvil.
7. Cierre el área de trabajo para mostrar la página principal para la interfaz de la aplicación móvil en su
explorador. A continuación puede abrir la biblioteca de contenido para crear o editar los controles de Ruta
de aprendizaje. Más información: Biblioteca de contenido
Biblioteca de contenido
La biblioteca de contenido muestra todas el contenido creado y disponible para su organización, así como los
comandos para crear, administrar e interactuar con controles. Para crear o editar controles de la Ruta de
aprendizaje, conéctese primero con la interfaz del cliente para la que desea crear controles y, a continuación abra la
biblioteca de contenido.
Para abrir la biblioteca de contenido desde la interfaz del cliente web predeterminada, realice una de
estas acciones:
En una barra lateral, seleccione el botón Biblioteca de contenido.
Seleccione la ventana Aprendizaje del mapa del sitio y, a continuación, Biblioteca de contenido.
Para abrir la biblioteca de contenido desde el simulador de la interfaz de la aplicación móvil:
1. Seleccione el botón de puntos suspensivos en un círculo (...) en la esquina inferior derecha de la pantalla.
NOTE
Si no ve todas estas columnas en la biblioteca del contenido, puede que sea porque el zoom de vista del explorador se
establece por encima del 100%. Para ver todas las columnas, establezca el zoom al 100% o menos.
COLUMNA DESCRIPCIÓN
Esta columna
4. Especifique un nombre y seleccione los otros valores para la tarea guiada. Use esta tabla para referencia.
CONFIGURACIÓN DESCRIPCIÓN
Deshabilite esta tarea guiada Active esta casilla para deshabilitar la tarea guiada. Cuando
está deshabilitada, no se muestra a los usuarios.
Definir como tarea guiada de error Seleccione esta casilla si desea mostrar esta tarea guiada
solo cuando hay un error con otras tareas guiadas, como
la falta de privilegios o cualquier problema que impida que
se muestren otras tareas guiadas asociadas a la página.
La tarea guiada se abre cuando Seleccione si desea que la tarea guiada aparezca cuando
Se carga la página o cuando Se hace clic en el vínculo
en una barra lateral.
Fase del ciclo de vida Este ajuste es solo para uso interno.
Rol de seguridad de Common Data Service Seleccione el rol o roles de seguridad para los que desea
mostrar la tarea guiada. Puede seleccionar todos los roles
que desee. Si a un usuario se le asigna más de un rol, la
tarea guiada aparecerá solamente para el rol con la mayor
prioridad, como se describió anteriormente en este tema.
5. Cuando haya terminado, seleccione Guardar para empezar a usar el Editor de flujo.
Agregue pasos con el Editor de flujo
1. Agregue el título donde se muestra Título de tarea guiada. Este es el título que los usuarios verán.
2. Seleccione si se mostrarán o no controles de Id. fijos únicamente. Los controles registrados se resaltan en
verde, y los no registrados en azul cuando arrastra la ventana para anclarla a la interfaz de usuario. Si ancla
un paso a un control sin un Id. fijo, puede verse afectado por una actualización futura de Dynamics 365. Las
actualizaciones no afectarán a los controles de Id. fijos.
3. Seleccione Agregar nuevo paso y elija el tipo de paso que desee usar para el primer paso de la tarea
guiada.
Paso con botón Siguiente Este paso tiene un botón Siguiente que puede servir para
navegar al siguiente paso del flujo. Si ésta es el último paso
del flujo, el botón Siguiente no aparecerá. Arrastre la
ventana para anclar el paso donde desea que se muestre
en la aplicación.
TIPO DE BOTÓN DESCRIPCIÓN
Paso con acción del usuario Este paso no tiene un botón Siguiente. Se pide al usuario
que seleccione el elemento de la UI en el que está anclado
el paso. Si se produce redireccionamiento de página o
cualquier cambio de estado de la UI como resultado de
este clic, asegúrese de anclar el siguiente paso en el estado
de la UI cambiada. Arrastre la ventana para anclar el paso
donde desea que se muestre en la aplicación.
Acción del usuario con botón Siguiente Este paso tiene un botón Siguiente. Seleccionar el botón
Siguiente tiene el mismo efecto que seleccionar elemento
de la UI en el que está anclado el paso. Si se produce
redireccionamiento de página o cualquier cambio de
estado de la UI como resultado de este clic, asegúrese de
anclar el siguiente paso en el estado de la UI cambiada.
Arrastre la ventana para anclar el paso donde desea que se
muestre en la aplicación.
NOTE
Si ya ha planeado la tarea guiada y sabe qué pasos desea agregar, ahora puede agregarlos todos. Cada paso que
agregue aparecerá en el editor de flujo en el orden que lo agregó. Puede reorganizar pasos después de agregarlos
arrastrándolos arriba o abajo en la lista.
4. Seleccione el tipo de paso que desee agregar y, a continuación arrastre la ventana a la interfaz de usuario
para anclarla un control. Puede requerir varios intentos acostumbrarse a colocar el paso donde desea.
NOTE
Puede mantener la ventana por un máximo de 15 segundos. Si no la ancla en 15 segundos, la ventana seguirá sin
estar anclada y el puntero del mouse cambiará de nuevo a cursor normal.
5. Cuando haya colocado el paso donde desee, suelte el botón del mouse para anclarla al control. El paso
aparecerá en la ubicación seleccionada. Para mover el paso, use el botón Arrastrarme en el panel junto al
paso.
6. Agregue contenido al paso usando los controles presentados junto a ella. Están disponibles las siguientes
opciones de configuración:
Tipo de contenido: Agregue texto o un vídeo al paso. Seleccione Editar para ver más valores.
Puede cambiar tamaño de fuente, color y estilo del texto, y agregar una miniatura para vídeo.
Ubicación: Especifique la ubicación del paso en el control al que lo ancló. Las selecciones incluyen:
Posición automática (seleccionada de forma predeterminada), Superior izquierda, Superior derecha,
Inferior izquierda, Inferior derecha, Izquierda superior, Izquierda inferior, Derecha superior y Derecha
inferior.
Copiar: Cree una copia del paso con contenido idéntico anclada en la misma ubicación e insértela en
el flujo de tareas guiadas directamente después del paso original.
7. Seleccione Guardar cuando termine de colocar y agregar contenido al paso, y cierre el paso mediante el
botón Cerrar en la esquina superior derecha del paso, o seleccione la flecha en la esquina superior izquierda
de la pantalla para volver al editor de flujo.
NOTE
Siempre podrá editar el paso más tarde, por tanto, no se preocupe si accidentalmente lo cierra antes de tenerlo como
desea.
8. Para agregar o editar el siguiente paso de la tarea guiada, seleccione el icono en la esquina superior
izquierda de la pantalla para mostrar el editor de flujo.
9. Agregue cualquier paso adicional que desee incluir en la tarea guiada, asegurándose de guardar cada paso
cuando haya terminado de agregar contenido.
NOTE
Si reubica un paso o lo copia con el botón Copiar en la barra de herramientas, los cambios sin guardar en ese paso se
perderán. Asegúrese de guardar los cambios con frecuencia.
10. Cuando haya terminado de agregar pasos a la tarea guiada, seleccione Guardar.
11. Seleccione Vista previa para probar la tarea guiada y ver cómo aparecerá a los usuarios.
NOTE
Para publicar la tarea guiada, deberá realizar una vista previa primero. Al cerrar un paso o usar la flecha en la esquina
superior izquierda de la pantalla durante el modo de vista previa, verá los botones Proteger y Publicar en el
diseñador de la Ruta de aprendizaje.
12. Si está satisfecho con los cambios, protéjalos y publique la tarea guiada, o publíquela más tarde desde la
biblioteca del contenido.
4. Especifique un nombre y luego seleccione los otros valores para la barra lateral. Use esta tabla para
referencia.
CONFIGURACIÓN DESCRIPCIÓN
Definir como barra lateral de error Seleccione esta casilla si desea mostrar esta barra lateral
solo cuando hay un error con otra barra lateral, como la
falta de privilegios u otro problema que impida que se
muestren otras barras laterales asociadas a la página.
CONFIGURACIÓN DESCRIPCIÓN
Convertir en barra lateral de inicio La barra lateral de Inicio se muestra cuando un usuario
selecciona el botón Inicio o si no hay una barra lateral en la
página y el usuario selecciona Ayuda. Cada página puede
tener únicamente una barra lateral de inicio.
La barra lateral se abre cuando Seleccione si desea que la barra lateral aparezca cuando se
cargue la página o cuando un usuario seleccione un
vínculo o un botón de la página.
Rol de seguridad de Common Data Service Seleccione el rol o roles de seguridad para los que desea
mostrar la barra lateral. Puede seleccionar todos los roles
que desee. Si a un usuario se le asigna más de un rol, la
barra lateral aparecerá solamente para el rol con la mayor
prioridad, como se describió anteriormente en este tema.
Opciones avanzadas Esta opción no está disponible hasta que guarde la barra
lateral. Están disponibles los siguientes valores en
Opciones avanzadas:
Deshabilitar encabezado de la barra lateral
Deshabilitar título de la barra lateral
Deshabilitar pie de página de la barra lateral
Autor: Cambie el autor definido para la barra
lateral.
Etiquetas: Agregue o elimine etiquetas aplicadas a
esta barra lateral. Use etiquetas para facilitar la
búsqueda de contenido en la biblioteca contenido,
o clasificar su contenido.
Idiomas compatibles: Seleccione los idiomas para
esta barra lateral, y para la importación y la
exportación.
5. Cuando haya terminado, seleccione Guardar para comenzar a agregar contenido a la barra lateral en el
diseñador.
Agregar contenido a la barra lateral
1. Una vez guardado el nombre y las propiedades de la barra lateral en la biblioteca de contenido, el diseñador
se abre.
2. Escriba un título para la barra lateral.
3. Agregue el contenido que desea mostrar a los usuarios cuando se muestra la barra lateral.
4. Para agregar una nueva sección, seleccione Agregar sección.
5. Para eliminar una sección de la plantilla, seleccione la sección que desee eliminar y, a continuación
seleccione el botón Eliminar.
6. Cuando haya terminado de modificar el contenido en la barra lateral, seleccione Guardar para guardar los
cambios, y luego cierre la barra lateral con el botón Cerrar en la esquina superior derecha para volver a la
biblioteca de contenido.
7. Seleccione Administrar en la parte superior de la página y, después, Proteger para guardar los cambios y
ponerlos a disposición de otros usuarios que crean contenido.
Agregar vínculos a la barra lateral
Cuando crea una barra lateral, hay varias opciones para agregar vínculos a ella. Puede establecer un vínculo a otra
tarea guiada o barra lateral de la Ruta de aprendizaje, a otra página en Dynamics 365, o a una página web. Incluso
puede buscar temas de ayuda y aprendizaje para vincular cuando se crea una barra lateral. Una vez establecidas las
propiedades y los roles de la barra lateral y de estar listo para agregar contenido, siga estos pasos para agregar
vínculos a una sección de la barra lateral que ha creado.
1. En la sección a la que desea agregar vínculos, seleccione el icono Lista de vínculos.
NOTE
El nombre de archivo predeterminado para el archivo .zip es el mismo cada vez que exporta, por lo que conviene usar
un nombre único para evitar sobrescribir los archivos exportados anteriormente.
Al importar un control, sobrescribirá y reemplazará las versiones del mismo control que ya están en la
biblioteca, incluso si el control existente es más reciente.
3. Confirme que el nombre de archivo mostrado corresponde al archivo que desea importar y, a continuación,
seleccione Importar.
4. En el cuadro de diálogo de confirmación, seleccione Aceptar.
3. Seleccione la opción que desea usar para guardar el archivo .zip generado, y luego seleccione un nombre de
archivo y una ubicación.
NOTE
El nombre de archivo predeterminado para el archivo .zip es el mismo cada vez que exporta, por lo que conviene usar
un nombre único para evitar sobrescribir los archivos exportados anteriormente.
Al importar un control, sobrescribirá y reemplazará las versiones del mismo control que ya están en la
biblioteca, incluso si el control existente es más reciente.
6. Confirme que el nombre de archivo mostrado corresponde al archivo que desea importar y, a continuación,
seleccione Importar.
7. En el cuadro de diálogo de confirmación, seleccione Aceptar.
8. Publique el control localizado en los entornos de publicación deseados para poner el control localizado a
disposición de los usuarios. El contenido localizado se mostrará automáticamente a los usuarios que han
seleccionado el mismo idioma para su interfaz de usuario.
Europa, Oriente Medio, África y Gran Bretaña (EMEA, GBR) Europa Occidental
Aviso de privacidad
Al habilitar la creación de la Ruta de aprendizaje para una organización Dynamics 365, el contenido de la Ruta de
aprendizaje (publicado o borrador) creado por los usuarios (con los privilegios correctos de seguridad) se
almacenará en Azure SQL Database. Además, habilitar la característica permite que Azure Cloud Services capture
los siguientes datos asociados con una organización Dynamics 365:
Lista de organizaciones del inquilino
Cliente Dynamics 365 de los usuarios finales y configuración aplicable del sistema operativo / explorador
Datos de uso de los usuarios finales, por ejemplo, tiempo empleado en las Rutas de aprendizaje o clic
grabados
Datos de los usuarios finales agregados: ubicación, rol de seguridad, idioma del usuario
Datos de los usuarios finales agregados: ubicación, rol de seguridad, idioma del usuario
Comentarios literales de los usuarios finales
Un administrador puede habilitar (y deshabilitar posteriormente) la creación de la Ruta de aprendizaje mediante un
valor de la pestaña General del cuadro de diálogo Configuración del sistema.
En las secciones siguientes se detallan los componentes y servicios de Azure relacionados con la funcionalidad
Creación de Ruta de aprendizaje.
Nota: Para obtener más información acerca de otras ofertas de servicios de Azure, consulta el Centro de confianza
de Microsoft Azure.
Cloud Services
Servicio web
El servicio web contiene los controles que el tiempo de ejecución de la Ruta de aprendizaje genera en el cliente. El
servicio web también admite la API de diseñador que la creación de la Ruta de aprendizaje utiliza. El servicio
almacena los controles en Azure SQL Database.
Compilador (rol de trabajo)
El rol de compilador administra la publicación de un control en un grupo de publicación. El compilador usa la cola
para almacenar mensajes acerca del trabajo de publicación. Los resultados se almacenan en Azure SQL Database.
Azure SQL Database
Ruta de aprendizaje usa Azure SQL Database para almacenar:
Controles que se crean usando Ruta de aprendizaje.
Creación de Ruta de aprendizaje relacionada con la configuración.
Azure Active Directory
Ruta de aprendizaje utiliza Azure Active Directory para autenticar el servicio web.
Azure Traffic Manager
Ruta de aprendizaje usa Azure Traffic Manager para equilibrar la carga del servicio web a fin de lograr
disponibilidad y rendimiento.
Azure Storage Queue
Azure Storage Queue se usa para coordinar la comunicación entre los roles de compilador y servicio web.
Azure Blob Storage
Ruta de aprendizaje usa Azure Blob Storage para almacenar el contenido estático (JavaScript del lado de cliente,
imágenes, contenido CSS ).
Red de entrega de contenido (CDN ) de Azure
La red CDN se utiliza para almacenar en caché el contenido estático del lado del cliente (JavaScript, imágenes y
archivos CSS ) y ofrecerlo desde la red CDN global.
Vea también
Modificador encendido/apagado para Ruta de aprendizaje (ayuda guiada)
Tutorial para la transición de su aplicación de cliente
web heredada a la interfaz unificada
25/11/2019 • 10 minutes to read • Edit Online
El marco de la interfaz unificada también usa principios de diseño web dinámicos para ofrecer una experiencia de
visualización e interacción óptima para cualquier tamaño de pantalla, dispositivo u orientación. Este tema de inicio
rápido explica cómo realizar la transición de su aplicación de cliente web heredada a la interfaz unificada con un
nuevo entorno de no producción.
Para usar un entorno de no producción existente para realizar la transición de su aplicación de cliente web,
consulte Inicio rápido para utilizar un entorno existente para validar la aplicación de cliente web heredada con la
interfaz unificada.
Requisitos previos
Una aplicación del cliente web heredada.
Aunque no es necesario, se recomienda un entorno de no producción para probar la aplicación y asegurarse de
que no afecta a la implementación o ciclos de desarrollo actuales. Más información: Administrar instancias de
espacio aislado
Preparar el entorno
Primero, seleccione un entorno de no producción y habilite el modo Usar solo la interfaz unificada, que usará la
interfaz unificada para todas las aplicaciones basadas en modelo del entorno. Esto también incluye cualquier
módulo de aplicación de Dynamics 365 configurado originalmente para el cliente web heredado.
1. Inicie sesión en PowerApps, seleccione Entorno y luego seleccione un entorno de espacio aislado.
2. Seleccione Configuración > Comportamiento y después active Usar solo la interfaz unificada.
También puede establecer esto en el área de configuración. Vaya a Configuración > Administración >
Configuración del sistema y en la pestaña General establezca Habilitar sólo la interfaz unificada como Sí.
NOTE
Si necesita devolver el entorno a su estado anterior, puede alternar el ajuste de la interfaz unificada para revertir a la interfaz
original. Más información: Habilitar solo la interfaz unificada
IMPORTANT
La versión actual de Common Data Service y aplicaciones basadas en modelo en Dynamics 365 incluye aún varias
características obsoletas. Debe comprobar si la aplicación tiene características obsoletas y reemplazarlas según sea necesario
con nuevas capacidades. Más información: Próximos cambios importantes (funciones obsoletas)
3. En la página Copiar entorno, seleccione Todo, seleccione el nuevo entorno de espacio aislado de la lista
Seleccionar entorno para sobrescribir y después seleccione Copiar.
4. Se abre el cuadro de diálogo Sobrescribir entorno. Asegúrese de que ha seleccionado el entorno correcto
y de que tiene las opciones correspondientes seleccionadas y, a continuación seleccione Confirmar.
5. Cuando la copia se realiza correctamente, aparece un aviso de confirmación.
6. En la barra de menú, seleccione Administrar soluciones para abrir el área Soluciones.
IMPORTANT
Si habilita modo de administración, debe deshabilitarlo para poder ver el área Soluciones. Más información: Modo
de administración
7. Busque la solución de Field Service o Project Service Automation y selecciónela. La opción Actualizar debe
estar disponible. Selecciónela para actualizar la solución.
NOTE
Las últimas versiones de Field Service y Project Service Automation en la interfaz unificada están disponibles de forma
predeterminada para las instancias recién creadas. Si desea actualizar un entorno existente con versiones instaladas
anteriormente, debe solicitar la actualización poniéndose en contacto con Soporte al cliente de Microsoft.
Más información: últimas versiones de Dynamics 365 for Field Service y página principal de actualización de
Dynamics 365 for Project Service Automation
Pasos siguientes
En función de sus hallazgos, el equipo o el asociado de implementación puede estimar la cantidad de esfuerzo
necesario para realizar la transición de su aplicación en la interfaz unificada y también identificar mejoras
potenciales en la facilidad de uso. Con muchas características y capacidades nuevas disponibles en la interfaz
unificada hay oportunidad para aumentar el valor de los usuarios de la aplicación.
La transición a la interfaz unificada es una gran oportunidad para crear una interfaz de usuario moderna y revisar
los procesos existentes para comprobar que siguen siendo válidos o si necesitan mejoras. Este es también un buen
momento para considerar si su aplicación refleja los requisitos empresariales y si la aplicación existente se puede
extender a diversas aplicaciones para los distintos equipos y roles. Más información: Diseñar aplicaciones basadas
en modelo mediante el diseñador de aplicaciones
Vea también
Cuaderno de estrategias de la interfaz unificada
Aproximación a la experiencia de usuario y transición a la interfaz unificada
Acerca de la interfaz unificada
¿Qué son las aplicaciones controladas por modelos en PowerApps?
Actualizar aplicaciones a la interfaz unificada
Configurar paneles de experiencia interactiva de aplicaciones controladas por modelos
Usar controles personalizados para visualizaciones de datos de aplicaciones controladas por modelos
Información general sobre PowerApps component framework
Interfaz unificada para todos
Inicio rápido para usar un entorno existente para
validar la antigua aplicación de cliente web heredada
con la interfaz unificada
25/11/2019 • 19 minutes to read • Edit Online
Este tema de inicio rápido muestra cómo usar un entorno existente para crear una aplicación de interfaz unificada
basada en la configuración actual o la configuración predeterminada. Esto le permite explorar y comprobar la
interfaz unificada mientras ejecuta aplicaciones de cliente web heredadas existentes paralelamente. Un usuario a
continuación puede cambiar entre entornos para obtener una vista lado a lado.
Para obtener instrucciones similares que le muestran cómo crear un nuevo entorno de espacio aislado para aislar
la prueba y ver sólo la experiencia de la interfaz unificada, consulte Inicio rápido para realizar la transición de la
aplicación de cliente web heredada de aplicaciones de Dynamics 365 a la interfaz unificada.
IMPORTANT
Para entornos con aplicaciones de Dynamics 365 Field Service o Dynamics 365 Project Service Automation, consulte
aplicaciones de Dynamics 365.
Requisitos previos
Una aplicación de cliente web de Dynamics 365 Sales o Service heredada.
Aunque no es necesario, se recomienda el uso de un entorno de no producción para probar la aplicación. Más
información: Administrar instancias de espacio aislado
Información general
Este tema es para clientes existentes que usan aplicaciones de cliente web heredadas que necesitan planear y
ejecutar la transición a la interfaz unificada. Para configurar un entorno paralelo, cree una nueva aplicación basada
en la solución predeterminada tal como se encuentra hoy. Esto se puede hacer en el entorno actual de espacio
aislado de desarrollo sin que se vea afectado el trabajo existente.
Después de completar los pasos de este artículo, los usuarios con el rol adecuado pueden ver la nueva aplicación
en la lista de aplicaciones desplegable de Dynamics 365 o en la página principal de Dynamics 365
(https://home.dynamics.com).
Una vez que complete las tareas descritas en este tema en el entorno de desarrollo mediante una solución, puede
importar la solución en el entorno de prueba, lo que permite que un grupo mayor de usuarios profesionales
prueben y comparen la aplicación en un entorno familiar.
Siga los procesos de administración del ciclo de vida de la aplicación (ALM ) y operaciones de desarrollo.
Recomendamos realizar todos los pasos descritos en un contexto de la solución. Una vez que pruebe y valide la
aplicación en el entorno de desarrollo, puede seguir probando la aplicación iniciándola como programa piloto para
más usuarios, como en un entorno de producción. Si tiene aplicación basada en modelo y el mapa del sitio en una
solución podrá exportar la aplicación desde el entorno donde creó esta nueva aplicación siguiendo los procesos
existentes hacia delante en la canalización de entorno.
5. El Diseñador de aplicaciones se abre, mostrando todos los componentes de la aplicación que estaban en la
solución predeterminada. Seleccione Publish.
6. Después de que el proceso de publicación se complete, seleccione Reproducir.
Una nueva ventana se abre en el explorador con la nueva aplicación basada en modelo que contiene todas las
entidades, mapa de sitio y personalizaciones de mapa del sitio que estaban en su aplicación predeterminada de
Dynamics 365.
Recuerde que cuando vuelva a la pestaña del explorador con el área Soluciones del portal del creador de
PowerApps, la nueva aplicación basada en modelo y una extensión de cliente del mapa del sitio con nombre
similar forman parte de la solución que ha creado.
En este paso ha creado una nueva aplicación basada en modelo en una solución, que puede importar en sus
entornos de prueba o de evaluación. Puede comenzar ahora a experimentar la nueva aplicación, pero antes de ello,
en el siguiente paso configurará un par de ajustes para la nueva aplicación. Si hace esto podrá compartirla con
otros usuarios.
Configurar las propiedades de la aplicación
Las tareas necesarias para configurar las propiedades de la aplicación basada en modelo son:
Asignar roles de usuario a la nueva aplicación para permitir a usuarios no administradores el acceso para usar
la aplicación.
Personalizar una dirección URL descriptiva para que los usuarios pueden compartir, incluir en favoritos o
recordar fácilmente un acceso directo a la nueva aplicación.
1. Navegue a dirección URL del entorno URL/aplicaciones. La dirección URL será similar a esto:
https://YourEnvironment.crm.dynamics.com/apps. Al hacerlo se abre una lista de todas las aplicaciones del
entorno.
2. Busque la nueva aplicación basada en modelo que ha creado.
3. En la ventana de la aplicación, seleccione los puntos suspensivos y después seleccione Administrar roles.
4. El área de roles disponibles aparece en el panel derecho. Seleccione los roles según sea necesario para dar
acceso a los usuarios no administradores a la aplicación.
IMPORTANT
Asegúrese de que se concede a todos los usuarios al menos un rol de seguridad que contenga el acceso de Lectura
al privilegio Aplicación basada en modelo. Este privilegio se puede encontrar en la pestaña Personalización del rol
de seguridad. Los usuarios sin este privilegio reciben un error al abrir cualquier aplicación basada en modelo. Observe
que los roles de seguridad Administrador del sistema y Personalizador del sistema ya tienen este privilegio habilitado.
5. Opcionalmente, en el panel Administrar roles puede expandir el Sufijo de la URL de aplicación para
personalizar la dirección URL descriptiva para la aplicación basada en modelo. Tenga en cuenta que puede
especificar casi todo. Por ejemplo, escriba nuevo para que la vista previa muestre la dirección URL
https://YourEnvironment.crm.dynamics.com/apps/new.
Esta se convierte en la dirección URL descriptiva para usar y compartir para que los usuarios puedan iniciar
directamente en la experiencia de la interfaz unificada. Los usuarios pueden marcar como favorito este
vínculo para su comodidad.
6. Seleccione Guardar.
Ahora los usuarios con el rol adecuado pueden ver la nueva aplicación en la lista de aplicaciones desplegable de
Dynamics 365 o en la página principal de Dynamics 365 (https://home.dynamics.com).
Puesto que el modo Usar solo la interfaz unificada está definida como Activada, cuando los usuarios
naveguen a la dirección URL raíz del entorno, seguirán aterrizando en la aplicación Dynamics 365 –
personalizados predeterminada como antes. Esto es lo esperado si desea continuar admitiendo aplicaciones del
cliente web heredadas existentes mientras prueba y trabaja en las aplicaciones de la interfaz unificada.
TIP
Si desea mostrar las aplicaciones lado a lado en un monitor, puede presionar las teclas Windows y flecha izquierda (o la tecla
de flecha derecha) a la vez para dividir las ventanas del explorador en el mismo monitor.
NOTE
Si sigue creando personalizaciones en el mapa del sitio predeterminado, como cambios en la navegación o personalizaciones
más profundas de la cinta de opciones para botones y acciones, deberá repetir el proceso creando otra aplicación basada en
modelo o efectuar las mismas personalizaciones en el nuevo mapa del sitio relacionado con su aplicación basada en modelo.
IMPORTANT
La versión actual de Common Data Service y aplicaciones basadas en modelo en Dynamics 365 incluye aún varias
características obsoletas. Debe comprobar si la aplicación tiene características obsoletas y reemplazarlas según sea necesario
con nuevas capacidades. Más información: Próximos cambios importantes (funciones obsoletas)
TIP
La herramienta Comprobador de PowerApps ayuda a comprobar la calidad de los componentes de la solución. Más
información: Use el comprobador de soluciones para validar sus aplicaciones basadas en modelos en PowerApps
Pasos siguientes
En función de sus hallazgos, el equipo o el asociado de implementación puede estimar la cantidad de esfuerzo
necesario para realizar la transición de su aplicación en la interfaz unificada y también identificar mejoras
potenciales en la facilidad de uso. Con muchas características y capacidades nuevas disponibles en la interfaz
unificada hay oportunidad para aumentar el valor de los usuarios de la aplicación.
La transición a la interfaz unificada es una gran oportunidad para crear una interfaz de usuario moderna y revisar
los procesos existentes para comprobar que siguen siendo válidos o si necesitan mejoras. Este es también un buen
momento para considerar si su aplicación refleja los requisitos empresariales y si la aplicación existente se puede
extender a diversas aplicaciones para los distintos equipos y roles. Más información: Diseñar aplicaciones basadas
en modelo mediante el diseñador de aplicaciones
Vea también
Cuaderno de estrategias de la interfaz unificada
Aproximación a la experiencia de usuario y transición a la interfaz unificada
Acerca de la interfaz unificada
¿Qué son las aplicaciones controladas por modelos en PowerApps?
Actualizar aplicaciones a la interfaz unificada
Configurar paneles de experiencia interactiva de aplicaciones controladas por modelos
Usar controles personalizados para visualizaciones de datos de aplicaciones controladas por modelos
Información general sobre PowerApps component framework
Interfaz unificada para todos
Cuaderno de estrategias de la interfaz unificada
25/11/2019 • 2 minutes to read • Edit Online
Este cuaderno de estrategias está diseñado para ayudar a clientes, partners y roles de campo de Microsoft a
planear y ejecutar transiciones desde el cliente web heredado a la interfaz unificada.
En resumen, los documentos del cuaderno de estrategias de la interfaz unificada le ayudarán a:
Comprender la interfaz unificada.
Comprender el proceso de transición.
Desarrollar una estrategia para discusiones y la transición.
Garantizar una transición sin complicaciones.
Administrar con efectividad las preguntas y las objeciones potenciales de los usuarios.
Buscar recursos en apoyo del proceso.
Estas notas del producto orientadas al negocio describen el planeamiento, la gobernanza y los principios de
administración que se deben considerar al abordar un cambio en la experiencia de usuario en una aplicación
basada en modelo en la plataforma PowerApps. Estas notas del producto se centran específicamente en
aplicaciones Dynamics 365 Sales y Dynamics 365 Customer Service, y en la adopción de la interfaz unificada, pero
muchos temas también se pueden aplicar a cualquier actualización de la experiencia del usuario.
En resumen, este manual le ayudará a:
Posicionar la interfaz unificada.
Diseñar prácticas recomendadas de aproximación.
Gobernanza e instrucciones.
Recomendaciones de uso de UX.
Descargar las notas del producto
Lista de comprobación: Transición a la interfaz
unificada
25/11/2019 • 17 minutes to read • Edit Online
Siga los pasos de este artículo para asegurar de que se ha preparado para la transición a la interfaz unificada. La
preparación para la transición a la interfaz unificada dependerá de desea compatibilidad básica o rediseño para
aprovechar al máximo nuevas capacidades. Para obtener información más detallada, consulte Cuaderno de
estrategias de la interfaz unificada y notas del producto de la experiencia de usuario.
Las instrucciones se aplican a las siguientes aplicaciones basadas en modelo en Dynamics 365:
Dynamics 365 Sales
Dynamics 365 Customer Service
Dynamics 365 Field Service
Dynamics 365 Project Service Automation
NOTE
Si no hay planes de que sus soluciones de terceros se actualicen a una versión compatible con la interfaz unificada, es
importante identificar una ruta de acceso para reemplazar estas características con las capacidades nativas de la plataforma o
soluciones alternativas compatibles.
NOTE
Puede que también considere reemplazar Dynamics 365 for Outlook (complemento COM) con el ligero Dynamics 365 App
for Outlook.
Identificar lagunas
Cualquier regresión potencial que no detectó el comprobador de soluciones y actualizaciones de soluciones
de terceros.
Puntos de dificultad de usuario que pueden llevar a optimizaciones (como nueva representación de
formularios reorganizando secciones y pestañas) o formación específica.
Cualquier otra dependencia del cliente web heredado como el uso del complemento COM de Outlook
heredado en vez del ligero Dynamics 365 App for Outlook.
TIP
Cuando Usar interfaz unificada solo se ajusta como Sí y cuando los usuarios solo tienen acceso a una aplicación, se
les redirige automáticamente a la aplicación cuando tienen acceso a la dirección URL de la raíz
(https://*.crm.dynamics.com)*
En este tema se proporcionan respuestas a las preguntas más comunes sobre el proceso de transición para mover
usuarios del cliente web heredado a la interfaz unificada.
¿Dónde puedo ir para ver las fechas de transición que se han asignado a mis entornos?
Use el portal de transición automática para administrar la fecha de transición de su entorno:
https://runone.powerappsportals.com.
¿Cómo accedo al portal?
Haga lo siguiente:
1. Visite https://runone.powerappsportals.com.
2. Inicie sesión con las credenciales de administración del inquilino que desea administrar.
3. Seleccione Mis entornos, y revise todos los entornos que tienen una fecha de destino asignada.
Veo que mi entorno tiene una fecha para transición automática. ¿Puedo cambiar esta fecha?
Sí, esto es posible si tiene el rol Administrador global o Administrador de servicio para el inquilino. Para
cambiar la fecha, seleccione el icono desplegable junto al entorno y vea el registro. Los roles de administración de
inquilinos podrán enviar una solicitud de excepción para una fecha anterior o posterior de transición.
Por una fecha anterior de transición, actualice la fecha existente a su opción preferida en la lista. Esto no
requiere aprobación. También puede cambiar manualmente si nuestras fechas no le resultan convenientes.
Por una fecha de transición posterior, puede enviar una solicitud de excepción. Las fechas sugeridas estarán
disponibles en el cuadro desplegable. Una vez aprobada, la fecha se actualizará en el portal en consecuencia.
Puede solicitar un total de dos excepciones por entorno. Las excepciones se conceden en función de la justificación
de negocio además de la fecha propuesta seleccionada. La fecha se actualizará en el portal una vez confirmada.
NOTE
Si la transición programada es en 48 horas, no podrá cambiar la fecha. Asimismo, no puede solicitar una fecha después del 1
de octubre de 2020 ya que el cliente web heredado ya no estará disponible.
La fecha de transición automática es en 48 horas y no puedo cambiar la fecha en el portal. ¿Cómo puedo impedir
que se realice la transición?
La capacidad para cambiar la fecha de transición para un entorno está disponible solo hasta 48 horas antes de la
transición. Para detener el proceso después de este período, plantee un caso de soporte técnico.
NOTE
No podemos garantizar que la transición pueda ser detenida si la solicitud se realiza después de que la fecha se haya
bloqueado en el portal (48 horas o menos).
Tengo entornos sin una fecha de transición automática de destino. ¿Puedo actualizar estos para incluir una fecha?
Sí, si tiene Administrador global o Administrador de servicio para el inquilino, seleccione el entorno, envíe una
solicitud de excepción y actualice con el plazo de tiempo propuesto con la lista de fecha de destino.
Actualizaremos el portal con la fecha para confirmar. También se enviarán correos electrónicos de notificación a los
administradores de inquilinos globales cuando se aproxime la fecha de transición. Esto seguirá el procedimiento
restante estándar detallado en este documento.
¿Existe una lista de comprobación recomendada que debo ejecutar antes de la transición?
Consulte el contenido de soporte técnico disponible en el sitio de la comunidad. También tenemos una lista de
comprobación de la transición para ayudarle a planear eficazmente. Revísela cuidadosamente para asegurarse de
que está de acuerdo con la transición a la interfaz unificada.
Mi entorno ha realizado la transición, pero estoy encontrando problemas de bloqueo para mis usuarios y deseo
volver al cliente web heredado. ¿Esto es posible?
Sí, aún podrá volver al cliente web heredado en un plazo de hasta 10 días después de la transición. Puede realizar
el cambio manualmente durante los primeros 4 días o después, presentar una solicitud de soporte técnico en canal
habitual, ya que el cambio manual se deshabilitará.
NOTE
Los 10 días deberán ser antes de 1 de octubre de 2020 ya que el cliente web heredado ya no estará disponible a partir de
esa fecha.
Quiero realizar la transición después del 1 de octubre de 2020. ¿Es posible eso?
El cliente web heredado no estará disponible a partir del 1 de octubre de 2020. No podemos retrasar la transición
más allá de esa fecha.
Si encuentra elementos de bloqueo, regístrelos mediante el proceso de soporte estándar cuanto antes.
¿Cuál es el procedimiento de aviso estándar en este proceso?
Microsoft enviará la comunicación siguiente:
Mensaje inicial para cada entorno que tiene una fecha de transición asignada
Mensaje de recordatorio 2 días antes de que las fechas se bloqueen en el portal
El aviso final para indicar que la fecha de transición está bloqueada y seguir adelante.
Mensaje de cierre por confirmar el éxito (o si se ha producido un problema)
Los mensajes se pueden ver con los canales siguientes:
Centro de mensajes en el inquilino de Microsoft 365. Suele ser visible para roles como administrador global,
administrador de servicios, lector de mensajes de servicio.
Correo electrónico directo. Los correos electrónicos se envían únicamente al rol de administrador del sistema
para el entorno específico en cuestión, o las direcciones de correo electrónico que se hayan agregado a la
pestaña “Notificación” en el portal de administración de entorno.
NOTE
Recibirá un mensaje de correo electrónico para cada entorno donde su cuenta de usuario tenga el rol de administrador del
sistema.
He solicitado una fecha para posponer, pero sigo recibiendo correos electrónicos y el Centro de mensajes
publica que mi entorno está establecido para transición. ¿Debería preocuparme?
Nuestra primera recomienda es consultar el portal de transición ( https://runone.powerappsportals.com/) ya que
ésta será única fuente fiable para todos sus entornos. Si se actualiza la fecha, es muy probable que nuestro sistema
de comunicación envíe el mensaje antes de que actualicemos la lista de comunicaciones.
Si la fecha en el portal no se actualiza con la nueva fecha, presente una solicitud de soporte técnico siguiendo el
procedimiento estándar.
Si ya tengo un entorno que ha realizado la transición a la interfaz unificada, ¿podré volver al cliente web
heredado manualmente?
Si el entorno transición ha realizado la transición hace al menos 4 días, intentaremos deshabilitar el cambio manual
al antiguo cliente web.
Si encuentra esta opción se ha deshabilitado y tiene necesidad de volver, presente una solicitud de soporte técnico
en el canal habitual para su evaluación.
¿Hay un día y una hora específicos en que ocurrirán las transiciones automáticas?
No anticipamos tiempos de inactividad al crear esta transición. Sin embargo, solo realizaremos una transición
automática el viernes, y siguiendo las mismas escala de tiempo de mantenimiento que se indican en nuestras
directivas y comunicaciones estándar. Más información: Escala de tiempo de mantenimiento
Accesibilidad en PowerApps, diseñador de
aplicaciones, diseñador del mapa del sitio y página
Mis aplicaciones
25/11/2019 • 7 minutes to read • Edit Online
Microsoft se compromete a hacer que sus productos y servicios sean más fáciles de utilizar para todos los usuarios.
Más información: : Accesibilidad de Microsoft
En este tema se describen las características de accesiblidad disponibles con aplicaciones basadas en modelos.
DISEÑADOR DE APLICACIONES Y
DISEÑADOR DEL MAPA DEL SITIO
Acceder al siguiente elemento en una lista o menú o a una Teclas de flecha hacia abajo
función de interfaz de usuario que tenga varias opciones.
O bien
O bien
Contraer un control expandido susceptible de ser contraído. Flecha hacia la izquierda, Intro o barra espaciadora
Realizar una acción como seleccionar una opción de botones Barra espaciadora
de radio, hacer clic en un enlace o seleccionar una casilla de
verificación.
Internet Explorer 11 Sí Sí No
Google Chrome Sí No No
EXPLORADOR JAWS NARRADOR VOZ EN OFF
Firefox Sí No No
Safari No No Sí
Vea también
Uso de métodos abreviados de teclado en PowerApps
Personalización de Dynamics 365 App for Outlook
25/11/2019 • 2 minutes to read • Edit Online
Personalice Dynamics 365 App for Outlook para adaptarla a las necesidades de su organización.
Para obtener información detallada sobre cómo personalizar la aplicación para Outlook, consulte Personalizar la
aplicación para Outlook
NOTE
Para poder personalizar la aplicación para Outlook, debe instalar la solución y después implementarla en el entorno.
1. Para instalar la solución, vaya a Instalar Microsoft Dynamics 365 App for Outlook, y luego elija
OBTENERLA AHORA y seguir los pasos para seleccionar el entorno para instalarla.
2. Para implementar la aplicación, consulte Implementar Dynamics 365 App for Outlook.
Vea también
Uso de Dynamics 365 App for Outlook
Manual para desarrolladores de aplicaciones basadas
en modelos
25/11/2019 • 2 minutes to read • Edit Online
NOTE
Las aplicaciones basadas en modelos se conectan a Common Data Service. Para obtener información sobre cómo pueden
aportar valor los desarrolladores en el nivel de servicio, vea Información general para desarrolladores de aplicaciones sobre
Common Data Service. El contenido de esta sección solo hará referencia a las extensiones que los desarrolladores pueden
crear que se apliquen a la experiencia de los usuarios de aplicaciones basadas en modelos.
Si las aplicaciones de Common Data Service son una novedad para usted, los temas de esta sección proporcionan
información general sobre los conceptos importantes que ayudan a los desarrolladores a empezar a trabajar con
aplicaciones basadas en modelos.
Introducción
Temas relacionados
Conocer los componentes de las aplicaciones basadas en modelos
Crear la primera aplicación basada en modelos
Vea también
PowerApps para desarrolladores
¿Qué son los portales de PowerApps?
25/11/2019 • 2 minutes to read • Edit Online
Los cradores de PowerApps ahora pueden crear un nuevo y eficaz tipo de experiencia: sitios web externos que
permiten a los usuarios fuera de las organizaciones iniciar sesión con una gran variedad de identidades, crear y ver
datos en Common Data Service, o incluso examinar contenido de forma anónima. Las capacidades completas de
Portales de Dynamics 365, proporcionadas anteriormente solo como complemento a las aplicaciones basadas en
modelo en Dynamics 365, están disponibles ahora completamente independientes en PowerApps.
Estas capacidades presentan una experiencia de un extremo a otro mejorada para que los fabricantes creen
rápidamente un sitio web y lo personalicen con páginas, diseño, y contenido. Los fabricantes pueden reusar
diseños a través de plantillas, agregar formularios y vistas para mostrar datos clave de Common Data Service, y
publicar a los usuarios.
NOTE
Algunas experiencias pueden tener problemas conocidos. Estos problemas se mencionan en la sección Problemas conocidos
más adelante en este documento.
Plantillas del portal
25/11/2019 • 5 minutes to read • Edit Online
Según el entorno seleccionado en PowerApps, puede crear un portal de inicio de Common Data Service o un
portal en un entorno que contiene aplicaciones basadas en modelo en Dynamics 365.
NOTE
Los portales existentes y plantillas de portal existentes (Comunidad, Asociado, Autoservicio de empleado, Autoservicio de
cliente) no se admiten completamente en portales de PowerApps Studio y algunos componentes pueden no representarse.
Sin embargo, puede seguir editando el resto de los componentes como de costumbre.
NOTE
Los paquetes de Field Service y Project Service deben instalarse en su organización de Dynamics 365 para habilitar
opciones respectivas. Para obtener más información, consulte Integrar Project Service Automation e Integrar Field
Service.
Portal de autoservicio de empleados: Un portal de autoservicio de empleados crea una fuerza laboral
eficaz y bien informada al optimizar las tareas comunes y dotar a todos los empleados de una fuente de
conocimientos definitiva.
Portal de comunidad: Un portal de la comunidad aprovecha las interacciones entre iguales entre los
clientes y los expertos para hacer crecer orgánicamente el catálogo de conocimientos disponibles a partir
de los artículos de Knowledge Base, foros y blogs, además de proporcionar observaciones mediante
comentarios y valoraciones.
Portal en blanco: Crea una página web para compartir datos con usuarios externos e internos. Esta
plantilla se suministra con páginas de ejemplo para empezar rápidamente.
PORTAL DE
PORTAL DE PORTAL DE INICIO
CARACTERÍSTIC AUTOSERVICIO PORTAL DE AUTOSERVICIO PORTAL DE LA PORTAL EN COMMON
A DE CLIENTES ASOCIADOS DE EMPLEADOS COMUNIDAD BLANCO DATA SERVICE
Listo para el • • • • • •
mundo
Compatibilida • • • • • •
d multilingüe
Administració • • • • • •
n del portal
Personalizació • • • • • •
ny
extensibilidad
Temas • • • • • •
Administració • • •
n de
contenido
Administració • • • •
n del
conocimiento
Soporte • • •
técnico/admin
istración de
casos
Foros • • •
Búsqueda por • •
facetas
Administració • •
n de perfiles
Suscribirse a • •
este hilo del
foro
Comentarios • • •
Autenticación •
AD de Azure
PORTAL DE
PORTAL DE PORTAL DE INICIO
CARACTERÍSTIC AUTOSERVICIO PORTAL DE AUTOSERVICIO PORTAL DE LA PORTAL EN COMMON
A DE CLIENTES ASOCIADOS DE EMPLEADOS COMUNIDAD BLANCO DATA SERVICE
Ideas •
Blogs •
Integración de •
Project Service
Automation
Integración de •
Field Service
Incorporación •
de asociados
Base de portal • • • • • •
de
Flujos de • • • • • •
trabajo de
portal
Notificaciones • • • • • •
web
Identidad de • • • • • •
Microsoft
Flujos de • • • • • •
trabajo de
identidad
Formularios • • • • • •
web
Comentarios • • • • • •
Crear un portal de inicio de Common Data Service
25/11/2019 • 12 minutes to read • Edit Online
Con la capacidad de crear un portal en PowerApps, puede crear una página web para usuarios externos e internos
habilitándolos para interactuar con los datos almacenados en Common Data Service.
Estas son algunas ventajas de crear un portal:
Puesto que los datos se almacenan en Common Data Service, no necesita crear una conexión de
PowerApps como lo hace con orígenes de datos como SharePoint, aplicaciones basadas en modelo de
Dynamics 365 o Salesforce. Debe especificar únicamente las entidades que desea mostrar o administrar en
el portal.
Puede diseñar el portal a través de portales de PowerApps Studio WYSIWYG agregando y configurando
componentes en las páginas web.
Puede crear un portal en un nuevo entorno o en su entorno existente.
Si elige crear el portal en un nuevo entorno mediante el vínculo Crear nuevo entorno, los requisitos previos del
portal necesarios como entidades, datos, y una plantilla de portal de inicio se instalan cuando se crea el entorno.
En este método, el portal se aprovisiona en unos minutos.
Si elige crear el portal en un entorno existente sin requisitos previos de portal, los requisitos previos se instalan
primero y después el portal se crea. En este método, el aprovisionamiento del portal puede tardar un tiempo y se
le notificará cuando se aprovisione el portal.
Según el entorno seleccionado en PowerApps, puede crear un portal de inicio de Common Data Service o un
portal en un entorno que contiene aplicaciones basadas en modelo en Dynamics 365.
Más información sobre cómo trabajar con entornos: Trabajar con entornos y Microsoft PowerApps
Más información sobre las plantillas de portal disponibles: Plantillas de portal
Para crear un portal:
1. Inicie sesión en PowerApps.
2. En Crear sus propias aplicaciones, seleccione Portal en blanco.
3. Si el entorno seleccionado no contiene requisitos previos de portal, se muestra un mensaje en la ventana
Portal en blanco que le recomienda que seleccione otro entorno o cree uno.
4. Si elige continuar con el entorno actual, especifique la información necesaria en la ventana como se
menciona en los pasos siguientes. Si elige crear un nuevo entorno, consulte Crear nuevo entorno.
5. En la ventana Portal en blanco, escriba un nombre para el portal y la dirección de la página web, y
seleccione un idioma de la lista desplegable. Cuando esté listo, seleccione Crear.
NOTE
Puede crearse un máximo de cinco portales en un inquilino. Sin embargo, solo puede haber un portal de cada tipo
creado en un entorno.
Si no tiene suficientes privilegios para aprovisionar un portal, se muestra un error. Debe tener el rol de administrador del
sistema de Common Data Service para crear un portal. También debe tener el Modo de acceso establecido como
Lectura-Escritura en Información de licencia de acceso de cliente (CAL) en el registro de usuario.
Si ha adquirido un complemento de portal más antiguo, y desea para aprovisionar un portal con el complemento, debe ir
a la página Centro de administración de Dynamics 365. Más información: Aprovisionar un portal con el complemento
de portal más antiguo
Si ha suministrado un portal con el complemento de portal más antiguo, puede seguir personalizándolo y
administrándolo desde make.powerapps.com.
Aprovisionar portales desde make.powerapps.com no consume los complementos de portal más antiguos. Además,
estos portales no se muestran en la pestaña Aplicaciones en la página Centro de administración de Dynamics 365.
Un portal de inicio de Common Data Service no se puede crear desde la página Centro de administración de
Dynamics 365.
Los portales de PowerApps no están disponibles en la región de Francia.
NOTE
El mensaje para crear una base de datos puede no mostrarse automáticamente. En este caso, debe ir al nuevo
entorno y seleccionar la ventana Portal en blanco otra vez.
3. Seleccione la divisa y el idioma de los datos almacenados en la base de datos. No puede cambiar la divisa
ni el idioma una vez que se cree la base de datos. Cuando esté listo, seleccione Crear mi base de datos. La
base de datos se crea con el portal de inicio que le permite comenzar rápidamente con el contenido de
ejemplo cuando se aprovisione el portal.
NOTE
La opción Incluir portal de inicio solo está disponible cuando cree un entorno mediante la opción proporcionada
en la ventana Portal en blanco. Esta opción no está disponible cuando cree un entorno desde el Centro de
administración de PowerApps.
Puede que tarde varios minutos en crear la base de datos en Common Data Service. Una vez que se cree la
base de datos, el nuevo entorno se selecciona en la lista de entornos en la página principal de PowerApps y
se crea la aplicación Administración del portal. Esta aplicación no es el portal real sino una aplicación
complementaria basada en modelo que permite realizar actividades de configuración avanzada. Ahora
puede continuar creando el portal para diseñar la página web externa.
4. Después de crear el entorno y la base de datos, en Crear su propia aplicación, seleccione Portal en
blanco.
NOTE
Si se crea la base de datos y sigue recibiendo el mensaje de crear base de datos, debe actualizar la página principal de
PowerApps antes de seleccionar la ventana Portal en blanco.
Si el aprovisionamiento del portal produce un error, las notificaciones se muestran de forma similar.
Notificaciones por correo electrónico
Una vez que la solicitud de aprovisionamiento se realiza correctamente, una notificación de correo electrónico
para confirmar se envía al usuario que creó el portal. Además, un correo electrónico se envía al usuario después
de completar el aprovisionamiento del portal.
El administrador son los usuarios que tienen uno de los roles de Azure siguientes:
Administrador global de
Administrador de servicio de Dynamics 365
Administrador de servicios de Power Platform
Los usuarios que no tienen los roles de Azure mencionados se consideran no administradores.
Cuando la creación de portal se deshabilita en un inquilino, los usuarios no administradores verán un error de la
siguiente manera:
Crear un portal en un entorno que contiene
aplicaciones basadas en modelo en Dynamics 365
25/11/2019 • 2 minutes to read • Edit Online
Si selecciona un entorno que contiene aplicaciones basadas en modelo en Dynamics 365 (como Dynamics 365
Sales y Dynamics 365 Customer Service), puede crear los portales mencionados en Plantillas de portal.
1. Inicie sesión en PowerApps.
2. Seleccione Crear en el panel izquierdo e introduzca portal en el campo Plantillas de búsqueda para
mostrar todas las plantillas de portales de Dynamics 365.
NOTE
Si ha adquirido un complemento de portal más antiguo, y desea para aprovisionar un portal con el complemento, debe ir
a la página Centro de administración de Dynamics 365. Más información: Aprovisionar un portal con el complemento
de portal más antiguo
Si ha suministrado un portal con el complemento de portal más antiguo, puede seguir personalizándolo y
administrándolo desde make.powerapps.com.
Aprovisionar portales desde make.powerapps.com no consume los complementos de portal más antiguos. Además, estos
portales no se muestran en la pestaña Aplicaciones en la página Centro de administración de Dynamics 365.
Un portal de inicio de Common Data Service no se puede crear desde la página Centro de administración de Dynamics
365.
Para deshabilitar la creación de portales en un inquilino, consulte Deshabilitar creación de portales en un inquilino.
Aprovisione un portal con el complemento de portal
más antiguo
25/11/2019 • 11 minutes to read • Edit Online
Si ha adquirido un complemento de portal más antiguo, y desea para aprovisionar un portal con el complemento,
debe ir a la página Centro de administración de Dynamics 365 y aprovisione el portal.
NOTE
Para aprovisionar un portal, se le debe asignar al rol de administrador del sistema del entorno de Common Data Service
seleccionada para el portal. También debe disponer de los permisos necesarios para crear y registrar una aplicación en Azure
AD. Si no tiene los permisos necesarios, póngase en contacto con el Administrador global para actualizar sus permisos o
pida al Administrador global que aprovisione el portal.
NOTE
Para los portales aprovisionados ya existentes, esta lista desplegable está disponible en la pestaña Detalles de
portal y ningún estado está seleccionado de forma predeterminada.
Esta lista desplegable solo está disponible para los portales de tipo producción.
Este campo se usa en Microsoft para comprender el patrón de este portal y no afecta a ninguna funcionalidad. Si
usa nombres diferentes para el ciclo de vida de desarrollo, seleccione el que está más cerca del propósito. Esto se
puede cambiar más tarde una vez el portal esté aprovisionado.
6. En el campo Dirección URL de portal, escriba el nombre del subdominio que desee para el portal. Puede
usar únicamente caracteres alfanuméricos o guiones (-); otros caracteres no se permiten.
NOTE
Para cambiar la dirección URL de un portal después de su aprovisionamiento, vea Cambiar la dirección URL base
de un portal.
Para vincular su portal a un dominio personalizado, vea Vincular el portal a un dominio personalizado.
7. En la lista desplegable Instancia Dynamics 365 seleccione la instancia con la que quiera vincular el portal.
Esto requiere un rol de administrador del sistema o personalizador del sistema en la instancia que elija para
seleccionarlo.
8. Elija el idioma predeterminado de su portal en la lista desplegable Seleccionar idioma del portal. Los
idiomas disponibles dependerán de los que estén instalados en la instancia.
NOTE
Los datos de ejemplo se proporcionan únicamente en un idioma, por lo que la selección de un idioma
predeterminado también decidirá cómo se traducen los datos de ejemplo. El árabe y el hebreo no se admiten y no
aparecerán en la lista.
9. En la lista desplegable Seleccionar administrador del portal, seleccione el usuario que configurará,
personalizará, y mantendrá el portal. Todos los usuarios que tienen el rol Administrador del sistema en la
organización aparecerán como opciones.
10. En la sección Público del portal, seleccione el tipo de público que visitará el portal nuevo. Esto determina
qué opciones de portales se le ofrecerán. Puede optar por:
Asociado
Portal de autoservicio de clientes
Portal personalizado
Portal de asociados
Project Service de asociados (opcional, requiere soluciones instaladas)
Field Service de asociado (opcional, requiere soluciones instaladas)
Portal de la comunidad
Cliente
Portal de autoservicio de clientes
Portal personalizado
Portal de la comunidad
Empleado
Portal de autoservicio de empleados
11. En la sección Seleccione el portal para implementar, elija qué tipo de portal desea crear. Las opciones
que ve se basan en el público que seleccionó.
12. Seleccione Enviar y acepte las Condiciones de servicio.
Después de aceptar las condiciones de servicio, el portal iniciará el aprovisionamiento. El aprovisionando tarda
normalmente 30 minutos, pero puede tardar unas horas en función de la carga del sistema. El Nombre del portal
en la pestaña Aplicación cambiará a Nombre-Configuración mientras se está aprovisionando. Navegue de vuelta
a la página de administración del portal para comprobar si el aprovisionamiento se ha realizado correctamente.
Después de que se aprovisione el portal, se muestra la página Detalles de portal con los detalles necesarios.
NOTE
Cuando un usuario del portal inicia sesión en el portal por primera vez mediante las credenciales de Azure AD, una página
de consentimiento se muestra a todos los usuarios con independencia del tipo de usuario o de portal.
PORTAL DE PORTAL DE
AUTOSERVICIO DE PORTAL DE AUTOSERVICIO DE PORTAL DE LA PORTAL
CARACTERÍSTICA CLIENTES ASOCIADOS EMPLEADOS COMUNIDAD PERSONALIZADO
Listo para el • • • • •
mundo
PORTAL DE PORTAL DE
AUTOSERVICIO DE PORTAL DE AUTOSERVICIO DE PORTAL DE LA PORTAL
CARACTERÍSTICA CLIENTES ASOCIADOS EMPLEADOS COMUNIDAD PERSONALIZADO
Compatibilidad • • • • •
multilingüe
Administración • • • • •
del portal
Personalización y • • • • •
extensibilidad
Temas • • • • •
Administración • • •
de contenido
Administración • • • •
del conocimiento
Soporte • • •
técnico/administr
ación de casos
Foros • • •
Búsqueda por • •
facetas
Administración • •
de perfiles
Suscribirse a este • •
hilo del foro
Comentarios • • •
Autenticación AD •
de Azure
Ideas •
Blogs •
Integración de •
Project Service
Automation
Integración de •
Field Service
Incorporación de •
asociados
Base de portal de • • • • •
PORTAL DE PORTAL DE
AUTOSERVICIO DE PORTAL DE AUTOSERVICIO DE PORTAL DE LA PORTAL
CARACTERÍSTICA CLIENTES ASOCIADOS EMPLEADOS COMUNIDAD PERSONALIZADO
Flujos de trabajo • • • • •
de portal
Notificaciones • • • • •
web
Identidad de • • • • •
Microsoft
Flujos de trabajo • • • • •
de identidad
Formularios web • • • • •
Comentarios • • • • •
Puede usar portales de PowerApps Studio para crear y personalizar la página web. Contiene distintas opciones
para agregar y configurar páginas web, componentes, formularios y listas. La anatomía de portales de PowerApps
Studio es la siguiente:
2 Toolbelt Permite:
Ver y administrar páginas web
Agregar componentes
Editar plantillas
Una página web es un documento que se identifica mediante una dirección URL única en una página web. Es uno
de los objetos básicos de la página web y construye una jerarquía de la página web a través de relaciones primarias
y secundarias a otras páginas web.
NOTE
Si personaliza el portal usando el diseñador de portales de PowerApps, los usuarios del sitio web observarían un impacto en
el rendimiento. Se recomienda realizar los cambios en horas de poca actividad en un portal en directo.
NOTE
Si crea una página usando Diseños tendrá la flexibilidad para editar la página completa. Diseños fijos contiene las
plantillas de página que se instalan como parte del aprovisionamiento del portal y las plantillas de página
personalizadas creadas mediante la aplicación Administración del portalel.
Para que las páginas se creen con la opción Diseños, se instala una plantilla de páginas Plantilla de estudio
predeterminada.
El menú principal en el sitio web se crea automáticamente basándose en la jerarquía de las páginas web. Se llama
menú Predeterminado. También puede crear un menú personalizado para mostrar en la página web. Más
información: Agregar un menú personalizado
Si trabaja con un portal creado en un entorno que contiene aplicaciones basadas en modelo en Dynamics 365, y
desea que el menú sea el mismo que la jerarquía de páginas, deberá seleccionar Predeterminado en la lista
Menú de exploración.
Administrar página web
1. Edite el portal para abrirlo en portales de PowerApps Studio.
2. Seleccione Páginas del toolbelt en el lateral izquierdo de la pantalla.
3. Desplácese sobre la página que desea administrar y seleccione el botón Puntos suspensivos (…) para la
página web que desea administrar. Alternativamente puede hacer clic con el botón secundario en la página
que desea administrar.
4. Seleccione la acción requerida en el menú contextual:
Ocultar en menú predeterminado: Oculta la página en el mapa del sitio a través del menú
predeterminado.
Mostrar en menú predeterminado: Muestra la página en el mapa del sitio a través del menú
predeterminado.
Agregar una página secundaria: Agrega una página secundaria a la página seleccionada. La página
secundaria hereda la plantilla de página de la página principal.
Establecer como página principal: Establece la página como página principal. La dirección URL de
la nueva página principal se establece como la raíz de la página web y la dirección URL de la antigua
página se actualiza en consecuencia.
Subir: Sube la página en la jerarquía.
Bajar: Baja la página en la jerarquía.
NOTE
Subir o bajar una página es posible entre las páginas del mismo nivel.
Después de agregar las páginas web necesarias y administrar su jerarquía en el mapa del sitio, puede agregar
diferentes componentes. El editor de WYSIWYG permite agregar y editar los componentes necesarios en el lienzo
fácilmente. Puede agregar y editar los siguientes componentes en el lienzo:
Secciones
Sección de una columna
Sección de dos columnas
Sección de tres columnas
Componentes del portal
Text
Imagen
IFrame
Formulario
Enumerar
Ruta de navegación
NOTE
Si personaliza el portal usando el diseñador de portales de PowerApps, los usuarios del sitio web observarían un impacto en
el rendimiento. Se recomienda realizar los cambios en horas de poca actividad en un portal en directo.
NOTE
Los elementos editables están demarcados por un límite.
Agregar secciones
Las secciones le permiten definir una estructura para la página y organizar los componentes del portal en
consecuencia. Una vez que agregue secciones a la página, puede agregar componentes del portal dentro de las
secciones según el requisito.
1. Edite el portal para abrirlo en portales de PowerApps Studio.
2. Seleccione la página en la que desea agregar una sección.
3. Seleccione un elemento editable en el lienzo.
4. Seleccione Componentes del toolbelt en el lateral izquierdo de la pantalla.
5. En Diseño de sección, seleccione el tipo de sección que se insertará.
6. En el panel de propiedades de la derecha de la pantalla, escriba o seleccione la siguiente información:
Alto mínimo: Escriba la altura mínima de la sección. Si agrega un componente que ocupa más
espacio que la altura especificada, la sección se expandirá para contener el componente. De forma
predeterminada, el alto mínimo es 100 px. También puede introducir la altura en puntos (pt) y
porcentaje (%).
Alineación: Seleccione si el componente en la sección debe estar alineado a la izquierda, el centro o
la derecha.
Fondo: Seleccione si desea tener un color o una imagen como fondo de sección.
Relleno: Seleccione un color para el fondo.
Imagen: Seleccione una imagen de la lista. Si desea cargar una nueva imagen, seleccione
Cargar imagen.
Dirección URL externa: Seleccione esta opción si desea cargar una imagen de una dirección URL
externa. Escriba la dirección URL en el campo Dirección URL externa. Solo se aceptan enlaces
seguros, es decir, https:// es obligatorio. Si tiene imágenes almacenadas en la red de entrega de
contenido, puede proporcionar el vínculo en este campo.
Opciones de formato
Ancho: Escriba el ancho de la imagen.
Alto: Escriba el alto de la imagen.
NOTE
También puede seleccionar la imagen en el lienzo y arrastrar los mangos para cambiar su tamaño.
Agregar un IFrame
1. Edite el portal para abrirlo en portales de PowerApps Studio.
2. Seleccione la página en la que desee agregar el componente.
3. Seleccione un elemento editable en el lienzo.
4. Seleccione Componentes del toolbelt en el lateral izquierdo de la pantalla.
5. En Componentes del portal, seleccione IFrame. El marcador de IFrame se agrega al lienzo.
6. En el panel de propiedades de la derecha de la pantalla, introduzca la siguiente información:
Ancho: Especifique el ancho del IFrame.
Alto: Especifique el alto del IFrame.
Vínculo: Escriba la dirección URL del sitio web que se mostrará en el IFrame. Solo se aceptan
enlaces seguros, es decir, https:// es obligatorio. El valor predeterminado es https://www.bing.com.
NOTE
También puede seleccionar el IFrame en el lienzo y arrastrar los mangos para cambiar su tamaño.
Agregar un formulario
Un formulario es una configuración basada en datos que se utiliza para agregar un formulario para obtener datos
del portal sin necesidad de que un programador emerja el formulario en el portal. Los formularios se crean en
Common Data Service y pueden utilizarse en páginas web en el portal o junto con listas para crear aplicaciones
web completas.
1. Edite el portal para abrirlo en portales de PowerApps Studio.
2. Seleccione la página en la que desee agregar el componente.
3. Seleccione un elemento editable en el lienzo.
4. Seleccione Componentes del toolbelt en el lateral izquierdo de la pantalla.
5. En Componentes del portal, seleccione Formulario.
6. En el panel de propiedades de la derecha de la pantalla, seleccione una de las siguientes opciones:
Crear nuevo: Crear un formulario nuevo.
Usar existente: Usar un formulario existente.
7. Especifique la información o realice la selección para lo siguiente:
Nombre: Nombre del formulario.
Entidad: El nombre de la entidad desde la que se cargará el formulario.
Diseño de formulario: El nombre del formulario de la entidad de destino en Common Data Service
que se va a representar.
Modo: Seleccione una de las siguientes opciones:
Insertar: indica que el formulario debe insertar un nuevo registro tras el envío.
Editar: indica que el formulario deben modificar un registro existente.
Solo lectura: Indica que el formulario debe mostrar el formulario no editable de un registro
existente.
NOTE
La opción predeterminada para los modos Editar y Solo lectura se establece como Nombre de parámetro de
cadena de consulta que pasa como identificador en dirección URL. Para modificar esos valores, necesita abrir la
aplicación Administración del portal y actualice las propiedades de formulario.
El código fuente se muestra en el panel Editor de código en la parte inferior de la pantalla. Los cambios que haya
realizado se actualizan en el código fuente. Para realizar cambios, actualice el origen de código y seleccione
Guardar. Los cambios se reflejan en el lienzo.
NOTE
También puede agregar etiquetas de Liquid en el editor de código de origen para configuración avanzada. Más información:
Trabajar con plantillas de Liquid
Trabajar con plantillas
25/11/2019 • 2 minutes to read • Edit Online
Las plantillas integradas están disponibles según el portal que se aprovisiona. Puede editar las plantillas mediante
el editor de código. Por ejemplo, las plantillas integradas siguientes están disponibles cuando se aprovisiona un
portal de inicio de Common Data Service:
Plantilla de estudio predeterminada
Página con título
Página con vínculos secundarios
NOTE
Se recomienda no editar las plantillas Plantilla de estudio predeterminada, Perfil y Buscar.
NOTE
También puede agregar etiquetas de Liquid en el editor de código de origen para configuración avanzada. Más
información: Trabajar con plantillas de Liquid
Las plantillas de página que cree mediante Aplicación de portal de administración también se muestran en el panel
Plantillas.
Editar CSS
25/11/2019 • 2 minutes to read • Edit Online
Las hojas de estilo en cascada (CSS ) le permiten controlar el formato de la página web. De forma predeterminada,
los archivos bootstrap.min.css y theme.css están disponibles. Puede editar los archivos CSS existentes y cargar los
nuevos archivos CSS. Cuando carga un nuevo archivo CSS, estará disponible como archivo web en la aplicación de
administración de portales.
Para abrir un CSS en el editor de código:
1. Edite el portal para abrirlo en portales de PowerApps Studio.
2. Seleccione Tema del toolbelt en el lateral izquierdo de la pantalla. Se muestran los temas disponibles.
Cuando haya creado un portal, está visible en la sección Aplicaciones recientes en la página principal de
PowerApps.
Para administrar una aplicación, seleccione Más comandos (… ) para el portal y elija una acción en el menú
contextual.
Editar
Abre portales de PowerApps Studio para editar el contenido y componentes del portal.
Examinar
Abre el portal para explorar la página web. Esto ayuda a ver el portal como lo verán los clientes.
Como alternativa, también puede abrir el portal para explorar la página web seleccionando Explorar sitio web en
portales de PowerApps Studio para ver los cambios que ha realizado a la página web. La página web se abre en
una nueva pestaña con la dirección URL de la página web.
Compartir
Comparta el portal con usuarios internos o externos. Siga los pasos a los que se hace referencia en el panel
Compartir este portal.
NOTE
Si no puede ver el botón Administrar roles en la barra de comandos, debe cambiar el cliente estableciendo forceUCI
a 0 en la dirección URL. Por ejemplo, https://<org_url>/main.aspx?pagetype=entitylist&etn=systemuser&forceUCI=0
4. En el cuadro de diálogo Administrar roles de usuario, seleccione el rol de seguridad que creó antes y
seleccione Aceptar.
Compartir con usuarios externos
Su portal debe funcionar de manera anónima y debe ser accesible por los usuarios externos. Si desea probar
capacidades avanzadas para administrar roles y permisos para usuarios externos, consulte Configurar un contacto
para uso en un portal, Invitar contactos en los portales, Crear roles web para portales, Asignar permisos de
entidad.
Configuración
Muestra la configuración de portal y permite cambiar el nombre del portal. Puede realizar acciones avanzadas
como administrar el portal a través del centro de administración de portales de PowerApps y trabajar con la
configuración del sitio. La configuración proporciona vínculos con el Centro de administración de los portales de
PowerApps y Configuración del sitio. Más información: Administración avanzada de portal y Configuración del
sitio.
Eliminar
Elimina el portal y recursos hospedados. Cuando se elimina un portal, su dirección URL deja de estar accesible. La
eliminación de un portal no afecta a ninguna configuración de portal o soluciones presentes en el entorno, y
permanecerán como se encuentran. Deberá eliminar las configuraciones de portal manualmente para quitar
totalmente las configuraciones de portal del entorno. Para ello, use la aplicación Administración del portal, y
elimine el registro correspondiente de la página web para el portal.
NOTE
Si no tiene suficientes privilegios para eliminar un portal, se muestra un error. Debe tener el rol de administrador del sistema
para eliminar un portal. Además, debe ser el propietario de la aplicación de portal en Azure Active Directory. El usuario que
creó el portal es de forma predeterminada el propietario y puede eliminar un portal. Para obtener información para agregarse
a usted mismo como propietario, consulte Agregarse a sí mismo como propietario de la aplicación Azure AD.
Detalles
Muestra detalles como propietario del portal, fecha y hora cuando se creó y se modificó por última vez, y la
dirección URL del portal.
Centro de administración de portales de
PowerApps
25/11/2019 • 2 minutes to read • Edit Online
NOTE
Esta tarea la puede realizar el administrador global de su organización o el propietario existente de esta
aplicación.
6. Una vez que se haya agregado como propietario, vuelva a abrir la página del centro de
administración de portales de PowerApps.
Detalles del portal
25/11/2019 • 2 minutes to read • Edit Online
Después de crear un portal, comenzará a aprovisionarse y se le notificará el estado con notificaciones. Una vez
aprovisionado el portal, se le redirigirá a portales de PowerApps Studio. Puede usar portales de PowerApps Studio
para crear y personalizar la página web.
Si necesita ver más detalles sobre el portal aprovisionado, por ejemplo, tipo de portal, identificador de aplicación,
propietario del portal, etc., puede abrir Centro de administración de los portales de PowerApps y navegar a la
pestaña Detalles de portal . El usuario que creó el portal es el propietario del portal.
Descargar clave pública del portal
25/11/2019 • 2 minutes to read • Edit Online
La clave pública de un portal se usa para configurar Live Assist para alicaciones basadas en modelo para Dynamics
365 para que funcione con los visitantes autenticados de un portal. Live Assist, de CafeX, ofrece una solución de
chat a través de la que los usuarios pueden incluir asistencia de chat en vivo en su portal. Puede encontrar más
información sobre cómo usar la clave pública para incluir un chat en un portal en: Visitantes autenticados en el
portal para clientes de Dynamics.
1. Abra Centro de administración de Portales de PowerApps.
2. Vaya a Acciones del portal > Obtener clave pública. Aparecerá la clave.
NOTE
Si el portal se está aprovisionando actualmente o la instalación del paquete no ha finalizado en la organización, se mostrará
un error si intenta descargar la clave pública. Debe esperar hasta que se complete el aprovisionamiento del portal y esté en
funcionamiento.
Ver los logs de error del portal
25/11/2019 • 13 minutes to read • Edit Online
Como administrador o desarrollador de un portal, puede usar portales de PowerApps para crear un sitio web para
sus clientes. Una tarea habitual entre los desarrolladores es depurar problemas mientras desarrollan el portal. Para
ayudar a depurar, puede acceder a los registros de errores detallados para todos los problemas en el portal. Hay
varias formas en las que puede obtener registros de errores para sus portales.
Error personalizado
Si se produce cualquier tipo de excepción de servidor en el portal, se muestra una página de error personalizada
con un mensaje de error fácil de entender de forma predeterminada. Para configurar el mensaje de error, vea
mostrar un mensaje de error personalizado .
Sin embargo, es mejor ver la página de error detallada de ASP.NET, también conocida como pantalla amarilla de
muerte (YSOD ), para fines de depuración. La página de error detallada le ayuda a obtener la pila completa de
errores de servidor.
NOTE
Es recomendable deshabilitar los errores personalizados solo cuando se encuentra en la fase de desarrollo y habilitar los
errores personalizados en la puesta en marcha.
Más información sobre el error personalizado: mostrar una página de Error personalizada
Deshabilitar un error personalizado
Puede deshabilitar los errores personalizados en los portales para visualizar el mensaje detallado de excepción si
se produce una excepción de lado de servidor en el portal.
1. Abra Centro de administración de Portales de PowerApps.
2. Vaya a Acciones del portal > deshabilitar errores personalizados.
3. Seleccione Deshabilitar en el mensaje de confirmación. Mientras los errores personalizados se
deshabilitan, el portal se reinicia y deja de estar disponible. Cuando se deshabilitan los errores
personalizados, aparece un mensaje.
Habilitar un error personalizado
Puede habilitar los errores personalizados en el portal para mostrar una página de aspecto profesional en lugar de
YSOD. Esta página ofrece información importante si se produce cualquier excepción en la aplicación.
1. Abra Centro de administración de Portales de PowerApps.
2. Vaya a Acciones del portal > habilitar errores personalizados.
3. Seleccione Habilitar en el mensaje de confirmación. Mientras los errores personalizados se habilitan, el
portal se reinicia y deja de estar disponible. Cuando se habilitan los errores personalizados, aparece un
mensaje.
NOTE
Si cambia la instancia a la que está conectado su portal, la configuración de errores personalizados se establece en
habilitado. Debe deshabilitar los errores personalizados de nuevo, si es necesario.
No debe habilitar o deshabilitar los errores personalizados cuando se ha cambiado la instancia a la que está conectado su
portal; de lo contrario, aparece un mensaje de error.
NOTE
Si se escribe código de líquido en el fragmento de contenido, se omitirá y no se representará.
Al habilitar los errores personalizados, aparece el mensaje en la siguiente estructura de la página de error:
A continuación se muestra un ejemplo de un mensaje de error personalizado que usa un fragmento de contenido
de tipo HTML:
Este es un error personalizado, presente un vale de soporte con la captura de pantalla del error haciendo clic aquí.
NOTE
Si el portal no puede recuperar un fragmento de contenido porque no se puede conectar a Common Data Service o bien, si el
fragmento no está disponible en Common Data Service, aparece un mensaje de error.
NOTE
Si cambia la instancia Common Data Service a la que está conectado su portal, el registro de diagnóstico se deshabilita. Debe
habilitar el registro de diagnóstico de nuevo.
Cuando el registro de diagnóstico se habilita correctamente, la acción siguiente pasa a estar disponible:
Actualizar configuración de registro de diagnóstico: permite actualizar o quitar la configuración de registro
de diagnóstico para el portal.
Deshabilitar el registro de diagnóstico: permite deshabilitar la configuración de registro de diagnóstico para
el portal.
Actualizar el registro de diagnóstico
1. Abra Centro de administración de Portales de PowerApps.
2. Vaya a Acciones de portal > Actualizar configuración de registro de diagnóstico.
Una vez aprovisionado un portal, es posible que tenga que eliminar recursos del portal en determinadas
circunstancias, como si tiene que trasladar su organización a otro inquilino o centro de datos, o si desea quitar el
portal de su organización.
Para ello, puede restablecer el portal, que eliminará todos los recursos hospedados asociados a él.. A continuación,
puede realizar de nuevo el aprovisionamiento del portal. Una vez que finalice la operación de restablecimiento, no
dispondrá de acceso a la dirección URL del portal.
Es importante tener en cuenta que el restablecimiento del portal no quita la configuración del portal o las
soluciones presentes en su instancia y seguirán como están.
Puede restaurar un portal configurado completamente o un portal para el que se haya producido un problema al
aprovisionar o actualizar una instancia.
Para restaurar un portal configurado:
1. Abra Centro de administración de Portales de PowerApps.
2. Vaya a Acciones del portal > Restablecer portal.
Si su portal no se aprovisiona correcta, aparece un estado de error y se muestra la siguiente pantalla. En este caso,
también puede restablecer el portal seleccionando Restablecer portal en la pantalla de error.
Solución de problemas
Esta sección proporciona información sobre los problemas de solución de problemas cuando se restablece un
portal.
Restablecer una solicitud que no se pudo enviar
Si no se pudo enviar una solicitud de restablecimiento del portal, se mostrará un error como el que aparece en la
siguiente imagen. En este caso, debe cerrar y volver a abrir el Centro de administración de portales de PowerApps
e intentar restablecer el portal de nuevo. Si el problema persiste, póngase en contacto con el soporte técnico de
Microsoft.
Error al restablecer un trabajo en el portal
Si se produce un error al restablecer un trabajo en el portal, se mostrará un mensaje de error junto con la acción
Restablecer portal.
Normalmente, estos son errores transitorios y debe seleccionar Restablecer portal para reiniciar el trabajo. Si el
problema persiste, póngase en contacto con el soporte técnico de Microsoft.
Cambiar la dirección URL base de un portal
25/11/2019 • 2 minutes to read • Edit Online
Puede cambiar la dirección URL base de un portal después de que se aprovisione. Por ejemplo, si elige
contosocommunity.microsoftcrmportals.com como la dirección URL base el aprovisionar el portal, podrá cambiarlo
posteriormente a contosocommunityportal.microsoftcrmportals.com para satisfacer sus requisitos.
NOTE
Una vez que cambie la dirección URL base del portal, la dirección URL más antigua ya no será accesible y estará disponible
para que otros clientes la usen para sus portales.
3. En la ventana Cambiar dirección URL base, escriba la nueva dirección URL base para el portal.
4. Haga clic en Cambiar dirección URL en la ventana de confirmación.
Solución de problemas
En esta sección se ofrece información acerca de la solución de problemas al cambiar la dirección URL base de un
portal.
Error al cambiar la dirección URL base
Si se produce un error al cambia la dirección URL base de un portal, se mostrará un error como el de la siguiente
imagen:
Normalmente, estos son errores transitorios y debe seleccionar Cambiar dirección URL base para volver a
intentar cambiar la dirección URL base. Si el problema persiste, póngase en contacto con el soporte técnico de
Microsoft.
Modo de mantenimiento para un portal
25/11/2019 • 4 minutes to read • Edit Online
Puede haber momentos en que la página web esté en mantenimiento programado o no está funcionando debido a
interrupción temporal. Cuando un cliente tiene acceso a la página web durante mantenimiento, puede
experimentar un comportamiento impredecible y falta de disponibilidad intermitente.
Como administrador del portal, puede configurar el portal para mostrar un mensaje adecuado a los clientes cada
vez que una actividad de mantenimiento se produzca (por ejemplo, "Se están actualizando paquetes de la
solución.") Puede aprovechar esta capacidad habilitando el modo de mantenimiento en el portal. Cuando se
habilita el modo de mantenimiento, se muestra un mensaje y los clientes no pueden examinar páginas web excepto
la página <portal URL>/_services/about .
Un dominio personalizado puede ayudar a sus clientes a encontrar los recursos de soporte más fácilmente y
mejorar su marca. Solo un nombre de dominio personalizado se puede agregar a un portal. Después de
aprovisionar el portal y adquirir el nombre de dominio, necesitará un certificado SSL para configurar un nombre
de host personalizado. Puede usar el certificado SSL comprado para el dominio para vincular el portal a un
dominio personalizado utilizando el asistente.
1. Abra Centro de administración de Portales de PowerApps.
2. Vaya a Acciones del portal > Agregar un nombre de dominio personalizado. Se abrirá el asistente
para elegir el certificado SSL.
3. En la página , Escoger un certificado SSL, seleccione una de las siguientes opciones:
Cargar un nuevo certificado: seleccione esta opción para cargar el archivo .pfx si aún no lo ha
cargado a la organización. Seleccione el botón cargar bajo Archivo y seleccione el archivo .pfx. Una
vez haya seleccionado el archivo, escriba la contraseña del certificado SSL en el campo Contraseña.
Usar un certificado existente: seleccione esta opción para escoger el certificado correcto en el
menú desplegable.
NOTE
El certificado SSL debe cumplir los siguientes requisitos:
Debe estar firmado por una entidad de certificación de confianza.
Debe haber sido exportado como un archivo PFX protegido con contraseña.
Debe contener una clave privada de al menos 2048 bits de longitud.
Debe contener todos los certificados intermedios de la cadena de certificados.
Debe estar habilitado para SHA2; el soporte técnico de SHA1 ya no estará disponible en los exploradores
más populares.
4. Seleccione Siguiente.
5. En la página Escoger un nombre de host, seleccione una de las siguientes opciones:
Agregar un nuevo nombre de host: Seleccione esta opción para crear un nuevo dominio
personalizado. Escriba el nombre de dominio que quiera en el campo Nombre de dominio.
Usar un nombre de host existente: seleccione esta opción para escoger un nombre de host del menú
desplegable.
NOTE
Solo puede tener un nombre de dominio personalizado para un portal.
Para crear un nombre de host personalizado, deberá crear un CNAME con su proveedor de dominio que señale el
dominio a la dirección URL del portal. Si acaba de agregar un CNAME con su proveedor de dominio, tardará algún
tiempo en difundirse a todos los servidores DNS. Si el nombre no se difunde y lo agrega aquí, se mostrará el
siguiente un mensaje de error: Agregue un registro CNAME a este nombre de dominio. Vuelva a intentarlo
después de un tiempo.
6. Revise la información que ha especificado y haga clic en Siguiente para empezar a crear el enlace SSL.
Debería ver el mensaje El nombre de dominio personalizado se ha configurado correctamente en este
portal. Ahora puede ir a {Custom Domain Name} para obtener acceso a este portal. {Custom Domain
Name} será un hipervínculo a la dirección URL del portal personalizada que acaba de configurar.
7. Para cerrar el asistente, elija Finalizar.
NOTE
Si desea cambiar el nombre de dominio personalizado existente, debe cargar un nuevo certificado SSL y seguir los
pasos del asistente de esta sección.
Importar traducción de metadatos
25/11/2019 • 2 minutes to read • Edit Online
Cuando se aprovisiona un portal, las soluciones relacionadas con el portal se instalan en la organización. Durante
la instalación de las soluciones, las traducciones de los metadatos de la solución (por ejemplo: el nombre de
campo, el nombre del formulario, el nombre de vista, etc.) se instalan solo en los idiomas activados actualmente en
la organización. Si posteriormente se activa un nuevo idioma, los metadatos no se instalarán automáticamente en
el idioma recién activado. Para obtener la traducción de los metadatos al idioma recién activado, debe importar la
traducción de los metadatos desde el Centro de administración de portales de PowerApps.
NOTE
Si la versión más reciente del paquete de portal está disponible, no se actualizará. Las soluciones de portal se actualizan
en la misma versión. Para actualizar sus soluciones de portal según los últimos paquetes disponibles, debe tener acceso al
Centro de administración de soluciones.
Si un usuario modificó todos los datos en Common Data Service, los datos existentes no se sobrescriben durante la
actualización.
Si las soluciones de portal se están instalando, la actualización de una solución no puede ser desencadenada.
Configurar integración de Power BI
25/11/2019 • 13 minutes to read • Edit Online
Power BI es una de las mejores herramientas para ofrecer ideas con visualización básica e interactiva. Para ver los
paneles e informes de Power BI en las páginas web de un portal, debe habilitar la visualización de Power BI desde
el Ccentro de administración de portales de PowerApps. También puede insertar paneles e informes creados en el
nuevo espacio de trabajo de Power BI habilitando la integración con el servicio Power BI Embedded.
NOTE
Debe tener una licencia adecuada de Power BI.
Para usar el servicio Power BI Embedded, debe tener una licencia adecuada de Power BI Embedded. Para obtener más
información, vea el tema sobre Licencias.
NOTE
Asegúrese de que la visualización de Power BI está habilitada para que funcione la etiqueta powerbi Liquid.
NOTE
Después de agregar espacios de trabajo a la lista Espacios de trabajo seleccionados, las bases de datos y los
informes se generan después de unos minutos.
4. Seleccione Habilitar. Mientras está habilitado el servicio de Power BI Embedded, el portal se reinicia y no
está disponible durante unos minutos. Aparece un mensaje cuando el servicio de Power BI Embedded está
habilitado.
Debe ahora crear un grupo de seguridad, y agregarlo a su cuenta de Power BI. Para obtener más información,
consulte Crear grupo de seguridad y agregarlo a la cuenta de Power BI.
Crear grupo de seguridad y agregarlo a la cuenta de Power BI
Después de habilitar la integración del servicio Power BI Embedded, debe crear un grupo de seguridad en Azure
Active Directory, agregarle un miembro y, a continuación, agregar el grupo de seguridad de Power BI a través del
portal de administración de Power BI. Esto permite a los paneles e informes creados en nuevos espacios de
trabajo de Power BI mostrarse en el portal.
NOTE
Debe iniciar sesión con la misma cuenta de administrador global que usó para habilitar el servicio Power BI Embedded.
4. Seleccione Crear.
Paso 2: Agregar un miembro del grupo
Requisitos previos: Antes de agregar un integrante al grupo de seguridad, debe tener el identificador de
aplicación del portal con usted. El id. de aplicación del portal está disponible en la pestaña Detalles del portal en
el Centro de administración de portales de PowerApps.
1. Inicie sesión en el Portal de Azure usando una cuenta de administrador global cuenta para el directorio.
2. Seleccione Azure Active Directory y luego seleccione Grupos .
3. En la página Grupos - todos los grupos, busque el grupo Servicio Power BI Embedded del portal y
selecciónelo.
4. En la página Información general sobre el servicio Power BI Embedded del portal, seleccione
Miembros del área Administrar.
5. Seleccione Agregar integrantes, y escriba el identificador de la aplicación del portal en el cuadro de texto.
6. Seleccione el integrante de los resultados de búsqueda, y después elija Seleccionar.
6. Seleccione Aplicar.
Los personalizadores pueden ahora usar la etiqueta Liquid powerbi para insertar los paneles e informes de Power
BI desde nuevos espacios de Power BI en las páginas web de un portal. Para usar el servicio Power BI Embedded,
el tipo de autenticación debe especificarse como powerbiembedded. A medida que insertan contenido de Power
BI, los personalizadores pueden usar parámetros de filtros para crear vistas personalizadas. Más información:
etiqueta powerbi de Liquid.
Administrar el servicio Power BI Embedded
1. Abra Centro de administración de Portales de PowerApps.
2. Vaya a Configurar la integración de Power BI > Administrar servicio Power BI Embedded.
3. En la ventana Administrar integración del servicio Power BI Embedded, elimine y mueva los espacios
de trabajo de Power BI desde los cuales deben mostrarse paneles e informes en el portal a la lista Espacios
de trabajo seleccionados.
NOTE
Después de quitar los espacios de trabajo de la lista Espacios de trabajo seleccionados, puede tardar hasta 1 hora
en reflejarse los cambios. Hasta entonces, las bases de datos y los informes se generan en el portal sin ningún
problema.
4. Seleccione Guardar.
Deshabilitar el servicio Power BI Embedded
1. Abra Centro de administración de Portales de PowerApps.
2. Vaya a Configurar la integración de Power BI > Administrar servicio Power BI Embedded.
4. Seleccione Guardar.
5. En el mensaje de confirmación, seleccione Aceptar. Mientras está deshabilitado el servicio de Power BI
Embedded, el portal se reinicia y no está disponible durante unos minutos. Aparece un mensaje cuando el
servicio de Power BI Embedded está deshabilitado.
Aviso de privacidad
Al habilitar la inserción de mosaicos y paneles de Power BI, cuando un usuario inserta un mosaico o un panel de
Power BI, ese símbolo de autorización de Azure Active Directory del cliente para Common Data Service se usa con
el fin de autenticarse en el servicio de Power BI con una concesión implícita, que proporciona una experiencia de
"inicio de sesión único" perfecta para el usuario final.
Los administradores pueden deshabilitar la inserción de mosaicos y paneles de Power BIen cualquier momento
para dejar de usar el símbolo de autorización de Dynamics 365 con el fin de autenticarse en el servicio de Power
BI. Los mosaicos o los paneles existentes detendrán la representación para el usuario final.
En la siguiente sección se describe el componente o servicio de Azure involucrado en la inserción de mosaicos de
Power BI.
Nota: Para obtener más información acerca de otras ofertas de servicios de Azure, consulta el Centro de
confianza de Microsoft Azure.
Azure Active Directory
Este servicio proporciona el símbolo de autenticación intercambiado con el servicio de Power BI para la
autenticación de la API y la interfaz de usuario.
Vea también
etiqueta powerbi de Liquid
Agregar un informe o un panel de Power BI a una página web en un portal
Adición de informes o un panel de Power BI a una
página web en un portal
25/11/2019 • 2 minutes to read • Edit Online
Puede agregar un informe o un panel de Power BI a una página web en un portal usando la etiqueta de Liquid
powerbi. Puede agregar la etiqueta en el campo Copiar en una página web o en el campo Origen en una Plantilla
web. Si que agrega un informe o un panel de Power BI creado en el nuevo espacio de trabajo en Power BI, deberá
especificar el tipo de autenticación como powerbiembedded en la etiqueta powerbi Liquid.
Por ejemplo:
{% powerbi path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-
0000-0000-000000000001/ReportSection01" %}
NOTE
Si ha especificado DAA como tipo de autenticación en la etiqueta powerbi Liquid, debe compartirla con los usuarios
requeridos antes de agregar el informe o el panel seguro de Power BI a una página web en portal. Más información:
Compartir área de trabajo de Power BI y Compartir el panel y el informe de Power BI.
4. Copie el identificador del mosaico de la dirección URL en la barra de direcciones. El identificador del
mosaico es el valor que está después de /tiles/.
Vea también
etiqueta powerbi de Liquid
Configurar la integración de Power BI
Comprobador del portal
25/11/2019 • 2 minutes to read • Edit Online
El comprobador de portal es una herramienta de diagnóstico de autoservicio que se puede usar por los
administradores de portal para identificar los problemas comunes del portal. El comprobador del portal ayuda a
identificar problemas con el portal viendo diferentes parámetros de configuración y proporciona sugerencias sobre
cómo corregirlos.
Al ejecutar el comprobador del portal, los resultados se muestran en la sección Resultados de diagnóstico en un
formato de cuadrícula. La cuadrícula de resultados tiene las siguientes columnas:
Error: Muestra el problema de nivel superior que tiene el cliente; por ejemplo, degradación de rendimiento.
Categoría: Muestra el área de nivel superior donde los problemas se pueden dividir en categorías; por ejemplo,
aprovisionar, actualización de una solución, etc.
Resultado: Muestra el estado de problema; por ejemplo, error, advertencia, etc.
De forma predeterminada, la información de la cuadrícula se ordenará por la columna Resultado en este orden:
error, advertencia, y paso.
Puede expandir un problema para ver la información detallada y los pasos de mitigación. Si la mitigación requiere
alguna acción, verá un botón que realizará la acción. También puede proporcionar comentarios sobre si la
mitigación es útil.
Si procede, puede volver a ejecutar las pruebas de diagnóstico, que actualizarán los resultados con datos
actualizados.
NOTE
Si se desactiva el portal o se habilita el filtrado de direcciones IP, algunas pruebas de diagnóstico no se ejecutarán en el portal.
Para obtener una lista de problemas comunes diagnosticados por la herramienta de comprobación del portal,
consulte Problemas comunes del portal diagnosticados por el comprobador del portal y sus prácticas
recomendadas.
Para ejecutar el comprobador del portal:
1. Abra Centro de administración de Portales de PowerApps.
2. Vaya a Ejecutar comprobador del portal.
3. Seleccione Ejecutar comprobador del portal. La sesión de diagnóstico se iniciará y recopilará datos
acerca de los problemas de los clientes. Los resultados se muestran en la sección Resultados de
diagnóstico.
Un portal se conecta a un entorno de Common Data Service con una aplicación de Azure Active Directory. La
aplicación se crea en el mismo inquilino donde está aprovisionado el portal. La aplicación se registra con el entorno
de Common Data Service durante el proceso de aprovisionamiento del portal.
Cada portal tiene una aplicación de Azure Active Directory independiente asociada, esté o no conectado a al mismo
entorno de Common Data Service. El proveedor de autenticación de Azure Active Directory predeterminado
creado para un portal utiliza la misma aplicación de Azure Active Directory para autenticar el portal. La
autorización se aplica mediante roles asignados al usuario que accede al portal.
Puede ver la aplicación de portal asociada en Azure Active Directory. El nombre de esta aplicación será Microsoft
CRM Portal y el ID de portal está en el campo URI de identificador de aplicación de la aplicación de Azure
Active Directory. La persona que aprovisiona el portal es propietaria de la aplicación. No debería eliminar o
modificar esta aplicación, o podría romper la funcionalidad del portal. Debe ser propietario de la aplicación para
administrar un portal desde el centro de administración de los portales de PowerApps.
Clave de autenticación
Para que un portal se conecte con Common Data Service mediante una aplicación Azure Active Directory, se
requiere una clave de autenticación con conexión con la aplicación Azure Active Directory. Esta clave se genera al
proporcionar un portal y la parte pública de esta clave se carga automáticamente en la aplicación de Azure Active
Directory.
IMPORTANT
La clave de autenticación expirará en dos años. Debe renovarse cada dos años para asegurarse de que su portal continúe
conectándose al entorno de Common Data Service. Si no actualiza la clave, el portal dejará de funcionar.
Detalles clave de autenticación
Los detalles de una clave de autenticación se muestran en el centro de administración de los portales de
PowerApps y el portal.
Centro de administración de PowerApps
1. Abra Centro de administración de Portales de PowerApps.
2. Seleccione Administración de la clave de autenticación del portal. La clave de autenticación se
muestra junto con su fecha de expiración y la huella.
Portal
1. Inicie sesión en el portal como administrador.
2. Desplácese a la dirección URL <ruta_portal>/_services/about. Se muestra la fecha de finalización de la clave
de autenticación.
NOTE
Para ver información de la clave de autenticación, debe iniciar sesión en el portal de en la misma sesión del explorador y debe
tener permiso de acceso a todo el sitio Web.
NOTE
Los intervalos se calculan en UTC a partir de la fecha de expiración de la clave.
No se garantiza que el correo electrónico se envíe exactamente en los intervalos indicados más arriba. La notificación por
correo electrónico puede retrasarse o perderse. Asegúrese de comprobar también la fecha de expiración de la clave en
línea.
NOTE
Debe iniciar sesión en su portal de en la misma sesión del explorador y debe tener asignado permiso de acceso a todo el sitio
Web.
NOTE
Mientras este proceso se ejecuta en segundo plano, el portal se reiniciará una vez.
Cuando actualiza una clave, esta se actualiza para dos años.
Este proceso tardará entre cinco y siete minutos.
Solución de problemas
Si se produce un error en la actualización de clave, se muestra un mensaje de error junto con la acción siguiente:
Reintentar la actualización de la clave de autenticación. Esta acción le permite reiniciar el proceso de
actualización de la clave de autenticación del portal. Si la actualización da un error varias veces, póngase en
contacto con el soporte técnico de Microsoft.
Limitar el acceso al portal mediante la dirección IP
25/11/2019 • 4 minutes to read • Edit Online
El portal es público cuando está aprovisionado y accesible para cualquier persona desde cualquier equipo. Ahora
puede limitar el acceso al su portal desde una lista de direcciones IP. Por ejemplo, una organización gubernamental
podría querer hacer visible su contenido solo dentro de su red corporativa. Una organización comercial puede
querer mostrar el portal solo cuando ha sido publicado y no mientras se encuentra en el desarrollo para evitar
cualquier fuga de datos.
Cuando se genera una solicitud al portal por parte de cualquier usuario, se evalúa su dirección IP con la lista de
permitidos. Si la dirección IP no está en la lista, el portal muestra una página web con un código de estado HTTP
403.
Para agregar o quitar direcciones IP, debe tener asignado uno de los roles siguientes:
Administrador global de Office 365
Administrador de servicios. Más información: Uso del rol de administrador de servicios para administrar el
inquilino
Administrador del sistema del entorno de Common Data Service seleccionado para el portal
3. Seleccione Quitar una dirección IP (x) junto a la dirección IP que desea quitar.
4. Seleccione Quitar en el mensaje de confirmación.
Actualizar al dominio de portales de PowerApps
25/11/2019 • 2 minutes to read • Edit Online
Con la versión preliminar de portales de PowerApps, ahora puede actualizar el dominio de Dynamics 365
microsoftcrmportals.com al dominio de los portales de PowerApps powerappsportals.com .
3. En Dirección URL del portal, escriba la dirección del sitio web y seleccione Aceptar.
Si ya usa el dominio de los portales de PowerApps y desea revertir al antiguo dominio, puede usar la acción
Actualizar al dominio del portal de PowerApps para revertir al antiguo dominio. En este caso, el mensaje se
muestra de la siguiente manera:
Borrar la memoria caché del servidor para un portal
25/11/2019 • 2 minutes to read • Edit Online
Como administrador de portal, puede borrar la memoria caché de servidor de todo el portal para reflejar los datos
actualizados de Common Data Service inmediatamente en el portal. Las actualizaciones de Common Data Service
se comunican al portal en modo asincrónico, por lo que puede haber conflictos entre la hora en que se actualizan
los datos en Common Data Service y la hora en que los datos actualizados aparecen en el portal. Para eliminar este
retardo—por ejemplo cuando interfiere con la configuración del portal—puede forzar una actualización inmediata
de la memoria caché.
NOTE
La actualización del SLA de la memoria caché (transferencia de datos entre Common Data Service y el portal) dura 15
minutos.
El desarrollo del portal implica varias configuraciones y personalizaciones para lograr una experiencia deseada
para los usuarios finales del portal.
Después de completar el desarrollo o la configuración de su instancia del portal es posible que desee migrar los
datos más recientes de configuración del portal del entorno de desarrollo al de prueba o al de producción. La
migración implica la exportación de los datos de configuración existentes desde el entorno de Common Data
Service de origen y, a continuación, importarlos en el entorno de Common Data Service de destino.
Para exportar datos de instalación, deberá usar la herramienta Migración de la configuración y un archivo de
esquema de configuración específico del portal. Para obtener más información acerca de esta herramienta,
consulte Administrar datos de configuración.
NOTE
Se recomienda usar la versión más reciente de la herramienta Migración de la configuración. La herramienta Migración de
la configuración se puede descargar de NuGet. Más información para descargar la herramienta: Descargar herramientas de
NuGet.
La versión mínima de la solución de portales que admiten los archivos de esquema para la migración de la configuración
es 8.4.0.275. Sin embargo, se recomienda que use la versión más reciente de la solución.
Los archivos de esquema están disponibles para los tipos de portal siguientes:
Portal de la comunidad
Portal de autoservicio de clientes
Portal de asociados
Portal de autoservicio de empleados
Portal personalizado
El archivo de esquema predeterminado contiene información sobre las entidades, relaciones y definiciones de la
exclusividad del portal para cada entidad. Más información: Exportar datos de configuración del portal
Después de exportar los datos de configuración, debe importarlos en el entorno de destino. Más información:
Importar datos de configuración del portal
NOTE
Los archivos de esquema se proporcionan para reducir el esfuerzo necesario para crear un esquema desde cero. El esquema
se puede adaptar para implementación mediante los métodos estándar que proporciona la herramienta. Los archivos de
esquema se pueden cargar en la herramienta Migración de la configuración y modificar para agregar, quitar y modificar
entidades, atributos, etc.
4. En la pantalla Iniciar sesión, proporcione los detalles de autenticación para conectarse al entorno de
Common Data Service desde donde desea exportar los datos. Si tiene varias organizaciones en el entorno
de Common Data Service desde donde exportar los datos, active la casilla Mostrar la lista de
organizaciones disponibles y después seleccione Iniciar sesión.
5. Si tiene varias organizaciones y había activado la casilla Mostrar la lista de organizaciones disponibles
en el paso anterior, la próxima pantalla le permitirá elegir la organización con la que desea conectarse.
Seleccione un entorno de Common Data Service para conectarse.
NOTE
Si no tiene varias organizaciones, no se muestra esta pantalla.
6. En Archivo de esquema, busque y seleccione el archivo de esquema de configuración específico del portal
que se usará para exportación de datos.
7. En Guardar en archivo de datos, especifique el nombre y la ubicación de archivo de datos que desea
exportar.
8. Seleccione Exportar datos. La pantalla muestra el estado de progreso de la exportación y la ubicación del
archivo exportado en la parte inferior de la pantalla una vez terminada la exportación.
IMPORTANT
La herramienta Configuration Migration no admite el filtrado de registros en una entidad. De forma predeterminada,
se exportarán todos los registros de la entidad seleccionada. Por tanto, si ha creado más de un registro de sitio web,
todos los registros de sitio web se exportarán.
2. En la pantalla Iniciar sesión, proporcione los detalles de autenticación para conectarse al entorno de
Common Data Service desde donde desea exportar los datos. Si tiene varias organizaciones en el entorno
de Common Data Service desde donde exportar los datos, active la casilla Mostrar la lista de
organizaciones disponibles y después seleccione Iniciar sesión.
3. Si tiene varias organizaciones y había activado la casilla Mostrar la lista de organizaciones disponibles
en el paso anterior, la próxima pantalla le permitirá elegir la organización con la que desea conectarse.
Seleccione un entorno de Common Data Service para conectarse.
NOTE
Si no tiene varias organizaciones, no se muestra esta pantalla.
Asegúrese de que la solución de portal ya está instalada para la organización donde tenga previsto importar las
configuraciones.
4. La siguiente pantalla le pide que facilite el archivo de datos (.zip) que se importa. Busque el archivo de datos,
selecciónelo y, a continuación, seleccione Importar datos.
5. La pantalla siguiente muestra el estado de importación de sus registros. La importación de datos se realiza
en múltiples pasos para importar primero los datos de base mientras se sitúan en cola los datos
dependientes, y después se importan los datos dependientes en las pasadas posteriores para administrar las
vinculaciones o dependencias de datos. Esto asegura una importación limpia y coherente de los datos.
6. Seleccione Salir para cerrar la herramienta.
Acerca del ciclo de vida de portales
25/11/2019 • 5 minutes to read • Edit Online
Un portal se crea siempre como prueba. Un portal de prueba, que expira después de 30 días, es útil para probar
sus funciones sin coste alguno. Después de la caducidad, se suspende y se cierra un portal. Siete días después de la
suspensión, el portal de prueba se elimina. En cada cambio de fase del ciclo de vida del portal, por ejemplo, al
aproximarse la suspensión, suspendido, eliminado y convertido de prueba a producción, recibirá notificaciones del
sistema y mediante correo electrónico.
Como administrador, puede convertir un portal en prueba o suspendido a un portal de producción. Mientras
convierte un portal de prueba a producción, asegúrese de que el entorno es también un entorno de producción. No
es posible convertir un portal de prueba en producción en un entorno de prueba. Si elimina el entorno en el que se
crea un portal de prueba, el portal también se elimina.
El primer portal se crea gratis en un entorno en un inquilino. Si necesita crear más de un portal, debe tener 1 GB
de espacio de almacenamiento no usado en el inquilino.
Al abrir el Centro de administración de portales de PowerApps y navegar a la pestaña Detalles del portal, verá la
notificación sobre la caducidad de prueba mostrada en el campo Tipo.
La aplicación Administración del portal permite realizar acciones de configuración avanzadas en el portal.
La aplicación está disponible después de que la base de datos en Common Data Service se cree
correctamente.
Para abrir la aplicación Administración del portal, vaya a la sección Las aplicaciones en la página principal
de PowerApps, busque la aplicación Administración del portal y, selecciónela.
La aplicación Administración del portal se abre en la interfaz unificada. Puede configurar el portal según
sus requisitos.
Configurar opciones del sitio para portales
25/11/2019 • 8 minutes to read • Edit Online
Una configuración del sitio es un valor configurable con nombre que usa el código del sitio web para modificar el
comportamiento o el estilo visual del portal. Normalmente cuando un desarrollador crea el código de sitio web,
hará referencia a la configuración del sitio para los distintos componentes para permitir a un usuario final
modificar los valores de configuración para modificar el sitio web sin tener que cambiar el código, recopilar y
volver a implementar el sitio web.
Los portales de ejemplo que se proporcionan con la instalación de portales de PowerApps contienen varias
configuraciones ajustables del sitio para diversos estilos usados para editar muchos elementos visuales dentro del
sitio, como estilo de fondo, color del texto, y ancho del diseño. Puede administrar los siguientes tipos de
configuraciones de sitio:
Configuración de portal global: Esta configuración se aplica a todos los portales asociados con el entorno
Common Data Service donde se agregan.
Configuración de sitio de portal: Esta configuración se aplica a todos los portales específicos (registros de
página web) asociados con el entorno Common Data Service donde se agregan.
NOTE
La integración de mapas de Bing no se admite en el entorno de la nube soberana alemana. Si intenta crear la configuración
de mapas de Bing/credenciales en este entorno, se mostrará un mensaje de error.
CustomerSupport/DisplayAllUserActiviti FALSE
esOnTimeline
Para valores del sitio relacionados con las diferentes características del portal, consulte:
Identidad de autenticación
Proveedor Azure AD B2C
OAuth 2.0
Open ID Connect
WS -Federation
SAML 2.0
Migrar proveedores de identidad a Azure AD B2C
Buscar contenido de archivo adjunto
Comportamiento y formato del campo de fecha y hora
Agregar ubicación geográfica
Implementar el Reglamento general de protección de datos
Habilitar el almacenamiento en caché de resultados del encabezado y el pie de página
NOTE
La integración de mapas de Bing no se admite en el entorno de la nube soberana alemana. Si intenta crear el valor
BinMap/Key o Adxstudio/ProductivityPack/BingMap/Key en este entorno, se mostrará un mensaje de error.
Configurar la autenticación del portal
25/11/2019 • 5 minutes to read • Edit Online
En una aplicación de portal, un usuario del portal autenticado se asocia con un contacto o un usuario del sistema.
La configuración de portales predeterminada se basa en contactos. Para iniciar sesión, un contacto debe tener la
información de autenticación web adecuada configurada. Los usuarios del portal deben asignarse a roles web para
obtener permisos por encima de los usuarios no autenticados. Para configurar permisos para un rol web,
configure su acceso a páginas web y reglas de control de acceso a sitios web.
La experiencia más reciente de autenticación en el portal permite a los usuarios iniciar sesión con proveedor local
de suscripciones de contacto que prefiera o con una cuenta externa basada en Identidad de ASP.NET.
Autenticación local: La autenticación local es la autenticación basada en formularios común que usa registros
de contacto de una organización de entorno Common Data Service para autenticación. Para crear experiencias
de autenticación personalizadas, los desarrolladores pueden usar la API de identidad ASP.Net para crear
páginas y herramientas de inicio de sesión personalizadas.
Autenticación externa: La autenticación externa se proporciona mediante la API de identidad de ASP.NET.
En este caso, las credenciales de cuenta y la administración de contraseñas se controlan mediante un proveedor
de identidad de terceros. Esto incluye proveedores basados en OpenID como Yahoo! y proveedores basados en
Google y OAuth 2.0 como Twitter, Facebook y Microsoft. Los usuarios se suscriben al portal seleccionando una
identidad externa para registrarse en el portal. Una vez registrada, una identidad externa tiene acceso a las
mismas características que una cuenta local.
El registro de cuentas locales y externas puede usar de códigos de invitación para iniciar sesión, así como del flujo
de trabajo de confirmación de correo electrónico. Además, los administradores del portal pueden habilitar o
deshabilitar cualquier combinación de opciones de autenticación mediante la configuración de sitios del portal.
NOTE
Los usuarios del portal deben tener una dirección de correo electrónico única. Si hay dos o más registros de contactos
(incluidos registros de contactos desactivados) con la misma dirección de correo electrónico, los contactos no podrán
autenticarse en el portal.
Registro abierto
Durante la suscripción, el usuario tiene la opción de crear una cuenta local (mediante un nombre de usuario y una
contraseña) o de seleccionar una identidad externa de una lista de proveedores de identidad. Si selecciona una
identidad externa, el usuario debe iniciar sesión a través del proveedor de identidad elegido para probar que posee
la cuenta externa. En cualquier caso, el usuario inmediatamente se registra y autentica en el portal. Un nuevo
registro de contacto se crea en el entorno de Common Data Service tras la suscripción.
Con el registro abierto habilitado, no es necesario que los usuarios proporcionen un código de invitación para
completar el proceso de suscripción.
Vea también
Establecer identidad de autenticación para un portal
Establecer identidad de autenticación para un portal
25/11/2019 • 26 minutes to read • Edit Online
Los portales proporcionan funcionalidad de autenticación basada en la API de Identidad ASP.NET. La identidad
ASP.NET a su vez se basa en el marco OWIN que también es un componente importante del sistema de
autenticación. Los servicios proporcionados incluyen:
Inicio de sesión de usuario local (nombre de usuario y contraseña)
Inicio de sesión de usuario externo (proveedor social) a través de proveedores de identidad terceros
Autenticación bifactorial con correo electrónico
Confirmación de dirección de correo electrónico
Recuperación de contraseña
Registro de código de invitación para registrar registros de contacto pregenerados
NOTE
El campo Teléfono móvil confirmado en el formulario Contacto del portal de la entidad Contacto actualmente no
responde a ningún propósito. Este campo debe utilizarse solo al actualizar desde Adxstudio Portals.
Requisitos
Los portales requieren:
Portales base
Identidad de Microsoft
Paquetes de la solución Flujos de trabajo de identidad de Microsoft
Proceso relacionado:
Crear un nombre de usuario y una contraseña.
Cambiar una contraseña existente.
NOTE
Asegúrese de que se ha especificado el correo electrónico principal del contacto porque el mensaje de confirmación se envía
solo para el correo electrónico principal (emailaddress1) del contacto. La confirmación del correo electrónico no se enviará al
correo electrónico secundario (emailaddress2) o correo electrónico alternativo (emailaddress3) del registro de contacto.
WARNING
Si crea y permite la configuración del sitio Authentication/Registration/MobilePhoneEnabled para habilitar la
funcionalidad antigua, se producirá un error. Este valor de sitio no se proporciona de manera predefinida y no lo admiten
los portales.
Proceso relacionado: enviar un correo electrónico con el código de dos fases a un contacto
1. Habilitar autenticación bifactorial.
2. Elija la opción para recibir el código de seguridad por correo electrónico.
3. Espere al correo electrónico que contiene el código de seguridad.
4. Proceso: Enviar código bifactorial de correo electrónico al contacto.
5. La autenticación bifactorial puede deshabilitarse.
NOTE
Asegúrese de que el correo electrónico principal está especificado para el usuario porque el registro se realiza usando el
correo electrónico principal (emailaddress1) del usuario. El usuario no se puede registrar usando el correo electrónico
secundario (emailaddress2) o correo electrónico alternativo (emailaddress3) del registro de contacto.
Vea también
Configurar la autenticación del portal
Configuración del proveedor OAuth2 para portales
Configuración de proveedor Open ID Connect para portales
Configuración de proveedor de WS -Federation para portales
Configuración del proveedor SAML 2.0 para portales
Azure AD B2C configuración del proveedor para
portales
25/11/2019 • 20 minutes to read • Edit Online
Azure Active Directory (Azure AD ) activa Office 365 y los servicios de Dynamics 365 para la autenticación interna
o de empleados. Azure Active Directory B2C es una extensión al modelo de autenticación que habilita los inicios de
sesión de clientes externos mediante las credenciales locales y de federación los distintos proveedores de identidad
sociales comunes.
Un propietario de portal puede configurar el portal para aceptar Azure AD B2C como proveedor de identidad.
Azure AD B2C admite Open ID Connect para federación.
Durante la configuración de Azure AD B2C como proveedor de identidad del portal, varios valores se generan que
usará más adelante cuando configure el portal. Puede anotar estos valores en la tabla siguiente. Mientras
configura el portal, reemplace el nombre de variable por los valores que escriba aquí.
NOTE
Debe elegir Sí para el campo Permitir el flujo implícito y especificar la dirección URL de portal en el campo
Dirección URL de respuesta . El valor en el campo Dirección URL de respuesta debe tener el formato [dominio de
portal]/inicio de sesión-[Nombre de la federación]. Por ejemplo,
https://contosocommunity.microsoftcrmportals.com/signin-B2C .
5. Copie el nombre de la aplicación, e incorpórelo como el valor del nombre de la aplicación en la tabla
precedente.
6. Copie el ID de la aplicación, e incorpórelo como el valor del ID de la aplicación en la tabla precedente.
7. Crear una directiva de registro o inicio de sesión.
8. Seleccione la directiva y, a continuación seleccione Editar.
9. Seleccione Token, sesión y configuración de SSO.
10. Del lista Notificación de emisor (iss) , seleccione la dirección URL que tiene /tfp en la ruta.
11. Guarde la directiva.
12. Seleccione la dirección URL en el campo Extremo de metadatos para esta directiva.
13. Copie el valor del campo de emisor e incorpórelo como el valor de la Policy-Signin-URL en la tabla
precedente.
Configuración de portal
Después de crear y configurar el suscriptor de B2C en Azure, debe configurar el portal para federar con Azure AD
B2C mediante el protocolo Open ID Connect. Debe crear un nombre único para la federación a Azure AD B2C —
por ejemplo B2C —y almacenarlo como el valor de la variable Nombre de federación en la tabla anterior.
Configure su portal
1. Abra la aplicación Administración del portal.
2. Vaya a Portales > Páginas web.
3. Seleccione el registro de la página web para el que debe habilitarse Azure AD B2C.
4. Vaya a Configuración del sitio.
5. Cree la siguiente configuración del sitio:
Nombre: Autenticación/OpenIdConnect/[Nombre de federación]/Autoridad
Valor: [Policy-Signin-URL ]
Nombre: Autenticación/OpenIdConnect/[Nombre de federación]/ClientId
Valor: [ID de aplicación]
Nombre: Autenticación/OpenIdConnect/[Nombre de federación]/RedirectUri
Valor: [dominio de portal]/inicio de sesión-[Nombre de federación]
Por ejemplo, https://mysite.com/signin-b2c
6. Para admitir un inicio de sesión federado, cree la siguiente configuración del sitio:
Nombre: Authentication/OpenIdConnect/[Nombre de federación]/ExternalLogoutEnabled
Valor: verdadero
7. Para codificar de forma rígida su portal para un solo proveedor de identidad, cree la siguiente configuración
del sitio:
Nombre: Authentication/Registration/LoginButtonAuthenticationType
Valor: [Policy-Signin-URL ]
8. Para admitir la restauración de la contraseña, cree la configuración necesaria descrita aquí.
9. Para admitir la asignación de notificaciones, cree la configuración necesaria descrita aquí.
Para obtener una lista completa de la configuración del sitio, consulte aquí.
Restablecimiento de contraseña
Se requiere la siguiente configuración del sitio si desea admitir la restauración de la contraseña más con cuentas
locales de Azure AD B2C.
<!DOCTYPE html>
<html lang=en-US>
<head>
<meta charset=utf-8>
<meta name=viewport content=width=device-width, initial-scale=1.0>
<meta http-equiv=X-UA-Compatible content=IE=edge>
<title>
{{ page.title | h }}
</title>
<link href={{ request.url | base }}/bootstrap.min.css rel=stylesheet>
<link href={{ request.url | base }}/theme.css rel=stylesheet>
<style>
.page-heading {
padding-top: 20px;
}
.page-copy {
margin-bottom: 40px;
}
.highlightError {
border: 1px solid #cb2027!important;
background-color: #fce8e8!important;
}
}
.attrEntry .error.itemLevel {
display: none;
color: #cb2027;
font-size: .9em;
}
.error {
color: #cb2027;
}
.entry {
padding-top: 8px;
padding-bottom: 0!important;
}
.entry-item {
margin-bottom: 20px;
}
.intro {
display: inline;
margin-bottom: 5px;
}
.pageLevel {
width: 293px;
text-align: center;
margin-top: 5px;
padding: 5px;
font-size: 1.1em;
height: auto;
}
#panel, .pageLevel, .panel li, label {
display: block;
}
#forgotPassword {
font-size: .75em;
padding-left: 5px;
}
#createAccount {
margin-left: 5px;
}
.working {
display: none;
background:
url(data:image/gif;base64,R0lGODlhbgAKAPMAALy6vNze3PTy9MTCxOTm5Pz6/Ly+vNTS1Pz+/�N0Jp6BUJ9EBIISAQAh+QQJCQAKACxR
AAIABgAGAAAEE1ClYU4RIIMTdCaegVCfRASCEgEAOw==) no-repeat;
height: 10px;
width: auto;
}
.divider {
margin-top: 20px;
margin-bottom: 10px;
}
.divider h2 {
display: table;
white-space: nowrap;
font-size: 1em;
font-weight: 700;
}
.buttons {
margin-top: 10px;
}
button {
width:auto;
min-width:50px;
height:32px;
margin-top:2px;
-moz-border-radius:0;
-webkit-border-radius:0;
border-radius:0;
background:#2672E6;
border:1px solid #FFF;
color:#fff;
color:#fff;
transition:background 1s ease 0s;
font-size:100%;
padding:0 2px
}
button:hover {
background:#0F3E83;
border:1px solid #3079ed;
-moz-box-shadow:0 0 0;
-webkit-box-shadow:0 0 0;
box-shadow:0 0 0
}
.password-label label {
display: inline-block;
vertical-align: baseline;
}
img {
border:0
}
.divider {
margin-top:20px;
margin-bottom:10px
}
.divider h2 {
display:table;
white-space:nowrap;
font-size:1em;
font-weight:700
}
.divider h2:after,.divider h2:before {
border-top:1px solid #B8B8B8;
content:'';
display:table-cell;
position:relative;
top:.7em;
width:50%
}
.divider h2:before {
right:1.8%
}
.divider h2:after {
left:1.8%
}
.verificationErrorText {
color:#D63301
}
.options div {
display:inline-block;
vertical-align:top;
margin-top:7px
}
.accountButton,.accountButton:hover {
background-
image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAh1BMVEX///9QUFBOTk5LS0tERERCQk
I/Pz9ISEg6OjpGRkZNTU08PDyAgID09PSlpaWWlpZxcXFgYGBZWVlUVFT6+vrx8fHt7e3s7Ozo6Oji4uLJycnGxsa4uLiqqqqgoKCNjY2JiYmG
hoZra2tmZmb7+/vu7u7d3d3U1NTNzc2+vr67u7usrKx7e3vprNQnAAAA8klEQVQ4y63Q127DMAxAUZpDwyMeSdqsNqu7/f/va6zahgGJKAr0vg
k6DyQh+6V/BiTOOeNRA9zuAWBdM6WBlPDTvaUUoAuMrT0mgNvA1IJjQB3MKjACvp6DK0WAH+agtH8H9jQHLUUgz7Uhx8xOXzNESxirLCYA2mw8
tacI5FyIYXq8A9ge2Qs6oTnw2e2ruho2rjBcXJ4ADh3jBOQLQnVhRFx2gNDZ4ACogbHXj/ft9Dj5AcgbJFu5AThQWuYBIGmgtAFQo4EFB+CPGt
hJAPypgY3BHsheA5UNwLyAvsYNoDyroKUe4EoFTQ/yDtTONvsGUJ8KTUYyH+UAAAAASUVORK5CYII=);
background-repeat:no-repeat
}
.accountButton {
border:1px solid #FFF;
color:#FFF;
margin-left:0;
margin-right:2px;
transition:background-color 1s ease 0s;
-moz-border-radius:0;
-webkit-border-radius:0;
-webkit-border-radius:0;
border-radius:0;
text-align:center;
word-wrap:break-word;
height:34px;
width:158px;
padding-left:30px;
background-color:#505050;
}
.accountButton:hover {
background-color:#B9B9B9;
border:1px solid #FFF;
-moz-box-shadow:0 0 0;
-webkit-box-shadow:0 0 0;
box-shadow:0 0 0
}
.accountButton:focus {
outline:gold solid 1px
}
#MicrosoftAccountExchange {
background-
image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAPFBMVEU1pe/////t+v4uoe5btvNixP
VVwfUsoe9tyfXU7/y95vu24vrd9f5NtfLH6/ys3/o/sPE6qfD2/f+f2vnAysuQAAAAaElEQVQ4y93SORKAIAwFUEGCsoT1/nd1JkkDFhY24qt+
8VMkk20lu6DAaVBOBsVKsuO8aYo08IqlYyxoRTQExfyKheRIgu5Yl4KoVhSUgNOhoiYRsmb5g2u+LtzXDNOhjKgoAZ9/8k8uZWsGqcIav5wAAA
AASUVORK5CYII=);
background-color:#33A7F2
}
#MicrosoftAccountExchange:hover {
background-color:#ADDBF9
}
#GoogleExchange {
background-
image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAb1BMVEXcTkH////cTD/bSj3ZQDLYOy
zaRDbeV0vbSDrZPS/66Obyv7rsnpfpkorjcWfgZlvXOCr++Pj5393haFz88/L88fD67Or319T1zsv1zsrxuLPuqaLuqKLoi4LlfXTgYlbWMyTW
MiPwtrHwta/fXVH/sCIIAAAAmElEQVQ4y+2RyQ7DIBBDMcwAIXvovqXb/39jRaX0AEmr5px3tSV7PGLhX6TVRFpN61l9zPNS6kn9gDcXO67zDn
CnO2BCiNIyMtgKKJgyY2zQ68JEDtqju0nFTcOsxPUMw1GDDUqt+tY51/YNVlhvacTgEfCDIY0Q/lkBSg4RaUmmDo4/JdMzHy1Q2ejMeCj6PrXQ
P5+1MI8X0Y4HL4c826EAAAAASUVORK5CYII=);
background-color:#DC4E41
}
#GoogleExchange:hover {
background-color:#F1B8B3
}
#TwitterExchange {
background-
image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAdVBMVEVgqd3///9Ypdtdp9xaptxSot
pQodlNn9lWo9pUo9rX6Pa+2vGTw+iLvuZlqt79/P7K4PO62O+y0+6hyutysuD2+fzi7vne6/fT5PTE3fKs0O2lzeuZx+l7tuJqrd71+Pzz9vzn
8PnQ4/SCueSAueNsrt9InNh7sQwBAAAAwklEQVQ4y92PRw6EMAwAXeIkdBbY3uv/n7gSAoLDD5hbPCPZgZVihEgYgNSUpmfS7bfbtHS2nReyL2
Qoc+yp8ZRAwCEWjgGAPQ7sssKoAGsWBrrgyMZCwD77Uel+59E3Tt14xZ7qlY7BRf1CDgeMKMw8sBXGlKxWtLGvHCgkQ80m0YHpjjq4sQ74pn1m
ISLJVSAMiwJO98l/TWSNF1eGKzqKfZ7Vj0mnHHwodpP+WIYlZP373DTtVWxYr2FD3pOBdfIHhOAHYHQI9VgAAAAASUVORK5CYII=);
background-color:#60A9DD
}
#TwitterExchange:hover {
background-color:#BFDCF1
}
#FacebookExchange {
background-
image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAaVBMVEU7W5z///85Wps3WJsiRo8xU5
fw8vYyUpY0VZiAj70pS5OBkb0vUpb7+fwsTpTR1ud6irllerBPaqX09fnx8vfs7fSQoMZxg7VsgLNGY6FCX58ZP4v++/7r7vTZ3OupstGIlsFW
calDYaCK3qwDAAAAnklEQVQ4y+XQyw7CIBAFUBgc5VUoWGtb3/7/RyoYkyZAiSsXvdt7kstA/hRg/B0GpZ6byQ3Dw0NBaH+lMYRle3T0kwayAC
RdBrr/gnN+QtpQWv8cR4DswiUAjozlz4RdF8AmlnmwjaDQImoZwQkRedoToUS7D+ColGoTwQidx8oEQDMHN1MBva5MOL70SCHuE1TOhOpHrRt0
FWAOP4IX8PsG2qEOR30AAAAASUVORK5CYII=);
background-color:#3B5B9C
}
#FacebookExchange:hover {
background-color:#B0BDD7
}
#LinkedInExchange {
background-
image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAAb1BMVEUAe7b///8AdrMklscAc7EAeL
UAcbB5ttifzeMqmckAdLIAaqz7+/6PxeAShr0CgLkAba4nmMctksTv9Puw1eij0OWGvNtfrNJNo80YjMAeib/D4vGt3Oy82+yfzOOCvtyJvdx3
UAcbB5ttifzeMqmckAdLIAaqz7+/6PxeAShr0CgLkAba4nmMctksTv9Puw1eij0OWGvNtfrNJNo80YjMAeib/D4vGt3Oy82+yfzOOCvtyJvdx3
tddirtI/ncoxmMj9KsrQAAAAw0lEQVQ4y9WSVw7DIAxAG8CkjJDVzO5x/zMWk0RNJaB/kfo+sGUeCMvstgI4J7F9aS5NxSLnTWLpZVDgexTqIi
ycUNBhgTxRyCKPYJ3dl7sITCkO+FyLXaWU310DscASOesf3ahWChGJ5cb4ASO5Joiu2EegWEmZa1c3yUwOHmHNuQgJup4CgF8YlKpcMhKvkNmb
1REz6hdetsyziIBldv8lpH8ouGm28zQFCu2SOSAXlJYGYCgpFThEMFPm/zCryja8Acy7CRfMrcKPAAAAAElFTkSuQmCC);
background-color:#0077B5
}
#LinkedInExchange:hover {
background-color:#99CAE1
}
#AmazonExchange {
background-image:url(https://images-na.ssl-images-
amazon.com/images/G/01/lwa/btnLWA_gold_156x32.png);
background-color:#FFF;
color:transparent
}
#next {
-moz-user-select:none;
user-select:none;
cursor:pointer;
width:auto;
padding-left:10px;
padding-right:10px;
height:30.5px;
-moz-border-radius:0;
-webkit-border-radius:0;
border-radius:0;
background:#2672E6;
border:1px solid #FFF;
color:#fff;
transition:background 1s ease 0s;
font-size:100%
}
#next:hover {
background:#0F3E83;
border:1px solid #FFF;
box-shadow:0 0 0
}
#next:hover,.accountButton:hover {
-moz-box-shadow:0 0 0;
-webkit-box-shadow:0 0 0;
box-shadow:0 0 0;
}
</style>
</head>
<body>
<div class=navbar navbar-inverse navbar-static-top role=navigation>
<div class=container>
<div class=navbar-header>
<div class=visible-xs-block>
{{ snippets[Mobile Header] }}
</div>
<div class=visible-sm-block visible-md-block visible-lg-block navbar-brand>
{{ snippets[Navbar Left] }}
</div>
</div>
</div>
</div>
<div class=container>
<div class=page-heading>
<ul class=breadcrumb>
<li>
<a href={{ request.url | base }} title=Home>Home</a>
</li>
<li class=active>{{ page.title | h}}</li>
</ul>
{% include 'Page Header' %}
</div>
<div class=row>
<div class=col-md-12>
<div class=col-md-12>
{% include 'Page Copy' %}
<div id=api></div>
</div>
</div>
</div>
<footer role=contentinfo>
<div class=footer-top hidden-print>
<div class=container>
<div class=row>
<div class=col-md-6 col-sm-12 col-xs-12 text-left>
{{ snippets[About Footer] }}
</div>
<div class=col-md-6 col-sm-12 col-xs-12 text-right>
<ul class=list-social-links>
<li><a href=#><span class=sprite sprite-facebook_icon></span></a></li>
<li><a href=#><span class=sprite sprite-twitter_icon></span></a></li>
<li><a href=#><span class=sprite sprite-email_icon></span></a></li>
</ul>
</div>
</div>
</div>
</div>
<div class=footer-bottom hidden-print>
<div class=container>
<div class=row>
<div class=col-md-4 col-sm-12 col-xs-12 text-left>
{{ snippets[Footer] | liquid }}
</div>
<div class=col-md-8 col-sm-12 col-xs-12 text-left >
</div>
</div>
</div>
</div>
</footer>
</body>
</html>
HTTP/Access-Control-Allow-Origin https://login.microsoftonline.com
Para obtener una lista completa de otros valores de configuración CORS, consulte Soporte de protocolo CORS.
Paso 5: Configuración Azure
1. Inicie sesión en su Portal de Azure.
2. Desplácese hasta la hoja Administración de suscriptores de Azure AD B2C .
3. Vaya a Configuración > Directivas de registro e inicio de sesión. Aparecerá la lista de directivas
disponibles.
4. Seleccione la directiva que desea editar.
5. Seleccione Editar.
6. Seleccione Editar directiva > Personalización de interfaz de página > Página de registro o inicio de
sesión unificada
7. Establezca Usar la página personalizada Sí.
8. Establezca URL personalizada de página en la URL de la página web de página personalizada de Azure AD
B2C creada en el paso 3 del procedimiento. Por ejemplo, https://mydomain.com/azure-ad-b2c-sign-in .
9. Seleccione Aceptar.
Asignación de notificaciones
Cuando los usuarios inicien sesión, por primera vez o posteriormente, el proveedor de identidad federado
proporciona notificaciones según su base de datos sobre el inicio de sesión de los usuarios. Estas notificaciones se
pueden configurar en el proveedor de identidad.
Notificaciones de correo electrónico de Azure AD B2C
Azure AD B2C envía la notificación de correo electrónico como una recopilación. El portal acepta el primer correo
electrónico de la recopilación como la dirección de correo electrónico principal del contacto.
Reclamaciones para admitir escenarios de registro
Si se aprovisiona un nuevo cliente que no existe en Common Data Service las notificaciones entrantes se pueden
usar para propagar el nuevo registro de contacto que creará el portal. Las notificaciones comunes pueden incluir el
nombre y el apellido, dirección de correo electrónico, y número de teléfono, pero son configurables. Se necesita la
siguiente configuración de sitio:
Nombre: Authentication/OpenIdConnect/[Nombre de federación]/RegistrationClaimsMapping
Descripción: Lista de pares de nombre lógico y de notificación que se van a usar para asignar valores de
notificaciones a atributos en el registro de contacto creado durante el registro.
Formato: atributo1=notificación1, atributo2=notificación2, atributo3=notificación3
Por ejemplo:
firstname=https://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname,lastname=https://schemas.xmlso
ap.org/ws/2005/05/identity/claims/surname,jobtitle=jobTitle
NOTE
Asegúrese de que asigna la dirección de correo electrónico para el mensaje principal (emailaddress1) del contacto. Si ha
agregado un correo electrónico secundario (emailaddress2) o alternativo (emailaddress3) al registro de contacto y lo ha
asignado al correo electrónico, la información de identidad no se agregará al contacto y se creará una nueva con la dirección
de correo electrónico que se usó para el registro establecido en el correo electrónico principal (emailaddress1).
Los proveedores de identidad externos basados en OAuth 2.0 registran una "aplicación" con un servicio de
terceros para obtener un par "Id. de cliente" y "secreto de cliente". A menudo, esta aplicación requiere especificar
una dirección URL de redirección que permite que el proveedor de identidad envíe los usuarios de vuelta al portal
(usuario de confianza). El Id. del cliente y el secreto de cliente están configurados como valores del sitio del portal
para establecer una conexión de seguridad del usuario de confianza al proveedor de identidad. Los valores se
basan en las propiedades de las clases MicrosoftAccountAuthenticationOptions, TwitterAuthenticationOptions,
FacebookAuthenticationOptions y GoogleOAuth2AuthenticationOptions.
Los proveedores admitidos son:
Cuenta de Microsoft
Twitter
Facebook
Google
LinkedIn
Yahoo
NOTE
Una configuración de OAuth2 estándar requiere solo los siguientes valores (con Facebook como ejemplo):
Authentication/OpenAuth/Facebook/ClientId
Authentication/OpenAuth/Facebook/ClientSecret
Sustituya la etiqueta [provider] en el nombre del valor de sitio con un nombre de proveedor de identidad
específico: Facebook, Google, Yahoo, Microsoft, LinkedIn o Twitter.
Vea también
Configurar la autenticación del portal
Establecer identidad de autenticación para un portal
Configuración de proveedor Open ID Connect para portales
Configuración de proveedor de WS -Federation para portales
Configuración del proveedor SAML 2.0 para portales
Configurar proveedor Open ID Connect para portales
25/11/2019 • 12 minutes to read • Edit Online
Los proveedores de identidad externos Open ID Connect son servicios que se ajustan a las especificaciones de Open
ID Connect. La integración de un proveedor implica buscar la dirección URL de la entidad (o emisor) asociada con el
proveedor. Una dirección URL de configuración puede determinarse desde la entidad que suministra metadatos
requeridos durante el flujo de trabajo de autenticación. Los valores de proveedores se basan en las propiedades de la
clase OpenIdConnectAuthenticationOptions.
Ejemplos de direcciones URL de entidad:
Google: https://accounts.google.com/https://accounts.google.com/.well-known/openid-configuration
Azure Active Directory: https://login.microsoftonline.com/<Azure Aplicación AD>/
Cada proveedor de OpenID Connect también implica registrar una aplicación (similar al proveedor de OAuth 2.0) y
obtener un Id. de cliente. La dirección URL de la autoridad y el id. de cliente de aplicación generado son los valores
requeridos para habilitar la autenticación externa entre el portal y el proveedor de identidad.
NOTE
El extremo Google OpenID Connect actualmente no es compatible porque las bibliotecas subyacentes aún se encuentran en las
fases tempranas de lanzamiento con problemas de compatibilidad que resolver. En su lugar puede utilizarse el extremo de
configuración de proveedor OAuth2 para portales.
NOTE
Una configuración de Azure AD estándar sólo usa los siguientes valores (con valores de ejemplo):
Authentication/OpenIdConnect/AzureAD/Authority - https://login.microsoftonline.com/01234567-89ab-cdef-0123-
456789abcdef/
Authentication/OpenIdConnect/AzureAD/ClientId - fedcba98-7654-3210-fedc-ba9876543210
El Id. de cliente y la dirección URL de la entidad no tienen el mismo valor y deben recuperarse por separado.
Authentication/OpenIdConnect/AzureAD/RedirectUri - https://portal.contoso.com/signin-azure-ad
Varios proveedores de identidad pueden configurarse sustituyendo una etiqueta para la etiqueta [provider]. Cada
etiqueta única forma un grupo de valores relacionados con un proveedor de identidad. Ejemplos: AzureAD, MyIdP
Authentication/OpenIdConnect/[provider]/ValidIssuers Lista separada por comas de direcciones URL del emisor. Para
obtener más información:
TokenValidationParameters.ValidIssuers.
Vea también
Configurar la autenticación del portal
Establecer identidad de autenticación para un portal
Configuración del proveedor OAuth2 para portales
Configuración de proveedor de WS-Federation para portales
Configuración del proveedor SAML 2.0 para portales
Configurar valores de proveedor de WS-Federation
para portales
25/11/2019 • 11 minutes to read • Edit Online
Un solo servidor de Federation Services Active Directory se puede agregar (u otro servicio de token de seguridad,
o STS, compatible con WS -Federation), como proveedor de identidad. Además, un solo espacio de nombres
Azure ACS se puede configurar como un conjunto de proveedores de identidad individuales. Los valores de AD
FS y ACS se basan en las propiedades de la clase WsFederationAuthenticationOptions.
NOTE
La extremo resultante tiene los siguientes valores: Tipo de extremo: WS-Federation
Enlace:POST
Índice: n/d (0)
Dirección URL: https://portal.contoso.com/signin-federation
NOTE
Una configuración de AD FS (STS) estándar sólo usa los siguientes valores (con valores de ejemplo):
Authentication/WsFederation/ADFS/MetadataAddress: https://adfs.contoso.com/FederationMetadata/2007-
06/FederationMetadata.xml
Authentication/WsFederation/ADFS/AuthenticationType: https://adfs.contoso.com/adfs/services/trust
Use el valor del atributo entityID en el elemento raíz de los metadatos de federación (abra la Dirección URL de
MetadataAddress en un explorador que sea el valor del ajuste de sitio anterior)
Authentication/WsFederation/ADFS/Wtrealm: https://portal.contoso.com/
Authentication/WsFederation/ADFS/Wreply: https://portal.contoso.com/signin-federation
Import-Module adfs
Get-ADFSEndpoint -AddressPath /FederationMetadata/2007-06/FederationMetadata.xml
Authentication/WsFederation/ADFS/ValidIssuers Lista separada por comas de direcciones URL del emisor. Para
obtener más información:
TokenValidationParameters.ValidIssuers.
NOTE
Una configuración de Azure AD estándar sólo usa los siguientes valores (con valores de ejemplo):
Authentication/WsFederation/ADFS/MetadataAddress: https://login.microsoftonline.com/01234567-89ab-cdef-0123-
456789abcdef/federationmetadata/2007-06/federationmetadata.xml
Authentication/WsFederation/ADFS/AuthenticationType: https://sts.windows.net/01234567-89ab-cdef-0123-
456789abcdef/
Use el valor del atributo entityID en el elemento raíz de los metadatos de federación (abra la Dirección URL de
MetadataAddress en un explorador que sea el valor del ajuste de sitio anterior)
Authentication/WsFederation/ADFS/Wtrealm: https://portal.contoso.com/
Authentication/WsFederation/ADFS/Wreply: https://portal.contoso.com/signin-azure-ad
Vea también
Configurar la autenticación del portal
Establecer identidad de autenticación para un portal
Configuración del proveedor OAuth2 para portales
Configuración de proveedor Open ID Connect para portales
Configuración del proveedor SAML 2.0 para portales
Configurar el proveedor SAML 2.0 para portales
25/11/2019 • 19 minutes to read • Edit Online
para proporcionar autenticación externa, se pueden agregar uno o varios proveedores de identidad (IdP ) compatibles con SAML
2.0. En este documento se describe cómo configurar varios proveedores de identidad para integrarse con un portal que actúe como
proveedor de servicios.
AD FS (IdP)
Configuración de un proveedore de identidad como Servicios de federación de Active Directory (AD FS ).
Cree un usuario de confianza de AD FS
NOTE
Consulte Configurar AD FS mediante PowerShell, a continuación, para obtener información sobre cómo realizar estos pasos en un script
PowerShell.
NOTE
El extremo resultante tiene los siguientes valores:
Tipo de extremo: Extremos de consumo de aserción SAML
Enlace:POST
Índice: n/d (0)
URL: https://portal.contoso.com/signin-saml2
8. Configuración de identidades: especifique https://portal.contoso.com/, seleccione Agregary, a continuación seleccione
Siguiente. Si corresponde, pueden agregarse más identidades para cada portal del usuario de confianza adicional. Los
usuarios podrán autenticarse en cualquiera o todas las identidades disponibles.
9. Elegir reglas de autorización de emisión: Seleccione Permitir a todos los usuarios el acceso a este usuario de confianza
y luego seleccione Siguiente.
10. Listo para agregar confianza: Seleccione Siguiente.
11. Seleccione Cerrar.
Agregue la notificación Id. de nombre al usuario de confianza:
Transforme el nombre de cuenta de Windows a la solicitud Id. de nombre (Transformar una notificación entrante):
Tipo de notificación entrante:Nombre de cuenta de Windows
Tipo de notificación saliente: Id. de nombre
Formato de Id. de nombre saliente: Identificador persistente
Paso a través de todos los valores de notificaciones
Crear configuraciones de sitio
Aplique la configuración del sitio del portal haciendo referencia al usuario de confianza de AD FS anterior.
NOTE
Una configuración AD FS estándar (IdP) solo usa los siguientes parámetros (con valores de ejemplo):
Authentication/SAML2/ADFS/MetadataAddress - https://adfs.contoso.com/FederationMetadata/2007-06/FederationMetadata.xml
Authentication/SAML2/ADFS/AuthenticationType - https://adfs.contoso.com/adfs/services/trust
Use el valor del atributo entityID en el elemento raíz de los metadatos de federación (abra la Dirección URL de MetadataAddress
en un explorador que sea el valor del ajuste de sitio anterior)
Authentication/SAML2/ADFS/ServiceProviderRealm - https://portal.contoso.com/
Authentication/SAML2/ADFS/AssertionConsumerServiceUrl - https://portal.contoso.com/signin-saml2
Los metadatos de federación se pueden recuperar en PowerShell ejecutando el siguiente script en el servidor AD FS:
Import-Module adfs Get-ADFSEndpoint -AddressPath /FederationMetadata/2007-06/FederationMetadata.xml
Varios servicios de IdP pueden configurarse sustituyendo una etiqueta para la etiqueta [provider]. Cada etiqueta única forma un
grupo de valores relacionados con un IdP. Ejemplos: ADFS, AzureAD, MyIdP
Authentication/SAML2/[provider]/RequireExpirationTime Un valor que indica si los tokens deben tener un valor de expiración.
<#
.SYNOPSIS
Constructs an IdP-initiated SSO URL to access a portal page on the service provider.
.PARAMETER path
.PARAMETER rpid
.PARAMETER adfsPath
.EXAMPLE
#>
param
[parameter(mandatory=$true,position=0)]
$path,
[parameter(mandatory=$true,position=1)]
$rpid,
[parameter(position=2)]
$adfsPath = https://adfs.contoso.com/adfs/ls/idpinitiatedsignon.aspx
$state = ReturnUrl=$path
$encodedPath = [uri]::EscapeDataString($state)
$encodedRpid = [uri]::EscapeDataString($rpid)
$encodedPathRpid = [uri]::EscapeDataString("RPID=$encodedRpid&RelayState=$encodedPath")
Write-Output $idpInitiatedUrl
NOTE
Una configuración AD Azure estándar solo usa los siguientes parámetros (con valores de ejemplo):
Authentication/SAML2/AzureAD/MetadataAddress - https://login.microsoftonline.com/01234567-89ab-cdef-0123-
456789abcdef/federationmetadata/2007-06/federationmetadata.xml
Authentication/SAML2/AzureAD/AuthenticationType - https://sts.windows.net/01234567-89ab-cdef-0123-456789abcdef/
Use el valor del atributoentityID en el elemento raíz de los metadatos de federación (abra laDirección URL de MetadataAddress en un
explorador que sea del valor del ajuste de sitio anterior)
Authentication/SAML2/AzureAD/ServiceProviderRealm - https://portal.contoso.com/
Authentication/SAML2/AzureAD/AssertionConsumerServiceUrl - https://portal.contoso.com/signin-azure-ad |
<SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect"
Location=https://idp.contoso.com/idp/profile/SAML2/Redirect/SSO/>
Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
Location=https://portal.contoso.com/signin-saml2/>
NOTE
Una configuración Shibboleth estándar sólo usa los siguientes valores (con valores de ejemplo):
Authentication/SAML2/Shibboleth/MetadataAddress - https://idp.contoso.com/idp/shibboleth
Authentication/SAML2/Shibboleth/AuthenticationType - https://idp.contoso.com/idp/shibboleth
Use el valor del atributo entityID en el elemento raíz de los metadatos de federación (abra la Dirección URL de MetadataAddress en un
explorador que sea el valor del ajuste de sitio anterior)
Authentication/SAML2/Shibboleth/ServiceProviderRealm - https://portal.contoso.com/
Authentication/SAML2/Shibboleth/AssertionConsumerServiceUrl - https://portal.contoso.com/signin-saml2
.SYNOPSIS
Constructs an IdP initiated SSO URL to access a portal page on the service provider.
.PARAMETER path
.PARAMETER providerId
.PARAMETER shibbolethPath
.EXAMPLE
#>
param
[parameter(mandatory=$true,position=0)]
$path,
[parameter(mandatory=$true,position=1)]
$providerId,
[parameter(position=2)]
$shibbolethPath = https://idp.contoso.com/idp/profile/SAML2/Unsolicited/SSO
$state = ReturnUrl=$path
$encodedPath = [uri]::EscapeDataString($state)
$encodedRpid = [uri]::EscapeDataString($providerId)
Write-Output $idpInitiatedUrl
<#
.SYNOPSIS
.PARAMETER domain
.EXAMPLE
#>
param
[parameter(Mandatory=$true,Position=0)]
$domain,
[parameter(Position=1)]
$callbackPath = /signin-saml2
$VerbosePreference = Continue
$ErrorActionPreference = Stop
Import-Module adfs
Function Add-CrmRelyingPartyTrust
param (
[parameter(Mandatory=$true,Position=0)]
$name
$issuanceTransformRules = @'
@RuleTemplate = MapClaims
c:[Type == "https://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname"]
@RuleTemplate = LdapClaims
'@ -f $identityProviderValue
$issuanceAuthorizationRules = @'
@RuleTemplate = AllowAllAuthzRule
'@
Add-CrmRelyingPartyTrust $domain
Vea también
Configurar la autenticación del portal
Establecer identidad de autenticación para un portal
Configuración del proveedor OAuth2 para portales
Configuración de proveedor Open ID Connect para portales
Configuración de proveedor de WS-Federation para portales
Migrar proveedores de identidad a Azure AD B2C
25/11/2019 • 7 minutes to read • Edit Online
El portal admite un sistema de seguridad configurable que permite a nuestros clientes admitir varios sistemas de
autenticación. El portal incluye sus propias credenciales locales además de federación con proveedores de
identidad externos mediante protocolos estándar como OIDC, SAML y WS -Federation. En el futuro, se
recomienda usar solo el proveedor de identidad de Azure AD B2C para la autenticación y que se descarte a los
demás proveedores de identidad.
NOMBRE DESCRIPCIÓN
Cuando un usuario del portal intenta iniciar sesión y se marca al menos a un proveedor de identidad como
obsoleto, la cuenta obsoleta se muestra en la página. En el siguiente ejemplo, una cuenta de Microsoft se marca
como obsoleta.
Puede cambiar el texto de la pantalla para proveedor de autenticación heredado usando el siguiente fragmento de
contenido:
NOTE
No se muestran los proveedores de identidad obsoletos cuando un usuario registra o canjea una invitación a un portal.
El portal permite asociar varias identidades a un único registro de contacto. Cuando varios proveedores están
obsoletos, un usuario de portal debe aceptar los términos y condiciones varias veces. Cada vez que un usuario
inicia sesión con un proveedor de identidad obsoleto, se inicia el proceso de migración de cuenta para cada
proveedor obsoleto y el registro de contacto se asocia al proveedor no obsoleto después de la migración de
cuenta.
Por ejemplo: el portal admite cuentas de Microsoft (MSA), Google y Facebook como proveedores de identidad
para la autenticación. Si marca Google y Facebook como proveedores obsoletos y un usuario del portal solo tiene
Google y Facebook como proveedores de identidad para la autenticación, el usuario recibirá el mensaje de
migración de cuenta al intentar iniciar sesión con alguno de estos dos proveedores. Cuando el usuario inicia sesión
con MSA, MSA se agrega al registro de contacto del usuario. Ahora el usuario tiene solo MSA como el proveedor
de identidad de autenticación admitido.
Cuando un usuario del portal selecciona un nuevo proveedor de identidad y la identidad ya está asociada a otro
registro de contacto, aparece un mensaje de error. Puede configurar el mensaje de error con los siguientes
fragmentos de contenido:
NOTE
Si marca el inicio de sesión local como obsoleto, el usuario no podrá registrarse para una cuenta nueva.
El campo siguiente se añade en el registro de contacto del portal para indicar si el inicio de sesión local está
deshabilitada para un usuario:
Inicio de sesión local deshabilitado: Indica que el contacto ya no puede iniciar sesión en el portal
utilizando la cuenta local. De forma predeterminada, se establece en No. Este campo está establecido en Sí
si se migra una cuenta de usuario a un proveedor de identidad no obsoleto y está deshabilitado el inicio de
sesión local.
Search
25/11/2019 • 35 minutes to read • Edit Online
En portales de PowerApps, puede buscar los registros a través de varias entidades mediante búsqueda por relevancia o búsqueda categorizada. También puede buscar en los
registros de listas de la entidad con funcionalidad de búsqueda de la lista de entidades.
La funcionalidad de búsqueda de lista de entidades en el portal usa FetchXML en el backend para buscar las columnas definidas en la lista de entidades y luego mostrar los
resultados.
La búsqueda global usa un índice de búsqueda externo que se base en Lucene.Net y se usa para buscar en las entidades y en varios campos de forma inmediata.
Búsqueda global
La búsqueda global de portales le permite buscar los registros a través de varias entidades. También le permite buscar en múltiples columnas y configurar qué columnas de
una entidad se pueden buscar.
Entre las ventajas de la búsqueda global está su capacidad para:
Encontrar coincidencias con cualquier palabra en el término de búsqueda en cualquier campo de la entidad. Las coincidencias pueden incluir palabras de inflexión como
secuencia, secuenciando, o secuenciado.
Devolver resultados de todas las entidades que permiten búsquedas en una sola lista ordenada por relevancia, en función de factores como número de palabras que
coinciden o su proximidad mutua en el texto.
Resaltar coincidencias en la lista de resultados.
Proporcionar opciones de faceta que se pueden utilizar para filtrar los resultados de búsqueda aún más.
En Búsqueda por relevancia, cuanto mejor sea la correspondencia, más alta aparecerá en los resultados. Una coincidencia tiene una relevancia mayor si se encuentran más
palabras del término de búsqueda en gran proximidad mutua. Cuanto más pequeña sea la cantidad de texto donde se encuentran las palabras de búsqueda, más alta será la
relevancia. Por ejemplo, si encuentra las palabras de búsqueda en un nombre de compañía y una dirección, podría ser una coincidencia mejor que las mismas palabras se
encuentren en un artículo grande, muy alejadas entre sí. Como los resultados se devuelven en una sola lista, puede ver una combinación de registros mostrados uno tras otro,
con los trabajos coincidentes resaltados.
Las secciones siguientes detallan cómo funciona la búsqueda global en portales de PowerApps y describen varias opciones de configuración disponibles.
NOTE
Aparte de las entidades incluidas aquí, ninguna otra entidad puede estar habilitada para la búsqueda global en un portal.
NOTE
Si cambia el valor de la configuración del sitio Search/IndexQueryName, debe desencadenar una reindexación manual de la compilación usando los pasos definidos en la sección Reconstruir el
índice de búsqueda completo.
Búsqueda / Habilitado Verdadero Un valor booleano que indica si la búsqueda está habilitada. Si
establece su valor en falso, la búsqueda global en el portal se
desactiva.
Si usa plantillas web listas para usar y desactiva esta opción, el
cuadro de búsqueda no se mostrará en el encabezado ni en la
página de búsqueda. Además, no se devuelven resultados
incluso si se introduce la dirección URL directa de la página de
búsqueda.
Búsqueda/Filtros Contenido: adx_webpage; Eventos: adx_event, Una recopilación de opciones de filtro del nombre lógico de
adx_eventschedule; Blogs: adx_blog, adx_blogpost, búsqueda. Definir un valor aquí agregará opciones de filtro
adx_blogpostcomment; Foros: adx_communityforum, desplegable a la búsqueda global. Este valor debe tener la
adx_communityforumthread, adx_communityforumpost; Ideas: forma de pares nombre / valor, con nombre y valor separados
adx_ideaforum, adx_idea, adx_ideacomment; Problemas: por dos puntos, y pares separados por punto y coma. Por
adx_issueforum, adx_issue, adx_issuecomment; Título de datos: ejemplo: “Foros: adx_communityforum,
incidente adx_communityforumthread, adx_communityforumpost;
Blogs: adx_blog, adx_blogpost, adx_blogpostcomment”.
Buscar/IndexQueryName Búsqueda del portal El nombre de la vista del sistema usada por la consulta de
búsqueda de portal para definir los campos de una entidad
habilitada se indexan y se buscan.
Buscar/RecordTypeFacetsEntities Blogs: adx_blog, adx_blogpost; Foros: adx_communityforum, Esto determina cómo se agrupan las entidades en la faceta
adx_communityforumthread, adx_communityforumpost; Ideas: tipo de registro en la página de búsqueda. Ésta es la
adx_ideaforum, adx_idea; Downloads:annotation, adx_webfile configuración predeterminada.
“DisplayNameinRecordTypeFacet1: logicalnameofentity1,
logicalnameofentity2; DisplayNameinRecordTypeFacet2:
logicalnameofentity3, logicalnameofentity4”
El nombre para mostrar en aspecto del tipo de registro
aparecerá en la interfaz de usuario. Este grupo de facetas
combinará el resultado de las entidades definidas en la
configuración.
Búsqueda/Faceta/Borrar restricciones Borrar todo Este fragmento de contenido determina la etiqueta del botón
que restablece todas las facetas aplicadas en la página de
resultados de búsqueda.
Búsqueda/Faceta/Menos Mostrar menos Este fragmento de contenido determina la etiqueta del botón
que colapsa los resultados de faceta.
Búsqueda/Faceta/Fecha de modificación Fecha de modificación Este fragmento de contenido determina la etiqueta del
encabezado que se muestra para la faceta de fecha
modificada.
Búsqueda/Faceta/Más Mostrar más Este fragmento de contenido determina la etiqueta del botón
que expande los resultados de las facetas.
Búsqueda/Faceta/Criterio de ordenación/Valoración media de Valoraciones medias de los usuarios Este fragmento de contenido determina la etiqueta que se
los usuarios muestra para la opción "Ordenar por calificaciones promedio
del usuario" en la lista desplegable de clasificación en la página
Resultados de la búsqueda.
Búsqueda/Faceta/Criterio de ordenación/Vistas Número de visualizaciones Este fragmento de contenido determina la etiqueta que se
muestra para la opción "Ordenar por conteo de vista" en la
lista desplegable de clasificación en la página Resultados de la
búsqueda.
NOTE
no puede usar un * o ? símbolo como el primer carácter de una búsqueda.
La búsqueda con caracteres comodín no se puede usar en una consulta de la frase. Por ejemplo, si usa una consulta como “hell* world”, no mostrará resultados con el texto
“hello world”.
Búsqueda de proximidad: La búsqueda de proximidad le permite buscar palabras que se encuentran a una distancia específica una de la otra. Por ejemplo, si
desea encontrar los resultados de las palabras "Imagen" y "Borrosa" que aparecen a una distancia de 10 palabras una de la otra, puede usar la búsqueda de
proximidad.
Para hacer búsquedas de proximidad, use la tilde (~) como símbolo en la consulta. Por ejemplo, si desea encontrar los resultados para las palabras "Imagen" y
"Borrosa" que aparecen a una distancia de 10 palabras una de la otra, entonces la consulta sería "Imagen borrosa" ~ 10.
Impulso de un período: La búsqueda global proporciona el nivel de relevancia de los documentos coincidentes según los términos encontrados. Para impulsar
un término, use el símbolo de intercalación (^) con un factor de impulso (un número) al final del término que está buscando. Cuanto mayor sea el factor de
impulso, más relevante será el plazo.
El impulso le permite supervisar la importancia de un documento impulsando su período. Por ejemplo, si está buscando Smart TV y desea que el término Smart
sea más relevante, aumente usando el símbolo ^ junto con el factor de impulso al lado del término. Debería escribir: Smart ^ 4 TV. Esto hará que los
documentos con el término Smart parezcan más relevantes.
También puede aumentar las condiciones de la frase como en el ejemplo: Televisión inteligente^4 nueva televisión. En este caso, la frase "Smart TV" se
incrementaría en comparación con "New TV".
Por defecto, el factor de impulso es 1. Aunque el factor de impulso debe ser un valor positivo, puede ser inferior a 1 (por ejemplo, 0,2).
Operadores booleanos: Los operadores booleanos permiten a los términos combinarse mediante operadores lógicos. La búsqueda global admite OR, AND, NOT,
"+" y "-" como operadores booleanos.
NOTE
Los operadores booleanos deben escribirse en mayúscula.
OR: El operador OR es el operador predeterminado de la conjunción. Esto significa que si no está el operador booleano entre dos términos, use el operador OR.
El operador OR vincula dos términos y busca un registro coincidente si uno de los términos existe en un registro. Esto es equivalente a una combinación
mediante conjuntos. El símbolo || se debe usar en lugar de la palabra OR. Por ejemplo, la consulta de búsqueda “Smart TV” (excepto comillas) buscará para
todos los registros con la palabra Smart o TV. Esta consulta también se puede escribir como “Smart OR TV”, “Smart || TV”.
Y: El operador Y combina los registros donde ambos términos existen en cualquier parte del texto de un solo documento. Esto es equivalente a una
combinación mediante conjuntos. El símbolo && se debe usar en lugar de la palabra Y. Por ejemplo, la consulta de búsqueda “Smart AND TV” (excepto
comillas) buscará para todos los registros con la palabra Smart y TV. Esta consulta también se puede escribir como “Smart && TV”.
NO: El operador NO excluye los registros después de los que contenga el período NO. Esto es equivalente a una diferencia usando conjuntos. El símbolo ! se
puede usar en lugar de la palabra NO. Por ejemplo, la consulta de búsqueda “Smart NOT TV” (excepto comillas) buscará para todos los registros que tengan la
palabra Smart pero no la palabra TV. Esta consulta también se puede escribir como “Smart ! TV"
Símbolo más (+): El símbolo más (+), conocido también como operador requerido, requiere que el término después del símbolo “+” exista en alguna parte de
un registro. Por ejemplo, la consulta de búsqueda “Smart + TV” buscará para todos los registros donde la palabra TV debe estar presente, y la palabra Smart
puede estar presente también.
Símbolo menos (-): El símbolo menos (-), conocido también como el operador de permitir, excluye los documentos que contienen el término después del
símbolo “-”. Por ejemplo, la consulta de búsqueda “Smart - TV” buscará para todos los registros donde la palabra Smart está presente, y la palabra TV no está
presente.
Agrupar: La búsqueda global de portal admite el uso de paréntesis para agrupar cláusulas para formar subconsultas. Puede ser muy útil si desea gestionar la lógica
booleana para una consulta. Por ejemplo, si desea buscar todos los registros donde aparece alguno de los términos "HD" o "Smart", pero la palabra TV siempre está
presente, la consulta puede escribirse como "(HD or Smart) AND TV" ( excluyendo las comillas).
IMPORTANT
La reconstrucción completa del índice es una operación muy costosa y no debe realizarse durante las horas pico de uso, ya que esto puede hacer que su portal pierda impulso.
4. En el cuadro de diálogo de personalización, vaya Componentes > Entidades > Caso en el panel de navegación de la izquierda.
5. Expanda Caso y selecciona Vistas.
6. Seleccione el vista Buscar portal de la lista y abren él en editor de la vista.
7. En la vista del editor, seleccione Ver propiedades.
8. Cambie el nombre de la vista según el requisito. Asegurarse de que el nuevo nombre no tenga el término “Portal Search".
NOTE
En este ejemplo, vamos realizar cambios en un nivel no administrado editando directamente la vista. También puede realizar esto a través de una solución administrada.
Deberá eliminar Help Desk:incident; del valor de esta configuración de sitio para que la entidad Incidente se elimine de los filtros que se encuentran junto al cuadro de
búsqueda en la interfaz de usuario.
El valor modificado será:
Content:adx_webpage,adx_webfile;Blogs:adx_blog,adx_blogpost;Forums:adx_communityforum,adx_communityforumthread,adx_communityforumpost;Ideas:adx_ideaforum,adx_idea;Knowledge:knowledgearticle
Una vez que se modifique la configuración de este sitio, la entidad Caso se eliminará de los filtros en la página de búsqueda, así como en el encabezado.
Usar búsqueda por facetas para mejorar la búsqueda
del portal
25/11/2019 • 3 minutes to read • Edit Online
Puede realizar búsquedas en el contenido del portal mediante los filtros basados en características del contenido.
Los filtros implementados por la búsqueda del portal por facetas permiten a los clientes buscar el contenido
deseado más rápidamente que una búsqueda tradicional.
Puede usar las notas adjuntas para incluir archivos descargables en artículos de Knowledge Base. También
puede usar los archivos web para crear una página Preguntas más frecuentes con el contenido descargable.
Puede configurar el portal para permitir que los usuarios del mismo busquen en el contenido de los datos
adjuntos de artículos de Knowledge Base. Esto ayuda a los usuarios a encontrar la información que están
buscando.
En artículos de Knowledge Base, se indexa cualquier nota adjunta con el prefijo definido. En archivos web, se
indexan las últimos notas adjuntas.
Para indexar los datos adjuntos, debe crear las siguientes configuraciones del sitio y establecer su valor en
Verdadero:
NOTE
Solo los archivos que se adjuntan a los artículos de conocimientos pueden ser buscados. Los archivos que se adjuntan a
los archivos web no se pueden buscar.
Cuando busca un período, los resultados de la búsqueda también incluyen los datos adjuntos. Si el término de
búsqueda coincide con los datos adjuntos de las notas, también se proporciona el vínculo al artículo
correspondiente de Knowledge Base. Para ver los datos adjuntos descargables, seleccione Descargas en Tipo
de registro en el panel izquierdo. Para modificar la etiqueta Descargas, edite el fragmento de código de
contenido Search/Facet/Downloads. De manera predeterminada, el valor se establece como Descargas.
NOTE
Para usar esta funcionalidad, debe habilitar la búsqueda por relevancia. Más información: Búsqueda por relevancia
Configuraciones de sitios
Debe agregar el valor \_logicalname:annotation~0.9^0.25 para la configuración Search/Query. Una vez
agregado, el valor debe ser el siguiente:
+(@Query) \_title:(@Query) \_logicalname:knowledgearticle~0.9^0.3 \_logicalname:annotation~0.9^0.25
\_logicalname:adx_webpage~0.9^0.2 -\_logicalname:adx_webfile~0.9 adx_partialurl:(@Query)
\_logicalname:adx_blogpost~0.9^0.1 -\_logicalname:adx_communityforumthread~0.9
Para configurar las facetas para anotaciones de grupo asociadas a los artículos de Knowledge Base y los archivos
web en una única faceta, edite el nombre de la configuración del sitio Search/RecordTypeFacetsEntities y anexar
;Downloads:annotation,adx_webfile a su valor.
Para permitir que los datos adjuntos asociados a los artículos de conocimientos aparezcan en el portal y los
resultados de la búsqueda, edite la configuración del sitio KnowledgeManagement/DisplayNotes y
establezca su valor en Verdadero. La configuración del sitio KnowledgeManagement/NotesFilter contiene
un valor de prefijo que no debe prefijarse al campo de texto de notas en notas; en el portal solo aparecerá las
notas con el valor de prefijo especificado. De forma predeterminada, el valor es *WEB*, pero puede cambiarlo a
través de la configuración del sitio.
Para habilitar la indexación de los datos adjuntos de los archivos asociados a las notas, cree la configuración del
sitio Search/IndexNotesAttachments y establezca su valor en Verdadero.
Habilitar la compatibilidad con el portal de varios
idiomas
25/11/2019 • 7 minutes to read • Edit Online
La empresa no se limita a una sola región o a un idioma. Un solo portal puede mostrar contenido en varios
idiomas para llegar a clientes de todo el mundo. El contenido del portal se puede traducir en varios idiomas
mientras se mantiene una sola jerarquía de contenido.
Idiomas admitidos
En la tabla siguiente se muestran todos los idiomas disponibles actualmente. Esta lista se puede encontrar yendo a
portales > contenido > lenguajes del portal. El nombre para mostrar del portal de un idioma se puede cambiar
después de seleccionar el idioma que se va a cambiar desde esta página. Tenga en cuenta que la lista ahora incluye
idiomas de Asia Oriental (japonés, Chino y Coreano).
NOTE
Los campos de configuración de la Página principal de una página de contenido no se heredan de las páginas de contenido
existentes. Solo se usan en la creación de nuevas páginas de contenido. Debe actualizar las configuraciones de página de
contenido individualmente.
Los artículos de conocimientos solo se mostrarán si se han traducido al idioma en el que el usuario establece el
portal que se va a mostrar en. Sin embargo, los foros y blogs permiten un mayor control sobre cómo se presentan
en otros idiomas. Especificar un idioma para un foro o blog es opcional. Si no se especifica un idioma, el foro o el
blog se mostrarán en el idioma principal de la organización. Si desea que el foro o el blog sean específicos de un
idioma, debe crearlos y asignarles el idioma.
Los conjuntos de vínculos Web son los vínculos de navegación en la parte superior del portal. Al navegar a
portales > contenido > conjuntos de vínculos Web puede controlar cómo se traduce este contenido. Cuando
un idioma está activo para el portal, se crea un nuevo conjunto de vínculos para el idioma recién activado.
Crear y administrar archivos web
25/11/2019 • 9 minutes to read • Edit Online
Un archivo web representa un archivo descargable en un sitio web del portal que se usa para almacenar imágenes,
documentos y cualquier otro tipo de archivo.
Para almacenar el contenido real de un archivo determinado, los portales usan la característica de datos adjuntos
de las notas asociadas a un registro de archivo web. El archivo adjunto de la más nueva nota asociada al archivo
web se usa como el contenido del archivo. Por lo tanto, el tamaño del contenido del archivo web que pueden
admitir los portales está determinado por el tamaño de los datos adjuntos de nota que admita la instalación de
Dynamics 365.
NOMBRE DESCRIPCIÓN
Dirección URL parcial El segmento de dirección URL utilizado para crear la dirección
URL de portal de esta página.
La página raíz única (principal) del sitio web, la página única
que no tiene ninguna página primaria asociada, debe tener un
valor de URL parcial de /.
Se usan valores de dirección URL parciales como segmentos
de la dirección URL. Por tanto, no deben contener caracteres
no válidos para dirección URL, como ?, #, !, %. Dado que las
direcciones URL de Adxstudio Portals se generan combinando
valores de dirección URL parciales con barras diagonales (/),
tampoco deben contener normalmente las barras diagonales.
La práctica recomendada sería restringir valores parciales de la
dirección URL a letras, números y guiones o caracteres de
subrayado. Por ejemplo: press-release.pdf, Site_Header.png.
Mostrar fecha Este atributo es un valor de fecha y hora que puede usar una
plantilla, básicamente con fines de mostrar. No tiene ningún
implicación funcional, pero puede resultar útil para elementos
como, por ejemplo, especificar manualmente una fecha de
publicación en un documento de comunicado de prensa.
Fecha de publicación Controla una fecha y una hora después de las cuales el archivo
será visible en el portal. Si la fecha y hora actuales son
anteriores a esta fecha, este archivo no estará visible. (La
excepción a esto es que los a los usuarios con los permisos de
administración de contenido se les puede conceder la
capacidad de usar el modo de vista previa, que permite que a
estos usuarios ver (obtener una vista previa) contenido no
publicado). Esto resulta útil para controlar la emisión de
contenido urgente, como noticias o comunicados de prensa.
Fecha de expiración Controla una fecha y una hora antes de las cuales el archivo
será visible en el portal. Si la fecha y hora actuales son
posteriores a esta fecha, este archivo no estará visible. (La
excepción a esto es que los a los usuarios con los permisos de
administración de contenido se les puede conceder la
capacidad de usar el modo de vista previa, que permite que a
estos usuarios ver (obtener una vista previa) contenido
expirado.)
Oculto para el mapa del sitio Controla si el archivo que está visible tiene parte del mapa del
sitio del portal. Si este valor está activado, el archivo seguirá
estando disponible en el sitio en su dirección URL, y se puede
vincular con él, pero los elementos de navegación estándar
(menús, etc.) no incluirán la página.
NOMBRE DESCRIPCIÓN
Habilitar seguimiento Si está activada, cada solicitud para este archivo web se
registrará. Un registro de archivo web se creará con la fecha y
hora, dirección IP, y el registro de contacto si se autentica el
usuario.
Administrar vínculos web
25/11/2019 • 9 minutes to read • Edit Online
Un vínculo web puede vincular cualquier dirección URL o puede vincularse a otra página web dentro del mismo
sitio web. Cuando un vínculo web se establece con una página web, la seguridad y el estado de publicación de la
página web se aplicará también al vínculo web. Los vínculos web siempre forman parte de un conjunto de
vínculos web. Un conjunto de vínculos web es un grupo de vínculos como una navegación principal o un grupo de
vínculos de pie de página. Los conjuntos de vínculos web permiten que los vínculos internos, independientemente
de su ubicación en el mapa del sitio, y externos se agrupen y ordenen.
9. Para editar un vínculo web existente, seleccione el nombre del vínculo web.
10. Especifique los valores adecuados en los campos.
11. Guarde los cambios.
NOMBRE DESCRIPCIÓN
NOMBRE DESCRIPCIÓN
Nombre El título para el vínculo web. Esta valor se usará como título
del vínculo web en la mayoría de las plantillas. Este campo es
obligatorio.
Conjunto de vínculos web El conjunto de vínculos web al que pertenece la entidad. Este
campo es obligatorio.
Página Una página web opcional del mismo sitio web con el que
establecer un vínculo.
Dirección URL externa Una dirección URL opcional con la que vincular. Esta
configuración puede ser cualquier dirección URL con formato
correcto.
Orden de visualización Un valor de entero que indica el orden en que el vínculo web
se colocará en relación con otros vínculos web en el mismo
conjunto de vínculos web.
Mostrar vínculos secundarios de página En una plantilla que admite conjuntos de vínculos web de
varios niveles, genere vínculos secundarios para esta entidad
usando el proveedor del mapa del sitio del portal. Tenga en
cuenta que esta opción solo es válida para los vínculos web
que hacen referencia a páginas internas, no a direcciones URL
externas.
Deshabilitar validación de página Indica si la seguridad de una página web vinculada se aplicará
también al vínculo web.
Mostrar solo imagen Indica que la plantilla solo debe representar un vínculo de
imagen para este vínculo web, en lugar de la imagen y el
nombre del vínculo juntos.
NOTE
Cuando un vínculo web se establece con una página web, la seguridad y el estado de publicación de la página web se
aplicará también al vínculo web. Esta validación se puede deshabilitar con la opción Deshabilitar validación de página.
A los usuarios con los permisos de administración de contenido se les puede conceder la capacidad de usar el
modo de vista previa, que permite que a estos usuarios ver (obtener una vista previa) contenido sin publicar.
Vea también
Personalizar contenido utilizando fragmentos de contenido
Crear y administrar plantillas de página
25/11/2019 • 6 minutes to read • Edit Online
Mientras que las páginas web son nodos en el mapa de sitio del portal que representan el contenido accesible a los
usuarios del portal, las plantillas de página representan las páginas .aspx reales que proporcionan una forma de
conservar un aspecto coherente en todo el sitio web. Las plantillas de página se crean mediante páginas ASP.NET,
páginas maestras, hojas de estilo en cascada (CSS ), controles de usuario y controles de servidor.
Al crear una nueva página web para el sitio, ya sea mediante la publicación delantera o la interfaz del portal, debe
seleccionar una plantilla de página que presentará el contenido de la página a los usuarios del portal.
Es posible que la diferencia entre las páginas web y las plantillas de página se entienda mejor como la diferencia
entre la dirección URL exacta y una página .aspx real que funciona como modelo para la visualización de contenido.
Cada página web representa una dirección URL específica en su sitio, a la que los usuarios pueden dirigirse.
Cuando un usuario vaya a una dirección URL, se mostrará el contenido asociado con esa dirección URL. Sin
embargo, una página web no contiene información sobre cómo se muestra ese contenido. Esto lo determina la
plantilla de página, que es la página .aspx real que genera el HTML que visualiza el usuario.
Al crear una nueva página web, debe elegir una plantilla de página de una lista de plantillas existentes. Se incluyen
varias plantillas de página con cada uno de los portales de inicio. Cuando se usan estos portales como base para el
propio sitio web, estas plantillas serán útiles como medio básico para demostrar la funcionalidad del portal. Sin
embargo, será necesario desarrollador del portal para cambiar significativamente el diseño de estas páginas. En la
mayoría de los casos, la plantilla de página "Página" será la plantilla de página que utiliza para fines generales: una
página web que utiliza esta plantilla mostrará el contenido, así como una lista de páginas secundarias presentadas
como elementos de navegación.
Dirección URL de reescritura Ruta de la página .aspx ASP.NET física (u otro recurso, como
.ashx), que mostrará el contenido.
Este campo se muestra solo si se selecciona Dirección URL de
reescritura en la lista Tipo.
Plantilla web Una referencia a una plantilla web que se usará para mostrar
esta plantilla.
El campo se muestra solo si se selecciona Plantilla web en la
lista Tipo.
Los fragmentos de contenido son pequeñas partes de contenido editable que pueden colocar un desarrollador en
una plantilla de página, permitiendo que el contenido personalizable rellene cualquier parte del diseño de una
página fácilmente. Los desarrolladores colocan controles de fragmentos, que son responsables de representar el
contenido de los fragmentos en el portal con conexión a la web, en una plantilla de página.
Modificar fragmentos
Los fragmentos se pueden editar a través de la aplicación Administración del portal. La característica principal del
fragmento es el hecho de que puede resumir un poco de contenido (aparte del texto principal de la página) y
modificarlo por separado permitiendo esencialmente que cualquier contenido estático del sitio sea
completamente administrado y editable.
1. Abra la aplicación Administración del portal.
2. Vaya a Portales > Fragmentos de contenido.
3. Para crear un nuevo fragmento, seleccione Nuevo.
4. Para editar un fragmento existente, seleccione un Fragmento de contenido existente en la cuadrícula.
Escriba valores para los campos siguientes:
NOMBRE DESCRIPCIÓN
Los clientes con frecuencia desean tener una dirección URL simple que redirija a una página más profunda del sitio
o desean permitir que una dirección URL heredada se use con el sitio y automáticamente redirija a una nueva
dirección URL del sitio. Los redireccionamientos de página permiten a un autor de contenido especificar una
dirección URL que cuando se solicita redirigirá de forma continua o temporal a una página web o un archivo web
específicos. Estas direcciones URL de redireccionameinto se administran por separado del contenido de la página,
por lo que no tienen que ajustarse directamente a la jerarquía web.
NOMBRE DESCRIPCIÓN
Sitio web Sitio web al que está asociado el redireccionamiento. (El sitio
desde el que se redirecciona al usuario.)
URL de entrada La dirección URL parcial que debe ser redireccionada. (La
página desde la que se redirecciona al usuario.)
4. Después de completar los campos obligatorios y especificar un valor para por lo menos uno de los campos
Dirección URL, Página web o Marcador de sitio, seleccione Guardar.
Use el redireccionamiento
Cuando se solicite la dirección URL de entrada, el explorador se redirige a la dirección URL de la página web de
destino para la entrada de redireccionamientos que coincidan.
Por ejemplo, para un valor de URL de entrada de cs-survey con una página web de destino establecida en la
página Encuesta de soporte técnico a clientes, la siguiente solicitud:
https://customerportal.contoso.com/cs-survey
produce en el explorador la solicitud de la siguiente dirección URL:
https://customerportal.contoso.com/surveys/customer-service-survey/
Colocar los nodos secundarios mediante accesos
directos para portales
25/11/2019 • 7 minutes to read • Edit Online
Utilice accesos directos para colocar nodos secundarios en el mapa del sitio del portal que simplemente apuntan a
otros nodos que existen en el mapa del sitio, o a direcciones URL externas al portal. Es decir, páginas web, archivos
web, eventos, y foros se pueden considerar nodos “sólidos” del mapa del sitio del portal: se agregan al mapa del
sitio y cuando se navega a ellos, se ve el contenido real de los nodos directamente. Los accesos directos, por otra
parte, se pueden considerar nodos 'intangibles': también se agregan al mapa del sitio (a diferencia de vínculos web,
que no), pero cuando usted se desplaza a ellos, ve el contenido del nodo "sólido" de destino al que apunta el acceso
directo, y ese contenido es representado por la plantilla de página para ese nodo.
Dirección URL externa Destino del acceso directo de una dirección URL de un recurso
fuera de la organización.
Página web Destino del acceso directo de una página web interna.
Orden de visualización El orden editable del lado frontal en el que aparecerá el acceso
directo en el mapa del sitio y las vistas de navegación
secundaria, en relación con otros nodos del mapa del sitio.
Deshabilitar validación del destino del acceso directo Si está desactivada, la seguridad del acceso directo se basará
en el destino. De lo contrario, se basará en el elemento
principal. Para obtener más información, vea Seguridad a
continuación.
NOTE
Un acceso directo solo necesita tener uno de los campos "destino" (Dirección URL externa, Página web, Encuesta, Archivo
web, Evento, Foro) asignado a un valor, y un acceso directo solo tendrá un destino. Por ejemplo, un acceso directo no apunta
a una página web y una encuesta, o una dirección URL externa y un archivo web. Si hay más de un atributo de destino para
un acceso directo, el acceso directo sólo tomará primero, omitiendo los demás. El orden de prioridad para el que se elegirá el
destino se refleja en el formulario de acceso directo principal. Por tanto, primero comprobará si hay una dirección URL externa
para el acceso directo, y si existe, el destino del acceso directo será la dirección URL externa y se ignorarán todos los demás
atributos de destino. Si no hay una dirección URL externa, el acceso directo comprobará la página web, luego la encuesta, el
archivo web, el evento y, por último el foro.
En Common Data Service, el tipo de datos Fecha y hora se usa en muchos campos de entidad del sistema. Por
ejemplo, puede mostrar cuándo se usó por última vez una cuenta en una campaña de marketing o mostrar la fecha
y la hora en que un caso se remitió a una instancia superior. También puede crear entidades personalizadas que
incluyan los campos de fecha y hora. En función de lo que representa el campo, puede seleccionar uno de los
comportamientos siguientes de campo para formularios y cuadrículas de portal:
Local del usuario: Los valores de campo se muestran en la hora local del usuario y reciben formato de
acuerdo su idioma/configuración regional de portal actuales. Los valores se almacenan en formato de la
zona de UTC en Common Data Service. Cuando un usuario en Common Data Service (u otro portal de
usuario) de una zona horaria distinta ve dicho valor, lo ve convertido a su propia zona horaria.
Solo fecha: Los valores de campo contienen solo la fecha y se muestran sin la conversión de la zona
horaria. La parte de hora del valor siempre es 12:00 AM. El valor introducido por un usuario lo ven igual los
demás usuarios de zonas horarias diferentes (por ejemplos, fechas de nacimiento).
NOTE
El comportamiento de este campo no se puede cambiar después de que se ha guardado.
Independiente de la zona horaria: Los valores de campo contienen sólo la fecha y la hora y se muestran
sin la conversión de la zona horaria. El valor introducido por un usuario lo ven igual los demás usuarios de
zonas horarias diferentes.
NOTE
El comportamiento de este campo no se puede cambiar después de que se ha guardado.
También puede reemplazar el formato de fecha y hora predeterminado que se va a usar en los portales creando los
siguientes valores del sitio:
DateTime/DateFormat: el formato de fecha empleado en el portal.
DateTime/TimeFormat: el formato de hora empleado en el portal.
DateTime/DateTimeFormat: El formato de la fecha y hora completo usado en el portal.
De forma predeterminada, el portal usa los formatos estándar de fecha y hora de la configuración del idioma de la
página web. Los formatos de fecha y hora aceptados se especifican aquí.
Agregar un gráfico creado en una aplicación modelo
basada en modelo para una página web en el portal
25/11/2019 • 4 minutes to read • Edit Online
Puede agregar un gráfico a una página web mediante una etiqueta de Liquid con nombre Gráfico. Puede agregar
la etiqueta de Liquid del gráfico en el campo Copiar en una página web o en el campo Origen en una Plantilla
web.
Por ejemplo, {% chart id:EE3C733D -5693-DE11-97D4-00155DA3B01E %}
También puede especificar el identificador de una vista (consulta guardada) para filtrar la consulta. Por ejemplo:
<!—Leads by Source – Open Leads -->
{% chart id:"EE3C733D -5693-DE11-97D4-00155DA3B01E" viewid:"00000000-0000-0000-00AA-
000010001006" %}
7. Pegue el valor de visualizationid en la declaración de la etiqueta de Liquid del gráfico para el parámetro del
identificador del gráfico, por ejemplo:
{% chart id:EE3C733D -5693-DE11-97D4-00155DA3B01E %}.
5. Pegue este id. en la declaración de la etiqueta de Liquid del gráfico para el parámetro viewid, por ejemplo:
<!—Leads by Source – Open Leads -->
{% chart id:"EE3C733D -5693-DE11-97D4-00155DA3B01E" viewid:"00000000-0000-0000-00AA-
000010001006" %}
Una configuración controlada por datos para permitir que los usuarios finales agreguen un formulario para
recopilar datos en el portal sin necesidad de que un desarrollador exponga el formulario en el portal, los
formularios de entidades se crean en Common Data Service y después se incluyen en páginas web en el portal
o se usan conjuntamente con subcuadrículas y listas de entidad para crear aplicaciones web completas. Más
información: Acerca de listas de entidades
Las páginas web asociadas al formulario de entidad se pueden ver al seleccionar el vínculo Páginas web
mostrado en los vínculos de navegación Relacionados en el menú de la izquierda.
Al crear o editar una página web, un formulario de entidad se puede especificar en el campo de búsqueda
proporcionado en el formulario de la página web.
Las distintas páginas maestras usadas por el portal contienen declaraciones del control de servidor de
EntityForm. Al representar la página web que contiene la plantilla de páginas de la Página
(~/Pages/Page.aspx) o una plantilla de páginas de Página completa (~/Pages/FullPage.aspx), los controles
determinarán si la búsqueda del formulario de entidad contiene un valor, en cuyo caso, se representará el
formulario.
Nombre del parámetro de cadena de consulta de id. de Un nombre de parámetro proporcionado en la cadena de
registro consulta de la dirección URL de la página web que
contienen este formulario de entidad.
Habilitar permisos de entidad Hará que el formulario respete permisos de entidad. El valor
predeterminado es false por razones de compatibilidad con
versiones anteriores. Si se establece como true, SE
REQUERIRÁN permisos explícitos para cualquier usuario que
desee obtener acceso al formulario.
Opciones de formulario
NOMBRE DESCRIPCIÓN
Mostrar captcha para usuarios autenticados Muestra captcha para usuarios autenticados.
Generar automáticamente pasos desde pestañas Indica que múltiples pestañas en un formulario de entidad
se mostrarán con cada pestaña como paso secuencial que
comienza con la primera pestaña y continúa hasta recorrer
todas las pestañas y tras el envío final se inserta un registro.
De forma predeterminada no está seleccionado. El valor
predeterminado indica que sólo un formulario o pestaña
debe ser representado para el paso actual. Si el Nombre de
pestaña no se especifica, aparecerá la primera pestaña.
Representar recursos web insertados Elimina el iframe que abarca un recurso web en un
formulario de entidad .
Mostrar campos no compatibles Todos los campos son compatibles actualmente. Esto se
reserva para los cambios potenciales que Common Data
Service pueda hacer en los tipos de campo.
Establecer campos recomendados como obligatorios Hace que sean obligatorios todos los atributos que tengan
el nivel de requisito del campo establecido en
'Recomendado por la empresa'.
Hacer que todos los campos sean obligatorios Hace que sean obligatorios todos los campos
independientemente del nivel de requisito del campo.
Clase CSS de resumen de validación Nombre de clase CSS asignado el resumen de validación. El
valor predeterminado es 'validation-summary alert alert-
error alert-block'
Habilitar vínculos de resumen de validación Un valor booleano de true o false de que indica si los
vínculos de delimitador deben representarse en el resumen
de validación para desplazarse al campo que contiene un
error. El valor predeterminado es true.
Texto del vínculo de resumen de validación La etiqueta asignada a los vínculos de resumen de
validación. El valor predeterminado es 'haga clic aquí'.
Ocultar formulario en caso de éxito Requiere que En caso de éxito se establezca como Mostrar
mensaje de correcto. Cuando se selecciona, el formulario
está oculto tras el envío correcto del formulario.
Anexar cadena de consulta existente Requiere establecer En caso de éxito como Redirigir. Cuando
seleccionada esta opción, los parámetros de cadena de
consulta existente se agregarán a la dirección URL de
destino antes del redireccionamiento.
Anexar id. de registro a la cadena de consulta Requiere establecer En caso de éxito como Redirigir. Cuando
seleccionada esta opción, el Id. del registro creado se anexa
a cadena de consulta de la dirección URL a la que se está
realizando el redireccionamiento.
Nombre del parámetro de cadena de consulta de id. de Requiere establecer En caso de éxito como Redirigir. El
registro nombre del parámetro Id. de la cadena de consulta de la
dirección URL a la que se está realizando el
redireccionamiento.
Anexar cadena de consulta personalizada Requiere establecer En caso de éxito como Redirigir. Una
cadena personalizada que se puede anexar a la cadena de
consulta existente de la dirección URL de
redireccionamiento.
Anexar valor de atributo a la cadena de consulta: nombre Requiere establecer En caso de éxito como Redirigir. Un
de parámetro nombre para dar al parámetro que se correlaciona con el
valor de atributo de la entidad de destino que se anexa a
cadena de consulta de la dirección URL de
redireccionamiento.
Anexar valor de atributo a la cadena de consulta: nombre Requiere establecer En caso de éxito como Redirigir. Un
lógico de atributo nombre lógico de un atributo en la entidad de destino para
obtener el valor que se anexa a cadena de consulta de la
dirección URL de redireccionamiento.
NOMBRE DESCRIPCIÓN
Configuración adicional
NOMBRE DESCRIPCIÓN
Asociar usuario actual del portal Indica que el registro del usuario que ha iniciado sesión
actualmente se debe asociar al registro de la entidad de
destino.
Atributo de búsqueda de usuarios del portal de la entidad El nombre lógico del atributo de la entidad de destino que
de destino almacena el usuario del portal.
Adjuntar archivo Active esta opción para que el formulario incluya un control
de carga de archivos en la parte inferior del formulario para
permitir adjuntar un archivo al registro.
Permitir varios archivos Valor booleano que indica si el usuario puede cargar más de
un archivo.
Obligatorio adjuntar archivo Hace que avancen los datos adjuntos de un archivo
requerido.
Tamaño máximo de archivo (en kilobytes) Fuerza la validación en el tamaño máximo permitido del
archivo cargado.
Referencia de entidad
Los siguientes parámetros pertenecen al establecimiento de una referencia de entidad al guardar el
formulario.
Esto proporciona una forma de asociar el registro actual que crea o actualiza el formulario con otro registro de
destino. Esto es útil si tiene varios pasos con tipos de entidad múltiple y desea relacionar los registros
resultantes o si se pasa a la página una cadena de consulta de un identificador de registro que desea asociar.
Por ejemplo tenemos una página de trabajo que incluye registros de trabajo, cada uno con un vínculo a una
solicitud del trabajo que contiene el identificador del registro de trabajo al formulario de solicitud de forma
que cuando se crea la solicitud, el registro de trabajo se asocia con el registro.
NOMBRE DESCRIPCIÓN
Establecer referencia de entidad al guardar Sí o No. Un valor de sí indica que una referencia de entidad
debe asignarse al guardar el formulario, en caso contrario
no se establecerá ninguna.
Nombre lógico del atributo de búsqueda de destinos Nombre lógico del atributo de búsqueda en la entidad de
destino que se crea o actualiza.
NOMBRE DESCRIPCIÓN
Paso de entidad de referencia El registro del paso del formulario web de un paso anterior
para recuperar la entidad creada o modificada en dicho paso
para asociarlo con el registro de este paso actual.
La cadena de consulta es la clave principal Sí indica que el valor de cadena de consulta es el valor de
clave principal. No indica que el valor de cadena de consulta
es un tipo de atributo distinto de la clave principal.
Nombre lógico del atributo de consulta Nombre lógico del atributo para consultar el registro.
Mostrar detalles de solo lectura Indica que un formulario debe representarse en la parte
superior de la página que muestra información de solo
lectura referente al registro de referencia. Requiere un
nombre de formulario.
NOTE
Se recomienda crear un flujo de trabajo en lugar de agregar un botón Activar o Desactivar para las
entidades listas para usar después de definir valores de estado y código de estado específico que necesitan para sus
procesos de negocio. Por ejemplo, incidente (opciones de estado), oportunidad ( opciones de estado), derechos (opciones
de estado).
Vea también
Configurar un portal
Propiedades del formulario web para portales
Pasos de formulario web para portales
Metadatos de formularios web para portales
Configuración de la subcuadrícula de formularios web para portales
Configuración de notas para formularios de entidad y formularios web en portales
Acerca de listas de entidades
25/11/2019 • 67 minutes to read • Edit Online
Una lista de entidades es una configuración basada en datos que usa para agregar una página web que
representará una lista de registros sin necesidad de que un programador muestre la cuadrícula en el portal. Al
usar listas de entidades, puede exponer registros para mostrar en portales.
La cuadrícula admite la ordenación y se paginará si el número de registros es mayor que el tamaño de página
especificado. Si la página web para la vista de detalles se ha especificado, cada registro contendrá un vínculo a
la página y el identificador del registro se anexará a la cadena de consulta junto al nombre de parámetro de la
cadena de consulta de Id. La lista de entidades también admite varias vistas. Si se ha especificado más de una
vista, se representará una lista desplegable para permitir que el usuario cambie en las distintas vistas.
Los datos también se pueden filtrar por el usuario del portal actual, la cuenta del cliente principal del usuario del
portal actual y el sitio web del portal actual. Si existe un valor para las condiciones de filtro Atributo de usuario
del portal y Atributo de cuenta, el portal representará una lista desplegable para permitir que el usuario vea sus
propios datos (Mis) o los datos de su cuenta de cliente principal.
NOTE
Una lista de entidades debe estar asociada con una página web para un determinado sitio web para que la lista sea
visible en el sitio.
El conjunto de opciones de selección múltiple no es compatible en listas de entidades.
Las páginas web asociadas a la lista de entidades se pueden ver al seleccionar el vínculo Páginas web mostrado
en los vínculos de navegación Relacionados en el menú de la izquierda. Al crear la lista de entidades, el primer
paso es elegir la entidad para la que desea representar una lista del portal. Después elegirá una o varias vistas de
aplicación basada en modelo para representar.
Al crear o editar una página web, puede especificar una lista de entidades en el campo de búsqueda
proporcionado en el formulario de la página web. La plantilla de página será normalmente la plantilla de "página",
pero puede suele ser una de las otras plantillas diseñadas para contenido, ya que las plantillas maestras contienen
la lógica necesaria para determinar si se debe representar una lista de entidades.
Página web para vista de detalles Una página web opcional que se puede vincular para cada
registro. El nombre de parámetro de cadena de consulta de id.
y el identificador de registro se anexarán a la cadena de
consulta de la dirección URL de esta página web.
Etiqueta del botón Detalles El texto que aparece para el botón de vista de detalles si se ha
especificado la página web para la vista de detalles. Valor
predeterminado: Ver detalles
Nota: Para cada paquete de idioma instalado y activado para
la organización del entorno de Common Data Service, un
campo estará disponible para especificar el mensaje en el
idioma asociado.
Página web para crear Una página web opcional que será el destino del botón Crear.
Etiqueta del botón Crear El texto que aparece para el botón Crear si se ha especificado
Página web para crear. Valor predeterminado: Crear
Nota: Para cada paquete de idioma instalado y activado para
la organización del entorno de Common Data Service, un
campo estará disponible para especificar el mensaje en el
idioma asociado.
Atributo de usuario del portal Un atributo de búsqueda opcional en la entidad principal que
representa el registro de usuario del portal, contacto o
usuario del sistema, al que se puede aplicar el identificador del
usuario actual para filtrar los datos representados en la lista.
Texto de marcador de posición de búsqueda Una cadena opcional usada como la etiqueta que se muestra
en el cuadro de texto en la carga inicial.
Texto de información sobre herramientas de búsqueda Una cadena opcional usada como información sobre
herramientas que se muestra cuando el usuario apunta al
cuadro de texto Buscar.
La lista obtiene sus datos de forma asincrónica y, cuando está competa, desencadena un evento loaded que su
JavaScript personalizado pueda escuchar y hacer algo con los elementos de la cuadrícula. El siguiente código es
un ejemplo trivial:
$(document).ready(function (){
$(".entitylist.entity-grid").on("loaded", function () {
$(this).children(".view-grid").find("tr").each(function (){
// do something with each row
$(this).css("background-color", "yellow");
});
});
});
Busque un campo de atributo particular y obtenga su valor para modificar posiblemente la representación del
valor. El siguiente código obtiene cada celda de la tabla que contenga el valor del atributo accountnumber .
Reemplace accountnumber con un atributo adecuado para la entidad y vista.
$(document).ready(function (){
$(".entitylist.entity-grid").on("loaded", function () {
$(this).children(".view-grid").find("td[data-attribute='accountnumber']").each(function (i, e){
var value = $(this).data(value);
// now that you have the value you can do something to the value
});
});
});
Atributos
NOMBRE DESCRIPCIÓN
Configuración básica
Acciones de vista Úselo para agregar botones de acción para las acciones que
son aplicables al conjunto de entidades y aparecerán encima
de la cuadrícula. Las acciones disponibles son:
Crear
Descargar
Seleccione una de estas opciones para mostrar un área de
configuración para dicha acción.
NOMBRE DESCRIPCIÓN
Acciones de elementos Úselo para agregar los botones de acción para las acciones
que son aplicables a un registro individual y aparecerán para
cada fila de la cuadrícula siempre que el privilegio apropiado
haya sido otorgado por permisos de entidad. Las acciones
disponibles generalmente son:
Detalles
Edición
Eliminar
Flujo de trabajo
Activar
Desactivar
Seleccione una de estas opciones para mostrar un área de
configuración para dicha acción. Consulte a continuación para
obtener más información acerca de cada acción. Además,
determinadas entidades tienen acciones específicas que están
disponibles para estos por entidad:
Calcular valor de oportunidad (oportunidad)
Cancelar acción del caso (incidente)
Cerrar (resolver) acción de caso (incidente)
Convierta oferta en pedido (oferta)
Convertir pedido en factura (salesorder)
Generar oferta a partir de oportunidad (oportunidad)
Perder acción de oportunidad (oportunidad)
Ganar acción de oportunidad (oportunidad)
Reabrir acción del caso (incidente)
Establecer oportunidad en espera (oportunidad)
Configuración avanzada
Diálogo de formulario de detalles Controla los valores del cuadro de diálogo que aparece
cuando un usuario activa la acción Detalles
Diálogo de editar formulario Controla los valores del cuadro de diálogo que aparece
cuando un usuario activa la acción Editar
Diálogo de crear formulario Controla los valores del cuadro de diálogo que aparece
cuando un usuario activa la acción Crear
Diálogo de eliminar Controla los valores del cuadro de diálogo que aparece
cuando un usuario activa la acción Eliminar
Diálogo de error Controla los valores del cuadro de diálogo que aparece
cuando se produce un error durante cualquier acción.
Clase CSS de cuadrícula Especifique una o varias clases CSS que se aplicarán al
elemento <table> HTML de la lista de entidades.
Estilo de ancho de columnas de cuadrícula Configura si los valores Ancho en Reemplazar atributos de
columna están especificados en Píxeles o Porcentaje.
NOMBRE DESCRIPCIÓN
Configuración básica
¿Se requiere confirmación? Determina si una confirmación pedirá al usuario que confirme
cuando se selecciona la acción.
Configuración avanzada
Información sobre herramientas de botón Reemplaza el texto de información sobre herramientas que
aparece cuando el usuario apunta al botón para esta acción
mostrada en la fila de la lista de entidades.
NOMBRE DESCRIPCIÓN
NOMBRE DESCRIPCIÓN
Texto del botón primario Reemplaza el HTML que aparece en el botón Principal
(Eliminar) del cuadro de diálogo.
Texto del botón Cerrar Reemplaza el HTML que aparece en el botón Cerrar (Cancelar)
del cuadro de diálogo.
Texto del lector de pantalla del botón Descartar Reemplaza el texto del lector de pantalla asociado al botón
Descartar del cuadro de diálogo.
Clase de CSS Especifique una clase o clases CSS que se aplicarán al cuadro
de diálogo resultante.
Clase CSS de título Especifique una clase o clases CSS que se aplicarán a la barra
de título del cuadro de diálogo resultante.
Clase CSS del botón primario Especifique una clase o clases CSS que se aplicarán al botón
Principal (Eliminar) del cuadro de diálogo.
Clase CSS del botón Cerrar Especifique una clase o clases CSS que se aplicarán al botón
Cerrar (Cancelar) del cuadro de diálogo.
NOMBRE DESCRIPCIÓN
Configuración básica
NOMBRE DESCRIPCIÓN
Configuración avanzada
Información sobre herramientas de botón Reemplaza el texto de información sobre herramientas que
aparece cuando el usuario apunta al botón de acción Crear.
NOMBRE DESCRIPCIÓN
Texto del lector de pantalla del botón Descartar Reemplaza el texto del lector de pantalla asociado al botón
Descartar del cuadro de diálogo.
Clase de CSS Especifique una clase o clases CSS que se aplicarán al cuadro
de diálogo resultante.
Clase CSS de título Especifique una clase o clases CSS que se aplicarán a la barra
de título del cuadro de diálogo resultante.
NOMBRE DESCRIPCIÓN
Configuración básica
Ninguna
Configuración avanzada
NOMBRE DESCRIPCIÓN
Información sobre herramientas de botón Reemplaza el texto de información sobre herramientas que
aparece cuando el usuario apunta al botón de acción
Descargar.
NOMBRE DESCRIPCIÓN
Configuración básica
Formulario de entidad Especifica el formulario de entidad que se usará para ver los
detalles de la entidad seleccionada. La lista desplegable
incluirá todos los formularios de entidad que estén
configurados para el tipo de entidad de la lista de entidades.
Nota: Si el tipo de entidad de la lista de entidades no tiene
formularios de entidad, la lista desplegable aparecerá vacía. Si
no se proporciona un formulario de entidad para la acción
Detalles, se ignorará y el botón no se representará en la lista
de entidades.
Configuración avanzada
Nombre del parámetro de cadena de consulta de id. de Especifica el nombre del parámetro de cadena de consulta que
registro se usará para seleccionar la entidad para ver en el formulario
de entidad seleccionado. Este debe coincidir con el valor de
Nombre del parámetro de cadena de consulta de id. de
registro de ese formulario de entidad. El valor predeterminado
de este campo, aquí y en la configuración del formulario de
entidad, es id.
Información sobre herramientas de botón Reemplaza el texto de información sobre herramientas que
aparece cuando el usuario apunta al botón para esta acción
mostrada en la fila de la lista de entidades.
NOMBRE DESCRIPCIÓN
Texto del lector de pantalla del botón Descartar Reemplaza el texto del lector de pantalla asociado al botón
Descartar del cuadro de diálogo.
NOMBRE DESCRIPCIÓN
Clase de CSS Especifique una clase o clases CSS que se aplicarán al cuadro
de diálogo resultante.
Clase CSS de título Especifique una clase o clases CSS que se aplicarán a la barra
de título del cuadro de diálogo resultante.
NOMBRE DESCRIPCIÓN
Configuración básica
Configuración avanzada
Nombre del parámetro de cadena de consulta de id. de Especifica el nombre del parámetro de cadena de consulta que
registro se usará para seleccionar la entidad para editar en el
formulario de entidad seleccionado. Este debe coincidir con el
valor de Nombre del parámetro de cadena de consulta de id.
de registro de ese formulario de entidad. El valor
predeterminado de este campo, aquí y en la configuración del
formulario de entidad, es id.
Información sobre herramientas de botón Reemplaza el texto de información sobre herramientas que
aparece cuando el usuario apunta al botón para esta acción
mostrada en la fila de la lista de entidades.
NOMBRE DESCRIPCIÓN
Texto del lector de pantalla del botón Descartar Reemplaza el texto del lector de pantalla asociado al botón
Descartar del cuadro de diálogo.
Clase de CSS Especifique una clase o clases CSS que se aplicarán al cuadro
de diálogo resultante.
Clase CSS de título Especifique una clase o clases CSS que se aplicarán a la barra
de título del cuadro de diálogo resultante.
NOMBRE DESCRIPCIÓN
Configuración básica
ninguna
Configuración avanzada
Información sobre herramientas de botón Reemplaza el texto de información sobre herramientas que
aparece cuando el usuario apunta al botón para esta acción
mostrada en la fila de la lista de entidades.
NOMBRE DESCRIPCIÓN
Texto del botón primario Reemplaza el HTML que aparece en el botón Principal
(Eliminar) del cuadro de diálogo.
Texto del botón Cerrar Reemplaza el HTML que aparece en el botón Cerrar (Cancelar)
del cuadro de diálogo.
NOMBRE DESCRIPCIÓN
Texto del lector de pantalla del botón Descartar Reemplaza el texto del lector de pantalla asociado al botón
Descartar del cuadro de diálogo.
Clase de CSS Especifique una clase o clases CSS que se aplicarán al cuadro
de diálogo resultante.
Clase CSS de título Especifique una clase o clases CSS que se aplicarán a la barra
de título del cuadro de diálogo resultante.
Clase CSS del botón primario Especifique una clase o clases CSS que se aplicarán al botón
Principal (Eliminar) del cuadro de diálogo.
Clase CSS del botón Cerrar Especifique una clase o clases CSS que se aplicarán al botón
Cerrar (Cancelar) del cuadro de diálogo.
NOMBRE DESCRIPCIÓN
Configuración básica
Configuración avanzada
Información sobre herramientas de botón Reemplaza el texto de información sobre herramientas que
aparece cuando el usuario apunta al botón para esta acción
mostrada en la fila de la lista de entidades.
Tipos de filtro
Conjunto de filtros de atributo Filtre la lista de entidades mediante una serie de casillas, cada
de las cuales intenta que su condición coincida con un
atributo específico de la entidad dada.
Conjunto de búsquedas Filtre la lista de entidades mediante una serie de casillas, cada
una de las cuales que representa una relación entre un
registro para la entidad dada y un registro para una entidad
relacionada.
Conjunto de filtros de intervalo Es similar al conjunto de filtros de atributo, salvo que cada
casilla puede representar dos condiciones en lugar de una
(por ejemplo, mayor o igual que 0 AND menor que 100).
TIPO DE FILTRO DESCRIPCIÓN
Conjunto de listas desplegables dinámicas Es similar a elegir un valor de una lista desplegable en un
conjunto de filtros de atributo. El Conjunto de listas
desplegables dinámicas no requiere que especifique las
opciones de lista desplegable por las que filtrar; en su lugar,
genera la lista completa de opciones cuando la lista de
entidades se carga.
Filtro de texto
El Filtro de texto agrega un cuadro de texto al área Filtro de listas de entidades que está ligado a un atributo de
tipo entidad de la lista de entidades. Cuando un usuario aplica el filtro, la lista de entidades muestra solo aquellos
registros cuyo atributo seleccionado contenga el valor.
Para agregar un filtro de texto, seleccione + Filtro de texto.
NOMBRE DESCRIPCIÓN
Nombre para mostrar Reemplace la etiqueta para el filtro cuando se muestre la lista
de entidades. De forma predeterminada, esto se establecerá
automáticamente con el nombre del atributo seleccionado.
NOMBRE DESCRIPCIÓN
NOMBRE DESCRIPCIÓN
Conjunto de búsquedas
El Conjunto de búsquedas agrega una serie de opciones por las que filtrar la lista de entidades, ligadas a una
entidad relacionada con el tipo de la entidad seleccionada de la lista de entidades. Cuando un usuario aplica el
filtro, la lista de entidades muestra solo aquellos registros que coinciden exactamente con al menos uno de los
registros seleccionados.
El Conjunto de búsquedas usa los siguientes atributos:
NOMBRE DESCRIPCIÓN
NOMBRE DESCRIPCIÓN
NOMBRE DESCRIPCIÓN
NOMBRE DESCRIPCIÓN
NOMBRE DESCRIPCIÓN
Filtrar búsqueda por relación Especifica una relación entre la entidad especificada por el
campo Relación y el usuario que inició sesión. Si la entidad
especificada por campo Relación también tiene una relación
con un contacto, puede reducir la lista de opciones de filtro a
los usuarios relacionados con el usuario que inició sesión.
Filtro FetchXML
El filtro de intervalo puede crear un filtro de cuadro de texto básico como el filtro de texto, o un conjunto de
opciones como otros tipos de filtro. Permite crear manualmente prácticamente cualquier tipo de filtro para la
entidad de entidades mediante FetchXML.
NOMBRE DESCRIPCIÓN
NOTE
Esta opción no se admite en el entorno de la nube soberana alemana. La sección de la vista de mapa no estará visible en
este entorno.
NOTE
La fuente OData que se publica es anónima y no tiene comprobaciones de autorización; por tanto, es importante no
habilitar las fuentes OData para los datos que son inadecuados para el acceso anónimo al portal.
Vea también
Configurar un portal
Redireccionar a una nueva dirección URL en un portal
Definir propiedades de formulario web para portales
25/11/2019 • 8 minutes to read • Edit Online
El formulario web contiene relaciones con páginas web y un paso de inicio para controlar la inicialización del
formulario dentro del portal. La relación con la página web permite la recuperación dinámica de la definición de
formulario para un determinado nodo de página en el sitio web.
Las otras opciones en el propio registro del formulario web controlan las preferencias de nivel superior para el
proceso de diversos pasos en su conjunto como, por ejemplo, si desea que se muestre una barra de progreso.
Para ver formularios web existentes o crear nuevos formularios web, abra la aplicación Administración del portal y
vaya a Portales > Formularios web.
NOTE
Un formulario web debe estar asociado a una página web de un determinado sitio web para que el formulario sea visible
desde el sitio.
Al crear o editar una página web desde la aplicación Administración del portal, un formulario web se puede
especificar en el campo de búsqueda proporcionado en el formulario Nueva página web.
NOMBRE DESCRIPCIÓN
Iniciar nueva sesión al cargar Si se selecciona Sí, se indica que si el usuario abre el
formulario en un explorador nuevo o una nueva pestaña o
cierra el explorador o la página y vuelve al paso anterior, se
iniciará una sesión completamente nueva en el formulario y se
reiniciará en el primer paso. En caso contrario, la sesión se
mantendrá y el usuario puede cerrar el explorador o la página
y reanudar más adelante exactamente donde lo dejó. Valor
predeterminado: No.
NOMBRE DESCRIPCIÓN
Se permiten varios registros por usuario Seleccione Sí para indicar que se permite a un usuario crear
más de un envío. Esto ayuda al formulario a determinar qué
hacer cuando un usuario revisita un formulario. Valor
predeterminado: Sí.
Código de estado de editar expirado Si el valor entero del código de estado de la entidad de
destino se combina con la razón para el estado, indica cuándo
un registro existente ya no se puede editar.
Razón para el estado de editar expirado Si el valor entero del código de estado de la entidad de
destino se combina con el código de estado, indica que
cuando un registro existente tiene estos valores, el registro no
debe editarse más—; es decir, cuando un registro se actualiza
como completo.
Mensaje de editar expirado El mensaje que se muestra cuando el código de estado del
registro existente y la razón para el estado coinciden con los
valores especificados. Para cada paquete de idioma instalado y
activado para la organización un campo estará disponible para
especificar el mensaje en el idioma asociado. Mensaje
predeterminado: "Ya ha completado un envío. Gracias."
Anteponer número de paso al título de paso Active esta opción para agregar el número del paso al
principio del título del paso. El valor predeterminado es sin
activar.
Numérico
Barra de progreso
Mostrar advertencia de guardar cambios al cerrar Seleccione esta opción para mostrar un mensaje de
advertencia si el usuario ha realizado cambios en los campos e
intenta volver a cargar la página, cerrar el explorador, hacer
clic en el botón Atrás del explorador, o hacer clic en el botón
anterior en un formulario de varios pasos.
Mensaje de advertencia de guardar cambios Para cada paquete de idioma instalado y activado para la
organización un campo estará disponible para especificar el
mensaje en el idioma asociado. Si no se especifica un mensaje,
se utilizará el valor predeterminado del explorador.
Ejemplo:
NOTE
Firefox no ofrece la posibilidad de especificar un mensaje personalizado.
NOTE
La sección de ubicación geográfica no podrá verse en el entorno de la nube soberana alemana. Si un usuario ha habilitado la
ubicación geográfica con otro formulario, no se mostrarán durante la representación en portal.
Vea también
Configurar un portal
Definir formularios de entidad
Pasos de formulario web para portales
Metadatos de formularios web para portales
Configuración de la subcuadrícula de formularios web para portales
Configuración de notas para formularios web para portales
Definir pasos de formulario web para portales
25/11/2019 • 3 minutes to read • Edit Online
El paso de formulario web proporciona la lógica de flujo de la experiencia del usuario del formulario, como pasos
y rama condicional. También proporcionó detalles acerca de la representación de un formulario y
comportamiento adicional.
NOTE
Los formularios web mantienen el historial de los pasos que un usuario ha visitado en un objeto de una entidad Sesión de
formularios web. Si se han modificado los pasos de formulario web, los datos del historial creados previamente podrían estar
ahora desfasados. En el momento que se cambian los pasos, se recomienda eliminar todos los registros de Sesión de
formularios web para eliminar la falta de coincidencia entre la secuencia de pasos iniciado registrados en el historial y la
secuencia actual.
Cada formulario web se presentará en el portal en uno o varios pasos. Estos pasos comparten algunos
propiedades comunes, descritas a continuación. Cada paso contiene un puntero (una búsqueda) al siguiente paso,
con la excepción de los pasos de terminal. Los pasos de terminal no tienen una próxima vez y, por tanto, son el
último paso del formulario web (debido a ramas condicionales, puede haber múltiples pasos de terminal)
NOMBRE DESCRIPCIÓN
Paso siguiente El paso que seguirá el paso actual. Será en blanco para un
formulario de un solo paso.
Se permite mover anterior Indica si el usuario tiene una opción para desplazarse hasta el
paso anterior en un formulario web de varios pasos. El valor
predeterminado es true. Desactive para impedir que el
usuario pueda desplazarse al paso anterior.
Vea también
Configurar un portal
Definir entidad
Tipo de paso Cargar formulario/Cargar pestaña
Tipo del paso de redireccionamiento
Tipo de paso condicional
Agregar JavaScript personalizado
Definir un formulario de carga y un tipo de paso de
pestaña de carga
25/11/2019 • 18 minutes to read • Edit Online
Este tipo de paso permite que el paso del formulario web actúe como formulario de entidad en el proceso
general del formulario web. Carga un formulario con un conjunto de opciones similar disponible como un
formulario de entidad.
Configuración
NOMBRE DESCRIPCIÓN
Generar automáticamente pasos desde pestañas Activado indica que múltiples pestañas en un formulario de
entidad se mostrarán con cada pestaña como paso secuencial
que comienza con la primera pestaña y continúa hasta
recorrer todas las pestañas y tras el envío final se inserta un
registro. El comportamiento predeterminado es desactivado.
El valor desactivado indica que sólo un formulario o pestaña
debe ser representado para el paso actual. Si el Nombre de
pestaña no se especifica, aparecerá la primera pestaña.
NOMBRE DESCRIPCIÓN
Nombre del parámetro de cadena de consulta de id. de Un nombre de parámetro proporcionado en la cadena de
registro consulta de la dirección URL de la página web que contienen
este formulario de entidad.
Permitir creación si es nulo Un valor booleano opcional disponible cuando Tipo de origen
del registro es Registro asociado al usuario actual del portal.
Activado indica que si no existe el registro relacionado, se
permite que el usuario lo cree la primera vez, en caso
contrario se lanzará una excepción si el registro no existe aún,
porque el formulario necesita un registro con el que enlazar
datos.
Habilitar permisos de entidad Hará que el formulario respete permisos de entidad. El valor
predeterminado es false por razones de compatibilidad con
versiones anteriores. Si se establece como true, SE
REQUERIRÁN permisos explícitos para cualquier usuario que
desee obtener acceso al formulario. Tenga en cuenta que esto
se aplica únicamente al PRIMER paso de un formulario.
Configuración adicional
NOMBRE DESCRIPCIÓN
Representar recursos web insertados Elimina el iFrame que abarca un recurso web en un formulario
de entidad.
Mostrar campos no compatibles Todos los campos son compatibles actualmente. Esto se
reserva para los cambios potenciales que pueda hacer en los
tipos de campo.
NOMBRE DESCRIPCIÓN
Establecer campos recomendados como obligatorios Hace que sean obligatorios todos los atributos que tengan el
nivel de requisito del campo establecido en 'Recomendado
por la empresa'.
Hacer que todos los campos sean obligatorios Hace que sean obligatorios todos los campos
independientemente del nivel de requisito del campo.
Clase CSS de resumen de validación Nombre de clase CSS asignado el resumen de validación.
Valor predeterminado: 'validation-summary alert alert-error
alert-block'
Habilitar vínculos de resumen de validación Un valor booleano de true o false de que indica si los vínculos
de delimitador deben representarse en el resumen de
validación para desplazarse al campo que contiene un error.
Valor predeterminado: true
Texto del vínculo de resumen de validación La etiqueta asignada a los vínculos de resumen de validación.
Valor predeterminado: haga clic aquí
Opciones de formulario
NOMBRE DESCRIPCIÓN
Clase CSS del botón Anterior Nombre de clase CSS asignado al botón Anterior.
Clase CSS del botón Siguiente Nombre de clase CSS asignado al botón Siguiente.
Clase CSS del botón Enviar Nombre de clase CSS asignado al botón Enviar. Valor
predeterminado: botón enviar
Texto del botón Enviar Etiqueta del botón enviar. El valor predeterminado es 'Enviar'
Texto No disponible del botón Enviar Etiqueta en el botón enviar durante el proceso en ejecución.
Valor predeterminado: Procesando...
NOMBRE DESCRIPCIÓN
NOMBRE DESCRIPCIÓN
Asociar usuario actual del portal Activado indica que el registro del usuario que ha iniciado
sesión actualmente se debe asociar al registro de la entidad
de destino.
Atributo de búsqueda de usuarios del portal de la entidad de El nombre lógico del atributo de la entidad de destino que
destino almacena el usuario del portal.
Referencia de entidad
Los siguientes parámetros pertenecen al establecimiento de una referencia de entidad al guardar el formulario.
Esto proporciona una forma de asociar el registro actual que crea o actualiza el formulario con otro registro de
destino. Esto es útil si tiene varios pasos con tipos de entidad múltiple y desea relacionar los registros resultantes
o si se pasa a la página una cadena de consulta de un identificador de registro que desea asociar. Por ejemplo
tenemos una página de trabajo que incluye registros de trabajo, cada uno con un vínculo a una solicitud del
trabajo que contiene el identificador del registro de trabajo al formulario de solicitud de forma que cuando se
crea la solicitud, el registro de trabajo se asocia con el registro.
NOMBRE DESCRIPCIÓN
Establecer referencia de entidad al guardar Sí o No. Un valor de sí indica que una referencia de entidad
debe asignarse al guardar el formulario, en caso contrario no
se establecerá ninguna.
Nombre lógico del atributo de búsqueda de destinos Nombre lógico del atributo de búsqueda en la entidad de
destino que se crea o actualiza.
Nota: No especifique un nombre de relación si especifica un
Nombre lógico del atributo de búsqueda de destinos.
NOMBRE DESCRIPCIÓN
Paso de entidad de referencia El registro del paso del formulario web de un paso anterior
para recuperar la entidad creada o modificada en dicho paso
para asociarlo con el registro de este paso actual.
La cadena de consulta es la clave principal Sí indica que el valor de cadena de consulta es el valor de
clave principal. No indica que el valor de cadena de consulta
es un tipo de atributo distinto de la clave principal.
Nombre lógico del atributo de consulta Nombre lógico del atributo para consultar el registro.
Mostrar detalles de solo lectura Activado indica que un formulario debe representarse en la
parte superior de la página que muestra información de solo
lectura referente al registro de referencia. Requiere un
nombre de formulario.
Nombre del formulario El nombre del formulario de la entidad de referencia que debe
utilizarse para mostrar detalles de solo lectura.
Funcionalidad adicional
NOMBRE DESCRIPCIÓN
Adjuntar archivo Active esta opción para que el formulario incluya un control
de carga de archivos en la parte inferior del formulario para
permitir adjuntar un archivo al registro.
NOMBRE DESCRIPCIÓN
Permitir varios archivos Un valor booleano que indica si el usuario puede cargar más
de un archivo.
Vea también
Configurar un portal
Definir formularios de entidad
Pasos de formulario web para portales
Tipo del paso de redireccionamiento
Tipo de paso condicional
Agregar JavaScript personalizado
Agregar un tipo de paso de redireccionamiento
25/11/2019 • 3 minutes to read • Edit Online
El tipo del paso de redireccionamiento permite redireccionar la sesión del explorador del usuario a otra página del
portal o una dirección URL externa. Esto resulta útil para un flujo de direccionamiento integrado.
NOMBRE DESCRIPCIÓN
Anexar cadena de consulta existente Requiere establecer En caso de éxito como Redirigir. Cuando
está activada esta opción, los parámetros de cadena de
consulta existente se agregarán a la dirección URL de destino
antes del redireccionamiento.
Anexar id. de registro a la cadena de consulta Requiere establecer En caso de éxito como Redirigir. Cuando
está activada esta opción, el Id. del registro creado se anexa a
cadena de consulta de la dirección URL a la que se está
realizando el redireccionamiento.
Nombre del parámetro de cadena de consulta de id. de Requiere establecer En caso de éxito como Redirigir. El
registro nombre del parámetro Id. de la cadena de consulta de la
dirección URL a la que se está realizando el
redireccionamiento.
Anexar cadena de consulta personalizada Requiere establecer En caso de éxito como Redirigir. Una
cadena personalizada que se puede anexar a la cadena de
consulta existente de la dirección URL de redireccionamiento.
Anexar valor de atributo a la cadena de consulta: nombre de Requiere establecer En caso de éxito como Redirigir. Un
parámetro nombre para dar al parámetro que se correlaciona con el
valor de atributo de la entidad de destino que se anexa a
cadena de consulta de la dirección URL de redireccionamiento.
Anexar valor de atributo a la cadena de consulta: nombre Requiere establecer En caso de éxito como Redirigir. Un
lógico de atributo nombre lógico de un atributo en la entidad de destino para
obtener el valor que se anexa a cadena de consulta de la
dirección URL de redireccionamiento.
Vea también
Configurar un portal
Definir formularios de entidad
Pasos de formulario web para portales
Tipo de paso Cargar formulario/Cargar pestaña
Tipo de paso condicional
Agregar JavaScript personalizado
Agregar un tipo de paso condicional
25/11/2019 • 2 minutes to read • Edit Online
Un paso de formulario web puede ser de tipo 'Condición', lo que indica que el paso debe evaluar una expresión.
Si expresión se evalúa como true, se mostrará el siguiente paso. Si expresión se evalúa como false y si se ha
especificado el 'Paso siguiente si la condición da error', ese paso se mostrará. La entidad actual es el destino
usado para evaluar la expresión. El origen del registro está configurado de manera predeterminada como el
origen del registro del paso anterior.
Atributos
NOMBRE DESCRIPCIÓN
Paso siguiente si la condición da error El tipo de paso condicional, a diferencia de las demás, tiene
dos búsquedas del siguiente paso. La búsqueda
predeterminada del siguiente paso se respetará si la condición
se evalúa como true. Esta propiedad define el siguiente paso
si la condición se evalúa como false.
OPERANDO(S) TIPO
=, == Es igual a
!= No es igual
& Y
| O
! No
!=* No como
Formato
El formato de la expresión es el siguiente:
[nombre lógico de atributo de entidad] [operando] [valor]
Ejemplo:
new_categorycode = 750101
Una condición puede tener varias expresiones. Puede usar paréntesis agrupar expresiones anidadas, por ejemplo:
new_categorycode = 750101 & gendercode = 2
new_categorycode = 750101 & (gendercode = 2 | gendercode = 3)
new_name = Jane Doe
new_twooptionfield = true
new_twooptionfield = false
Vea también
Configurar un portal
Definir formularios de entidad
Pasos de formulario web para portales
Tipo de paso Cargar formulario/Cargar pestaña
Tipo del paso de redireccionamiento
Agregar JavaScript personalizado
Agregar JavaScript personalizado
25/11/2019 • 3 minutes to read • Edit Online
El registro Paso del formulario web contiene un campo denominado JavaScript personalizado que pueda
usarse para almacenar código JavaScript para permitirle ampliar o modificar la función o presentación visual del
formulario.
El bloque personalizado de JavaScript se agregará a la parte inferior de la página justo delante el elemento de
etiqueta de formulario de cierre.
Campos de formulario
El identificador de entrada HTML de un campo de entidad se define con el nombre lógico del atributo. Esto facilita
la selección de un campo, el establecimiento de valores u otras manipulaciones del lado del cliente con jQuery.
$(document).ready(function() {
$("#address1_stateorprovince").val("Saskatchewan");
});
NOTE
La validación de campos del lado cliente no se admite en una subcuadrícula.
if (window.jQuery) {
(function ($) {
$(document).ready(function () {
if (typeof (Page_Validators) == 'undefined') return;
// Create new validator
var newValidator = document.createElement('span');
newValidator.style.display = "none";
newValidator.id = "emailaddress1Validator";
newValidator.controltovalidate = "emailaddress1";
newValidator.errormessage = "<a href='#emailaddress1_label'>Email is a required field.</a>";
newValidator.validationGroup = ""; // Set this if you have set ValidationGroup on the form
newValidator.initialvalue = "";
newValidator.evaluationfunction = function () {
var contactMethod = $("#preferredcontactmethodcode").val();
if (contactMethod != 2) return true; // check if contact method is not 'Email'.
// only require email address if preferred contact method is email.
var value = $("#emailaddress1").val();
if (value == null || value == "") {
return false;
} else {
return true;
}
};
Validación general
Al hacer clic en el botón Siguiente/Enviar, se ejecuta una función llamada webFormClientValidate. Puede
ampliar este método para agregar lógica de validación personalizada.
if (window.jQuery) {
(function ($) {
if (typeof (webFormClientValidate) != 'undefined') {
var originalValidationFunction = webFormClientValidate;
if (originalValidationFunction && typeof (originalValidationFunction) == "function") {
webFormClientValidate = function() {
originalValidationFunction.apply(this, arguments);
// do your custom validation here
// return false; // to prevent the form submit you need to return false
// end custom validation.
return true;
};
}
}
}(window.jQuery));
}
Vea también
Configurar un portal
Definir formularios de entidad
Pasos de formulario web para portales
Tipo de paso Cargar formulario/Cargar pestaña
Tipo del paso de redireccionamiento
Tipo de paso condicional
Configurar metadatos de formulario web para los
portales
25/11/2019 • 16 minutes to read • Edit Online
Los metadatos del formulario web contienen la lógica de modificación del comportamiento adicional para
aumentar o reemplazar la funcionalidad de los campos de formulario que de otro modo no es posible conseguir
con las funciones de edición de formulario de entidad nativas de .
NOMBRE DESCRIPCIÓN
NOMBRE DESCRIPCIÓN
Nombre lógico del atributo El nombre lógico del campo de atributo que se va a modificar.
NOMBRE DESCRIPCIÓN
Número mínimo seleccionado necesario de opciones múltiples Éstos son los valores mínimos requeridos seleccionados a la
pregunta de varias opciones. Solo se necesita si selecciona el
estilo del control 'Opciones múltiples' está seleccionado.
Número máximo seleccionado de opciones múltiples Este es el número máximo de valores que se permite
seleccionar en la pregunta de opciones múltiples. Solo se
necesita si selecciona el estilo del control 'Opciones múltiples'
está seleccionado.
Total mínimo de suma constante Este es el valor mínimo necesario aplicado a un campo de
respuesta de suma constante. Solo es necesario si el Estilo del
control 'Agrupar número entero como suma constante' está
seleccionado.
Total máximo de suma constante Este es el número máximo de valor que se permite aplicar a
un campo de respuesta suma constante. Solo es necesario si
el Estilo del control 'Agrupar número entero como suma
constante' está seleccionado.
NOMBRE DESCRIPCIÓN
Establecer valor al guardar Sí indica que un valor se debe asignar al atributo utilizando la
entrada proporcionada en el campo Valor.
Nota: Se admiten todos los tipos de atributo excepto el
siguiente: Identificador único.
Validación
La siguiente sección contiene propiedades que modifican diferentes parámetros de validación y mensajes de error.
Para cada paquete de idioma instalado y activado para la organización del entorno de Common Data Service, un
campo estará disponible para especificar el mensaje en el idioma asociado.
NOMBRE DESCRIPCIÓN
Expresión regular Una expresión regular que se agregará para validar el campo.
Mensaje de error de validación de expresión regular El mensaje de error de validación a mostrar si se produce un
error con la expresión regular validada.
El campo es obligatorio Active esta opción para hacer que el campo de atributo
necesario contenga un valor.
Mensaje de error de validación de campo obligatorio Reemplace el mensaje de error del campo requerido
predeterminado si el campo no contiene un valor.
Mensaje de error de validación de intervalo Reemplaza el mensaje de error de validación del intervalo
predeterminado que se muestra si el valor del campo se
encuentra fuera de los valores mínimo y máximo adecuados
especificados en el atributo de entidad que son de tipo
Número entero, Número decimal, Número de coma flotante o
Divisa.
Mensaje de error del validador de ubicación geográfica Aplicable si el atributo es una sola línea de texto y el estilo del
control especificado es una sola línea de texto como validador
de búsqueda de ubicación geográfica, entonces esto
sobrescribirá el mensaje de error predeterminado que se
muestra si se produce error de la validación de entrada.
Mensaje de error de validación de suma constante Aplicable si el atributo es un tipo de número entero y el estilo
del control especificado es Agrupar número entero como
suma constante, entonces esto sobrescribirá el mensaje de
error predeterminado que se muestra si se produce error de la
validación de entrada.
NOMBRE DESCRIPCIÓN
Mensaje de error de validación de opciones múltiples Aplicable si el atributo es un tipo de dos opciones y el estilo
del control especificado es Opciones múltiples, entonces esto
sobrescribirá el mensaje de error predeterminado que se
muestra si se produce error de validación de entrada.
Mensaje de error de validación de orden de clasificación sin Aplicable si el atributo es un tipo de número entero y el estilo
valores equivalentes del control especificado es Agrupar número entero como
escala de orden de clasificación sin valores equivalentes,
entonces esto sobrescribirá el mensaje de error
predeterminado que se muestra en caso de error de la
validación de entrada.
Descripción e instrucciones
Las siguientes propiedades especifican la ubicación y el contenido de la descripción o instrucciones
personalizadas.
NOMBRE DESCRIPCIÓN
Usar propiedad de descripción del atributo Seleccione 'Sí' para usar la descripción asignada a los
metadatos de atributo de la entidad. Seleccione 'No' para
proporcionar una descripción personalizada. El valor
predeterminado es 'No'.
NOMBRE DESCRIPCIÓN
NOMBRE DESCRIPCIÓN
Vea también
Configurar un portal
Definir formularios de entidad
Propiedades del formulario web para portales
Pasos de formulario web para portales
Configuración de la subcuadrícula de formularios web para portales
Configuración de notas para formularios web para portales
Configurar subcuadrículas de formularios Web Forms
para portales
26/11/2019 • 29 minutes to read • Edit Online
Las subcuadrículas del formulario web se configuran de una manera idéntica a las subcuadrículas del formulario
de la entidad: en primer lugar, cree un registro de metadatos para el paso de formulario web que tenga una
subcuadrícula y, a continuación, agregue metadatos de configuración.
Agregar subcuadrículas a los formularios administrados en el portal es fácil: solo tiene que agregar la
subcuadrícula al formulario que está administrando mediante el diseñador de formularios listo para usar y ya ha
terminado. La cuadrícula usará la vista que se especifica en Common Data Service diseñador de formularios,
mostrar solo los registros relacionados si se eligió esa opción, Mostrar opcionalmente una barra de búsqueda e
incluso respetar los permisos de entidad para los portales. No es más fácil mostrar una lista de registros de solo
lectura. Para habilitar las acciones de la cuadrícula (crear, actualizar, eliminar, etc.), debe configurar esas acciones
mediante la configuración de metadatos.
NOMBRE DESCRIPCIÓN
Atributos
NOMBRE DESCRIPCIÓN
Configuración básica
Ver acciones Use para agregar botones de acción para las acciones que se
aplican al conjunto de entidades y que aparecerán encima de
la subcuadrícula. Las acciones disponibles son:
A
Download
Asócielos
Al seleccionar una de estas opciones se muestra un área de
configuración para esa acción. Consulte a continuación los
detalles de cada acción.
NOMBRE DESCRIPCIÓN
Acciones de elemento Use para agregar botones de acción para las acciones que se
pueden aplicar a un registro individual y que aparecerán en
cada fila de la subcuadrícula, siempre que los permisos de
entidadhayan concedido el privilegio asociado. Las acciones
disponibles son:
Detalles
Editar
Elimínelos
Flujo
Desasociar
Al seleccionar una de estas opciones, se muestra un área de
configuración para esa acción. Consulte a continuación los
detalles de cada acción.
Configuración avanzada
Cuadro de diálogo de búsqueda Controla la configuración del cuadro de diálogo que aparece
cuando un usuario activa la acción asociar.
Cuadro de diálogo formulario de detalles Controla la configuración del cuadro de diálogo que aparece
cuando un usuario activa la acción de detalles.
Cuadro de diálogo Editar formulario Controla la configuración del cuadro de diálogo que aparece
cuando un usuario activa la acción de edición.
Cuadro de diálogo Crear formulario Controla la configuración del cuadro de diálogo que aparece
cuando un usuario activa la acción de creación.
NOMBRE DESCRIPCIÓN
Cuadro de diálogo eliminar Controla la configuración del cuadro de diálogo que aparece
cuando un usuario activa la acción de eliminación.
Cuadro de diálogo de error Controla la configuración del cuadro de diálogo que aparece
cuando se produce un error durante cualquier acción.
Grid CSS (clase) Especifique una clase o clases CSS que se aplicarán al
elemento> de la tabla <HTML de la subcuadrícula.
Estilo de ancho de columna de cuadrícula Configura si los valores de ancho de los atributos de columna
de invalidación se especifican en píxeles o como porcentaje.
Crear acción
La habilitación de una acción de creación representa un botón encima de la cuadrícula que, cuando se
selecciona, abre un cuadro de diálogo con un formulario de entidad que permite a un usuario crear un nuevo
registro.
Crear configuración de acción
NOMBRE DESCRIPCIÓN
Configuración básica
Configuración avanzada
Etiqueta del botón Invalida la etiqueta HTML que se muestra en el botón crear
acción situado encima de la subcuadrícula.
Información sobre herramientas del botón Invalida el texto de información sobre herramientas que
aparece cuando el usuario apunta al botón crear acción.
Clase CSS Especifique una clase o clases CSS que se aplicarán al cuadro
de diálogo resultante.
Title CSS (clase) Especifique una clase o clases CSS que se aplicarán a la barra
de título del cuadro de diálogo resultante.
Acción de descarga
Al habilitar una acción de descarga , se presenta un botón encima de la cuadrícula que, cuando se selecciona,
descarga los datos de la subcuadrícula en un archivo Excel (. xlsx).
Descargar configuración de acción
NOMBRE DESCRIPCIÓN
Configuración básica
Ninguna
Configuración avanzada
Información sobre herramientas del botón Invalida el texto de información sobre herramientas que
aparece cuando el usuario apunta al botón Descargar acción.
Asociar acción
Al habilitar una acción de asociación , se muestra un botón encima de la cuadrícula que, cuando se selecciona,
abre una tabla de entidades que el usuario puede asociar al registro de la entidad que se muestra actualmente en
el formulario de la entidad, siempre que los datos anexados y Los permisos de entidad se han concedido a los
privilegios appendto para los tipos de entidad aplicables.
Asociar configuración de acción
NOMBRE DESCRIPCIÓN
Configuración básica
NOMBRE DESCRIPCIÓN
Configuración avanzada
Etiqueta del botón Invalida la etiqueta HTML que se muestra en el botón asociar
acción situado encima de la subcuadrícula.
Información sobre herramientas del botón Invalida el texto de información sobre herramientas que
aparece cuando el usuario apunta al botón asociar acción.
Texto del botón primario Invalida el código HTML que aparece en el botón principal
(agregar) del cuadro de diálogo.
Cerrar texto del botón Invalida el código HTML que aparece en el botón Cerrar
(Cancelar) del cuadro de diálogo.
Clase CSS Especifique una clase o clases CSS que se aplicarán al cuadro
de diálogo resultante.
Title CSS (clase) Especifique una clase o clases CSS que se aplicarán a la barra
de título del cuadro de diálogo resultante.
Clase CSS de botón principal Especifique una clase o clases CSS que se aplicarán al botón
principal (agregar) del cuadro de diálogo.
Botón Cerrar (clase CSS) Especifique una clase o clases CSS que se aplicarán al botón
Cerrar (Cancelar) del cuadro de diálogo.
Seleccionar el título de los registros Invalida el código HTML que aparece en el título del área de
selección de registros.
Mensaje de acceso denegado Invalida el mensaje que aparece cuando un usuario no tiene
suficientes permisos de entidad para ver la cuadrícula de
entidades.
Mensaje vacío Invalida el mensaje que aparece cuando no hay entidades que
se puedan asociar al formulario de la entidad actual.
Clase CSS Especifique una clase o clases CSS que se aplicarán al área de
cuadrícula asociada.
Grid CSS (clase) Especifique una clase o clases CSS que se aplicarán a la tabla
<> elemento de la cuadrícula asociada.
Acción de detalles
La habilitación de una acción de detalles permite al usuario ver un formulario de entidad de solo lectura que
está enlazado a datos con el registro de la fila seleccionada de la subcuadrícula.
Configuración de la acción de detalles
NOMBRE DESCRIPCIÓN
Configuración básica
Configuración avanzada
NOMBRE DESCRIPCIÓN
Nombre de parámetro de cadena de consulta de ID. de Especifica el nombre del parámetro de cadena de consulta que
registro se usará para seleccionar la entidad que se va a ver en el
formulario de la entidad seleccionada. Debe coincidir con el
valor del nombre de parámetro de la cadena de consulta de
ID. de registro del formulario de la entidad. El valor
predeterminado de este campo, tanto aquí como en
configuración de formulario de la entidad, es ID.
Etiqueta del botón Invalida la etiqueta HTML para esta acción mostrada en la fila
de la subcuadrícula.
Información sobre herramientas del botón Invalida el texto de información sobre herramientas que
aparece cuando el usuario apunta al botón para esta acción
que se muestra en la fila de la subcuadrícula.
Clase CSS Especifique una clase o clases CSS que se aplicarán al cuadro
de diálogo resultante.
Title CSS (clase) Especifique una clase o clases CSS que se aplicarán a la barra
de título del cuadro de diálogo resultante.
Editar acción
La habilitación de una acción de edición permite a un usuario ver un formulario de entidad editable que está
enlazado a datos con el registro de la fila seleccionada de la subcuadrícula, si los permisos de la entidadhan
concedido el privilegio de escritura.
Editar configuración de acción
NOMBRE DESCRIPCIÓN
Configuración básica
NOMBRE DESCRIPCIÓN
Configuración avanzada
Nombre de parámetro de cadena de consulta de ID. de Especifica el nombre del parámetro de cadena de consulta que
registro se usará para seleccionar la entidad que se va a editar en el
formulario de la entidad seleccionada. Debe coincidir con el
valor del nombre de parámetro de la cadena de consulta de
ID. de registro del formulario de la entidad. El valor
predeterminado de este campo, tanto aquí como en
configuración de formulario de la entidad, es ID.
Etiqueta del botón Invalida la etiqueta HTML para esta acción mostrada en la fila
de la subcuadrícula.
Información sobre herramientas del botón Invalida el texto de información sobre herramientas que
aparece cuando el usuario apunta al botón para esta acción
que se muestra en la fila de la subcuadrícula.
Clase CSS Especifique una clase o clases CSS que se aplicarán al cuadro
de diálogo resultante.
Title CSS (clase) Especifique una clase o clases CSS que se aplicarán a la barra
de título del cuadro de diálogo resultante.
Eliminar acción
La habilitación de una acción de eliminación permite al usuario eliminar permanentemente la entidad
representada por una fila en la subcuadrícula, si los permisos de la entidadhan concedido el privilegio de
eliminación.
Eliminar configuración de acción
NOMBRE DESCRIPCIÓN
Configuración básica
Ninguna
Configuración avanzada
Etiqueta del botón Invalida la etiqueta HTML para esta acción mostrada en la fila
de la subcuadrícula.
Información sobre herramientas del botón Invalida el texto de información sobre herramientas que
aparece cuando el usuario apunta al botón para esta acción
que se muestra en la fila de la subcuadrícula.
Texto del botón primario Invalida el código HTML que aparece en el botón principal
(eliminar) del cuadro de diálogo.
Cerrar texto del botón Invalida el código HTML que aparece en el botón Cerrar
(Cancelar) del cuadro de diálogo.
Clase CSS Especifique una clase o clases CSS que se aplicarán al cuadro
de diálogo resultante.
Title CSS (clase) Especifique una clase o clases CSS que se aplicarán a la barra
de título del cuadro de diálogo resultante.
Clase CSS de botón principal Especifique una clase o clases CSS que se aplicarán al botón
principal (eliminar) del cuadro de diálogo.
Botón Cerrar (clase CSS) Especifique una clase o clases CSS que se aplicarán al botón
Cerrar (Cancelar) del cuadro de diálogo.
Acción de flujo de trabajo
La habilitación de una acción de flujo de trabajo permite a un usuario ejecutar un flujo de trabajo a petición en
el registro seleccionado en la subcuadrícula. Puede agregar cualquier número de acciones de flujo de trabajo a los
metadatos de la subcuadrícula.
Configuración de la acción de flujo de trabajo
NOMBRE DESCRIPCIÓN
Configuración básica
Etiqueta del botón Establece la etiqueta HTML para esta acción mostrada en la
fila de la subcuadrícula. Esta configuración es obligatoria.
Configuración avanzada
Información sobre herramientas del botón Invalida el texto de información sobre herramientas que
aparece cuando el usuario apunta al botón para esta acción
que se muestra en la fila de la subcuadrícula.
Acción de desasociación
Habilitar una acción de desasociación permite al usuario quitar el vínculo entre el registro representado por el
formulario de la entidad que se está viendo actualmente y el registro representado por la fila seleccionada en la
subcuadrícula, siempre y cuando los privilegios anexar y anexar tengan se han concedido por los permisos de
entidad para los tipos de entidad aplicables.
Configuración de la acción de desasociación
NOMBRE DESCRIPCIÓN
Configuración básica
Ninguna
Configuración avanzada
Etiqueta del botón Invalida la etiqueta HTML para esta acción mostrada en la fila
de la subcuadrícula.
Información sobre herramientas del botón Invalida el texto de información sobre herramientas que
aparece cuando el usuario apunta al botón para esta acción
que se muestra en la fila de la subcuadrícula.
Vea también
Configuración de un portal
Definir formularios de entidad
Propiedades de formularios Web para portales
Pasos de Web Form para portales
Metadatos de formularios Web Forms para portales
Configuración de notas para formularios Web Forms para portales
Agregar ubicación geográfica
25/11/2019 • 5 minutes to read • Edit Online
La ubicación geográfica es el identificador de la ubicación geográfica del mundo real de un objeto. La ubicación
geográfica está estrechamente relacionada con el uso de los sistemas de posicionamiento, pero pone un mayor
énfasis en determinar una ubicación completa (por ejemplo, la dirección de la calle) en lugar de simplemente un
conjunto de coordenadas geográficas. La palabra ubicación geográfica también puede significar las coordenadas
de latitud y longitud de una ubicación específica.
Un formulario administrado se puede configurar para mostrar un control de mapa para que se muestre una
ubicación existente como una chincheta en un mapa o proporcionar la capacidad de que el usuario especifique
una ubicación.
Si el formulario o el campo de línea de dirección son editables y este campo está en blanco, cuando se cargue la
página se preguntará al usuario si deseará compartir la ubicación. Si elije compartir la ubicación, el mapa se
actualizará con su ubicación detectada actualmente. El usuario puede refinar la ubicación de la chincheta
arrastrándola. Si el usuario elige no compartir la ubicación puede especificar manualmente la ubicación en los
campos proporcionados y se pedirá al servicio de asignación que busque la ubicación y actualice la latitud y la
longitud, así como que recoloque la chincheta en el mapa.
Configuraciones de sitios
La ubicación geográfica con la funcionalidad de mapa en los formularios administrados requiere configuración
para completar solicitudes con el punto de conexión de REST de servicio de asignación. La siguiente
configuración de ubicaciones se usa para configurar el servicio de ubicación.
NOMBRE VALOR
Mapas de Bing/URL rest Dirección URL de API de REST de Mapas de Bing. Opcional. Si
no se especifica un valor, se utiliza el
https://dev.virtualearth.net/REST/v1/Locations
predeterminado.
Configuraciones de campos
El control de mapa requiere configuración adicional para indicarle cuáles son los ID de los diferentes campos de
ubicación para poder asignarles valores o recuperar valores. La configuración depende del tipo de formulario
administrado.
Para los formularios de entidad, consulte Configuración de ubicación geográfica para formularios de
entidad.
Para formularios web, consulte Configuración de ubicación geográfica para formularios web.
Trabajar con plantillas de Liquid
25/11/2019 • 2 minutes to read • Edit Online
Liquid es un lenguaje de plantilla de código abierto integrado en portales. Puede utilizarse para agregar contenido
dinámico a páginas, y para crear una gran variedad de plantillas personalizadas. Con Liquid puede:
Agregar contenido dinámico directamente al campo Copiar de una página web o el contenido de un
fragmento de contenido.
Almacenar contenido de origen utilizando plantillas web, completamente con la configuración desde
PowerApps, para uso en todo el sistema de administración de contenido de los portales de PowerApps.
Generar un encabezado de página web y una barra de navegación principal, completamente con la
configuración desde PowerApps.
Vea también
Almacenar contenido de origen con plantillas web
Descripción de los operadores de Liquid
Tipos de Liquid
Operadores condicionales de Liquid
Objetos de Liquid
Etiquetas de Liquid
Filtros de Liquid
Almacenar contenido de origen con plantillas web
25/11/2019 • 11 minutes to read • Edit Online
La plantilla web es una entidad de PowerApps (adx_webtemplate), que se incluye con los portales de
PowerApps, que se usa para almacenar contenido de origen de la plantilla. Una plantilla web contendrá
normalmente Liquid para representación de contenido dinámico, y es la entidad central usada para integrar
plantillas de Liquid con el resto del sistema de portales de PowerApps.
Las plantillas web se pueden incluir en otro contenido o combinar con otras mediante etiquetas de plantilla, y
se hace referencia a ellas en estas etiquetas mediante el atributo Nombre. También se pueden usar para crear
plantillas de página personalizadas completas, o para crear encabezados o pies de página personalizados para
el sitio web del portal.
Grupo de listas de vínculos web Esta plantilla representa un grupo de {% include 'weblink_list_group'
listas de vínculos para un conjunto de weblink_set_name:'Name' %}
vínculos web.
Vea también
Descripción de los operadores de Liquid
Tipos Liquid
Condicional
Objetos de Liquid
Etiquetas de Liquid
Filtros de Liquid
Descripción de los operadores de Liquid
25/11/2019 • 2 minutes to read • Edit Online
Liquid tiene acceso a todos los operadores lógicos y de comparación comunes. Estos pueden usarse en etiquetas
como si y a menos que.
Operadores básicos
== ES IGUAL A
!= No es igual a
o Condición A o condición B
y Condición A y condición B
contiene
contains comprueba la presencia de una subcadena dentro de una cadena.
{% endif %}
contains también puede comprobar la presencia de una cadena dentro de una matriz de cadenas.
startswith
contains comprueba si una cadena empieza con una subcadena determinada.
{% endif %}
endswith
endswith comprueba si una cadena termina con una subcadena determinada.
{% if page.title endswith 'Forum' %}
{% endif %}
Vea también
Almacenar contenido de origen con plantillas web
Tipos Liquid
Condicional
Objetos de Liquid
Etiquetas de Liquid
Filtros de Liquid
Tipos de Liquid disponibles
25/11/2019 • 2 minutes to read • Edit Online
Los objetos de Liquid pueden devolver uno de estos siete tipos básicos: Cadena, Número, Booleano, Matriz,
Diccionario, Fecha y hora y Nulo. Las variables de Liquid pueden inicializarse mediante las etiquetas assign o
capture.
Cadena
Una cadena se declarada incluyendo texto entre comillas sencillas o dobles.
Número
Los números pueden ser enteros o flotantes.
{% assign pi = 3.14 %}
{% endif %}
Boolean
Un booleano es true o false.
{% assign x = true %}
{% assign y = false %}
{% if x %}
{% endif %}
Matriz
Una matriz alberga una lista de valores de cualquier tipo. Puede obtener acceso a un elemento dado por índice
(basado en cero) utilizando [ ], iterarlo utilizando la etiqueta for, y obtener el número de elementos en la matriz
mediante la propiedad size.
{% for view in entitylist.views %}
{{ view.name }}
{% endfor %}
{{ entitylist.views[0] }}
{% if entitylist.views.size > 0 %}
{% endif %}
Diccionario
Los diccionarios albergan una colección de valores a los que se pueden acceder con una clave de cadena. Puede
obtener acceso a un elemento dado por clave de cadena utilizando [ ], iterarlo utilizando la etiqueta for, y
obtener el número de elementos en el diccionario mediante la propiedad size.
{{ request.params[ID] }}
{% if request.params.size > 0 %}
{% endif %}
DateTime
Un objeto de fecha y hora representa una fecha y una hora específicas.
Null
Nulo representa un valor vacío o inexistente. Los resultados que intentan devolver un valor nulo no
representarán nada. Se tratarán como false en las condiciones.
{% if request.params[ID] %}
{% endif %}
Vea también
Almacenar contenido de origen con plantillas web
Descripción de los operadores de Liquid
Condicional
Objetos de Liquid
Etiquetas de Liquid
Filtros de Liquid
Operadores condicionales de Liquid disponibles
25/11/2019 • 2 minutes to read • Edit Online
Cuando se usa en instrucciones condicionales (si, a menos que), algunos valores de Liquid se tratan como true, y
otros como false.
En Liquid, null y el valor booleano false se tratan como false; todo lo demás se trata como true. Cadenas vacías,
matrices vacías, etc. se tratan como true. Por ejemplos:
{% assign empty_string = %}
{% if empty_string %}
<p>This will render.</p>
{% endif %}
Puede comprobar cadenas y matrices vacías mediante el vacío de valor especial si es necesario.
También puede probar el tamaño de Tipos LiquidTipos Liquid, o Tipos Liquid con la propiedad especial size.
{% if page.children.size > 0 %}
<ul>
{% for child in page.children %}
<li>{{ child.title }}</li>
{% endfor %}
</ul>
{% endif %}
Resumen
VERDADERO FALSO
VERDADERO ×
FALSO ×
Null ×
Cadena ×
cadena vacía ×
0 ×
1, 3.14 ×
matriz o diccionario ×
VERDADERO FALSO
Objeto ×
Vea también
Almacenar contenido de origen con plantillas web
Descripción de los operadores de Liquid
Tipos Liquid
Objetos de Liquid
Etiquetas de Liquid
Filtros de Liquid
Objetos de Liquid disponibles
25/11/2019 • 74 minutes to read • Edit Online
Los objetos de Liquid contienen atributos para emitir contenido dinámico a la página. Por ejemplo, el objeto Page
tiene un atributo llamado Title que se puede usar para emitir el título de la página actual.
Para obtener acceso a un atributo de objeto por nombre, use un punto . Para generar el atributo de un objeto en
una plantilla, inclúyalo entre {{ y }}.
{{ page.title }}
También se puede acceder a los atributos de un objeto con un nombre de cadena y "[]". Esto es útil en casos en
que el atributo deseado se determine dinámicamente, o el nombre de atributo contenga caracteres, espacios,
caracteres especiales, etc. que invalidarían el uso de la sintaxis.
{{ page[title] }}
{{ object[attribute_name] }}
Los siguientes objetos se pueden usar y acceder a ellos en cualquier lugar de cualquier plantilla.
OBJETO DESCRIPCIÓN
marcadores de sitio Permite cargar cualquier marcador de sitio por nombre. Más
información: marcadores de sitio
sitio web Hace referencia al registro de sitio web del portal, que
permite el acceso a todos los atributos del registro del sitio
web de PowerApps (adx_website) para el portal. Más
información: sitio web
ads
Proporciona la capacidad de acceder y representar un anuncio.
El objeto ads permite seleccionar un anuncio o ubicación de anuncio específico:
<div>
</a>
</div>
Atributos de ads
ATRIBUTO DESCRIPCIÓN
Atributos de Ad Placements
ATRIBUTO DESCRIPCIÓN
[nombre o identificador de colocación de anuncio] Puede obtener acceso a cualquier ubicación de anuncios por
sus propiedades de nombre o id.
{% assign placement = ads.placements[Placement Name
or Id] %}
{% assign placement = ads.placements[2423d713-abb3-
44c3-8a7d-c445e16fccad] %}
Atributos de Ad Placement
Un ad placement es un objeto de entidad con los mismos atributos, además de los que se muestran a
continuación.
ATRIBUTO DESCRIPCIÓN
Atributos de anuncios
NOTE
Un anuncio es un objeto de entidad con los mismos atributos, además de los que se muestran a continuación.
ATRIBUTO DESCRIPCIÓN
Atributos de Ad Image
ATRIBUTO DESCRIPCIÓN
blogs
Proporciona la capacidad de acceder y representar blogs y entradas de blog.
El objeto blogs permite seleccionar un blog específico o entradas de blog.
{% assign posts = blogs.posts | paginate: 0,4 %}
<div class=panel-heading>
<h4>
{{ snippet.adx_value }}
</h4>
</div>
<ul class=list-group>
</a>
<h4 class=list-group-item-heading>
</h4>
<div class=content-metadata>
–
–
</a>
</div>
</li>
{% endfor %}
</ul>
</div>
Objeto blogs
El objeto blogs permite tener acceso a cualquier blog específico en el portal, o tener acceso a todas las entradas
de blog en el portal (independientemente del blog).
En la tabla siguiente se explican los atributos asociados con el objeto blogs.
ATRIBUTO DESCRIPCIÓN
[nombre o identificador de blog] Puede obtener acceso a cualquier blog por sus propiedades
de nombre o id.
Objeto blog
El objeto blog permite trabajar con un solo blog, lo que permite obtener acceso a las entradas de ese blog.
En la tabla siguiente se explican los distintos atributos asociados con el objeto blog.
ATRIBUTO DESCRIPCIÓN
Objeto blogposts
El objeto blogposts permite tener acceso a una colección de objetos de entradas de blog. Puede ordenar las
entradas de blog y realizar la paginación además de utilizar filtros de Liquid:
{% assign blogposts = blogs.posts | order_by “adx_name”, “desc” | paginate: 0,4 | all %} Tenga en cuenta que
blogs.posts.all también es una forma válida de obtener todas las publicaciones de blogs blogs.posts | de_index: 0 |
take: 2 también es posible
En la tabla siguiente se explican los distintos atributos asociados con el objeto blogposts.
ATRIBUTO DESCRIPCIÓN
Objeto blogpost
Hace referencia a una sola entrada de blog.
En la tabla siguiente se explican los distintos atributos asociados con el objeto blogpost.
ATRIBUTO DESCRIPCIÓN
entities
Permite cargar cualquier entidad PowerApps por Id. Si la entidad existe, se devolverá un objeto de entidad. Si no
se encuentra una entidad con el Id. dado, se devolverá null.
{% if account %}
{% endif %}
{% if contact %}
{% endif %}
Entity
Un objeto de entidad proporciona acceso a los atributos de un registro de entidad de PowerApps.
ATRIBUTO DESCRIPCIÓN
Referencia de entidad
Los valores de atributo de búsqueda se devuelven como objetos de referencia de la entidad, con los siguientes
atributos.
ATRIBUTO DESCRIPCIÓN
ATRIBUTO DESCRIPCIÓN
NOTE
Filtros adicionales
ATRIBUTO DESCRIPCIÓN
Permisos de entidad
El objeto Permisos de entidad proporciona acceso a los resultados agregados de aserción de permisos para una
entidad.
ATRIBUTO DESCRIPCIÓN
can_read Devuelve true si el usuario actual tiene permiso para leer este
registro. De lo contrario, devuelve false.
Relación reflexiva
Los intentos de cargar relaciones reflexivas (es decir, que se hacen referencia a sí mismas) en entidades se
devuelven como objetos con los siguientes atributos.
ATRIBUTO DESCRIPCIÓN
entitylist
El objeto entitylist se usa dentro de etiquetas de entidad de PowerApps common data service. Proporciona
acceso a todos los atributos de una determinada lista de entidades.
NOTE
Representar la lista de entidades asociada a la página actual
Atributos
NOTE
entities
ATRIBUTO DESCRIPCIÓN
[nombre lógico del atributo] Puede obtener acceso a cualquier atributo del registro de
PowerApps de la lista de entidades (adx_entitylist) por
nombre lógico, de la misma forma que un objeto de entidad.
Por ejemplo, {{ entitylist.adx_name }}
entityview
El objeto entityview se usa dentro de la etiqueta entityview y proporciona acceso a los metadatos de la vista, así
como registros de los resultados de la vista.
Atributos
ATRIBUTO DESCRIPCIÓN
eventos
Proporciona la capacidad de acceder y representar eventos. El objeto events permite seleccionar un evento
específico o todos los eventos.
Objeto events
El objeto events permite tener acceso a cualquier evento específico del portal, o tener acceso a todos los eventos
del portal (independientemente del evento).
El objeto events tiene los siguientes atributos:
ATRIBUTO DESCRIPCIÓN
[event name or id] Puede obtener acceso a cualquier evento por sus propiedades
de nombre o id.
{% assign event = events["Event Name"] %}
{% assign event = events["da8b8a92-2ee6-476f-8a21-
782b047ff460"] %}
Objeto event
El objeto event permite trabajar con un solo evento, lo que permite obtener acceso a las programaciones e
instancias de ese evento.
El objeto event tiene los siguientes atributos:
ATRIBUTO DESCRIPCIÓN
Objeto eventoccurences
El objeto eventoccurrences permite tener acceso a una colección de objetos de instancias del evento. Puede
ordenar las instancias del evento y especificar un intervalo de fechas para las instancias a recuperar, y realizar
paginación así como utilizar filtros de Liquid.
también es posible.
Los siguientes atributos se asocian con el objeto eventoccurrences
ATRIBUTO DESCRIPCIÓN
Objeto eventoccurence
Representa una sola instancia del evento. Los atributos asociados se indican a continuación:
ATRIBUTO DESCRIPCIÓN
forloop
Contiene propiedades útiles en un bloque de bucle para.
NOTE
forloop solo se puede usar dentro de una etiqueta para.
Código
{% if forloop.first %}
{% else %}
{% endif %}
{% endfor %}
Salida
Atributos
ATRIBUTO DESCRIPCIÓN
foros
Proporciona la capacidad de acceder y representar foros e hilos de foros. Tenga en cuenta que la posibilidad de
usar Liquid para representar datos de foros se amplía a las entradas, pero para crear una nueva entrada o hilo,
debe usar una plantilla de página de formularios web ASP.NET con dicha funcionalidad integrada (por ejemplo,
las plantillas predeterminadas de página de hilos y entradas de foro).
El objeto de foros permite seleccionar un foro o hilos de foro:
<div class=panel-heading>
<h4>
</h4>
</div>
<ul class=list-group>
<li class=list-group-item>
<div class=row>
<div class=col-sm-6>
</div>
</div>
</li>
</ul>
{% endfor %}
</div>
Objetos foros
El objeto foros permite tener acceso a cualquier foro específico en el portal, o tener acceso a todos hilos de foro
en el portal (independientemente del foro).
El objeto forum permite trabajar con un solo foro, lo que permite obtener acceso a los hilos del foro.
El objeto forumthreads permite tener acceso a una colección de objetos de hilos de foro. Puede ordenar los hilos
de foro y realizar paginación además de utilizar filtros de Liquid.
Todas Devuelve todos los objetos forum del portal. Tenga en cuenta
que website.forums es también un equivalente.
[nombre o identificador del foro] Puede obtener acceso a cualquier foro por sus propiedades
de nombre o id.
`{% assign forum = forums[Forum Name] %}
{% assign forum = forums[da8b8a92-2ee6-476f-8a21-
782b047ff460] %}
Objeto forum
Atributos
NOTE
entities
ATRIBUTO DESCRIPCIÓN
Objeto forumthread
Atributos
NOTE
entities
ATRIBUTO DESCRIPCIÓN
Objeto forumposts
Atributos
ATRIBUTO DESCRIPCIÓN
NOTE
entities
ATRIBUTO DESCRIPCIÓN
Conocimiento
Proporciona acceso al artículo de conocimiento PowerApps y a los registros de entidad de categoría para
representar los artículos y las categorías en un portal.
Atributos
ATRIBUTO DESCRIPCIÓN
objeto de artículos
El objeto de artículos permite tener acceso a una colección de objetos de artículo. Puede ordenar los artículos y
realizar paginación además de utilizar filtros de Liquid.
Atributos
ATRIBUTO DESCRIPCIÓN
Filtros
Los filtros siguientes pueden admitir parámetros opcionales para el tamaño de página y el idioma. El primer
parámetro es el número o los registros a recuperar. El tamaño de página predeterminado es 5. El segundo
parámetro es el código de un idioma para recuperar los artículos de un idioma determinado. Los filtros se
pueden combinar con otros Filtros Liquid.
{% assign page_size = 5 %}
{% assign language_code = website.selected_language.code %}
{% assign recent_articles = knowledge.articles | recent: page_size, language_code %}
ATRIBUTO DESCRIPCIÓN
objeto de categorías
El objeto categorías permite tener acceso a una colección de objetos de categorías. Puede ordenar las categorías y
realizar paginación además de utilizar filtros de Liquid.
Atributos
ATRIBUTO DESCRIPCIÓN
Filtros
Los filtros siguientes pueden admitir un parámetro opcional que indique el tamaño de página. El tamaño de
página predeterminado es 5. Los filtros se pueden combinar con otros Filtros Liquid.
{% assign page_size = 5 %}
{% assign recent_categories = knowledge.categories | recent: page_size %}
ATRIBUTO DESCRIPCIÓN
objeto de artículos
El objeto de artículo permite trabajar con un solo artículo de conocimiento para mostrar los detalles del artículo
en el portal.
Atributos
el artículo es un objeto de entidad, con todos los mismos atributos, además de los que se muestran a
continuación.
ATRIBUTO DESCRIPCIÓN
objeto de categorías
El objeto de categoría permite trabajar con una sola categoría para mostrar los detalles en el portal.
Atributos
la categoría es un objeto de entidad, con todos los mismos atributos, además de los que se muestran a
continuación.
ATRIBUTO DESCRIPCIÓN
página
Hace referencia a la página de solicitud del portal actual. Este objeto combina los atributos del mapa del sitio y la
solicitud actual entidades (generalmente, una página web).
El objeto page proporciona acceso a los aspectos como rutas de navegación para la página actual, el título o la
dirección URL de la página actual, y cualquier otro atributo o entidad relacionada de registro de PowerApps
subyacente.
<ul class=breadcrumb>
{% endfor %}
</ul>
<div class=page-header>
</div>
<div class=page-copy>
{{ page.adx_copy }}
</div>
<div class=list-group>
{{ child.title | escape }}
</a>
{% endfor %}
</div>
Atributos de página
NOTE
entities
ATRIBUTO DESCRIPCIÓN
breadcrumbs Devuelve los objetos de nodo del mapa del sitio de ruta de
navegación para la página, empezando desde el nodo raíz del
mapa del sitio y terminando en el principal.
[nombre de atributo o relación] Puede obtener acceso a cualquier atributo del registro de
PowerApps subyacente de la página por nombre lógico.
{{ page.createdon }}
{% assign attribute_name = 'name' %}
{{ page[attribute_name] }}
Los valores de la mayoría de los atributos de entidad se
asignan directamente a los tipos de Liquid: los campos de dos
opciones se asignan a booleanos, los campos de texto a
cadenas, los campos numérico o divisa a números, los
campos de fecha y hora a objetos de fecha. Pero algunos
tipos de atributos se devuelven como objetos:
Los campos de búsqueda (referencia de entidad) se
devuelven como objetos de referencia de entidad.
Los campos de conjunto de opciones o de lista
desplegable se devuelven como objetos de valor del
conjunto de opciones.
También puede cargar cualquier entidad relacionada por
nombre de esquema de la relación.
{{ page.adx_webpage_entitylist.adx_name }}
En caso de que una relación sea reflexiva (es decir que
haga referencia a sí misma), se devolverá un objeto
entidades. (Si no, el resultado sería ambiguo.)
{{ page.adx_webpage_webpage.referencing.adx_name
}}
Nota: Cargar un gran número de entidades relacionadas,
o acceder a un gran número de relaciones en una sola
plantilla, puede tener un impacto negativo en el
rendimiento de la representación de plantilla. Evite cargar
entidades relacionadas para cada elemento de una matriz,
en un bucle. Cuando es posible, es preferible utilizar las
etiquetas de entidad de PowerApps common data service
para cargar colecciones de entidades.
sondeos
Proporciona la capacidad de acceder y representar un sondeo.
El objeto polls permite seleccionar un sondeo o ubicación de sondeo específico:
<div>
<div>
</div>
{% endfor %}
</div>
Atributos de sondeos
ATRIBUTO DESCRIPCIÓN
[nombre o identificador del sondeo] Puede obtener acceso a cualquier sondeo por sus
propiedades de nombre o id.
{% assign poll = polls[Poll Name] %}
{% assign poll = polls["41827a5c-33de-49b8-a0c7-
439e6a02eb98"] %}
[nombre o identificación de ubicación de sondeo] Puede obtener acceso a cualquier ubicación de sondeo por
sus propiedades de nombre o id.
{% assign placement = polls.placements[Placement
Name or Id] %}
{% assign placement = polls.placements[7677c5d4-
406e-4b6c-907c-916ac17dba0f] %}
NOTE
entities
ATRIBUTO DESCRIPCIÓN
Atributos de sondeo
NOTE
entities
ATRIBUTO DESCRIPCIÓN
NOTE
entities
ATRIBUTO DESCRIPCIÓN
solicitud
Contiene información acerca de la solicitud HTTP actual.
{% assign id = request.params['id'] %}
NOTE
Puede crear direcciones URL dinámicamente en Liquid utilizando filtros de dirección URL.
Atributos
ATRIBUTO DESCRIPCIÓN
searchindex
El objeto searchindex se usa dentro de las etiquetas de entidad de PowerApps common data service, y
proporciona acceso a los resultados de una consulta.
{% searchindex query: 'support', page: params.page, page_size: 10 %}
{% if searchindex.results.size > 0 %}
<ul>
<li>
</li>
{% endfor %}
</ul>
{% else %}
{% endif %}
{% endsearchindex %}
Atributos
ATRIBUTO DESCRIPCIÓN
configuración
Permite cargar cualquier configuración de sitio por nombre. Si no se encuentra un valor con un nombre dado, se
devolverá null.
NOTE
Los valores se devuelven como cadenas, pero puede usar filtros de tipo para convertirlos en otros tipos.
{{ settings[My Setting] }}
{% if search_enabled %}
Search is enabled.
{% endif %}
{% if pagesize > 10 %}
{% endif %}
NOTE
Represente un encabezado y una barra de navegación principal de página web
<ul class=breadcrumb>
{% endfor %}
</ul>
{% endfor %}
{% if node %}
{% endfor %}
{% endif %}
Actuales Devuelve el objeto del nodo de mapa del sitio para la página
actual.
Rutas de navegación Devuelve los objetos de nodo del mapa del sitio de ruta de
navegación para el nodo, empezando desde el nodo raíz del
mapa del sitio y terminando en el principal.
is_sitemap_current Devuelve true si el nodo del mapa del sitio es el nodo actual,
de lo contrario false.
marcadores de sitio
Permite cargar cualquier marcador de sitio por nombre. Si el marcador de sitio existe, se devolverá un objeto de
marcador de sitio. Si no se encuentra un marcador de sitio con un nombre determinado, se devolverá null.
{{ sitemarkers[Login].url }}
{% if my_sitemarker %}
{% else %}
{% endif %}
NOTE
Represente un encabezado y una barra de navegación principal de página web
[nombre lógico del atributo] Puede obtener acceso a cualquier atributo del registro de
PowerApps de destino del marcador de sitio por nombre
lógico. Por ejemplo, {{ sitemarker.adx_name }}
fragmentos
Permite cargar cualquier fragmento de contenido por nombre. Si no se encuentra un fragmento con un nombre
dado, se devolverá null.
{{ snippets[Header] }}
{% if footer %}
{{ footer }}
{% else %}
{% endif %}
tablerowloop
Contiene propiedades útiles en un bloque de bucle Etiquetas de iteración.
NOTE
tablerowloop solo se puede usar dentro de una etiqueta de iteración.
Atributos
ATRIBUTO DESCRIPCIÓN
Usuario
Hace referencia al usuario del portal actual, que permite el acceso a todos los atributos del registro de contacto de
PowerApps subyacente. Si ningún usuario ha iniciado sesión, esta variable será null.
El usuario es un objeto de entidad.
{% if user %}
{% else %}
{% endif %}
Atributos
Además de tener todos los atributos de un objeto de entidad, el usuario tiene los siguientes atributos.
ATRIBUTO DESCRIPCIÓN
roles Devuelve los roles a los que pertenece el usuario como una
matriz.
{% if user.roles contains 'Administrators' %} User
is an administrator. {% endif %}
Nota: También puede usar el filtro has_role para probar las
suscripciones de roles individuales.
ATRIBUTO DESCRIPCIÓN
weblinks
Permite cargar cualquier weblinks por nombre o Id.
Si existe el conjunto de vínculos web, se devolverá un objeto de conjunto de vínculos web. Si no se encuentra un
conjunto de vínculos web con el nombre o el Id. dado, se devolverá null.
{{ weblinks[page.adx_navigation.id].name }}
{% if nav %}
<ul>
<li>
{% if link.image %}
{% endif %}
{{ link.name | escape }}
</a>
</li>
{% endfor %}
</ul>
{% endif %}
NOTE
Represente un encabezado y una barra de navegación principal de página web |
NOTE
Un conjunto de vínculos web es un objeto de entidad, con todos los mismos atributos, además de los que se muestran a
continuación.
ATRIBUTO DESCRIPCIÓN
[nombre lógico del atributo] Puede obtener acceso a cualquier atributo del registro de
PowerApps del conjunto de vínculos web por nombre lógico.
Por ejemplo, {{ weblinkset.createdon }}
NOTE
Un vínculo web es un objeto de entidad, con todos los mismos atributos, además de los que se muestran a continuación.
ATRIBUTO DESCRIPCIÓN
Información sobre herramientas Texto de información sobre herramientas para el vínculo web.
[nombre lógico del atributo] Puede obtener acceso a cualquier atributo del registro de
PowerApps del vínculo web por nombre lógico. Por ejemplo,
{{ weblink.createdon }}
sitio web
Hace referencia al sitio web del portal, que permite el acceso a todos los atributos del registro del sitio web de
PowerApps (adx_website) para el portal.
NOTE
El sitio web es un objeto de entidad, con todos los mismos atributos.
Código
Salida
Community Portal (936DA01F-9ABD-4d9d-80C7-02AF85C822A8)
Vea también
Tipos Liquid
Etiquetas de Liquid
Filtros de Liquid
Etiquetas de Liquid disponibles
25/11/2019 • 2 minutes to read • Edit Online
Las etiquetas conforman la lógica de programación que indica a las plantillas qué deben hacer. Las etiquetas
están envueltas en {% %}.
{{ i }}
{%-- endfor %}
Salida
12345
Vea también
Tipos Liquid
Objetos de Liquid
Filtros de Liquid
Etiquetas del flujo de control
25/11/2019 • 2 minutes to read • Edit Online
Las etiquetas del flujo de control determinan qué bloque de código se debe ejecutar y qué contenido se debe
representar según las condiciones dadas. Las condiciones se crean mediante los operadores de Liquid disponibles,
o simplemente se basan en si un valor determinado es verdadero o falso.
if
Ejecuta un bloque de código si se cumple una condición determinada.
Hello, Dave.
{% endif %}
unless
Al igual que if, ejecuta un bloque de código si no se cumple una condición determinada.
{% endunless %}
elsif/else
Agrega más condiciones a un bloque if o unless.
Hello, Dave.
{% else %}
Hello, stranger.
{% endif %}
case/when
Una instrucción de cambio para comparar una variable con diferentes valores, y ejecutar otro bloque de código
para cada valor.
{% case user.fullname %}
Hello, Dave.
{% else %}
Hello, stranger.
{% endcase %}
Vea también
Etiquetas de iteración
Etiquetas variables
Etiquetas de plantilla
Etiquetas de entidad de PowerApps common data service
Etiquetas de iteración
25/11/2019 • 4 minutes to read • Edit Online
para
Ejecuta un bloque de código repetidamente. Suele utilizarse para iterar los elementos en una matriz o un
diccionario.
En el bloque de etiquetas, el objeto forloop está disponible.
Código
{% endfor %}
Salida
Parámetros
Estos parámetros de for pueden utilizarse solos o en combinación.
limit
Sale del bucle después de un número determinado de elementos.
Código
{% endfor %}
Salida
offset
Inicia el bucle en un índice determinado.
Código
{% endfor %}
Salida
range
Define un intervalo de números para recorrer en bucle.
Código
{% assign n = 4 %}
{% for i in (2..n) %}
{{ i }}
{% endfor %}
{% for i in (10..14) %}
{{ i }}
{% endfor }}
Salida
2 3 4
10 11 12 14
reversed
Itera a través del bucle en orden inverso, empezando por el último elemento.
Código
{% endfor %}
Salida
<a href=/parent/child3/>Child 3</a>
cycle
Recorre en bucle un grupo de cadenas y los extrae en el orden en que se pasaron como parámetros. Cada vez
que se llamada a un ciclo, se extrae la siguiente cadena que se pasó como parámetro.
Código
{% end %}
Salida
tablerow
Genera una tabla HTML. Debe ir entre etiquetas HTML <table> de apertura y </table> de cierre.
En el bloque de etiquetas tablerow, el tablerowloop está disponible.
Código
<table>
{{ child_page.title }}
{% endtablerow %}
</table>
Salida
<table>
<tr class=row1>
<td class=col1>
Child Page 1
</td>
<td class=col2>
Child Page 2
</td>
<td class=col3>
Child Page 3
</td>
<td class=col4>
Child Page 4
</td>
</tr>
</table>
Parámetros
Estos parámetros de tablerow pueden utilizarse solos o en combinación.
Salida
<table>
<tr class=row1>
<td class=col1>
Child Page 1
</td>
<td class=col2>
Child Page 2
</td>
</tr>
<tr class=row2>
<td class=col3>
Child Page 3
</td>
<td class=col4>
Child Page 4
</td>
</tr>
</table>
Código
<table>
{{ child_page.title }}
{% endtablerow %}
</table>
{{ child_page.title }}
{% endtablerow %}
</table>
Salida
<table>
<tr class=row1>
<td class=col1>
Child Page 1
</td>
<td class=col2>
Child Page 2
</td>
</tr>
</table>
offset
<table>
{{ child_page.title }}
{% endtablerow %}
</table>
Salida
<table>
<tr class=row1>
<td class=col1>
Child Page 3
</td>
<td class=col2>
Child Page 4
</td>
</tr>
</table>
range
Define un intervalo de números para recorrer en bucle.
Código
<table>
{% tablerow i in (1..3) %}
{{ i }}
{% endtablerow %}
</table>
Vea también
Etiquetas de flujo de control Etiquetas de variable Etiquetas de plantilla Etiquetas de entidad de PowerApps
Common Data Service
Etiquetas variables
25/11/2019 • 2 minutes to read • Edit Online
asignar
Crea una nueva variable. Las asignaciones también pueden filtros para modificar el valor.
Código
{% if is_valid %}
It is valid.
{% endif %}
{{ name }}
Salida
It is valid.
DAVE BOWMAN
capture
Captura el contenido en su bloque y lo asigna a una variable. Este contenido se puede representar más adelante
utilizando etiquetas de salida.
Código
{{ hello }}
{{ hello }}
Salida
Vea también
Etiquetas del flujo de control
Etiquetas de iteración
Etiquetas de plantilla
Etiquetas de entidad de PowerApps common data service
Etiquetas de plantilla
25/11/2019 • 2 minutes to read • Edit Online
Las etiquetas de plantilla controlan el resultado de una plantilla de varias formas, y permiten combinar varias
plantillas en una sola.
include
Incluye el contenido de una plantilla en otra, por nombre. En los portales de PowerApps, el origen de esta otra
plantilla será normalmente una plantilla web. Esto permite la reutilización de fragmentos comunes de plantilla en
varios lugares.
Cuando una plantilla se incluye en otra, la plantilla incluida tendrá acceso a las variables definidas en la plantilla
primaria.
{% include 'My Template' %}
También es posible pasar cualquier número de parámetros con nombre a la etiqueta include. Estos a continuación
se definirán como variables de la plantilla incluida.
{% include 'My Template' a:x, b:y %}
block
Usado junto con extends para proporcionar herencia de plantilla. Vea extends para uso.
extends
Usado junto con la etiqueta block para proporcionar herencia de plantilla. Esto permite que varias plantillas usen
un diseño compartido, al tiempo que reemplazan áreas específicas del diseño primario.
En los portales de PowerApps, el nombre de la plantilla primaria suministrado a la etiqueta normalmente hará
referencia al nombre de una plantilla web.
Cuando se utiliza extends, debe ser el primer contenido de la plantilla, y solo puede ir seguido de una o más
etiquetas block.
Si un bloque definido en la plantilla principal no se reemplaza, su contenido en la plantilla primaria (si lo hay) se
representarán.
comentario
Permite dejar código no representado dentro una plantilla de Liquid. No se representará ningún contenido dentro
del bloque y no se ejecutará ningún código de Liquid dentro.
Código
Hello{% comment %}, {{ user.fullname }}{% endcomment %}. My name is Charles.
Salida
Hello. My name is Charles.
raw
Permite el resultado de código de Liquid en una página sin analizarlo ni ejecutarlo.
Salida
Hello, {{ user.fullname }}. My name is Charles.
Vea también
Etiquetas del flujo de control
Etiquetas de iteración
Etiquetas variables
Etiquetas de entidad de PowerApps common data service
Etiquetas de entidad de PowerApps Common Data
Service.
25/11/2019 • 29 minutes to read • Edit Online
Las etiquetas de entidad de PowerApps se usan para cargar y mostrar los datos de PowerApps, o usar otros
servicios de marco de portales de PowerApps. Estos etiquetas son extensiones específicas de PowerApps del
lenguaje Liquid.
Gráfico
Agrega un gráfico PowerApps a una página web. La etiqueta del gráfico puede añadirse en el campo Copiar en
una página web o en el campo Origen en una Plantilla web. Para ver los pasos para agregar un gráfico de
PowerApps en una página web, consulte Agregar un gráfico a una página web en el portal.
Parámetros
Existen dos parámetros que se ofrecerán junto con la etiqueta del gráfico: id. de gráfico y viewid.
Id. de gráfico
Identificador de visualización del gráfico. Puede obtener este elemento si exporta el gráfico.
viewid
Identificador de la entidad cuando se abre en el editor de vistas.
powerbi
Agrega los paneles e informes de Power BI dentro de las páginas. La etiqueta del gráfico puede añadirse en el
campo Copiar en una página web o en el campo Origen en una plantilla web. Para ver los pasos para agregar
un informe o una panel de Power BI a una página web en el portal, consulte Adición de informes o paneles de
Power BI a una página web en el portal.
NOTE
Para que la etiqueta funcione, debe habilitar la integración de Power BI desde el Centro de administración de portales de
PowerApps. Si la integración de Power BI no está habilitada, el panel o el informe no se mostrará.
Parámetros
La etiqueta powerbi acepta los siguientes parámetros.
path
Ruta del informe o el panel de Power BI. Si el informe o el panel de Power BI son seguros, debe proporcionar
el tipo de autenticación.
{% powerbi path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-
0000-0000-000000000001/ReportSection01" %}
authentication_type
Tipo de autenticación necesaria para el informe o el panel de Power BI. Los valores válidos para este parámetro
son:
Anónimo: Permite insertar publicaciones en informes de Power BI web. El tipo de autenticación
predeterminado es Anónimo.
AAD: Permitir compartir informes Power BI o los paneles Power BI Azure Active Directory a los
usuarios autenticados.
powerbiembedded: Permite compartir los informes o los paneles seguros de Power BI con usuarios
externos que no tienen licencia de Power BI o configuración de autenticación Azure Active Directory.
Para obtener información sobre la configuración del servicio Power BI Embedded, consulte Habilitar el
servicio Power BI Embedded.
Mientras agrega el informe o el panel seguro de Power BI, asegúrese de que se comparte con servicios Azure
Active Directory o Power BI Embedded del portal.
NOTE
Los valores del parámetro authentication_type no distinguen entre mayúsculas y minúsculas.
También puede filtrar el informe por uno o varios valores. La sintaxis para filtrar un informe es:
URL?filter=Tabla/Campo eq 'valor'
Por ejemplo, supongamos que desea filtrar el informe para ver los datos para un contacto Bert Hair. Debe
anexar la dirección URL con lo siguiente:
?filter=Executives/Executive eq 'Bert Hair'
El código completado será:
Más información sobre cómo filtrar un informe: Filtrar un informe usando parámetros de cadena de consulta
en la dirección URL
NOTE
El informe anónimo no admite filtros.
También puede crear una ruta dinámica mediante la variable de Liquid capture como se ve a continuación:
roles.
Roles asignados al informe Power BI. Este parámetro funciona únicamente cuando el parámetro
authentication_type se establece en powerbiembedded.
Si ha definido roles en Power BI y los ha asignado a informes, se deben especificar los roles apropiados en la
etiqueta Liquid powerbi . Los roles le permite filtre los datos que se mostrarán en un informe. Puede
especificar varios roles separados por comas. Para obtener más información sobre la definición de roles en
Power BI, consulte Seguridad de nivel de fila (RLS ) con Power BI.
Si ha asignado un rol a un informe de Power BI, y no especificó el parámetro roles en la etiqueta Liquid ni
especificó un rol del parámetro, se mostrará un error.
TIP
Si desea usar los roles web definidos en el portal como roles Power BI, puede definir una variable y asignarla roles web.
Puede usar posteriormente la variable definido en la etiqueta Liquid.
Digamos que ha definido dos roles web como Region_East y Region_West en el portal. Puede unirlos con el código:
{% assign webroles = user.roles | join: ", " %}
En el fragmento de código anterior, webroles es una variable y los roles web de Region_East y de Region_West se
almacenarán en ella.
Use la variable webroles como sigue en la etiqueta Liquid:
{% powerbi authentication_type:"powerbiembedded" path:"https://app.powerbi.com/groups/00000000-0000-
0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000000/ReportSection2" roles:webroles%}
editable
Representa un objeto CMS de portales de PowerApps como editable en el portal, para usuarios con permiso
de edición de contenido para ese objeto. Los objetos editables son página, fragmentos y weblinks.
{% editable page 'adx_copy' type: 'html', title: 'Page Copy', escape: false, liquid: true %}
<!--
-->
{% if primary_nav %}
<ul>
</ul>
{% editable primary_nav %}
</div>
{% endif %}
Parámetros
El primer parámetro proporcionado a editable es el objeto editable. Por ejemplo, esto puede ser un conjunto de
vínculos web, fragmentos o la página actual. El segundo parámetro opcional es para especificar un nombre de
atributo o una clave dentro de ese objeto que se debe representar y editar. Esto puede ser el nombre de un
atributo de entidad, o un nombre de fragmento, por ejemplo.
Después de estos parámetros iniciales, la etiqueta admite varios parámetros opcionales con nombre.
clase
Especifica un valor de atributo class para el elemento raíz representado por esta etiqueta.
default
Un valor predeterminado que se representará en caso de que el elemento editable no tenga ningún valor.
escape
Un valor booleano que indica si un valor generado por esta etiqueta se codificará como HTML. De forma
predeterminada, es false.
liquid
Un valor booleano que indica si se procesará algún código de plantilla Liquid encontrado dentro del valor de
texto representado por esta etiqueta. De forma predeterminada, es true.
tag
El nombre de las etiquetas HTML contenedoras que representará esta etiqueta. Esta etiqueta representará
elementos div de forma predeterminada. Se recomienda generalmente elegir entre div o span como valor de
este parámetro.
title
Especifica una etiqueta para este elemento editable en la interfaz de edición de contenido. Si no se ofrece
ninguna, una etiqueta descriptiva se generará automáticamente.
type
Un valor de cadena que indica el tipo de interfaz de edición que se mostrará, para valores del texto
modificables. Los valores válidos para este parámetro son html o texto. html es la opción predeterminada.
entitylist
Carga una determinada lista de entidades, por nombre o Id. Puede obtener acceso a las propiedades de la lista
de entidades utilizando un objeto entitylist que esté disponible en el bloque de etiqueta. Para representar los
registros de resultados reales de la lista de entidades, use la etiqueta entityview en el bloque.
Si la lista de entidades se carga correctamente, el contenido del bloque se representará. Si la lista de entidades
no se encuentra, el contenido del bloque no se representará.
{% endentitylist %}
De forma predeterminada, el objeto entitylist recibirá el nombre de variable entitylist. Opcionalmente, puede
proporcionar otro nombre de variable.
{% endentitylist %}
Parámetros
Proporcione solo uno: id, name o key para seleccionar la lista de entidades que desea cargar.
id
Carga una lista de entidades por Id. GUID. id debe ser una cadena que se puede analizar como GUID.
{% entitylist id:936DA01F-9ABD-4d9d-80C7-02AF85C822A8 %}
{% endentitylist %}
Normalmente, las cadenas GUID literales no se usarán. En su lugar, se especificará id mediante una propiedad
GUID de otra variable.
{% entitylist id:page.adx_entitylist.id %}
{% endentitylist %}
name
Carga una lista de entidades por nombre.
{% entitylist name:My Entity List %}
{% endentitylist %}
key
Carga una lista de entidades por ID o nombre. Si el valor de clave proporcionado se puede analizar como
GUID, la lista de entidades se cargará por Id. De lo contrario, se cargará por nombre.
{% entitylist key:key_variable %}
{% endentitylist %}
language_code
Un código de idioma entero de PowerApps para seleccionar las etiquetas localizadas de la lista de entidades
que se cargarán. Si no se proporciona un language_code, el idioma predeterminado de la conexión de
PowerApps de la aplicación del portal se usará.
{% endentitylist %}
entityview
Carga una vista de PowerApps dada, por nombre o Id. A continuación se puede acceder a las propiedades de la
vista ߝ de metadatos de columna de la vista, registros paginados de resultados, etc. utilizando un objeto
entityview que estará disponible en el bloque de etiquetas.
Si la vista se carga correctamente, el contenido del bloque se representará. Si la vista no se encuentra, el
contenido del bloque no se representará.
{% endentityview %}
{% endentityview %}
{% entitylist id:page.adx_entitylist.id %}
{% entityview %}
Loaded default view of the entity list associated with the current page, with {{ entityview.total_records
}} total records.
{% endentityview %}
{% endentitylist %}
Parámetros
Proporcione bien ido bien logical_name con el nombre para seleccionar la vista de PowerApps para cargar. Si
no se proporciona ninguna, y la etiqueta entityview está anidada en una etiqueta entitylist, se cargará la vista
predeterminada de la entitylist asociada.
id
id debe ser una cadena que se puede analizar como GUID.
{% entityview id:936DA01F-9ABD-4d9d-80C7-02AF85C822A8 %}
{% endentityview %}
Normalmente, las cadenas GUID literales no se usarán. En su lugar, se especificará id mediante una propiedad
GUID de otra variable.
{% entityview id:request.params.view %}
Loaded entity view {{ entityview.name }} using view query string request parameter.
{% endentityview %}
logical_name
Nombre lógico de la entidad de PowerApps de la vista que se va a cargar. Deben usarse junto con name.
{% endentityview %}
name
El nombre de PowerApps de la vista que se cargará. Deben usarse junto con logical_name.
{% endentityview %}
filter
Especifica si filtrar los resultados de la vista por usuario o cuenta. Debe tener un valor de cadena de usuario o
cuenta.
{% endentityview %}
{% endentityview %}
metafilter
Especifica la expresión del filtro de metadatos de la lista de entidades por la que se filtrarán los resultados de la
vista. Este parámetro solo es válido cuando entityview se utiliza junto con entitylist. En la mayoría de los casos,
este parámetro se basa en una solicitud.
{% entitylist id:page.adx_entitylist.id %}
{% endentityview %}
{% endentitylist %}
order
Especifica una expresión de ordenación para ordenar los resultados de la vista. Una expresión de ordenación
puede contener uno o varios nombres lógicos del atributo de entidad, seguido de una dirección de orden de
ASC o DESC.
{% endentityview %}
{% endentityview %}
page
Especifica la página de resultados de la vista para cargar. Si no se especifica este parámetro, la primera página
de resultados se cargará.
Este parámetro se debe pasar como un valor entero, o una cadena que se pueda analizar como un entero. Si se
proporciona un valor para este parámetro, pero el valor es nulo o no se puede analizar de otro modo como
entero, la primera página de resultados se cargará.
{% endentityview %}
{% endentityview %}
page_size
Especifica el número de resultados para cargar para la página de resultados actual. Si no se proporciona un
valor para este parámetro, y entityview se usa en un bloque entitylist, se usará el tamaño de página de la lista
de entidades. Si no se encuentra en un bloque de entitylist, se usará un valor predeterminado de 10.
Este parámetro se debe pasar como un valor entero, o una cadena que se pueda analizar como un entero. Si se
proporciona un valor para este parámetro, pero el valor es nulo o no se puede analizar de otro modo como
entero, se usará el tamaño de página predeterminado.
{% endentityview %}
{% endentityview %}
search
Especifica una expresión de búsqueda por la que filtrar los resultados de la vista. Expresiones simples de
búsqueda de palabras clave filtrarán en función de si los atributos empiezan por la palabra clave. Los
comodines * también se pueden incluir en la expresión.
{% endentityview %}
Un caso de uso compartido es establecer este parámetro basado en una solicitud, para poder establecer el
filtro de búsqueda basado en la entrada del usuario.
{% endentityview %}
enable_entity_permissions
Especifica si se va a aplicar filtrado de permisos de entidad a los resultados de la vista. Este parámetro se
establece como false de manera predeterminada. Si entityview se usa en un bloque de entitylist, el valor de este
parámetro se heredará de la configuración de la lista de entidades.
Este parámetro se debe pasar como un valor booleano o una cadena que se pueda analizar como un booleana
(true, false). Si se proporciona un valor para este parámetro, pero el valor es nulo o no se puede analizar de
otro modo como booleano, se usará false de forma predeterminada.
Loaded entity view with {{ entityview.total_records }} total records to which the user has read permission.
{% endentityview %}
language_code
Un código de idioma entero de PowerApps para seleccionar las etiquetas localizadas de vista de la entidad
(etiquetas de encabezado de columna, etc.) para cargar. Si no se proporciona un language_code, el idioma
predeterminado de la conexión de PowerApps de la aplicación del portal se usará.
Si entityview se usa dentro de un bloque entitylist, entityview heredará su configuración de código de idioma
de entitylist.
{% endentitylist %}
searchindex
Realiza una consulta en el índice de búsqueda del portal. Puede obtener acceso a los resultados que coincidan
utilizando un searchindex que esté disponible en el bloque de etiqueta.
{% searchindex query: 'support', page: params.page, page_size: 10 %}
{% if searchindex.results.size > 0 %}
<ul>
<li>
</li>
{% endfor %}
</ul>
{% else %}
{% endif %}
{% endsearchindex %}
{% if liquid_search.results.size > 0 %}
...
{% endif %}
{% endsearchindex %}
Parámetros
La etiqueta searchindex acepta los siguientes parámetros.
query
La consulta usada para que coincidan los resultados. Este parámetro se usa para aceptar la parte especificada
por el usuario de la consulta de índice (si la hay).
...
{% endsearchindex %}
...
{% endsearchindex %}
...
{% endsearchindex %}
NOTE
La diferencia entre filter y query es aunque ambos aceptarán la sintaxis de analizador de consultas de Lucene, query está
pensada para ser más indulgente sobre la sintaxis es ߝ analizada, pues se espera que la mayoría de los usuarios finales
no conozcan esta sintaxis. Por lo tanto, en caso de que el análisis de query según la sintaxis genere un error, la consulta
completa se incluirá con caracteres de escape y enviará como texto de la consulta. filter, por otro lado, se analizará
estrictamente y devolverá un error en el caso de sintaxis no válida.
logical_names
Los nombres lógicos de entidad de PowerApps a los que los resultados coincidentes estarán restringidos,
como una cadena delimitada por comas. Si no se proporcionan, se devolverán todas las entidades que
coincidan.
...
>
{% endsearchindex %}
page
La página de resultados de búsqueda que se devolverá. Si no se proporciona, la primera página (1) será
devuelta.
...
{% endsearchindex %}
...
{% endsearchindex %}
page_size
El tamaño de la página de resultados que se devolverá. Si no se proporciona, se usará un tamaño
predeterminado de 10.
...
{% endsearchindex %}
entityform
Representa completamente formularios de entidad configurados por PowerApps, por nombre o Id.
NOTE
La etiqueta entityform sólo está disponible para su uso en el contenido representado en una plantilla de página basada
en plantilla web–. Intentar usar la etiqueta en una plantilla de página basada en reescritura no representará nada. Solo
puede representar una sola etiqueta entityform o webform por página. Las etiquetas entityform o webform después de
la primera no se representarán.
Parámetros
name
El nombre del formulario de entidad que desea cargar.
{% entityform name:My Entity Form %}
webform
Representa completamente un formulario web configurado por PowerApps, por nombre o Id. La etiqueta
webform solo está disponible para su uso en el contenido representado en una plantilla de página basada en
plantilla web. Intentar usar la etiqueta en una plantilla de página basada en reescritura no representará nada.
Solo puede representar una sola etiqueta entityform o webform por página. Las etiquetas entityform o
webform después de la primera no se representarán.
{% webform name: 'My Web Form' %}
Parámetros
name
El nombre del formulario web que desea cargar.
{% webform name:My Web Form %}
Vea también
Etiquetas del flujo de control
Etiquetas de iteración
Etiquetas variables
Etiquetas de plantilla
Filtros de Liquid disponibles
25/11/2019 • 25 minutes to read • Edit Online
Los filtros de Liquid se usan para modificar el resultado de cadenas, números, variables y objetos. Están
separados del valor al que se aplican mediante una |.
{{ 'hal 9000' | upcase }} <!-- Output: HAL 9000 -->
Algunos filtros aceptan parámetros. Los filtros también se pueden combinar, y se aplican en orden de izquierda
a derecha.
Filtros de matriz
Los filtros de matriz se usan para trabajar con matrices.
batch
Divide una matriz en matrices múltiples de un determinado tamaño.
Código
<ul>
{% endfor %}
</ul>
{% endfor %}
Salida
<ul>
<li>John Smith</li>
<li>Dave Thomas</li>
</ul>
<ul>
<li>Jake Johnson</li>
<li>Jack Robinson</li>
</ul>
concat
Concatena dos matrices en un matriz nueva y única.
Dado un solo elemento como parámetro, concat devuelve una nueva matriz que consiste en la matriz original,
con el elemento dado como último elemento.
Código
Salida
except
Seleccione todos los objetos de una matriz en la que un atributo determinado no tiene un valor determinado.
(Es lo contrario dewhere).
Código
{{ item.fullname }}
{% endfor %}
Salida
Jack Robinson
primero
Devuelve el primer elemento de una matriz.
first también se puede usar con la notación de punto especial, en casos en los que sea necesario usarla dentro
de una etiqueta.
Código
{{ words | first }}
{% if words.first == This %}
{% endif %}
Salida
This
group_by
Agrupa los elementos en una matriz por un atributo determinado.
Código
{{ group.key }}:
{{ item.fullname }}
{% endfor %}
{% endfor %}
Salida
Redmond:
John Smith
Dave Thomas
Jake Johnson
New York:
Jack Robinson
join
Combina los elementos de una matriz con el carácter pasado como parámetro. El resultado es una sola cadena.
Código
{{ words | join: , }}
Salida
Último
Devuelve el último elemento de una matriz.
last también se puede usar con la notación de punto especial, en casos en los que sea necesario usarla dentro
de una etiqueta.
Código
{{ words | last }}
{% endif -%}
Salida
text
order_by
Devuelve los elementos de una matriz ordenada por atributo dado de los elementos de la matriz.
De manera opcional, puede proporcionar desc como segundo parámetro para ordenar los elementos en orden
descendente, en lugar de ascendente.
Código
{{ entityview.records | order_by: 'fullname' | join: ', ' }}
Salida
random
Devuelve un solo elemento seleccionado aleatoriamente de la matriz.
Código
{{ group1 | random }}
Salida
Pete
select
Selecciona el valor de un atributo determinado para cada elemento de una matriz, y devuelve estos valores
como matriz.
Código
Salida
shuffle
Aplicado a una matriz, devuelve una nueva matriz con los mismos elementos, en orden aleatorizado.
Código
Output
{{ words | size }}
{% if words.size == 6 -%}
{% endif -%}
Salida
skip
Omite un número determinado de elementos de una matriz, y devuelve el resto.
Código
Salida
take
Toma un número determinado de elementos de la matriz, devolviendo los elementos tomados.
Código
Salida
This, is, a
then_by
Agrega orden posterior adicional a una matriz ya ordenada medianteorder_by.
De manera opcional, puede proporcionar desc como segundo parámetro para ordenar los elementos en orden
descendente, en lugar de ascendente.
Código
Salida
donde
Seleccione todos los objetos de una matriz en la que un atributo determinado tiene un valor determinado.
Código
{{ item.fullname }}
{% endfor %}
Salida
John Smith
Dave Thomas
Jake Johnson
Salida
5/7/2018 7:20 AM
date_add_days
Agrega un número especificado de días enteros y fraccionarios al valor de fecha y hora. El parámetro pueden
ser positivo o negativo.
Código
{{ now }}
{{ now | date_add_days: 1 }}
Salida
5/7/2018 7:20:46 AM
5/8/2018 7:20:46 AM
5/4/2018 7:20:46 PM
date_add_hours
Agrega un número especificado de horas enteras y fraccionarias al valor de fecha y hora. El parámetro pueden
ser positivo o negativo.
Código
{{ now }}
{{ now | date_add_hours: 1 }}
Salida
5/7/2018 7:20:46 AM
5/7/2018 8:20:46 AM
5/7/2018 4:50:46 AM
date_add_minutes
Agrega un número especificado de minutos enteros y fraccionarios al valor de fecha y hora. El parámetro
pueden ser positivo o negativo.
Código
{{ now }}
{{ now | date_add_minutes: 10 }}
Salida
5/7/2018 7:20:46 AM
5/7/2018 7:30:46 AM
5/7/2018 7:18:16 AM
date_add_months
Agrega un número especificado de meses enteros al valor de fecha y hora. El parámetro pueden ser positivo o
negativo.
Código
{{ now }}
{{ now | date_add_months: 1 }}
{{ now | date_add_months: -2 }}
Salida
5/7/2018 7:20:46 AM
6/7/2018 7:20:46 AM
3/7/2018 7:20:46 AM
date_add_seconds
Agrega un número especificado de segundos enteros y fraccionarios al valor de fecha y hora. El parámetro
pueden ser positivo o negativo.
Código
{{ now }}
{{ now | date_add_seconds: 10 }}
Salida
5/7/2018 7:20:46 AM
5/7/2018 7:20:56 AM
5/7/2018 7:20:45 AM
date_add_years
Agrega un número especificado de años enteros al valor de fecha y hora. El parámetro pueden ser positivo o
negativo.
Código
{{ now }}
{{ now | date_add_years: 1 }}
{{ now | date_add_years: -2 }}
Salida
5/7/2018 7:20:46 AM
5/7/2019 7:20:46 AM
5/7/2016 7:20:46 AM
date_to_iso8601
Aplica formato a un valor de fecha y hora de acuerdo con la norma ISO 8601. Útil para crear fuentes Atom o el
elemento HTML5 <>.
Código
{{ now | date_to_iso8601 }}
Salida
2018-05-07T07:20:46Z
date_to_rfc822
Aplica formato a un valor de fecha y hora de acuerdo con la norma RFC 822. Útil para crear fuentes RSS.
Código
{{ now | date_to_rfc822 }}
Salida
Salida
DESC
metafilters
Analiza un valor JSON de entitylist filtro_definición en objetos de grupo de opciones de filtro.
metafilters se puede ofrecer opcionalmente con una consulta de filtro de atributos actual y una entitylist actual,
lo que permite que los objetos de filtro devueltos se marquen como seleccionados o no seleccionados.
Código
{% assign filters = entitylist | metafilters: params.mf, entityview %}
{% if filters.size > 0 %}
<ul id=entitylist-filters>
{% for filter in filters %}
<li class=entitylist-filter-option-group>
{% if filter.selection_mode == 'Single' %}
{% assign type = 'radio' %}
{% else %}
{% assign type = 'checkbox' %}
{% endif %}
<h4 class=entitylist-filter-option-group-label
data-filter-id={{ filter.id | h }}>
{{ filter.label | h }}
</h4>
<ul>
{% for option in filter.options %}
<li class=entitylist-filter-option>
{% if option.type == 'text' %}
<div class=input-group entitylist-filter-option-text>
<span class=input-group-addon>
<span class=fa fa-filter aria-hidden=true></span>
</span>
<input class=form-control
type=text
name={{ filter.id | h }}
value={{ option.text | h }} />
</div>
{% else %}
<div class={{ type | h }}>
<label>
<input
type={{ type | h }}
name={{ filter.id | h }}
value={{ option.id | h }}
{% if option.checked %}
checked=checked
data-checked=true{% endif %}
/>
{{ option.label | h }}
</label>
</div>
{% endif %}
</li>
{% endfor %}
</ul>
</li>
{% endfor %}
</ul>
<button class=btn btn-default data-serialized-query=mf data-target=#entitylist-filters>Apply
Filters</button>
{% endif %}
reverse_sort
Dada una dirección de ordenación, devuelve la dirección de ordenación opuesta.
Código
{{ 'ASC' | reverse_sort }}
{{ 'desc' | reverse_sort }}
Salida
DESC
ASC
Filtros de matemáticas
Los filtros de matemáticas permiten realizar operaciones matemáticas en números.
Como con todos los filtros, los filtros de matemáticas también se pueden encadenar y se aplican en orden de
izquierda a derecha.
Código
Salida
ceil
Redondea al alza un valor hasta el entero más cercano.
Código
{{ 4.6 | ceil }}
{{ 4.3 | ceil }}
Salida
divided_by
Divide un número por otro número.
Código
{{ 10 | divided_by: 2 }}
{{ 10 | divided_by: 3 }}
{{ 10.0 | divided_by: 3 }}
Salida
3.333333
floor
Redondea a la baja un valor hasta el entero más cercano.
Código
{{ 4.6 | floor }}
{{ 4.3 | floor }}
Salida
minus
Resta un número de otro número.
Código
{{ entityview.page | minus: 1 }}
{{ 10 | minus: 1.1 }}
{{ 10.1 | minus: 1 }}
Salida
10
9.1
modulo
Divide un número por otro número y devuelve el resto.
Código
{{ 12 | modulo: 5 }}
Salida
plus
Suma un número a otro número.
Código
<!-- entityview.page = 11 -->
{{ entityview.page | plus: 1 }}
{{ 10 | plus: 1.1 }}
{{ 10.1 | plus: 1 }}
Salida
12
11
11.1
round
Redondea un valor al entero más próximo o el número especificado de decimales.
Código
{{ 4.6 | round }}
{{ 4.3 | round }}
{{ 4.5612 | round: 2 }}
Salida
4.56
times
Multiplica un número por otro número.
Código
{{ 10 | times: 2 }}
{{ 10 | times: 2.2 }}
{{ 10.1 | times: 2 }}
Salida
20
20
20.2
Filtros de cadena
Los filtros de cadena manipulan cadenas.
append
Anexa una cadena al final de otra cadena.
Código
Salida
filename.js
capitalize
pone en mayúscula la primera palabra en una cadena.
Código
Salida
Capitalize Me
downcase
Convierte una cadena en minúscula.
Código
Salida
escape
Inserta caracteres de escape HTML en una cadena.
Código
{{ '<p>test</p>' | escape }}
Salida
<p>test</p>
newline_to_br
Inserta una etiqueta HTML de salto de línea <br /> en cada salto de línea de una cadena.
Código
{% capture text %}
{% endcapture %}
{{ text | newline_to_br }}
Salida
A<br />
B<br />
C<br />
prepend
Antepone una cadena al principio de otra cadena.
Código
Salida
remove
Elimina todas las instancias de una subcadena de una cadena.
Código
Salida
remove_first
Elimina la primera instancia de una subcadena de una cadena.
Código
Salida
Salida
replace_first
Reemplaza la primera instancia de una cadena con una subcadena.
Código
Salida
split
El filtro split adopta una subcadena como parámetro. La subcadena se usa como delimitador para dividir una
cadena en una matriz.
Código
{% assign words = This is a demo of the split filter | split: ' ' %}
Salida
Second word: is
strip_html
Quita todas las etiquetas HTML de una cadena.
Código
<p>Hello</p>
Salida
Hello
strip_newlines
Quita las saltos de línea de una cadena.
Código
{% capture text %}
{% endcapture %}
{{ text | strip_newlines }}
Salida
ABC
text_to_html
Da formato a una cadena de texto sin formato como HTML simple. Todo el texto se codificará como HTML,
bloques de texto separados por una línea en blanco se incluirán entre etiquetas de párrafo <p>, los saltos de
línea individuales se sustituirán con <br>, y las direcciones URL se convertirán en hipervínculos.
Código
{{ note.notetext | text_to_html }}
Salida
truncate
Trunca una cadena hasta un número de caracteres determinado. Un punto suspensivo (...) se anexa a la cadena y
se incluye en el número de caracteres.
Código
This is...
truncate_words
Trunca una cadena hasta un número de palabras determinado. Se anexan puntos suspensivos (...) a la cadena
truncada.
Código
Salida
This is a...
upcase
Convierte una cadena en mayúscula.
Código
Salida
url_escape
Se insertan caracteres de escape URI en una cadena para su inclusión en una dirección URL.
Código
Salida
This+%26+that%2F%2F
xml_escape
Se insertan caracteres de escape XML en una cadena para su inclusión en salida XML.
Código
{{ '<p>test</p>' | xml_escape }}
Salida
<p>test</p>
Filtros de tipo
Los filtros de tipo permiten la conversión de valores de un tipo a otro.
boolean
Intenta convertir un valor de cadena en booleano. Si el valor ya es booleano, se devolverá sin cambios. Si el
valor no se puede convertir en booleano, se devolverá null.
Este filtro también acepta on, habilitado, o sí como true, y off, deshabilitado y no como false.
Código
{{ true | boolean }}
{{ 'false' | boolean }}
{{ 'enabled' | boolean }}
Salida
true
false
true
false
decimal
Intenta convertir un valor de cadena en número decimal. Si el valor ya es un número decimal, se devolverá sin
cambios. Si el valor no se puede convertir en un número decimal, se devolverá null.
Código
{{ 10.1 | decimal }}
{{ '3.14' | decimal }}
Salida
10.1
3.14
3.14
integer
Intenta convertir un valor de cadena en un entero. Si el valor ya es un entero, se devolverá sin cambios. Si el
valor no se puede convertir en un entero, se devolverá null.
Código
{{ 10 | integer }}
{{ '10' | integer }}
{{ '10.1' | integer }}
Salida
10
10
string
Intenta convertir un valor en su representación de cadena. Si el valor ya es una cadena, se devolverá sin
cambios. Si el valor es null, se devolverá null.
Salida
https://example.com/path?page=1&foo=bar
/path?page=2
base
Obtiene la dirección URL de una dirección URL determinada.
Código
{{ 'https://example.com/path?foo=bar&page=2' | base }}
Salida
https://example.com
host
Obtiene la parte de host de una dirección URL.
Código
{{ 'https://example.com/path?foo=bar&page=2' | host }}
Salida
example.com
path
Obtiene la parte de ruta de una dirección URL.
Código
{{ 'https://example.com/path?foo=bar&page=2' | path }}
{{ '/path?foo=bar&page=2' | path }}
Salida
/path
/path
path_and_query
Obtiene la parte de ruta y consulta de una dirección URL.
Código
{{ 'https://example.com/path?foo=bar&page=2' | path_and_query }}
{{ '/path?foo=bar&page=2' | path_and_query }}
Salida
/path?foo=bar&page=2
/path?foo=bar&page=2
port
Obtiene el número de puerto una dirección URL.
Código
{{ 'https://example.com/path?foo=bar&page=2' | port }}
{{ 'https://example.com/path?foo=bar&page=2' | port }}
{{ 'https://example.com:9000/path?foo=bar&page=2' | port }}
Salida
80
443
9000
remove_query
Quita un parámetro de cadena de consulta de una dirección URL. Si el parámetro no existe en la dirección URL,
la dirección URL se devuelve sin cambios.
Si este filtro se aplica a una dirección URL absoluta completa, una dirección URL absoluta actualizada será el
resultado. Si se aplica a una ruta, una ruta actualizada será el resultado.
Código
Salida
https://example.com/path
/path
scheme
Obtiene la parte de esquema de una dirección URL.
Código
{{ 'https://example.com/path?foo=bar&page=2' | scheme }}
{{ 'https://example.com/path?foo=bar&page=2' | scheme }}
Salida
http
https
Filtros adicionales
Estos filtros proporcionan funcionalidad general útil.
default
Devuelve un valor predeterminado para cualquier variable sin valor asignado (es decir, null).
Código
Salida
My Website
file_size
Aplicado un valor de número que representa varios bytes, devuelve un tamaño de archivo con formato con una
unidad de escala adecuada.
Opcionalmente, puede pasarse un parámetro de precisión para controlar el número de decimales en el
resultado. La precisión predeterminada es 1.
Código
{{ 10000000 | file_size }}
{{ 2050 | file_size: 0 }}
{{ entity.notes.first.filesize | file_size: 2 }}
Salida
9.5 MB
2 KB
207.14 KB
has_role
Si se aplica a un usuario, devuelve true si el usuario pertenece al rol determinado. Devuelve false si no.
Código
{% if is_admin %}
User is an administrator.
{% endif %}
liquid
Representa una cadena como código de Liquid. Este código tendrá acceso al contexto de ejecución de Liquid
actual (variables, etc.).
NOTE
Este filtro se debe usar con precaución y debe aplicarse normalmente sólo a los valores que están bajo el control exclusivo
de los autores del contenido del portal, u otros usuarios en los que se puede confiar para escribir código de Liquid.
Código
{{ page.adx_copy | liquid }}
Vea también
Almacenar contenido de origen con plantillas web
Comprender operadores de Liquid Tipos de Liquid
Objetos de Liquid
Etiquetas de Liquid
Filtros de Liquid
Crear una plantilla de página personalizada
25/11/2019 • 3 minutes to read • Edit Online
En este ejemplo, crearemos una plantilla de páginas personalizada, usando Liquid y una plantilla de página que se
basa en una plantilla web. Más información:Almacenar contenido de origen con plantillas web. Nuestra objetivo es
crear una plantilla simple de dos columnas que use un conjunto de vínculos web como navegación del lado
izquierdo, con el contenido de páginas a la derecha.
TIP
Lea sobre herencia de plantilla con las etiquetas block y extends: Etiquetas de plantilla
Diseño de dos columnas (plantilla web)
<div class=container>
<div class=page-heading>
<ul class=breadcrumb>
{% for crumb in page.breadcrumbs -%}
<li>
<a href={{ crumb.url }}>{{ crumb.title }}</a>
</li>
{% endfor -%}
<li class=active>{{ page.title }}</li>
</ul>
<div class=page-header>
<h1>{{ page.title }}</h1>
</div>
</div>
<div class=row>
<div class=col-sm-4 col-lg-3>
{% block sidebar %}{% endblock %}
</div>
<div class=col-sm-8 col-lg-9>
{% block content %}{% endblock %}
</div>
</div>
</div>
Paso 2: Crear una nueva plantilla web que amplíe nuestra plantilla de
diseño base
Utilice el conjunto de vínculos web de navegación asociado con la página actual para nuestros vínculos de
navegación para crear una nueva plantilla web que amplía nuestra plantilla de diseño base.
TIP
Familiarícese sobre cómo cargar conjuntos de vínculos web mediante el objeto weblinks.
{% block sidebar %}
{% assign weblinkset_id = page.adx_navigation.id %}
{% if weblinkset_id %}
{% assign nav = weblinks[page.adx_navigation.id] %}
{% if nav %}
<div class=list-group>
{% for link in nav.weblinks %}
<a class=list-group-item href={{ link.url }}>
{{ link.name }}
</a>
{% endfor %}
</div>
{% endif %}
{% endif %}
{% endblock %}
{% block content %}
<div class=page-copy>
{{ page.adx_copy }}
</div>
{% endblock %}
Este ejemplo representa un tipo de navegación híbrida, en función del mapa del sitio del portal, que representa
hasta tres niveles de jerarquía de páginas. Las reglas para este componente son:
Las páginas antecesoras de la página actual se muestra hasta la página principal (o la profundidad máxima
especificada por el parámetro depth_offset opcional).
Si la página actual tiene secundarias, estas páginas secundarias se mostrarán.
Si la página actual no tiene secundarias, se verán las páginas del mismo nivel que la página actual.
{% if current_page.children.size > 0 %}
{% assign leaf_page = false %}
{% else %}
{% assign leaf_page = true %}
{% endif %}
{% capture page_item %}
<li class=active>
<a href={{ current_page.url | h }} title={{ current_page.title | h }}>
{% if leaf_page %}
<span class=fa fa-fw aria-hidden=true></span>
{% else %}
<span class=fa fa-fw fa-caret-down aria-hidden=true></span>
{% endif %}
{{ current_page.title | h }}
</a>
{% unless leaf_page %}
<ul>
{% for child in current_page.children %}
<li>
<a href={{ child.url | h }} title={{ child.title | h }}>
{% if child.children.size > 0 %}
<span class=fa fa-fw fa-caret-right aria-hidden=true></span>
{% else %}
<span class=fa fa-fw aria-hidden=true></span>
{% endif %}
{{ child.title | h }}
{% if child.entity.logical_name == 'adx_shortcut' %}
<span class=fa fa-fw fa-external-link aria-hidden=true></span>
{% elsif child.entity.logical_name == 'adx_webfile' %}
<span class=fa fa-fw fa-file-o aria-hidden=true><span class=sr-only>(File)</span></span>
{% endif %}
</a>
</li>
{% endfor %}
</ul>
{% endunless %}
</li>
{% endcapture %}
{% if crumb_count < 1 %}
{{ page_item }}
{% elsif crumb_count < 2 and leaf_mode %}
{% for parent_sibling in current_page.parent.parent.children %}
{% if parent_sibling.url == current_page.parent.url %}
<li>
<a href={{ current_page.parent.url | h }} title={{ current_page.parent.title | h }}>
<span class=fa fa-fw fa-caret-down aria-hidden=true></span>
{{ current_page.parent.title | h }}
</a>
<ul>
{% for sibling in current_page.parent.children %}
<li {% if sibling.url == current_page.url %}class=active{% endif %}>
<a href={{ sibling.url | h }} title={{ sibling.title | h }}>
{% if sibling.children.size > 0 %}
<span class=fa fa-fw fa-caret-right aria-hidden=true></span>
{% else %}
<span class=fa fa-fw aria-hidden=true></span>
{% endif %}
{{ sibling.title | h }}
{% if sibling.entity.logical_name == 'adx_shortcut' %}
<span class=fa fa-fw fa-external-link aria-hidden=true></span>
{% elsif sibling.entity.logical_name == 'adx_webfile' %}
<span class=fa fa-fw fa-file-o aria-hidden=true><span class=sr-only>(File)</span>
</span>
{% endif %}
</a>
</li>
{% endfor %}
</ul>
</li>
{% else %}
<li>
<a href={{ parent_sibling.url | h }} title={{ parent_sibling.title | h }}>
{% if parent_sibling.children.size > 0 %}
<span class=fa fa-fw fa-caret-right aria-hidden=true></span>
{% else %}
<span class=fa fa-fw aria-hidden=true></span>
{% endif %}
{{ parent_sibling.title | h }}
{% if parent_sibling.entity.logical_name == 'adx_shortcut' %}
<span class=fa fa-fw fa-external-link aria-hidden=true></span>
{% elsif parent_sibling.entity.logical_name == 'adx_webfile' %}
<span class=fa fa-fw fa-file-o aria-hidden=true><span class=sr-only>(File)</span></span>
{% endif %}
</a>
</li>
{% endif %}
{% endfor %}
{% else %}
<li>
<ul>
{% if leaf_mode %}
{% for parent_sibling in current_page.parent.parent.children %}
{% if parent_sibling.url == current_page.parent.url %}
<li>
<a href={{ current_page.parent.url | h }} title={{ current_page.parent.title | h }}>
<span class=fa fa-fw fa-caret-down aria-hidden=true></span>
{{ current_page.parent.title | h }}
</a>
<ul>
{% for sibling in current_page.parent.children %}
<li {% if sibling.url == current_page.url %}class=active{% endif %}>
<a href={{ sibling.url | h }} title={{ sibling.title | h }}>
{% if sibling.children.size > 0 %}
<span class=fa fa-fw fa-caret-right aria-hidden=true></span>
{% else %}
<span class=fa fa-fw aria-hidden=true></span>
{% endif %}
{{ sibling.title | h }}
{% if sibling.entity.logical_name == 'adx_shortcut' %}
<span class=fa fa-fw fa-external-link aria-hidden=true></span>
{% elsif sibling.entity.logical_name == 'adx_webfile' %}
<span class=fa fa-fw fa-file-o aria-hidden=true><span class=sr-only>(File)
</span></span>
{% endif %}
</a>
</li>
{% endfor %}
</ul>
</li>
{% else %}
<li>
<a href={{ parent_sibling.url | h }} title={{ parent_sibling.title | h }}>
{% if parent_sibling.children.size > 0 %}
<span class=fa fa-fw fa-caret-right aria-hidden=true></span>
{% else %}
<span class=fa fa-fw aria-hidden=true></span>
{% endif %}
{{ parent_sibling.title | h }}
{% if parent_sibling.entity.logical_name == 'adx_shortcut' %}
<span class=fa fa-fw fa-external-link aria-hidden=true></span>
{% elsif parent_sibling.entity.logical_name == 'adx_webfile' %}
<span class=fa fa-fw fa-file-o aria-hidden=true><span class=sr-only>(File)</span>
</span>
{% endif %}
</a>
</li>
{% endif %}
{% endfor %}
{% else %}
{% for sibling in current_page.parent.children %}
{% if sibling.url == current_page.url %}
{{ page_item }}
{% else %}
<li>
<a href={{ sibling.url | h }} title={{ sibling.title | h }}>
{% if sibling.children.size > 0 %}
<span class=fa fa-fw fa-caret-right aria-hidden=true></span>
{% else %}
<span class=fa fa-fw aria-hidden=true></span>
{% endif %}
{{ sibling.title | h }}
{% if sibling.entity.logical_name == 'adx_shortcut' %}
<span class=fa fa-fw fa-external-link aria-hidden=true></span>
{% elsif sibling.entity.logical_name == 'adx_webfile' %}
<span class=fa fa-fw fa-file-o aria-hidden=true><span class=sr-only>(File)</span>
</span>
{% endif %}
</a>
</a>
</li>
{% endif %}
{% endfor %}
{% endif %}
</ul>
</li>
{% endif %}
</ul>
<style type=text/css>
.side-nav {
border-right: solid 1px #eee;
}
.side-nav,
.side-nav ul {
list-style: none;
margin: 0;
padding: 0;
}
.side-nav ul {
margin-left: 20px;
}
.side-nav a {
display: block;
line-height: 30px;
overflow: hidden;
text-decoration: none;
white-space: nowrap;
}
Vea también
Crear una plantilla de página personalizada con Liquid y una plantilla de página de plantilla web
Crear una plantilla de página personalizada para representar una fuente RSS
Representar la lista de entidades asociada a la página actual
Represente un encabezado y una barra de navegación principal de página web
Representar la lista de entidades asociada a la
página actual
25/11/2019 • 4 minutes to read • Edit Online
Represente la lista de entidades asociada a la página actual como una tabla paginada y ordenable. Usa los
parámetros entitylist, entityview, PowerApps Common Data Service entity tags, page y request e incluye
búsqueda y selección de varias vistas.
{% entitylist id:page.adx_entitylist.id %}
<div class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle"
data-toggle="collapse"
data-target="#entitylist-navbar-{{ entitylist.id }}">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="{{ page.url }}">{{ entitylist.adx_name }}</a>
</div>
<div class="collapse navbar-collapse" id="entitylist-navbar-{{ entitylist.id }}">
{% if entitylist.views.size > 1 %}
<ul class="nav navbar-nav">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
<i class="fa fa-list"></i> Views <span class="caret"></span>
</a>
<ul class="dropdown-menu" role="menu">
{% for view in entitylist.views -%}
<li{% if params.view == view.id %} class="active"{% endif %}>
<a href="{{ request.path | add_query:'view', view.id }}">{{view.name}}</a>
</li>
{% endfor -%}
</ul>
</li>
</ul>
{% endif %}
{% if entitylist.search_enabled %}
<form class="navbar-form navbar-left" method="get">
<div class="input-group">
{% if params.search.size > 0 %}
<div class="input-group-btn">
<a class="btn btn-default"
href="{{ request.path_and_query | remove_query:'search' }}">×</a>
</div>
{% endif %}
<input name="search" class="form-control"
value="{{ params.search }}"
placeholder="{{ entitylist.search_placeholder | default: 'Search' }}"
type="text" />
<div class="input-group-btn">
<button type="submit" class="btn btn-default"
title="{{ entitylist.search_tooltip }}">
<i class="fa fa-search"> </i>
</button>
</div>
</div>
</div>
</form>
{% endif %}
{% if entitylist.create_enabled %}
<ul class="nav navbar-nav navbar-right">
<li>
<a href="{{ entitylist.create_url }}">
<i class="fa fa-plus"></i> {{ entitylist.create_label | default: 'Create' }}
</a>
</li>
</ul>
{% endif %}
</div>
</div>
</div>
<tbody>
{% for e in entityview.records -%}
<tr>
<td>
{% if entitylist.detail_enabled -%}
<a class="btn btn-default btn-xs"
href="{{ entitylist.detail_url}}?{{ entitylist.detail_id_parameter }}={{ e.id }}"
title="{{ entitylist.detail_label }}">
<i class="fa fa-external-link"></i>
</a>
{% endif -%}
</td>
<tr>
{% endfor -%}
</tbody>
</table>
{% if entityview.pages.size > 0 %}
{% assign first_page = entityview.first_page %}
{% assign last_page = entityview.last_page %}
{% assign page_offset = entityview.page | minus:1 | divided_by:10 | times:10 %}
{% assign page_slice_first_page = page_offset | plus:1 %}
{% assign page_slice_last_page = page_offset | plus:10 %}
<ul class="pagination">
<li {% unless first_page and entityview.page > 1 %}class="disabled"{% endunless %}>
<a
{% if first_page and entityview.page > 1 %}
href="{{ request.url | add_query:'page', first_page | path_and_query }}"
{% endif %}>
«
</a>
</li>
{% if page_slice_first_page > 1 %}
{% assign previous_slice_last_page = page_slice_first_page | minus:1 %}
<li>
<a href="{{ request.url | add_query:'page', previous_slice_last_page | path_and_query }}">
…
</a>
</li>
{% endif %}
<li {% unless last_page and entityview.page < last_page %}class="disabled"{% endunless %}>
<a
{% if last_page and entityview.page < last_page %}
href="{{ request.url | add_query:'page', last_page | path_and_query }}"
{% endif %}>
»
</a>
</li>
</ul>
{% endif %}
{% endentityview %}
{% endentitylist %}
Vea también
Crear una plantilla de página personalizada con Liquid y una plantilla de página de plantilla web
Crear una plantilla de página personalizada para representar una fuente RSS
Represente un encabezado y una barra de navegación principal de página web
Represente hasta tres niveles de jerarquía de páginas mediante la navegación híbrida
Crear una plantilla de página personalizada para
representar una fuente RSS
25/11/2019 • 4 minutes to read • Edit Online
En este ejemplo, crearemos una plantilla de página personalizada para representar una fuente RSS de artículos de
noticias, utilizando Liquid y una plantilla de página web. Más información:Almacenar contenido de origen con
plantillas web.
En este ejemplo, hemos visto cómo podemos agrupar características de administración de contenido de Liquid,
plantillas web, vistas de PowerApps, y los portales para crear una fuente RSS personalizada. La combinación de
estas características agrega eficaces capacidades de personalización a cualquier aplicación de portal.
Vea también
Crear una plantilla de página personalizada con Liquid y una plantilla de página de plantilla web
Representar la lista de entidades asociada a la página actual
Represente un encabezado y una barra de navegación principal de página web
Represente hasta tres niveles de jerarquía de páginas mediante la navegación híbrida
Represente un encabezado y una barra de
navegación principal de página web
25/11/2019 • 4 minutes to read • Edit Online
Represente un encabezado y una barra de navegación principal de página web utilizando valores del portal,
fragmentos, weblinks y marcadores de sitio. Más información:Almacenar contenido de origen con plantillas web.
NOTE
El ejemplo en este tema funcionará correctamente únicamente si el la memoria caché de encabezado de solicitud cruzada
está deshabilitada en la aplicación. Está habilitada de forma predeterminada en la versión 7.0.0019 y posteriores. Se
pueden deshabilitar creando una configuración del sitio llamada Header/OutputCache/Enabled, y establecer su valor en
false.
<div class=toolbar-item>
<div class=btn-toolbar role=toolbar>
{% if user %}
<div class=btn-group>
<a href=# class=btn btn-default dropdown-toggle data-toggle=dropdown>
<span class=fa fa-user aria-hidden=true></span>
<span class=username>{{ user.fullname }}</span>
<span class=caret></span>
</a>
<ul class=dropdown-menu pull-right role=menu>
{% assign show_profile_nav = settings[Header/ShowAllProfileNavigationLinks] | boolean |
default:true %}
{% if show_profile_nav %}
{% assign profile_nav = weblinks[Profile Navigation] %}
{% if profile_nav %}
{% if profile_nav %}
{% for link in profile_nav.weblinks %}
<li>
<a href={{ link.url }}>{{ link.name }}</a>
</li>
{% endfor %}
{% endif %}
{% else %}
<li><a href={{ sitemarkers['Profile'].url }}>{{ snippets[Profile Link Text] |
default:Profile }}</a></li>
{% endif %}
<li class=divider></li>
<li>
<a href=/account-signout?returnUrl={{ request.raw_url }}>
{{ snippets[links/logout] | default:Sign Out }}
</a>
</li>
</ul>
</div>
{% else %}
<div class=btn-group>
<a class=btn btn-primary
href={{ sitemarkers['Login'].url | add_query:'returnurl', request.path_and_query }}>
<span class=fa fa-sign-in aria-hidden=true></span>
{{ snippets[links/login] | default:Sign In }}
</a>
</div>
{% endif %}
</div>
</div>
</div>
</div>
{% editable snippets 'Header' type: 'html' %}
</div>
</div>
<div class=header-navbar navbar navbar-default navbar-static-top role=navigation>
<div class=container>
<div class=navbar-header>
<button type=button class=navbar-toggle data-toggle=collapse data-target=#header-navbar-collapse>
<span class=sr-only>Toggle navigation</span>
<span class=icon-bar></span>
<span class=icon-bar></span>
<span class=icon-bar></span>
</button>
<div class=navbar-left visible-xs>
{% editable snippets 'Mobile Header' type: 'html' %}
</div>
</div>
<div id=header-navbar-collapse class=navbar-collapse collapse>
<div class=navbar-left hidden-xs>
{% editable snippets 'Navbar Left' type: 'html' %}
</div>
{% assign primary_nav = weblinks[Primary Navigation] %}
{% if primary_nav %}
<div class=navbar-left {% if primary_nav.editable %}xrm-entity xrm-editable-adx_weblinkset{% endif
%} data-weblinks-maxdepth=2>
<ul class=nav navbar-nav weblinks>
{% for link in primary_nav.weblinks %}
{% if link.display_page_child_links %}
{% assign sublinks = sitemap[link.url].children %}
{% else %}
{% assign sublinks = link.weblinks %}
{% endif %}
<li class=weblink {% if sublinks.size > 0 %} dropdown{% endif %}>
<a
{% if sublinks.size > 0 %}
href=# class=dropdown-toggle data-toggle=dropdown
{% else %}
href={{ link.url }}
href={{ link.url }}
{% endif %}
{% if link.nofollow %}rel=nofollow{% endif %}
{% if link.tooltip %}title={{ link.tooltip }}{% endif %}>
{% if link.image %}
{% if link.image.url startswith '.' %}
<span class={{ link.image.url | split:'.' | join }} aria-hidden=true></span>
{% else %}
<img src={{ link.image.url }}
alt={{ link.image.alternate_text | default:link.tooltip }}
{% if link.image.width %}width={{ link.image.width }}{% endif %}
{% if link.image.height %}height={{ link.image.height }}{% endif %}
/>
{% endif %}
{% endif %}
{% unless link.display_image_only %}
{{ link.name }}
{% endunless %}
{% if sublinks.size > 0 %}
<span class=caret></span>
{% endif %}
</a>
{% if sublinks.size > 0 %}
<ul class=dropdown-menu role=menu>
{% if link.url %}
<li>
<a href={{ link.url }}
{% if link.nofollow %}rel=nofollow{% endif %}
{% if link.tooltip %}title={{ link.tooltip }}{% endif %}>{{ link.name }}</a>
</li>
<li class=divider></li>
{% endif %}
{% for sublink in sublinks %}
<li>
<a href={{ sublink.url }}
{% if sublink.nofollow %}rel=nofollow{% endif %}
{% if sublink.tooltip %}title={{ link.tooltip }}{% endif %}>
{{ sublink.name | default:sublink.title }}
</a>
</li>
{% endfor %}
</ul>
{% endif %}
</li>
{% endfor %}
</ul>
{% editable primary_nav %}
</div>
{% endif %}
<div class=navbar-right hidden-xs>
{% editable snippets 'Navbar Right' type: 'html' %}
</div>
</div>
</div>
</div>
Vea también
Crear una plantilla de página personalizada con Liquid y una plantilla de página de plantilla web
Crear una plantilla de página personalizada para representar una fuente RSS
Representar la lista de entidades asociada a la página actual
Represente hasta tres niveles de jerarquía de páginas mediante la navegación híbrida
Use flujo de concesión implícito de OAuth 2.0 en el
portal
25/11/2019 • 16 minutes to read • Edit Online
Esta característica permite que un cliente realice llamadas del lado del cliente a API externas y las proteja mediante
flujo de concesión implícito de OAuth. Proporciona un extremo para obtener tokens de acceso seguro que
contendrán información de identidad de usuario para uso de API externas para autorización después de flujo de
concesión implícito de OAuth 2.0. La información de identidad de un usuario que ha iniciado sesión se pasa de
forma segura a llamadas AJAX externas. Esto no solo ayudará a los desarrolladores a pasar contexto de
autenticación sino también ayudará a los usuarios a proteger sus API mediante este mecanismo.
El flujo de concesión implícito de OAuth 2.0 admite extremos a los que un cliente puede llamar para obtener un
token de Id. Dos extremos se usan con este fin: autorizar y token.
Respuesta correcta
El extremo autorizar devuelve los siguientes valores en la dirección URL de respuesta como fragmento:
token: El token se devuelve como token web JSON (JWT) firmado digitalmente por la clave privada del portal.
state: Si un parámetro de estado se incluye en la solicitud, el mismo valor debe aparecer en la respuesta. La
aplicación debe comprobar que los valores de estado de la solicitud y la respuesta sean idénticos.
expires_in: El periodo de tiempo que el token de acceso es válido (en segundos).
Por ejemplo, una respuesta correcta tiene este aspecto:
GET
https://aadb2cplayground.azurewebsites.net/#token=eyJ0eXAiOiJKV1QiLCJhbGciOI1NisIng1dCI6Ik5HVEZ2ZEstZnl0aEV1Q&e
xpires_in=3599&state=arbitrary_data_you_sent_earlier
Respuesta de error
El error en el extremo autorizar se devuelve como documento de JSON con los siguientes valores:
Id. de error: Identificador único del error.
Mensaje de error: Un mensaje de error específico que puede ayudarle a identificar la causa raíz de un error de
autenticación.
Id. de correlación: Un GUID que se usa para fines de depuración. Si ha habilitado el registro de diagnóstico, el
id. de correlación estaría presente en registros de errores del servidor.
Marca de tiempo: Fecha y hora en que se generó el error.
El mensaje de error se muestra en el idioma predeterminado del usuario que ha iniciado sesión. Si el usuario no ha
iniciado sesión, la página de inicio de sesión se muestra para que el usuario inicie sesión. Por ejemplo, una
respuesta de error tiene este aspecto:
{"ErrorId": "PortalSTS0001", "ErrorMessage": "Client Id provided in the request is not a valid client Id
registered for this portal. Please check the parameter and try again.", "Timestamp": "4/5/2019 10:02:11 AM",
"CorrelationId": "7464eb01-71ab-44bc-93a1-f221479be847" }
NOTE
Aunque los parámetros client_id , redirect_uri , state y nonce son opcionales, se recomienda usarlos para
asegurarse de que las integraciones son seguras.
Respuesta correcta
El extremo token devuelve state expires_in como encabezados de respuesta, y token en el cuerpo del formulario.
Respuesta de error
El error en el extremo token se devuelve como documento de JSON con los siguientes valores:
Id. de error: Identificador único del error.
Mensaje de error: Un mensaje de error específico que puede ayudarle a identificar la causa raíz de un error de
autenticación.
Id. de correlación: Un GUID que se usa para fines de depuración. Si ha habilitado el registro de diagnóstico, el
id. de correlación estaría presente en registros de errores del servidor.
Marca de tiempo: Fecha y hora en que se generó el error.
El mensaje de error se muestra en el idioma predeterminado del usuario que ha iniciado sesión. Si el usuario no ha
iniciado sesión, una página de inicio de sesión se muestra para que el usuario inicie sesión. Por ejemplo, una
respuesta de error tiene este aspecto:
{"ErrorId": "PortalSTS0001", "ErrorMessage": "Client Id provided in the request is not a valid client Id
registered for this portal. Please check the parameter and try again.", "Timestamp": "4/5/2019 10:02:11 AM",
"CorrelationId": "7464eb01-71ab-44bc-93a1-f221479be847" }
Código de ejemplo
Puede usar el código siguiente para empezar a usar la concesión implícita de OAuth 2.0 con las API de portales de
PowerApps.
Use el token de OAuth del portal con una API web externa
Este ejemplo es un proyecto basado en ASP.NET y se usa para validar el token de id. emitido por portales de
PowerApps. El código de ejemplo completo se puede encontrar aquí: Use el token de OAuth del portal con una API
web externa.
Ejemplo de Autorizar el extremo
En este ejemplo se muestra cómo autorizar el extremo devuelve el token de id. como fragmento en la dirección
URL redirigida. También se explica la validación de estado compatible en la concesión implícita. El ejemplo se
puede encontrar aquí: Ejemplo de Autorizar el extremo.
Ejemplo de extremo de token
Este ejemplo le muestra cómo puede usar la función getAuthenticationToken para capturar un token de
identificador mediante el extremo de token en portales de PowerApps. El ejemplo se puede encontrar aquí:
Ejemplo de extremo de token.
Configurar un contacto para su uso en un portal
25/11/2019 • 2 minutes to read • Edit Online
Tras completar la información básica para un contacto (o pedir a un usuario que rellene el formulario de
suscripción en un portal), vaya hasta la pestaña de autenticación web en el formulario de contacto del portal para
configurar un contacto utilizando autenticación local. Para más información sobre opciones de autenticación
federadas, consulte Establecer identidad de autenticación para un portal. Para configurar un contacto para portales
mediante autenticación local, siga estas instrucciones:
1. Escriba un nombre de usuario.
2. En la cinta de opciones de comando, vaya a Más comandos > Cambiar contraseña.
Complete el flujo de trabajo de cambio de contraseña y los campos requeridos se configurarán automáticamente.
Cuando haya terminado, el contacto estará configurado para los portales.
6. En el campo Nueva contraseña, escriba una nueva contraseña y, a continuación seleccione Siguiente.
Si no escribe una contraseña y selecciona Siguiente, se le preguntarán si desea quitar la contraseña del
contacto seleccionado.
Use la característica de invitación a los portales para invitar a contactos a su portal a través de correo electrónico
automatizado creado en el sistema Common Data Service. Los invitados recibirán un correo electrónico,
completamente personalizable por usted, con un vínculo al portal y un código de invitación. Este código puede
usarse para tener acceso especial configurado por usted. Con esta característica tiene la capacidad de:
Enviar invitaciones individuales o de grupo
Especificar una fecha de vencimiento si lo desea
Especificar un usuario o contacto del portal como invitador si lo desea
Asignar automáticamente los contactos invitados a una cuenta tras canjear la invitación
Ejecutar automáticamente un flujo de trabajo tras canjear la invitación
Asignar automáticamente los contactos invitados a uno o vario roles web tras el canje
El canje de invitación se puede conseguir usando cualquier de las muchas opciones de autenticación. Para
documentación respecto a la autenticación del portal, vea Establecer identidad de autenticación para un portal y
elija el modelo aplicable a la versión y la configuración del portal. El usuario adoptará los valores proporcionados
por el administrador tras el canje. Se creará una actividad de canje de invitación para la invitación y el contacto.
Las invitaciones se envían a través del flujo de trabajo Enviar invitación. De forma predeterminada, el flujo de
trabajo crea un correo electrónico con un mensaje genérico y lo envía a la dirección de correo electrónico principal
del contacto invitado. El flujo de trabajo Enviar invitación contiene una plantilla de correo electrónico que debe
modificarse para contener un mensaje específico para el portal y el hipervínculo correcto a la página Canje de
invitación del portal.
Para editar el flujo de trabajo de plantilla de correo electrónico Enviar invitación, búsquelo y desactívelo. Una vez
desactivado, modifique la plantilla de correo electrónico para enviar el mensaje que desea y proporcionar un
vínculo a la página Canje de invitación del portal del portal.
NOTE
Se envía la invitación solo para el mensaje principal (emailaddress1) del contacto. La invitación no se enviará al correo
electrónico secundario (emailaddress2) o correo electrónico alternativo (emailaddress3) del registro de contacto.
NOMBRE DESCRIPCIÓN
Fecha de expiración Fecha que representa cuándo la invitación dejará de ser válida
para canje. Opcional.
Ejecutar flujo de trabajo al canjear contacto Un proceso de flujo de trabajo que se ejecutará cuando se
canjee la invitación. El flujo de trabajo se pasará al contacto
que canjea como entidad principal. Opcional.
Asignar a roles web Un conjunto de roles de red que se asociará al contacto que
canjea cuando se cuando se canjee la invitación. Opcional.
Canjes máximos permitidos El número de veces que la invitación pueden ser canjeada.
Disponible solo para invitaciones de tipo Grupo.
Vea también
Configurar un contacto para su uso en un portal
Establecer identidad de autenticación para un portal
Crear roles web para portales
25/11/2019 • 4 minutes to read • Edit Online
Una vez que se ha configurado un contacto para usar en el portal, debe recibir uno o varios roles web para
realizar acciones especiales o tener acceso a contenido protegido en el portal. Por ejemplo, para acceder a una
página restringida, el contacto debe asignarse a un rol con lectura restringida para esa página. Para publicar
contenido nuevo, el contacto se debe colocarse en un rol que reciba permisos de publicación de contenido.
Para crear un rol web:
1. Abra la aplicación Administración del portal.
2. Vaya a Portales > Roles web. Como alternativa, también puede abrir la página Roles web del panel
Compartir.
3. Seleccione Nuevo.
4. Especifique los valores adecuados en los campos.
5. Seleccione Guardar.
Atributos y relaciones
La tabla siguiente explica los atributos de rol web que usan los portales.
NOMBRE DESCRIPCIÓN
Rol de usuarios autenticados Booleano. Si se establece como true, será el rol web
predeterminado para usuarios autenticados (consulte a
continuación). Sólo un rol web con el atributo Rol de usuarios
autenticados establecido como true debe existir para un sitio
web determinado. Este será el rol web predeterminado para
usuarios autenticados que no se les ha asignado ningún rol
web.
Rol del usuario anónimo Booleano. Si se establece como true, será el rol web
predeterminado para usuarios no autenticados (consulte a
continuación). Sólo un rol web con el atributo Rol de usuarios
anónimos establecido como true debe existir para un sitio
web determinado. Será el rol web predeterminado para
usuarios no autenticados. El Rol de usuarios anónimos
respetará solo Permisos de entidad.
Ahora que se creó el rol web, podrá configurarlo para satisfacer sus necesidades mediante diferentes permisos,
reglas y asociaciones.
Rol web predeterminado opcional para usuarios autenticados: Al habilitar Rol de usuarios
autenticados, se convertirá en el rol web predeterminado para todos los usuarios. Este rol suele utilizarse
para proporcionar un acceso predeterminado para los usuarios que no están asociados a otros roles. Tenga
en cuenta que los usuarios pueden tener varios roles web, pero sólo puede haber un rol web de usuarios
autenticados para los usuarios autenticados.
Rol web predeterminado opcional para usuarios no autenticados: El Rol de usuarios anónimos está
diseñado para usarse con permisos de la entidad. No respetará ninguna otra regla o permiso. Si habilita el
"Rol de usuarios anónimos", se convertirá en el rol web predeterminado de todos los usuarios. Sólo puede
haber un rol web de usuarios anónimos para usuarios no autenticados.
Vea también
Configurar un portal
Controlar el acceso a páginas web para los portales
Agregar seguridad basada en registros utilizando los permisos de entidad para portales
Agregar seguridad basada en registros utilizando
los permisos de entidad para portales
25/11/2019 • 18 minutes to read • Edit Online
Para aplicar recursos basados en la seguridad en portales a registros individuales, use permisos de entidad.
Agruegue permisos de entidad a roles web, para que pueda definir los roles de la organización que
corresponden lógicamente a los privilegios y los conceptos de propiedad y acceso de registro que se
introducen usando permisos de entidad. Recuerde que un contacto dado puede pertenecer a cualquier
número de roles y un determinado rol puede contener cualquier número de permisos de entidad. Más
información: Crear roles web para portales
Aunque los permisos para cambiar y acceder a direcciones URL en un mapa del sitio del portal se conceden
a través de autorización de contenido, los administradores del sitio también deberán proteger sus
aplicaciones web personalizadas creadas con formularios de entidad y listas de entidad. Más información:
Definir formularios de entidad y Definir listas de entidad
Para proteger estas características, los permisos de entidad permiten conceder derechos granulares para
entidades arbitrarias y habilitar seguridad a nivel de registro mediante definiciones de relación.
Cuando crea un nuevo registro de permisos de entidad, el primer paso es determinar la entidad que se
protegerá. El paso siguiente es definir el ambito, como verá a continuación, y—para cualquier ámbito más
allá de Global—, las relaciones que definen ese ámbito. Finalmente, determine los derechos que se están
concediendo al rol a través de estos permisos. Tenga en cuenta que los derechos son acumulativos, por lo
que si un usuario está en un rol que concede lectura y otro que concede lectura y actualización, el usuario
tendrá derechos de lectura y actualización sobre cualquier registro que se solape entre los dos roles.
NOTE
La selección de las entidades de CMS, como la página web y los archivos web, no es válida y podría tener otras
consecuencias involuntarias. El portal validará la seguridad de las entidades de CMS basadas en los controles de
acceso a contenido, no los permisos de entidad.
Ámbito global
Si un registro de permiso de entidad con permiso de lectura se concede a un rol que tenga ámbito global,
cualquier contacto en dicho rol tendrá acceso a todos los registros de la entidad definida. Por ejemplo,
podrán ver todos los clientes potenciales, todas las cuentas, etc. Este permiso será respetado
automáticamente por cualquier lista de entidades, esencialmente mostrando todos los registros de acuerdo
con las vistas de la aplicación basada en modelo que se han definido para esa lista. Además, si un usuario
intenta acceder a un registro mediante un formulario de entidad al que no tiene acceso, recibirá un error de
permiso.
Ámbito de contacto
Con el ámbito de contacto, un usuario que ha iniciado sesión en el rol para el que se define el registro del
permiso tendrá los derechos que otorga dicho permiso solo para los registros que están relacionados con el
registro de contacto de ese usuario a través de una relación definida.
En una lista de entidades, esto significa que un filtro se agregará a las vistas de cualquier aplicación basada
en modelo que hayan emergido de esa lista, que recupera solo los registros vinculados al usuario actual
directamente. (En función del escenario, esta relación puede considerarse como propiedad o derechos de
administración).
Los formularios de entidad permitirán sólo el permiso apropiado para lectura, creación, escritura, etc. si
existe esta relación cuando el registro se carga. Más información: Definir formularios de entidad y lógica
personalizada en el portal
Ámbito de cuenta
Con el ámbito de cuenta, un usuario que haya iniciado sesión en el rol para el que se define el registro del
permiso tendrá los derechos que otorga dicho permiso solo para los registros que estén relacionados con el
registro de cuenta primaria de ese usuario, a través de una relación definida.
Ámbito propio
El ámbito propio permite definir los derechos que tiene un usuario sobre su propio registro de contacto
(identidad). Esto permite que los usuarios usen formularios de entidad o formularios web para realizar
cambios en su propio registro de contacto vinculado con su perfil. Tenga en cuenta que la página de Perfil
predeterminada tiene un formulario integrado especial que permite que que cualquier usuario cambie su
información de contacto básica y opte por recibir o anular las a listas de marketing. Si este formulario se
incluye en su portal (que es la opción predeterminada), los usuarios no necesitarán este permiso para
usarlo. Sin embargo, mecesitarán este permiso para usar cualquier formulario de entidad personalizado o
formularios web destinados a su registro de contacto de usuario.
Ámbito jerárquico
En este caso más complejo, se conceden permisos para una entidad que esté en una relación separada de
una entidad para la que ya se haya definido un registro de permiso de entidad. Este permiso es realmente
un registro secundario del permiso de la entidad principal.
El registro del permiso principal define un permiso y un ámbito para una entidad (probablemente de ámbito
global o de contacto, aunque jerárquico también es posible). Esa entidad podría estar relacionada con un
contacto (en el caso de ámbito de contacto) o definida globalmente. Con ese permiso instalado, se crea un
permiso secundario que define una relación de otra entidad en la entidad definida en la relación principal.
Así, los usuarios de un rol web que tengan acceso a los registros definidos por los permisos de la entidad
principal, también tendrán derechos definidos por el registro secundario a los registros relacionados con el
registro primario.
Atributos y relaciones
La tabla de abajo explica los atributos de permiso de entidad.
NOMBRE DESCRIPCIÓN
Ahora agregaremos un permiso secundario al permiso de clientes potenciales global. Con el registro de
permiso primario abierto, vaya a la subcuadrícula Permisos de entidad secundaria y seleccione Nuevo
para abrir una búsqueda de permisos de entidad, seleccione la lupa y luego seleccione Nuevo para agregar
un nuevo registro.
Seleccione la entidad como Tareas y el ámbito como Jerárquica. Tenga en cuenta que a continuación puede
seleccionar la relación principal (Lead_Tasks). Este permiso implica que un contacto que es un rol web con
el permiso primario tendrán permiso global a todas las tareas que estén relacionadas con clientes
potenciales.
Recuerde que para que la lista respete estos permisos, debe haber habilitado permisos de entidad en la lista
Y debe haber acciones que permitan realmente que los usuarios realicen las acciones para las que se les han
concedido sus permisos. Además, los permisos también se deben habilitar en el registro de formulario de
entidad y de ese formulario debe emerger una página con una subcuadrícula para la entidad que desea
habilitar con permisos secundarios, en este caso Tareas. Además, para habilitar permisos de lectura o
creación para tareas, deberá configurar esos formularios de entidad también y editar los formularios para
quitar el campo de búsqueda referente.
Esto le concederá permisos para todas las tareas que estén relacionados con clientes potenciales. Si las
tareas emergen en una lista de entidad, esencialmente se agrega un filtro a la lista de modo que solo las
tareas relacionadas con un cliente potencial aparezcan en la lista. En nuestro ejemplo, emergen con una
subcuadrícula en un formulario de entidad.
Las reglas de control de acceso a páginas web son reglas que usted crea para el sitio, para controlar las acciones
de publicación que un rol web puede realizar en las páginas del sitio web así como controlar qué páginas están
visibles para qué roles web. La entidad de acceso a páginas web tiene los siguientes atributos:
NOMBRE DESCRIPCIÓN
Sitio web El sitio web al que se aplica esta regla; debe coincidir con el
sitio web de la página al que se aplica esta regla. Página web
Filtros.
Página web La página web a la que se aplica esta regla. La regla afectará
no solo a la página sino a todas las páginas secundarias de la
página, por consiguiente haciendo que este atributo
seleccione la rama del sitio web al que se aplicará la regla. Si
una regla se aplica a la página principal, se aplicará al portal
completo.
Después de crear una nueva regla de control de acceso, asóciela a una página. Esto afectará a la página que tenga
asignada la regla y a todas las páginas secundarias—es decir, la rama completa de la página web.
Hay dos tipos de reglas de control de acceso: Conceder cambio y Restringir lectura.
Conceder cambio
Conceder cambio permite al usuario en un rol web asociado a la regla publicar cambios de contenido para esta
página y todas las páginas secundarias de esta página. Conceder cambio tiene prioridad sobre restringir lectura.
Por ejemplo, podría tener una sección de noticias del sitio que quiere que los usuarios puedan editar en el rol web
editor de noticias. Estos usuarios pueden no tener acceso al sitio completo, y sin duda no pueden modificar el sitio
completo, pero en esta rama tienen autoridad completa de publicación de contenido. Crearía un control de acceso
a páginas web llamado conceder publicación de noticias a editores de noticias.
A continuación, establecería el derecho como conceder cambio y la página web como la página principal de toda la
rama de novedades del sitio. Después asignaría este rol web a los contactos que desee designar como editores de
noticias. Tenga en cuenta que un usuario puede tener muchos roles web.
Una regla Conceder cambio siempre debe estar presente en cualquier portal para el que desee habilitar la edición
del lado frontal. Esta regla se aplicará a la página principal del sitio, convirtiéndola así en la regla predeterminada
para el sitio completo. Esta regla se asociará con un rol web que deberá representar el rol administrativo del sitio.
Se asignará este rol a los usuarios a los que se conceden derechos de publicación de contenido del lado frontal.
Restringir lectura
Se usa la regla Restringir lectura para limitar la vista de una página (y sus páginas secundarias) y su contenido a
usuarios específicos. Mientras que conceder cambio es una regla permisiva (concede la capacidad de hacer algo a
los usuarios), la regla Restringir lectura es una regla restrictiva, ya que restringe una acción a un conjunto limitado
de usuarios. Por ejemplo, podría tener una sección del sitio destinada a que la utilicen los empleados solo. Puede
restringir la lectura de esta rama únicamente a aquellas personas con el rol web empleado. Se crearía una nueva
regla llamada restringir lectura a empleados solo.
A continuación se establecería el derecho como restringir lectura y la página como la página en la parte superior
de la rama que será de solo lectura para los empleados. Después asociaría esta regla con el rol web de empleado y
asignaría usuarios a este rol.
NOTE
Si se aplica el derecho de Restringir lectura a la página "principal" raíz de una página web y se selecciona Excluir archivos
web secundarios directos como el Ámbito, todos los usuarios podrán acceder a los archivos web secundarios directos de
la página principal.
Vea también
Crear roles web para portales
Agregar seguridad basada en registros utilizando los permisos de entidad para portales
Crear permisos de acceso al sitio web
25/11/2019 • 2 minutes to read • Edit Online
Los permisos de acceso al sitio web son un conjunto de permisos, asociados con un rol web, lo que permite la
edición del lado frontal de los distintos elementos administrados de contenido dentro del portal que no sean solo
páginas web. La configuración de permisos determina los componentes se pueden ser administradas en el portal.
NOMBRE DESCRIPCIÓN
Administrar conjuntos de vínculos web Permite la edición de conjuntos de vínculos web, incluido
agregar y quitar vínculos web de un conjunto de vínculos web.
Vista previa de entidades sin publicar Permite ver entidades expuestas al portal que tienen un
estado de publicación de Borrador.
Como con las subcuadrículas, agregar notas a los formularios administrados en el portal es sencillo—
simplemente agregue el control de notas a formularios de aplicaciones basadas en modelo a través del diseñador
de formularios y ya está. Puede configurar el comportamiento del control de notas utilizando metadatos.
NOTE
Se requieren permisos de entidad explícitos para cualquier nota que aparece en el portal. Para leer y editar, deben ser
concedidos los privilegios de la lectura y escritura. Para crear, deben existir dos permisos: un permiso con los privilegios crear
y anexar debe concederse para la entidad de nota (anotación), el segundo permiso debe asignarse al tipo de entidad al que
se anexa la nota con el privilegio de Anexar a concedido. La casilla de verificación Habilitar los permisos de la entidad
debe estar seleccionado en el formulario correspondiente de la entidad o el paso web de formulario para que los permisos
de la entidad surtan efecto.
Atributos
NOMBRE DESCRIPCIÓN
Configuración básica
Aceptar tipos MIME Permite especificar una lista de tipos MIME aceptados.
NOMBRE DESCRIPCIÓN
Tamaño máximo de archivo (en kB) Permite especificar el tamaño máximo de archivo que se
puede adjuntar.
Configuración avanzada
Etiqueta del botón Agregar nota Reemplaza la etiqueta en el botón Agregar notas.
Etiqueta de privacidad de nota Reemplaza la etiqueta que denota que una nota es privada.
Configuración básica
Mostrar campo de opciones de privacidad Activa una casilla en el cuadro de diálogo Agregar nota que
permite al usuario marcar una nota como privada.
NOMBRE DESCRIPCIÓN
Valor predeterminado del campo de opción de privacidad Especifica el valor predeterminado para la casilla del campo
Mostrar opciones de privacidad. El valor predeterminado de
este campo es "false".
Aceptar archivo adjunto El tipo MIME aceptado por la entrada de carga de archivos.
Configuración avanzada
Etiqueta de campo de opción de privacidad Reemplaza la etiqueta del campo Opción de privacidad (si está
habilitado).
Etiqueta de archivo adjunto Reemplaza la etiqueta del campo Adjuntar archivo privacidad
(si está habilitado)
Clase CSS de columna izquierda Agrega la clase o clases CSS a la columna izquierda que
contiene etiquetas en cuadro de diálogo Agregar nota.
Clase CSS de columna derecha Agrega la clase o clases CSS a la columna derecha que
contiene entradas de campo en el cuadro de diálogo Agregar
nota.
Texto del botón primario Reemplaza el HTML que aparece en el botón Principal
(Agregar nota) en el cuadro de diálogo.
Texto del lector de pantalla del botón Descartar Reemplaza el texto del lector de pantalla asociado al botón
descartar del cuadro de diálogo.
Texto del botón Cerrar Reemplaza el HTML que aparece en el botón Cerrar (Cancelar)
en el cuadro de diálogo.
Clase de CSS Especifique una clase o clases CSS que se aplicarán al cuadro
de diálogo resultante.
Clase CSS de título Especifique una clase o clases CSS que se aplicarán a la barra
de título del cuadro de diálogo resultante.
NOMBRE DESCRIPCIÓN
Clase CSS del botón primario Especifique una clase o clases CSS que se aplicará al botón
Principal (Agregar nota) del cuadro de diálogo.
Clase CSS del botón Cerrar Especifique una clase o clases CSS que se aplicarán al botón
Cerrar (Cancelar) del cuadro de diálogo.
Configuración básica
Mostrar campo de opciones de privacidad Activa una casilla en el cuadro de diálogo Editar nota que
permite al usuario marcar una nota como privada.
Valor predeterminado del campo de opción de privacidad Especifica el valor predeterminado para la casilla del campo
Mostrar opciones de privacidad. El valor predeterminado de
este campo es "false".
Aceptar archivo adjunto El tipo MIME aceptado por la entrada de carga de archivos.
Configuración avanzada
Etiqueta de campo de opción de privacidad Reemplaza la etiqueta del campo Opción de privacidad (si está
habilitado).
Etiqueta de archivo adjunto Reemplaza la etiqueta del campo Adjuntar archivo privacidad
(si está habilitado)
Clase CSS de columna izquierda Agrega la clase o clases CSS a la columna izquierda que
contiene etiquetas en cuadro de diálogo Editar nota.
Clase CSS de columna derecha Agrega la clase o clases CSS a la columna derecha que
contiene entradas de campo en el cuadro de diálogo Ediar
nota.
Texto del botón primario Reemplaza el HTML que aparece en el botón Principal
(Actualizar nota) en el cuadro de diálogo.
Texto del lector de pantalla del botón Descartar Reemplaza el texto del lector de pantalla asociado al botón
descartar del cuadro de diálogo.
Texto del botón Cerrar Reemplaza el HTML que aparece en el botón Cerrar (Cancelar)
del cuadro de diálogo.
Clase de CSS Especifique una clase o clases CSS que se aplicarán al cuadro
de diálogo resultante.
Clase CSS de título Especifique una clase o clases CSS que se aplicará a la barra de
título del diálogo resultante.
Clase CSS del botón primario Especifique una clase o clases CSS que se aplicará al botón
Principal (Actualizar nota) del cuadro de diálogo.
Clase CSS del botón Cerrar Especifique una clase o clases CSS que se aplicarán al botón
Cerrar (Cancelar) del cuadro de diálogo.
Configuración básica
Configuración avanzada
Texto del botón primario Reemplaza el HTML que aparece en el botón Principal
(Eliminar) en el cuadro de diálogo.
Texto del lector de pantalla del botón Descartar Reemplaza el texto del lector de pantalla asociado al botón
descartar del cuadro de diálogo.
Texto del botón Cerrar Reemplaza el HTML que aparece en el botón Cerrar (Cancelar)
en el cuadro de diálogo.
NOMBRE DESCRIPCIÓN
Clase de CSS Especifique una clase o clases CSS que se aplicarán al cuadro
de diálogo resultante.
Clase CSS de título Especifique una clase o clases CSS que se aplicarán a la barra
de título del cuadro de diálogo resultante.
Clase CSS del botón primario Especifique una clase o clases CSS que se aplicarán al botón
Principal (Eliminar) del cuadro de diálogo.
Clase CSS del botón Cerrar Especifique una clase o clases CSS que se aplicarán al botón
Cerrar (Cancelar) del cuadro de diálogo.
Si ha creado un formulario personalizado y ha agregado la sección notas, asegúrese de seleccionar Notas como
la pestaña predeterminada que quiere que esté visible.
Configuración de notas para formularios web
Las notas de formulario web se configuran de la misma forma que las notas de formulario de entidad. Primero
debe crear un registro de metadatos para el paso del formulario web que tiene notas, y luego agregue los
metadatos de configuración de notas.
Habilitar Azure Storage
25/11/2019 • 5 minutes to read • Edit Online
La integración de Azure Storage para los portales le permite aprovechar la mayor capacidad de almacenamiento
de archivo de Azure, utilizando la misma interfaz y proporcionando la misma experiencia de usuario que para los
datos adjuntos del archivo predeterminado. Esta característica se admite para los archivos web, los formularios de
entidades, y los formularios web.
Debe crear una cuenta de almacenamiento con Administrador de recursos como el modelo de implementación.
Más información: Crear una cuenta de almacenamiento de Azure.
Una vez que la cuenta de almacenamiento esté activa, los portales requieren una determinada configuración global
que indique a aplicación cómo buscar su cuenta de almacenamiento. En la aplicación Administración del portal,
vaya a Configuración > Nuevo, y agregue un valor nuevo con el nombre FileStorage/CloudStorageAccount.
NOTE
El límite máximo de carga de archivos es 125MB.
Para buscar el valor de FileStorage/CloudStorageAccount, debe obtener una cadena de conexión de su Portal de
Azure.
1. Inicie sesión en su Portal de Azure.
2. Desplácese a su cuenta de almacenamiento.
3. Seleccione Teclas de acceso.
4. En el panel resultante, localice el campo etiquetado con Cadena de conexión. Seleccione el icono Copiar
junto al campo del que necesita copiar el valor y, a continuación, pegue el valor en la nueva configuración:
Especifique el contenedor de almacenamiento
Si no tiene todavía un contenedor Blob de Azure en su cuenta de almacenamiento, debe agregar uno con su Portal
de Azure.
En la aplicación Administración del portal, vaya a Configuración > Nuevo y agregue un nuevo valor
denominado FileStorage/CloudStorageContainerName, con el nombre del contenedor como el valor.
NOMBRE VALUE
WebFiles/StorageLocation AzureBlobStorage
Ahora puede crear un archivo secundario en el portal y mencionar el nombre completo (junto con contenedor) en
la dirección URL de Azure Blob. Con esta configuración, el portal está listo para comenzar mediante la descarga y
la carga de los archivos desde Azure Storage. Sin embargo, no puede aprovechar por completo esta característica
hasta que usted agregue un recurso web que permita cargar los datos adjuntos en Azure Storage, y configurar
formularios de entidad o formularios web.
Vea también
Agregar recurso web
Configuración de notas
Agregar el recurso de web Azure Storage a un
formulario
25/11/2019 • 7 minutes to read • Edit Online
Los datos adjuntos cargados en Azure Storage, en lugar de directamente en Common Data Service, se pueden
administrar con notas en Common Data Service.
Para que los datos adjuntos de un formulario determinado se puedan cargar en Azure Storage, debe agregar un
recurso web al formulario y debe configurar Azure Storage para la organización.
NOTE
En este ejemplo, el formulario se agrega al formulario de cliente potencial para la entidad Cliente potencial. Se recomienda
tener precaución al editar los formularios existentes.
Cuando un archivo (por ejemplo, attachments.zip) se carga en Azure Storage mediante el portal, es representado
por una nota en una entidad y un marcador para el dato adjunto.
Tenga en cuenta que el archivo de datos adjuntos ahora está denominado attachment.zip.txt. De forma
predeterminada, Common Data Service no tiene ningún concepto de archivo Azure, por lo que este archivo
placeholder.txt se almacena en Common Data Service en su lugar. El contexto de Azure Storage del archivo con
marcadores muestra detalles sobre el archivo.
{
Name: attachment.zip,
Type: application/x-zip-compressed,
Size: 24890882,
"Url": "https://accountname.blob.core.windows.net/storage/81a9a9491c36e51182760026833bcf82/attachment.zip"
}
Para ver e interactuar con el archivo almacenado en Azure, debe agregar el recurso web adx.annotations.html al
formulario. Como requisito previo, asegúrese de que sus usuarios obtienen acceso de lectura a adx_setting. De lo
contrario, el recurso web no generará representaciones correctamente.
1. En el editor de formularios del formulario relevante, seleccione Recurso web en la pestaña Insertar .
2. En la casilla Recurso web , seleccione adx_annotations/adx.annotations.html.
3. Escriba una etiqueta de nombre para el recurso.
4. En la casilla Parámetro personalizado (datos) introduzca azureEnabled=true.
También puede usar el recurso web sin habilitar el soporte de Azure de esta forma, en este caso funciona
casi completamente del mismo modo que el control predeterminado.
5. En la pestaña Formato , elija las reglas de formato que prefiere. Se recomienda desactivar la casilla de
verificación Mostrar el borde .
6. Seleccione Aceptar para guardar el recurso.
7. Como alternativa, es posible que desee quitar el control existente de notas, o moverlo a una ficha o a una
sección que esté marcada para que no se vea de forma predeterminada.
8. Guarde el formulario y, a continuación, publique los cambios.
El nuevo control ahora se generará en la página, dándole la capacidad de administrar sus datos adjuntos en Azure
Storage.
El icono de clip de papel se ha reemplazado por un icono de nube para indicar que este archivo se ha almacenado
en Azure Storage. Puede continuar almacenando los datos adjuntos de Common Data Service; estos archivos se
indicarán con el icono de clip de papel.
NOTE
También debe agregar la regla de uso compartido de recursos de origen cruzado (CORS) en su cuenta de Azure Storage
como sigue; de lo contrario, verá el icono normal de los datos adjuntos en lugar del icono de nube.
Orígenes permitidos: Especifique el dominio. Por ejemplo, contoso.crm.dynamics.com.
Verbos permitidos: OBTENER, PONER, ELIMINAR, ENCABEZAR, PUBLICAR
Encabezados permitidos: Especifique los encabezados de solicitud que el dominio de origen puede especificar en la
solicitud de CORS. Por ejemplo, x-ms-meta-data*, x-ms-meta-target*. En este escenario, debe especificar *, si no el
recurso web no generará representaciones correctamente.
Encabezados expuestos: Especifique los encabezados de respuesta que se pueden enviar en la respuesta a la solicitud
de CORS y que expone el explorador al emisor de la solicitud. Por ejemplo, x-ms-meta-*.
Edad máxima (segundos): Especifique la cantidad máxima de tiempo que un explorador debe almacenar en caché la
solicitud OPCIONES de preparación. Por ejemplo, 200.
Más información: Soporte CORS para Azure Storage Services.
Si el archivo adjunto es una imagen, el control mostrará la imagen como miniatura si está almacena en Common
Data Service o Azure Storage.
NOTE
La característica de la miniatura está limitada a las imágenes de menos de 1 MB de tamaño.
Admisión de protocolo CORS
El protocolo Uso compartido de recursos de origen cruzado (CORS ) se compone de un conjunto de encabezados
que indican si una respuesta se puede compartir con otro dominio. La siguiente configuración se usa para
configurar CORS.
NOMBRE DESCRIPCIÓN
Common Data Service admite la integración de SharePoint Online que le habilita a usar las funcionalidades de
administración de documentos de SharePoint desde Common Data Service. Los portales de PowerApps ahora
admiten cargar y mostrar documentos desde y hacia SharePoint directamente en un formulario de entidad o
formulario web en un portal. Esto permite que los usuarios del portal vean , descarguen, agreguen y eliminen
documentos de un portal. Los usuarios del portal también pueden crear subcarpetas para organizar sus
documentos.
NOTE
La administración de documentos solo fuinciona con SharePoint Online.
Se admiten a la administración de documentos con la integración basada en servidor.
Para trabajar con las funcionalidades de la administración de documentos de SharePoint dentro de Common Data
Service debe:
1. Habilitar la función de administración de documentos en aplicaciones basadas en modelo en Dynamics 365
2. Configurar la integración de SharePoint del centro de administración de portales PowerApps
3. Habilitar la administración de documentos para entidades
4. Configurar el formulario correspondiente en documentos de PowerApps
5. Crear el permiso de entidad adecuado y asignarlo al rol web adecuado
NOTE
Debe ser un administrador global para realizar esta acción.
3. Seleccione Habilitar en la ventana de confirmación. Esto permitirá al portal comunicarse con SharePoint.
Mientras la integración de SharePoint está siendo activada, el portal se reiniciará y no estará disponible
durante unos minutos. Aparece un mensaje cuando la integración de SharePoint está habilitada.
Cuando la integración de SharePoint se habilita, la acción siguiente está disponible:
Deshabilitar la integración de SharePoint: Le permite deshabilitar la integración de SharePoint con su
portal. Mientras la integración de SharePoint está siendo desactivada, el portal se reiniciará y no estará
disponible durante unos minutos. Aparece un mensaje cuando la integración de SharePoint está
desactivada.
Al habilitar o deshabilitar la integración de SharePoint actualizará la aplicación Azure Active Directory (Azure AD )
para el portal y agregará o quitará los permisos de SharePoint necesarios, respectivamente. También se le
redirigirá para dar su consentimiento para que se realicen los cambios en la aplicación Azure AD.
Si no da su consentimiento:
La habilitar o deshabilitación de la integración de SharePoint no se completará y se mostrará un mensaje de
error.
Su inicio de sesión de Azure AD en el portal no funcionará.
NOTE
La administración de documentos debe estar habilitada para la entidad para la que edita el formulario. Más información:
Habilitar la administración de documentos para entidades
NOTE
La carga de documentos requiere que el registro de la entidad principal exista. Si establece el modo de inserción, la carga del
documento no funcionará porque el registro de la entidad principal no se creará hasta que se haya enviado el formulario.
NOTE
Un permiso de entidad secundaria correspondiente en la entidad Ubicación de documentos debe haberse creado para cada
instancia de registro de permiso de entidad primaria que exista en la entidad de formulario de entidad o formulario web
donde los documentos se deben mostrar.
NOTE
Asegúrese de que su rol web tenga este permiso de entidad agregado. Si el usuario ya es un administrador, el
permiso de entidad anterior no necesita ser asignado explícitamente.
c. Cree un nuevo permiso de entidad, especifique los siguientes detalles y seleccione Guardar:
Nombre (Puede ser cualquier nombre): Servicio al cliente - Documentos relacionados
Nombre de entidad: Ubicación de documentos
Ámbito: Primario
Permiso de entidad primaria: Servicio de atención al cliente - casos en los que el contacto es el
cliente
Relación primaria: incident_SharePointDocumentLocations
Privilegios: Leer, Crear, Anexar, Escribir, Eliminar
d. Inicie sesión en el portal para asegurarse de que la administración de documentos esté habilitada
para la entidad Caso.
a. Vaya a la página Soporte.
b. Haga clic en un registro de Caso existente de la lista. Vaya a la sección Documentos de Caso en la
página y vea la lista de documentos agregada.
Problemas conocidos
25/11/2019 • 10 minutes to read • Edit Online
Problemas generales
La Fecha de modificación para la aplicación puede ser incorrecta porque son aplicaciones
preaprovisionadas y podrían haber sido aprovisionadas anteriormente.
Al crear un entorno junto con el portal de inicio, no se muestra el propietario del portal correctamente. Se
muestra como sistema.
Si está reutilizando la dirección URL de un portal eliminado recientemente para crear un nuevo portal,
tendrá cierto retraso para configurar tiempo de ejecución. Esto se debe a que la purga de recursos
anteriores aún estaría en curso y puede tardar de 30 minutos a 1 hora para que el nuevo portal se configure
en Azure. El portal tampoco estará disponible para editar durante este tiempo y puede mostrar errores
cuando se lance en Studio para su edición.
Al cambiar un entorno en PowerApps, los portales en un entorno pueden no mostrarse inmediatamente en
Aplicaciones o lista Aplicaciones recientes. Esto ocurre en particular en entornos que se crean en una
región distinta que su inquilino. La solución alternativa consiste en usar la actualización de explorador o
esperar algún tiempo a que portal aparezca en la lista de aplicaciones.
Si mantiene abierto el panel de configuración del portal en la página principal de PowerApps mientras
restablece el portal desde el Centro de administración de portales de PowerApps, un usuario verá el
mensaje de error “Se ha producido un error" el panel de configuración del portal, ya que el portal no está
disponible.
En determinados casos, cuando se crea un portal, los estilos no se aplican correctamente al portal, y el sitio
web se muestra sin los estilos cuando se abre con Examinar sitio web. Esto ocurre raramente y los estilos
pueden ser recuperados reiniciando el portal desde el Centro de administración de portales de PowerApps.
Hemos recopilado una lista de preguntas frecuentes con respuestas breves para que obtenga la información que
necesita con rapidez.
Para crear más portales, debe crear un nuevo entorno mediante el vínculo crear nuevo entorno en el mensaje de
error. Para obtener más información sobre crear un portal, consulte Crear un portal.
Para obtener información sobre eliminar un portal y los privilegios necesarios, vea Eliminar un portal.
Si sigue recibiendo el mensaje de crear base de datos o los datos no están listos, puede intentar actualizar la página
principal de PowerApps antes de seleccionar la ventana Portal en blanco.
Debe ponerse en contacto con el administrador global para habilitar la creación de portales por no
administradores.
Si usted es un administrador global, debe deshabilitar el valor del nivel de inquilino de
disablePortalsCreationByNonAdminUserscon PowerShell. Ejecute el siguiente comando en una ventana de
PowerShell (ejecute PowerShell como administrador).
Common Data Service le permite almacenar y administrar de forma segura los datos que usan las aplicaciones
empresariales. Los datos de Common Data Service se almacenan en un conjunto de entidades. Una entidad es
un conjunto de registros que se usa para almacenar datos, similar a cómo una tabla almacena los datos en una
base de datos. Common Data Service incluye un conjunto base de entidades estándar que cubren escenarios
típicos, pero también puede crear entidades personalizadas específicas para su organización y rellenarlas con
datos usando Power Query. Los creadores de aplicaciones pueden usar PowerApps para crear aplicaciones
completas usando estos datos.
Para obtener información sobre cómo comprar un plan para usar Common Data Service, consulte Información
de precios.
NOTE
Las aplicaciones Finance and Operations requiere actualmente la configuración del integrador de datos para que
los datos profesionales de las aplicaciones Finance and Operations estén disponibles en Common Data Service.
Lógica y validación
Las entidades de Common Data Service pueden aprovechar la lógica y validación enriquecidas de servidor
para garantizar la calidad de los datos y reducir código repetitivo en cada aplicación que crea y usa datos en
una entidad.
Las reglas de negocio validan los datos de varios campos y entidades, y proporcionan advertencias y
mensajes de error, independientemente de la aplicación usada para crear los datos. Para obtener más
información, consulte Crear una regla de negocio.
Los flujos de proceso de negocio guían a los usuarios para asegurarse de que introducen los datos de
forma coherente y de que siguen los mismos pasos cada vez. Actualmente, los flujos de proceso de negocio
solo se admiten para aplicaciones controladas por modelos. Para obtener más información, consulte
Información general sobre flujos de proceso de negocio.
Los flujos de trabajo le permiten automatizar los procesos de negocio sin interacción del usuario. Para
obtener más información, consulte Información general de flujos de trabajo.
La lógica de negocios con código admite escenarios avanzados de desarrollador para ampliar la
aplicación directamente con código. Para obtener más información, consulte Aplicar lógica de negocios con
código.
Seguridad
Common Data Service tiene un rico modelo de seguridad que protege la integridad de los datos y privacidad
de los usuarios al tiempo que promueve una colaboración y un acceso a los datos eficaces. Puede combinar
unidades de negocio, la seguridad basada en roles, la seguridad de registros y la seguridad basada en campos
para definir el acceso generala la información que los usuarios tienen en un entorno de Common Data Service.
Más información: Seguridad en Common Data Service
Capacidades de desarrollador
Además de las características disponibles mediante el portal de PowerApps, Common Data Service también
incluye características para que los desarrolladores puedan acceder de forma programática a los metadatos y
datos para crear entidades y lógica de negocios, así como para interactuar con datos. Para obtener más
información, consulte Información general para desarrolladores de Common Data Service
Pasos siguientes
Para empezar a utilizar Common Data Service:
Crear una aplicación de lienzo mediante una base de datos Common Data Service.
Crear una entidad personalizada y, a continuación, crear una aplicación de lienzo que use la entidad.
Crear una aplicación basada en modelos con Common Data Service.
Usar Power Query para conectarse a un origen de datos en línea o local e importar los datos directamente
en Common Data Service.
Aviso de privacidad
Con el modelo común de datos de Microsoft PowerApps, Microsoft recopila y almacena la entidad
personalizada y los nombres de campo en nuestros sistemas de diagnóstico. Usamos esta información para
mejorar el modelo común de datos para los clientes. La entidad y los nombres de campo que los creadores de
la aplicación crean nos ayudan a comprender los escenarios que son comunes en la comunidad de Microsoft
PowerApps y a determinar los huecos en la cobertura de las entidades estándar del servicio, como los
esquemas relacionados con las organizaciones. Microsoft no accede a los datos de las tablas de base de datos
asociadas a estas entidades ni los usa o replica fuera de la región en la que se proporciona la base de datos. No
obstante, tenga en cuenta que la entidad personalizada y los nombres de campo se pueden replicar en las
regiones y que se eliminan de acuerdo con nuestras directivas de retención de datos. Microsoft se compromete
a proteger su privacidad, como se describe con más detalle en nuestro Centro de confianza.
Información general sobre las entidades
25/11/2019 • 2 minutes to read • Edit Online
Las entidades se usan para modelar y administrar datos profesionales. Cuando desarrolla una aplicación, puede
usar entidades estándar, entidades personalizadas o ambas. Common Data Service proporciona entidades
estándar de forma predeterminada. Estas están diseñadas, de acuerdo con prácticas recomendadas, para capturar
los conceptos y escenarios más comunes en una organización.
Vea también
Crear una entidad personalizada
Tipos de entidades
Creación de una entidad personalizada
25/11/2019 • 12 minutes to read • Edit Online
En PowerApps, una entidad define la información de la que desea realizar un seguimiento en forma de registros,
que incluyen normalmente propiedades como el nombre, ubicación, productos, correo electrónico, y teléfono de
la compañía. A continuación puede exponer los datos desarrollando una aplicación que haga referencia a la
entidad. PowerApps ofrece entidades estándar “listas para usar” que cubren los escenarios típicos de una
organización (como citas de seguimiento), pero puede haber ocasiones en las que necesite crear entidades
personalizadas para almacenar datos que sean específicos de la organización.
En este tema, aprenderá a crear una entidad personalizada llamada Valoración de producto que puede usar para
crear una aplicación que muestre calificaciones y comentarios de los productos que vende su compañía.
Requisitos previos
Para seguir este procedimiento, debe tener un rol de seguridad de administrador del sistema o personalizador
del sistema en Common Data Service.
NOTE
Para que el nombre de la entidad funcione con la búsqueda de conocimiento incrustado de Dynamics 365
for Customer Service, la longitud máxima del nombre de entidad, incluido el prefijo del editor, no puede
superar los 24 caracteres.
b. En la sección Campo principal, en el cuadro Nombre para mostrar, reemplace Nombre por
Valoración del producto.
De forma predeterminada, cada entidad contiene un campo Campo principal, que se usa en los campos
de búsqueda al establecer relaciones con otras entidades. El campo principal almacena normalmente el
nombre o la descripción principal de los datos almacenados en la entidad. Puede actualizar el nombre y el
nombre para mostrar del campo principal antes de guardar la entidad por primera vez.
Además, observe que el campo principal también tiene su propio cuadro Nombre , que funciona
semejantemente al nombre de entidad descrito anteriormente. El nombre del campo principal se rellena
automáticamente cuando se especifica un nombre para mostrar, usa la misma prefijo que la entidad, y no
se puede cambiar después de que se crean a la entidad.
c. Abra la sección Más valores y expanda el acordeón Descripción. Puede especificar una descripción
para la entidad si lo desea (las descripciones son útiles si otras personas usan esta entidad).
d. Cuando acabe, haga clic en Crear.
4. En la página de detalles de la entidad, observe que la entidad ahora se está aprovisionando en segundo
plano. Una vez completado el aprovisionamiento, la entidad se guardará y estará disponible para su uso
en aplicaciones. Los campos, relaciones, y las claves se pueden agregar a la entidad en cualquier
momento (incluso mientras el aprovisionamiento aún está en curso), pero las vistas, formularios, gráficos,
paneles, y las reglas de negocio se pueden agregar sólo a la entidad después de completar el
aprovisionamiento.
5. En la pestaña Campos, observe el Campo principal al que dio nombre en el paso anterior. Haga clic o
pulse en el campo Campo principal para abrir el panel Campo principal si desea realizar
personalizaciones adicionales al campo. Tenga en cuenta que Nombre ya no se puede cambiar más, ya
que la entidad ya se ha guardado.
6. Para agregar un campo a la entidad, realice lo siguiente:
a. En la barra de comandos, haga clic o pulse en Agregar campo para abrir el panel Propiedades de
campo.
b. En el cuadro Nombre para mostrar, introduzca Fecha de valoración.
c. En la lista desplegable Tipo de datos seleccione Solo fecha.
d. Haga clic o pulse en la casilla Necesario.
e. Haga clic o pulse en Hecho.
Para obtener más información, consulte Administrar campos de una entidad.
7. Repita el paso anterior para agregar tres campos más con las siguientes configuraciones:
Nombre para mostrar = Calificación de productos; Tipo de datos = Número entero; haga clic o
pulse en la casilla Necesario
Nombre para mostrar = Nombre del revisor; Tipo de datos = Texto
Nombre para mostrar = Comentario del revisor; Tipo de datos = Texto
Cuando finalice, debería tener cinco campos en la lista de la página de detalles de la entidad.
Tenga en cuenta que todas las entidades tienen campos del sistema de solo lectura. De forma
predeterminada, los campos del sistema no se muestran en la lista de campos aunque existan en la
entidad. Para ver todos los campos, cambie el filtro en la barra de comandos de Predeterminado a
Todos. Para obtener más información sobre los metadatos relacionados con una entidad, consulte
Metadatos de entidad.
8. Haga clic en Guardar entidad para guardar los últimos cambios a la entidad.
La entidad Valoración de producto debería aparecer en la lista de entidades en la base de datos. Si no la
ve, cambie el filtro en la barra de comandos de Predeterminado a Personalizado.
Pasos siguientes
En este tema, ha aprendido a crear una entidad personalizada llamada Valoración de producto que puede usar
para crear una aplicación que muestre calificaciones y comentarios para cada uno de los productos que vende
una determinada compañía. A continuación, aprenderá a definir relaciones entre entidades (en este caso entre la
entidad estándar Producto y la entidad personalizada Valoración de producto) para que pueda asociar cada
producto con las reseñas y comentarios que recibe.
Crear una relación
Aviso de privacidad
Con el modelo común de datos de Microsoft PowerApps, Microsoft recopila y almacena la entidad
personalizada y los nombres de campo en nuestros sistemas de diagnóstico. Usamos esta información para
mejorar el modelo común de datos para los clientes. La entidad y los nombres de campo que los creadores de la
aplicación crean nos ayudan a comprender los escenarios que son comunes en la comunidad de Microsoft
PowerApps y a determinar los huecos en la cobertura de las entidades estándar del servicio, como los esquemas
relacionados con las organizaciones. Microsoft no accede a los datos de las tablas de base de datos asociadas a
estas entidades ni los usa o replica fuera de la región en la que se proporciona la base de datos. No obstante,
tenga en cuenta que la entidad personalizada y los nombres de campo se pueden replicar en las regiones y que
se eliminan de acuerdo con nuestras directivas de retención de datos. Microsoft se compromete a proteger su
privacidad, como se describe con más detalle en nuestro Centro de confianza.
Crear una entidad personalizada que tenga
componentes en PowerApps
25/11/2019 • 7 minutes to read • Edit Online
Con in PowerApps puede personalizar su aplicación para que se ajuste más al sector, la nomenclatura y los
procesos de negocio únicos de la organización. El desarrollo de aplicaciones de PowerApps incluye agregar
entidades predefinidas estándar o crear entidades personalizadas. Una entidad define la información a la que desea
realizar seguimiento en forma de registros, que incluyen normalmente propiedades como el nombre, ubicación,
productos, correo electrónico, y teléfono de la compañía.
En este tema creará una entidad y luego agregará o personalizará componentes clave como campos, relaciones,
vistas, y formularios. Aprenderá a:
Crear una entidad personalizada
Agregar campos personalizados a la entidad
Agregar una relación entre entidades
Personalizar vistas
Personalizar formularios
El tema seguirá a la compañía, Contoso, que es un negocio de cuidado de animales domésticos que cuida perros y
gatos. Contoso necesita una aplicación para seguimiento de clientes y animales domésticos que pueden usar los
empleados a través de una variedad de dispositivos.
Requisitos previos
Inicie sesión en PowerApps. Si aún no tiene una cuenta de PowerApps, seleccione el vínculo Introducción
gratuita de powerapps.com.
3. Seleccione Listo.
4. En la pestaña Campos en la barra de herramientas del diseñador de entidades seleccione Agregar campo. En
el panel Propiedades de campo , escriba o seleccione los siguientes valores y opciones.
Nombre para mostrar. Especie
Tipo de datos. Conjunto de opciones
Conjunto de opciones. Nuevo conjunto de opciones
5. Crear el conjunto de opciones
a. Seleccione Agregar nuevo elemento.
b. Reemplace Nueva opción con Perro.
c. Seleccione Agregar nuevo elemento.
d. Reemplace Nueva opción con Gato.
e. Seleccione Guardar.
Personalizar vistas
1. Seleccione la pestaña Vistas y, a continuación seleccione la vista Animales domésticos activos. Si no ve la
vista Animales domésticos activos , seleccione Quitar filtro.
2. En el diseñador de vistas seleccione Agregar columnas, seleccione las columnas siguientes y, a continuación
seleccione Aceptar.
Cuenta
Fecha de cita
Raza
Especie
3. Seleccione la columna Fecha de creación, seleccione Quitar y, a continuación seleccione Aceptar para
confirmar la eliminación de la columna.
4. Para organizar las columnas, seleccione la columna que desea mover y use los botones de flecha < - y - > hasta
que la vista sea como esta.
3. En el editor de formularios, arrastre y coloque los campos Especie, Raza, Fecha de cita, y Cuenta situados en
el panel del Explorador de campos en la sección General del lienzo de formulario hasta que el formulario tenga
este aspecto.
4. Seleccione Guardar.
5. Seleccione Publish.
6. Seleccione Guardar y cerrar para cerrar el diseñador de formularios.
Pasos siguientes
En este tema, aprendió cómo crear una entidad que puede usarse para crear una aplicación útil.
Para obtener más información sobre cómo crear una aplicación basada en modelo, consulte Crear la primera
aplicación basada en modelo.
Para obtener más información sobre cómo crear una aplicación de lienzo, consulte Cree una aplicación desde
cero.
Entidades y metadatos en Common Data Service
25/11/2019 • 11 minutes to read • Edit Online
Common Data Service está diseñado de modo que pueda crear de forma rápida y sencilla un modelo de datos
para su aplicación. Normalmente, no será necesario que se preocupe con algunos de los detalles sobre los
metadatos que este tema introducirá. Pero si desea desarrollar conocimientos más profundos sobre cómo
funcionan las aplicaciones que usan Common Data Service o si usted está evaluando lo que es posible, la
comprensión de los metadatos que usa Common Data Service puede proporcionarle información detallada.
Metadatos significa datos acerca de datos. Common Data Service le proporciona una plataforma flexible porque es
relativamente fácil editar las definiciones de los datos que usará el entorno. En Common Data Service, los
metadatos son una colección de entidades. Las entidades describen las clases de datos que se almacenan en la
base de datos. Cada entidad corresponde a una tabla de la base de datos y cada campo (también denominado
atributo) en una entidad representa una columna de la tabla. Los metadatos de la entidad controlan los tipos de
registros que puede crear y el tipo de acciones que se pueden realizar en ellos. Cuando utiliza las herramientas de
personalización para crear o editar entidades, campos y relaciones entre entidades, está editando estos metadatos.
Los distintos clientes que los usuarios usan para interactuar con los datos del entorno dependen de los metadatos
de la entidad y se adaptan cuando usted personaliza los metadatos. Estos clientes también dependen de otros
datos para controlar los elementos visuales que se van a mostrar, la lógica personalizada que se va a aplicar y
cómo se aplicará la seguridad. Estos datos del sistema también se almacenan en las entidades, pero las entidades
propiamente dichas no están disponibles para la personalización.
Puede obtener información sobre entidades estándar, atributos, y las relaciones entre entidades incluidas de forma
predeterminada en Common Data Service revisando la Referencia de entidad.
TIP
Los diseñadores disponibles para editar metadatos no pueden mostrar todos los detalles encontrados en los metadatos.
Puede instalar una aplicación basada en modelos llamada Explorador de metadatos que le permitirá todas las entidades y
propiedades de metadatos que se encuentran en el sistema. Más información: Examinar los metadatos para su entorno.
Pasos siguientes
Crear o editar entidades (tipos de registros)
Crear y editar relaciones entre entidades
Tipos de entidades
25/11/2019 • 6 minutes to read • Edit Online
Antes de crear o modificar entidades en Common Data Service, debe comprender que hay diferentes tipos de
entidades. Una vez que se crea una entidad personalizada, estos tipos no se pueden cambiar. Las dos divisiones
principales se basan en la propiedad de la entidad y en si las entidades son entidades de actividad.
Propiedad de la entidad
Existen cuatro tipos diferentes de propiedad de la entidad. Cuando cree una entidad personalizada las únicas
opciones son propiedad de un usuario o equipo o propiedad de la organización, pero debe tener en cuenta
que otras entidades tienen tipos de propiedad diferentes.
PROPIEDAD DESCRIPCIÓN
Propiedad del usuario o el equipo Los datos pertenecen a un usuario o un equipo. Las acciones
que se pueden realizar en estos registros se pueden controlar
en un nivel de usuario.
IMPORTANT
Cuando se crea una entidad, no puede cambiar la propiedad. Antes de crear una entidad, asegúrese de que elija el tipo
adecuado de propiedad. Si determina posteriormente que la entidad personalizada debe ser de un tipo diferente, tendrá que
eliminarla y crear una nueva.
Entidades de actividad
Una actividad puede considerarse cualquier acción de la que se puede crear una entrada en un calendario. Una
actividad puede tener dimensiones de tiempo (hora de inicio, hora de detención, fecha de vencimiento y duración)
que ayudan a determinar cuándo se ha producido la acción o cuándo tendrá lugar. Las actividades también
contienen datos que ayudan a determinar qué acción representa la actividad, por ejemplo, el tema y la descripción.
Una actividad se puede abrir, cancelar o completar.El estado completado de una actividad tendrá varios valores de
estado secundarios asociados para aclarar el modo en que la actividad se ha completado.
Las entidades de actividad solo pueden pertenecer a un usuario o equipo, no pueden ser propiedad de una
organización.
En la tabla siguiente se muestran las entidades de actividad que están disponibles en un entorno predeterminado
de Common Data Service.
MOSTRAR EN LOS MENÚS DE
NOMBRE DESCRIPCIÓN ACTIVIDADES REFERENCIA
Puede crear nuevas entidades de actividad personalizadas. Por ejemplo, puede crear una entidad de actividad
personalizada para registrar comunicaciones de mensajes instantáneos. Crear una entidad de actividad es diferente
de crear una entidad de no actividad porque no especifica un campo principal. Todas las entidades de actividad
tienen Campo principal establecido en Asunto y otros campos comunes que se definen mediante la entidad
Actividad. Esto permite que se incluyan todos los tipos de actividades en una vista que solo muestra los campos
comunes.
NOTE
No puede crear una actividad personalizada mediante el portal de PowerApps. Debe abrir el explorador de soluciones con el
botón Avanzado.
Para crear una entidad de actividad personalizada, seleccione Definir como entidad de actividad. Después de
seleccionar esto, verá que la opción Mostrar en los menús de actividades está seleccionada. Esta opción permite
a las personas crear este tipo de actividad en los menús de actividad. No está activada para las actividades que
suelen asociarse con determinados eventos y que se crean detrás mediante código o por un flujo de trabajo.
Después de guardar la entidad, no se puede cambiar la configuración.
Vea también
Crear o editar entidades
Crear y editar entidades en Common Data Service
25/11/2019 • 10 minutes to read • Edit Online
Antes de crear una entidad personalizada, evalúe si el uso de una entidad existente cumplirá sus requisitos. Más
información: ¿Crear nuevos metadatos o usar los metadatos existentes?
Hay dos diseñadores que puede usar para crear una entidad:
DISEÑADOR DESCRIPCIÓN
Portal PowerApps Proporciona una experiencia fácil y ágil, pero algunos valores
especiales no están disponibles.
Más información:
Tutorial: Crear una entidad personalizada que tenga
componentes en PowerApps
Crear y editar entidades con el portal de PowerApps
NOTE
También puede crear entidades en su entorno mediante lo siguiente:
Importe una solución que contenga la definición de la entidad.
Use Power Query para crear nuevas entidades y rellenarlas con datos. Más información: Agregar datos a una entidad en
Common Data Service mediante Power Query..
Un programador puede usar Servicios de metadatos para escribir un programa.
OPCIÓN DESCRIPCIÓN
Flujos de proceso de negocio Permite crear flujos de proceso de negocio para esta
entidad. Más información Crear un flujo de proceso de
negocio para estandarizar los procesos
OPCIÓN DESCRIPCIÓN
Áreas que muestran esta entidad En la aplicación web, seleccione una de las áreas
disponibles del mapa del sitio para mostrar esta entidad.
Esto no se aplica a las aplicaciones basadas en modelos.
Habilitar para móvil Hace que esta entidad esté disponible para las
aplicaciones de Dynamics 365 for phones y tablets.
También tiene la opción de convertir esta entidad en
Solo lectura en móvil.
Habilitar para Phone Express Hace que esta entidad esté disponible para la aplicación
Dynamics 365 for phones.
OPCIÓN DESCRIPCIÓN
Funcionalidad sin conexión para Dynamics 365 for Especifica si los datos de esta entidad estarán disponibles
Outlook mientras la aplicación Dynamics 365 for Outlook no esté
conectada a la red.
Panel de lectura en Dynamics 365 for Outlook Especifica si la entidad estará visible en el panel de lectura
de la aplicación Dynamics 365 for Outlook.
Usar la Ayuda personalizada Si se habilita esta opción, establece una dirección URL de
Ayuda para controlar qué página verán los usuarios
cuando hagan clic en el botón Ayuda de la aplicación. Use
esta opción para dar instrucciones específicas para los
procesos de su empresa para la entidad.
Vea también
Crear y editar entidades con el explorador de soluciones
Tutorial: Crear una entidad personalizada que tenga componentes en PowerApps
Editar una entidad
Documentación para desarrolladores: crear una entidad personalizada
Editar una entidad
25/11/2019 • 13 minutes to read • Edit Online
Puede modificar cualquier entidad personalizada que cree. Las entidades estándar o las entidades personalizadas
administradas pueden tener limitaciones sobre los cambios que puede realizar.
NOTE
Las entidadesestándar son entidades comunes que se incluyen con el entorno y que no son entidades del Sistema o
Personalizadas. Las entidades personalizadas administradas son entidades que se han agregado al sistema importando
una solución administrada. El grado con que puede modificar estas entidades depende de las propiedades administradas
establecidas para cada entidad. Las propiedades que no puede modificar estarán deshabilitadas.
DISEÑADOR DESCRIPCIÓN
Portal PowerApps Proporciona una experiencia fácil y ágil, pero algunos valores
especiales no están disponibles.
NOTE
El nombre de muchas entidades estándar también se puede usar en otro texto de la aplicación. Para buscar y cambiar el
texto donde se ha usado este nombre, consulte Editar mensajes de entidades estándar
Para cualquier otro cambio en las opciones de entidades, debe editar la entidad usando el explorador de
soluciones.
NOTE
El nombre de muchas entidades estándar también se puede usar en otro texto de la aplicación. Para buscar y cambiar el
texto donde se ha usado este nombre, consulte Editar mensajes de entidades estándar
OPCIÓN DESCRIPCIÓN
Flujos de proceso de negocio Permite crear flujos de proceso de negocio para esta entidad.
Más información Crear un flujo de proceso de negocio para
estandarizar los procesos
Envío de correo electrónico Permite enviar mensajes de correo electrónico utilizando una
dirección de correo electrónico almacenada en uno de los
campos de esta entidad. Si para esta entidad no existe ya un
campo Línea de texto única con el formato establecido en
correo electrónico, se creará uno nuevo al habilitar el envío
de correo electrónico.
OPCIÓN DESCRIPCIÓN
Áreas que muestran esta entidad En la aplicación web, seleccione una de las áreas disponibles
del mapa del sitio para mostrar esta entidad. Esto no se aplica
a las aplicaciones basadas en modelos.
Habilitar para móvil Hace que esta entidad esté disponible para las aplicaciones de
Dynamics 365 for phones y tablets. También tiene la opción
de convertir esta entidad en Solo lectura en móvil.
Habilitar para Phone Express Hace que esta entidad esté disponible para la aplicación
Dynamics 365 for phones.
OPCIÓN DESCRIPCIÓN
Combinar correspondencia Los usuarios pueden usar esta entidad con la combinación de
correspondencia.
Capacidad de trabajar sin conexión de Dynamics 365 for Especifica si los datos de esta entidad estarán disponibles
Outlook mientras la aplicación Dynamics 365 for Outlook no esté
conectada a la red.
Imagen principal Las entidades del sistema que admiten imágenes ya tendrán
un campo Imagen. Puede elegir mostrar los datos en este
campo como la imagen del registro estableciendo el campo en
Ninguna o en Imagen predeterminada.
Panel de lectura en Dynamics 365 for Outlook Especifica si la entidad estará visible en el panel de lectura de
la aplicación Dynamics 365 for Outlook.
Usar la Ayuda personalizada Si se habilita esta opción, establece una dirección URL de
Ayuda para controlar qué página verán los usuarios cuando
hagan clic en el botón Ayuda de la aplicación. Use esta opción
para dar instrucciones específicas para los procesos de la
empresa para la entidad.
Vea también
Crear una entidad
Crear y editar entidades con el explorador de soluciones
Crear y editar entidades virtuales que contienen
datos desde un origen de datos externo
25/11/2019 • 15 minutes to read • Edit Online
Una entidad virtual es una entidad personalizada de Common Data Service que tiene campos que contienen datos
de un origen de datos externo. Las entidades virtuales aparecen en la aplicación para los usuarios como registros
de entidad normales, pero contienen datos procedentes de una base de datos externa, como una base datos SQL
de Azure. Los registros basados en las entidades virtuales están disponibles en todos los clientes, incluidos los
clientes personalizados desarrollados con los servicios web de Common Data Service.
En el pasado, para integrar los orígenes de datos dispares habría que crear un conector para mover datos o para
desarrollar un complemento personalizado, en el lado del cliente o del servidor. Sin embargo, con las entidades
virtuales, puede conectarse directamente con un origen de datos externo en el tiempo de ejecución de forma que
los datos específicos del origen de datos externo estén disponibles en un entorno, sin necesidad de replicación de
datos.
Las entidades virtuales están formadas por tres componentes principales: un proveedor de datos, un registro de
origen de datos y una entidad virtual. El proveedor de datos está formado por complementos y una entidad de
origen de datos. El origen de datos es un registro de entidad en Common Data Service, que incluye los metadatos
que representan el esquema de los parámetros de conexión. Cada entidad virtual hace referencia a un origen de
datos en la definición de la entidad.
Common Data Service incluye un proveedor de datos de OData que se puede usar para conectarse con un
servicio web de OData v4 que tenga acceso a los datos externos.
Como alternativa, los programadores pueden crear sus propios proveedores de datos. Los proveedores de datos
están instalados en un entorno como solución. Más información: Documentación para desarrolladores:
Introducción a las entidades virtuales
Ventajas de la entidad virtual
Los desarrolladores pueden implementar complementos para leer los datos externos con los servicios web de
Common Data Service y la herramienta de registro de complementos.
Los personalizadores del sistema usan el explorador de soluciones de PowerApps para configurar el registro
del origen de datos y crear las entidades virtuales que se usan para tener acceso a datos externos sin necesidad
de escribir código.
Los usuarios finales trabajan con los registros creados por la entidad virtual para ver los datos en campos,
cuadrículas, resultados de la búsqueda e informes y paneles basados en Fetch XML.
NOTE
El atributo Secreto del origen de datos solo está disponible con campos agregados a un formulario del origen de datos.
NOTE
Aunque puede crear una entidad virtual seleccionando Ninguno como origen de datos, para adquirir datos una entidad
virtual requiere un origen de datos. Más información Agregar un origen de datos para usarlo con las entidades virtuales
CAMPO DESCRIPCIÓN
Aquí mostramos un ejemplo de una entidad virtual denominada Movie que usa un proveedor de datos de
Azure Cosmos DB para tener acceso a los archivos de documento.
IMPORTANT
Varias opciones, como equipos de acceso, colas y creación rápida, no están disponibles con las entidades virtuales.
Más información Consideraciones al usar las entidades virtuales
Rellene las propiedades necesarias y opcionales adicionales, como los nombres en plural y los nombres
para mostrar, según sea necesario. Para obtener más información acerca estas propiedades, consulte Crear
y editar entidades.
4. Crear y agregar uno o varios campos para la entidad virtual. Además de las propiedades de campo
estándar necesarias para crear un campo personalizado, estas propiedades opcionales están disponibles
para cada campo personalizado que se cree para una entidad virtual.
CAMPO DESCRIPCIÓN
Nombre de tipo externo Si el tipo de campo que crea es OptionSet: esta propiedad
establece una relación con el nombre externo del conjunto
de valores en el servicio externo para el conjunto de
opciones. Normalmente, puede tratarse de una
enumeración o del nombre de una clase de valor de
cadena. El Nombre de tipo externo se puede usar cuando
se requiere un nombre completo. Por ejemplo, como en el
caso de Nombre de tipo con OData, donde los
parámetros de una consulta requieren el nombre
completo, como [Nombre de tipo].[Valor].
Rellene las propiedades adicionales según sea necesario. Para obtener más información acerca estas
propiedades, consulte Crear y editar campos.
5. Seleccione Guardar y cerrar en la página de propiedades Campo.
6. En la barra de herramientas del explorador de soluciones, seleccione Guardar.
7. En la barra de herramientas del explorador de soluciones, seleccione Publicar.
8. Cierre el explorador de soluciones.
En este tema se describe cómo configurar el proveedor de datos de OData v4 así como los requisitos y las
prácticas recomendadas para usar el proveedor de datos de OData v4 para establecer la conexión con un servicio
web de OData v4.
Tipos de datos de OData EDM que no se admiten para asignarlos con entidades virtuales
Edm.Binary
Edm.Time
Edm.Float
Edm.Single
Edm.Int16
Edm.Byte
Edm.SByte
Vea también
Crear y editar entidades virtuales que contienen datos desde un origen de datos externo
Blog de TechNet: interacción con datos de sistemas externos mediante nuevas entidades virtuales
Definir las claves alternativas con el portal de
PowerApps
25/11/2019 • 2 minutes to read • Edit Online
El portal de PowerApps proporciona una forma fácil de ver y crear claves alternativas de entidad con Common
Data Service.
El portal permite configurar las opciones más comunes, pero algunas opciones solo se pueden configurar usando
el explorador de soluciones.
Más información:
Definir claves alternativas para hacer referencia a registros
Definir las claves alternativas con el explorador de soluciones
NOTE
La clave alternativa no estará disponible inmediatamente. Se inicia un trabajo del sistema cuando guarda la entidad para
crear índices de la base de datos para admitir la clave alternativa.
El explorador de soluciones proporciona una forma de ver y crear claves alternativas para Common Data Service.
El portal de PowerApps permite configurar las opciones más comunes, pero algunas opciones solo se pueden
configurar usando el explorador de soluciones.
Más información:
Definir claves alternativas para hacer referencia a registros
Definir las claves alternativas con el portal PowerApps
El portal de PowerApps proporciona una forma fácil de crear y de editar entidades para Common Data Service.
El portal permite configurar las opciones más comunes, pero algunas opciones solo se pueden configurar usando
el explorador de soluciones. Más información:
Crear y editar entidades en Common Data Service
Crear y editar entidades con el explorador de soluciones
Ver entidades
1. En el portal de PowerApps, seleccione el modo de diseño Controlado por modelos o Lienzo.
2. Seleccione Datos > Entidades
Puede filtrar las entidades que ve mediante las vistas siguientes en una lista:
VISTA DESCRIPCIÓN
También puede seleccionar Grupo para agrupar entidades por las Etiquetas aplicadas a ellas.
CAMPO DESCRIPCIÓN
Nombre plural para mostrar Este es el nombre plural de la entidad que aparecerá en la
aplicación. Se puede cambiar posteriormente.
Seleccione Siguiente para continuar, se cerrará el panel Nueva entidad y se mostrará la lista de campos.
El campo Nombre principales el único campo visible en este momento. Seleccione el campo Nombre
principal para editarlo si desea cambiar el Nombre para mostrar o el Nombre del campo. Los valores
predeterminados se muestran debajo:
IMPORTANT
Cuando se elimina una entidad personalizada, las tablas de base de datos que almacenan los datos de la entidad se eliminan
y se pierden todos los datos que contienen. Los registros asociados con una relación jerárquica con la entidad personalizada
también se eliminan. Para obtener más información sobre las relaciones jerárquicas, consulte Creación y edición de
relaciones entre entidades.
NOTE
La única forma de recuperar datos de una entidad que se haya eliminado es restaurar la base de datos desde un punto
anterior a la eliminación de la entidad. Más información: Copia de seguridad y restauración de instancias
Mientras ve entidades, seleccione la entidad y seleccione Eliminar entidad en el menú o en el menú contextual.
Si la entidad tiene las dependencias que impiden que sea eliminado verá un mensaje de error. Para identificar y
quitar cualquier dependencia, deberá usar el explorador de soluciones. Más información Identificar dependencias
de la entidad
Vea también
Crear y editar entidades en Common Data Service
Crear y editar entidades con el explorador de soluciones
Crear y editar entidades con el explorador de
soluciones
25/11/2019 • 19 minutes to read • Edit Online
Puede crear fá cilmente una entidad mediante el portal de PowerApps para la mayoría de las situaciones
comunes, pero no todas las capacidades se implementan ahí. Cuando necesite cumplir los requisitos descritos en
Creación y edición de entidades en Common Data Service, puede cumplirlas creando o editar entidades
mediante el Explorador de soluciones.
Ver entidades
En el nodo Componentes del explorador de soluciones, seleccione el nodo Entidades.
Creación de entidades
Mientras ve entidades, seleccione Nuevo para abrir el nuevo formulario de entidad.
El nuevo formulario de entidad tiene dos pestañas. La pestaña General es para opciones de la entidad. La
pestaña Campo principal es para opciones sobre el campo especial de una sola línea de texto que cada entidad
tiene y que define el texto que se muestra cuando hay un vínculo para abrir la entidad en un campo de búsqueda.
Para obtener información acerca de cada sección, vea lo siguiente:
Configurar el campo principal
Configurar campos obligatorios
NOTE
También puede convertir la entidad en una actividad personalizada. Esta opción cambia algunos de los valores de opción
predeterminados. Más información: Crear una entidad de actividad personalizada
Después de establecer las opciones necesarias para la entidad, haga clic en para crear la entidad personalizada.
Configurar el campo principal
En la pestaña Campo principal normalmente puede aceptar los valores predeterminados para el campo
principal, pero tiene las siguientes opciones:
CAMPO DESCRIPCIÓN
Nombre para mostrar Especifique la etiqueta localizable que mostrará para este
campo en formularios y listas. El valor predeterminado es
Nombre.
NOTE
Estas opciones no se aplican si la entidad es una entidad de actividad. Más información: Crear una entidad de actividad
personalizada
CAMPO DESCRIPCIÓN
NOTE
Las entidades estándar o las entidades personalizadas que son parte de una solución administrada pueden tener
limitaciones sobre los cambios que puede aplicar. Si la opción no está disponible o está deshabilitada, usted no está
autorizado a realizar el cambio.
OPCIÓN DESCRIPCIÓN
Flujos de proceso de negocio Permite crear flujos de proceso de negocio para esta entidad.
Más información Crear un flujo de proceso de negocio para
estandarizar los procesos
OPCIÓN DESCRIPCIÓN
Envío de correo electrónico Permite enviar mensajes de correo electrónico utilizando una
dirección de correo electrónico almacenada en uno de los
campos de esta entidad. Si para esta entidad no existe ya un
campo Línea de texto única con el formato establecido en
correo electrónico, se creará uno nuevo al habilitar el envío
de correo electrónico.
OPCIÓN DESCRIPCIÓN
Áreas que muestran esta entidad En la aplicación web, seleccione una de las áreas disponibles
del mapa del sitio para mostrar esta entidad. Esto no se aplica
a las aplicaciones basadas en modelos.
Habilitar para móvil Hace que esta entidad esté disponible para las aplicaciones de
Dynamics 365 for phones y tablets. También tiene la opción
de convertir esta entidad en Solo lectura en móvil.
Habilitar para Phone Express Hace que esta entidad esté disponible para la aplicación
Dynamics 365 for phones.
Combinar correspondencia Los usuarios pueden usar esta entidad con la combinación de
correspondencia.
Capacidad de trabajar sin conexión de Dynamics 365 Especifica si los datos de esta entidad estarán disponibles
for Outlook mientras la aplicación Dynamics 365 for Outlook no esté
conectada a la red.
Imagen principal Las entidades del sistema que admiten imágenes ya tendrán
un campo Imagen. Puede elegir mostrar los datos en este
campo como la imagen del registro estableciendo el campo
en Ninguna o en Imagen predeterminada.
Panel de lectura en Dynamics 365 for Outlook Especifica si la entidad estará visible en el panel de lectura de
la aplicación Dynamics 365 for Outlook.
OPCIÓN DESCRIPCIÓN
Usar la Ayuda personalizada Si se habilita esta opción, establece una dirección URL de
Ayuda para controlar qué página verán los usuarios cuando
hagan clic en el botón Ayuda de la aplicación. Use esta opción
para dar instrucciones específicas para los procesos de la
empresa para la entidad.
IMPORTANT
Cuando se elimina una entidad personalizada, las tablas de base de datos que almacenan los datos de la entidad se
eliminan y se pierden todos los datos que contienen. Los registros asociados con una relación jerárquica con la entidad
personalizada también se eliminan. Para obtener más información sobre las relaciones jerárquicas, consulte Creación y
edición de relaciones entre entidades.
NOTE
La única forma de recuperar datos de una entidad que se haya eliminado es restaurar la base de datos desde un punto
anterior a la eliminación de la entidad. Más información: Copia de seguridad y restauración de instancias
NOTE
Si hay dependencias de entidad recibirá un error No se puede eliminar el componente con un vínculo Detalles que
puede usar para detectar información sobre por qué la entidad no se puede eliminar. En la mayoría de los casos, será
debido a una dependencia que debe quitarse.
Puede haber más de una dependencia que bloquee la eliminación de una entidad. Este mensaje de error puede mostrar
sólo la primera. Para una forma alternativa de detectar dependencias, consulte Identificar dependencias de entidad
Las dependencias publicadas impedirán eliminar una entidad. Las dependenciasinternas debe resolverlas el
sistema.
3. Quite estas dependencias publicadas y debe poder eliminar la entidad.
NOTE
Una dependencia muy común es que otro formulario de entidad tiene un campo de búsqueda para la entidad que desea
eliminar. Al quitar el campo de búsqueda del formulario se resolverá la dependencia.
Crear una entidad de actividad personalizada
Para crear la entidad como entidad de actividad, siga los mismos pasos descritos en este tema, pero seleccione
Definir como entidad de actividad.
Una entidad de actividad es un tipo especial de entidad que realiza un seguimiento de las acciones para los que
se puede realizar entrada en un calendario. Más información: Entidades de actividad.
Cuando establece esta opción algunas propiedades de la entidad no son compatibles. Una entidad de actividad
debe ajustarse a comportamientos estándar que todas las entidades de actividad usan.
El campo principal Nombre y Nombre para mostrar se establecerán como Asunto y no puede cambiarlo.
Las siguientes opciones se establecen de forma predeterminada y no se pueden cambiar:
Comentarios
Notas (incluye archivos adjuntos)
Conexiones
Colas
Funcionalidad sin conexión para Dynamics 365 for Outlook
Las siguientes opciones no se pueden establecer:
Áreas que muestran esta entidad
Actividades
Enviar correo electrónico
Combinar correspondencia
Auditoría de un solo registro
Auditoría de varios registros
OPCIÓN DESCRIPCIÓN
Más información: Crear y editar entidades virtuales que contienen datos desde un origen de datos externo
Vea también
Crear y editar entidades en Common Data Service
Tutorial: Crear una entidad personalizada que tenga componentes en PowerApps
Crear una solución
Importar o exportar datos de Common Data Service
25/11/2019 • 8 minutes to read • Edit Online
Para importar y exportar datos de forma masiva desde archivos de Microsoft Excel o CSV, use las funciones
Obtener datos de archivo de Excel y Exportar datos para entornos actualizados de Common Data Service.
Existen dos formas de importar archivos en entidades desde archivos de Excel o CSV.
NOTE
Para importar datos en más de una entidad, en el menú superior, seleccione Obtener datos. Seleccione Obtener
datos de Excel. Después puede elegir varias entidades y seleccionar Siguiente.
d. En la pantalla Importar datos, elija si desea importar datos de un archivo de Excel o CSV.
e. Seleccione Cargar.
f. Elija su archivo. Siga las indicaciones para cargar el archivo.
g. Después de cargar el archivo y cuando el Estado de asignación sea verde, seleccione Importar en la
esquina superior derecha. Consulte la siguiente sección para navegar y corregir los errores de asignación.
h. Una vez que la importación finalice correctamente, verá el número total de inserciones y actualizaciones.
NOTE
Use la lógica de Upsert (Actualizar o Insertar) para actualizar el registro, si ya existe, o para insertar un nuevo registro.
TIP
En función de si obtiene una advertencia o un error, inspeccione Campos no asignados o Campos con errores a
través del menú desplegable de Asignaciones de campos.
2. Cuando resuelva todos los errores y advertencias, seleccione Guardar cambios en la esquina superior
derecha. Volverá a la pantalla Importar datos.
3. Cuando la columna Estado de asignación muestre Completado en verde, seleccione Importar en la
esquina superior derecha.
4. Cuando reciba el mensaje Importe realizada correctamente se mostrará el total de inserciones y
actualizaciones.
A veces, una clave principal puede que no funcione cuando se integran datos desde un origen externo. Use
Common Data Service para definir claves alternativa que identifican de manera única un registro en lugar de la
clave principal.
Ejemplo:
Para una entidad Cuenta, puede establecer transactioncurrencyid como clave alternativa usando una
identificación basada en claves naturales. Por ejemplo, use Dólar de EE. UU. en lugar del valor de GUID
88c6c893-5b45-e811-a953-000d3a33bcb9 que se muestra anteriormente. También puede elegir símbolo de
moneda o nombre de la moneda como claves.
Los usuarios pueden seguir usando claves principales como identificadores después de especificar claves
alternativas. En el ejemplo anterior, el primer archivo sigue siendo válido si los GUID son datos válidos.
NOTE
Para exportar datos desde varias entidades, en el menú superior, seleccione Exportar. Seleccione Datos. Puede elegir
varias entidades.
4. Cuando la exportación finalice correctamente, podrá Descargar los datos exportados. Esta descarga
proporciona un vínculo al archivo CSV descargable.
Al abrir datos de entidad en Microsoft Excel, puede ver y editar datos de forma rápida y sencilla usando el
complemento de Excel Microsoft PowerApps. El complemento PowerApps Excel requiere Microsoft Excel 2016.
NOTE
Asegúrese de incluir siempre el identificador y los campos necesarios en el libro, ya que podría recibir errores al publicar.
NOTE
Al agregar campos de consulta, asegúrese de agregar el identificador y los campos de visualización.
Solución de problemas
Existen algunos problemas que se pueden resolver a través de una serie de pasos sencillos.
No todas las entidades admiten la edición y creación de nuevos registros, estas entidades se abrirán en Excel y
le permitirán ver datos, aunque la publicación estará deshabilitada.
Los campos de búsqueda deben editarse con el complemento para garantizar que se hace referencia al registro
correcto, no se permite actualizar estos campos mediante la función de copiar o pegar o introduciéndolos
directamente en el campo.
Si se produce un problema que no se describe aquí, póngase en contacto con nosotros mediante las páginas de
soporte.
Pasos siguientes
Administrar campos de una entidad
Definir relaciones entre entidades
Generar una aplicación mediante Common Data Service
Crear una aplicación desde cero usando Common Data Service
Definir claves alternativas para hacer referencia a
registros
25/11/2019 • 8 minutes to read • Edit Online
Las claves alternativas ofrecen una forma eficaz y precisa de integrar datos con sistemas externos. Es esencial en
los casos en que un sistema externo no almacena los Id. de identificador único global (GUID ) que identifican de
forma única registros en Common Data Service.
Un sistema de integración de datos usará claves alternativas para identificar de forma exclusiva registros
mediante uno o más valores del campo de la entidad que representen una única combinación. Cada clave
alternativa tiene un nombre único.
Por ejemplo, para identificar un registro de cuenta con una clave alternativa, puede usar el número de cuenta o el
campo de número de cuenta conjuntamente con otros campos que tienen valores que no deben cambiar.
NOTE
Aunque puede definir claves alternativas con PowerApps, solo se pueden usar mediante programación en código. Para
obtener más información sobre cómo usar claves alternativas mediante programación, consulte:
Documentación para desarrolladores: Usar una clave alternativa para crear un registro
Documentación para desarrolladores: Recuperar un registro con la API web mediante una clave alternativa
DISEÑADOR DESCRIPCIÓN
Si solo necesita unicidad, este método funciona, pero si necesita usar estas claves como parte de la integración de
datos, entonces es mejor crear la clave en los campos que no tendrán datos con dichos caracteres.
NOTE
Si desea supervisar el estado del trabajo del sistema debe usar el explorador de soluciones para crear el índice. Incluirá un
vínculo al trabajo del sistema para poder supervisarlo. Más información: (Opcional) Ver el seguimiento del trabajo del
sistema de creación de índices
Vea también
Definir las claves alternativas con el portal PowerApps
Definir las claves alternativas con el explorador de soluciones
Documentación para desarrolladores: Definir claves alternativas para una entidad
Documentación para desarrolladores: Usar una clave alternativa para crear un registro
Definir las transiciones de razón para el estado de la
entidad Caso o de entidades personalizadas
25/11/2019 • 5 minutes to read • Edit Online
Puede especificar las transiciones de razón para el estado de la entidad Incidente (Caso) o de entidad
personalizada.
NOTE
Aunque la entidad de incidente (caso) no se incluye en un entorno predeterminado de Common Data Service, se usa en
Dynamics 365 for Customer Service y se define dentro del Modelo común de datos
Las transiciones de razón para el estado son un nivel de filtrado adicional y opcional para definir qué valor puede
cambiarse para cada razón para el estado. Definir una lista limitada de opciones válidas puede facilitar a los
usuarios la selección de la siguiente razón para el estado de un registro cuando tiene un gran número de
combinaciones para valores válidos de razón para el estado.
Razón para el estado Representa una razón que está vinculada a un estado
específico. Cada estado debe tener al menos una razón para el
estado posible. Puede agregar opciones adicionales de razón
para el estado.
Los metadatos para el campo definen qué valores de estado son válidos para un estado determinado. Por ejemplo,
para la entidad Incidente (Caso), el estado predeterminado y las opciones de razón para el estado son:
Activo En curso
Retenido
Esperando detalles
Investigación
Cancelado Cancelado
Combinado
NOTE
Editar las transiciones de razón para el estado requiere el uso del explorador de soluciones. Consulte Crear y editar campos
para Common Data Service usando el explorador de soluciones de PowerApps para obtener información sobre cómo editar
campos.
Cuando edita un campo de razón para el estado, el botón Editar las transiciones de la razón para el estado
está en el menú.
Al hacer clic en este botón, el cuadro de diálogo Transiciones de la razón para el estado proporciona la opción
de elegir Habilitar las transiciones de la razón para el estado. Cuando esta opción está seleccionada debe
definir qué otros valores de razón para el estado que se permiten para cada razón para el estado. Para quitar el
filtrado aplicado, quite la selección Habilitar las transiciones de la razón para el estado. Las transiciones que
ha definido se conservarán, pero no se aplicarán.
La captura de pantalla a continuación proporciona un ejemplo que cumple los siguientes requisitos:
Un caso se puede combinar en cualquier momento. No podrá combinar casos si una transición de razón para el
estado no lo permite.
Un caso activo se puede cancelar en cualquier momento.
Un caso resuelto o cancelado no se puede reactivar.
Todos los casos deben pasar a través de las siguientes fases: En curso > En espera > Esperando detalles >
Bajo investigación antes de que se puedan resolver. Con esta configuración, un caso no se pudo establecer en
un estado anterior.
NOTE
Esto no es un buen ejemplo para el trabajo real, pero demuestra cómo las fases de estado se pueden aplicar a través
de transiciones de razón para el estado.
Vea también
Crear y editar campos para Common Data Service con el explorador de soluciones de PowerApps
Metadatos de entidad > Estados de entidad
Definir transiciones de modelo de estado personalizadas
Eliminación de entidades personalizadas
25/11/2019 • 2 minutes to read • Edit Online
2. En la lista de entidades, haga clic o pulse en la entidad para eliminar, y haga clic o pulse en la opción
Eliminar entidad de la barra de comandos.
3. En el cuadro de diálogo que aparece, haga clic o pulse en Eliminar para eliminar la entidad.
NOTE
Cuando se elimina una entidad, se elimina tanto la definición de la entidad como todos los datos que contiene. Las entidades
y los datos incluidos no se pueden recuperar si se eliminan.
NOTE
Es posible que dañe una aplicación o un flujo si elimina una entidad que se usa en esa aplicación.
NOTE
Si la entidad A tiene campos de búsqueda respecto a la entidad B, es posible que deba eliminar la entidad B para poder
eliminar la entidad. A.
Mostrar iconos personalizados junto con los valores
en vistas de lista
25/11/2019 • 9 minutes to read • Edit Online
Los administradores y personalizadores de entornos de PowerApps pueden agregar gráficos a una vista y
establecer la lógica usada para seleccionar un gráfico según el valor de la columna con JavaScript. La
funcionalidad le permite personalizar las vistas de lista que muestran iconos junto al texto o los valores numéricos.
NOTE
Los iconos de cuadrícula se muestran únicamente en la interfaz web. No se muestran en Outlook o la aplicación móvil.
IMPORTANT
Este ejemplo requiere la entidad oportunidad, que está disponible con la aplicación Dynamics 365 Sales.
Vea también
Conocer las vistas de las aplicaciones controladas por modelos
Editar mensajes de entidades del sistema
25/11/2019 • 3 minutes to read • Edit Online
El nombre para mostrar predeterminado de algunas entidades del sistema se usa en texto y mensajes de error de
la interfaz de usuario en Common Data Service. Si cambia el nombre para mostrar, también debe actualizar los
mensajes que usan el nombre para mostrar predeterminado. Por ejemplo, si cambia el nombre para mostrar de
Cuenta a Empresa, podría aparecer un mensaje de error con el nombre antiguo.
No puede editar mensajes del sistema mediante el portal de PowerApps, debe usar el explorador de soluciones.
Ir a una solución no administrada
1. En el portal de PowerApps, seleccione Soluciones y, a continuación, en la barra de herramientas,
seleccione Cambiar a clásico.
2. En la lista Todas las soluciones seleccione la solución no administrada que desee.
En el explorador de soluciones, debajo de la entidad, si ve un nodo Mensajes, puede editar determinado texto
que incluye referencias al nombre para mostrar de la entidad original.
Modificar este texto es bastante sencillo. Haga doble clic en el mensaje para ver un formulario con tres campos:
CAMPO DESCRIPCIÓN
Cadena para mostrar personalizada Edite este texto para cambiar la cadena para mostrar.
Parte de texto del mensaje puede tener marcadores. Estos marcadores son números con llaves a ambos lados.
Por ejemplo: {0} . Estos marcadores permiten insertar texto en el mensaje. Si modifica mensajes, asegúrese de
mantener esos marcadores.
Seleccione para guardar los cambios. Seleccione Guardar y cerrar para cerrar el formulario al guardar.
NOTE
Aunque la IU expuesta para editar mensajes de entidad del sistema incluye muchas referencias a los nombres de entidad,
no los incluye todos. Para un enfoque más completo, consulte Actualizar texto localizable en el idioma base
Vea también
Editar una entidad
Traducir texto localizable para aplicaciones controladas por modelos
Configurar una entidad para
comentarios/clasificación
25/11/2019 • 2 minutes to read • Edit Online
Permita que los clientes o empleados escriban comentarios sobre cualquier registro de entidad, o califiquen
registros de entidad en un rango de calificación definido habilitando entidades para comentarios.
Esta capacidad es de uso general con un sistema que captura datos de clientes a través de un portal, o encuesta.
Los datos sobre satisfacción con el servicio o el producto se pueden aplicar con entidades que representan ese
tipo de datos.
La comentarios también se puede usar por empleados para proporcionar comentarios acerca de un esfuerzo
colaborativo.
NOTE
Necesitará tener el rol de seguridad de Administrador del sistema o de Personalizador del sistema o permisos equivalentes
para realizar estos pasos.
Habilitar comentarios
Edite la entidad para habilitar Comentarios. Más información: Editar una entidad
En este tema se describen los requisitos para el proveedor de datos de Azure Cosmos DB para la API de SQL y
también cómo configurar y las prácticas recomendadas cuando se usa el proveedor de datos de Azure Cosmos DB
para la API de SQL con entidades virtuales.
IMPORTANT
Las vistas previas de características no se han diseñado para un uso de producción y pueden tener una funcionalidad
restringida. Estas características están disponibles antes del lanzamiento oficial para que los clientes puedan tener un
acceso anticipado y proporcionar comentarios.
Se espera que esta característica se modifique, así que no debería usarla en producción. Úsela solo en entornos de
desarrollo y prueba.
Microsoft no ofrece soporte técnico para esta versión preliminar de característica. El soporte técnico de Microsoft
Dynamics 365 no podrá ayudarle con los problemas o las preguntas que pueda tener. Las características en vista
previa no se han diseñado para su uso en producción y están sujetas a otros términos de uso complementarios.
Requisitos
Suscripción de Azure que incluye Azure Cosmos DB.
Una colección de la API SQL de Azure Cosmos DB.
El tipo de base de datos Azure Cosmos DB debe ser SQL.
id Clave principal
NOTE
El uso del operador like se traduce en el equivalente a los operadores contains / begins with / ends with . La API de SQL
no admite argumentos de patrón como se explica en el tema Like (Transact-SQL). El proveedor de datos de Azure Cosmos DB
para la API de SQL puede traducir el caso único especial Like('[aA]%') a BeginsWith('a') O BeginsWith('A') . Tenga
en cuenta que la comparación de cadenas en la API de SQL distingue entre mayúsculas y minúsculas.
Aceptar.
4. Especifique la siguiente información y luego seleccione GUARDAR Y CERRAR.
CAMPO DESCRIPCIÓN
Tiempo de espera en segundos Escriba la cantidad de segundos que se debe esperar a una
respuesta del servicio Azure Cosmos DB antes de agotar el
tiempo de espera de una solicitud de datos. Por ejemplo,
escriba 30 para esperar un máximo de treinta segundos
antes de que se agote el tiempo de espera. El tiempo de
espera predeterminado es de 120 segundos.
Recomendaciones y limitaciones
Tenga en cuenta lo siguiente cuando utilice Azure Cosmos DB como origen de datos:
Cada origen de datos Azure Cosmos DB solo se puede asociar a una sola entidad virtual.
Puede conectar varios orígenes de datos a la misma colección en el Azure Cosmos DB.
No se puede segmentar los datos de una colección por entidad.
Las bases de datos Azure Cosmos DB no requieren un esquema; sin embargo los datos de la Azure Cosmos DB
se deben estructurar mediante un esquema predecible.
Aunque el proveedor de datos de Azure Cosmos DB para la API de SQL implementa la traducción de consultas
de operadores de proyección, filtro y ordenación, no admite las operaciones join.
Solo puede filtrar por una sola columna con la API de SQL.
Vea también
Crear y editar entidades virtuales que contienen datos desde un origen de datos externo
Tutorial de entidad virtual mediante el proveedor de
datos de OData v4
25/11/2019 • 8 minutes to read • Edit Online
Imagine que quiere acceder a la información del vale desde un origen de datos externos en la aplicación basada en
modelos. En este sencillo tutorial, modelará una entidad virtual con los campos asignados al esquema externo que
recupera datos del vale en tiempo de ejecución de un servicio web de OData.
IMPORTANT
La url del servicio web utilizado para este tutorial no es un servicio web operativo.
Para este tutorial, se necesita una única entidad virtual que contiene los tres campos siguientes.
<EntityType Name="Ticket">
<Key>
<PropertyRef Name="TicketID" />
</Key>
<Property Name="TicketID" Nullable="false" Type="Edm.Guid" />
<Property Name="Title" Type="Edm.String" />
<Property Name="Severity" Nullable="false" Type="Edm.Int32" />
</EntityType>
CAMPO VALUE
Tiempo de espera 30
TIP
Cuando utilice su propio servicio web, compruebe que la dirección URL es válida pegándola en su explorador web.
CAMPO VALUE
Nombre new_ticket
Actividades seleccionado
3. Al lado de Áreas que muestran esta entidad, seleccione Servicio y seleccione Guardar (pero no cierre el
formulario de entidad).
IMPORTANT
Los nombres externos distinguen mayúsculas de minúsculas. Consulte los metadatos del servicio web para asegurarse de que
utiliza el nombre correcto. Un valor false que acepta NULL indica que es necesario el atributo. Tenga en cuenta que los
campos de clave principal son siempre obligatorios para el sistema.
1. Abra el campo new_ticketid y cambie el siguiente atributo con el valor que se indica aquí: Nombre
externo: TicketID
2. Seleccione Guardar y cerrar.
3. Abra el campo new_name y cambie los siguientes atributos que tenga los valores que se indican aquí:
Nombre para mostrar: Título
Nombre externo: Título
Nombre new_severity
Valor mínimo 0
Valor máximo 4
Se muestra la vista Todos los vales. Tenga en cuenta que puede que tenga que actualizar el explorador para
ver la entidad del área Servicio.
2. Abra un registro Vale para ver el formulario que incluye los campos Título y Gravedad para el registro
determinado.
Vea también
Configuración, requisitos y prácticas recomendadas del proveedor de datos de OData v4
Crear y editar entidades virtuales que contienen datos desde un origen de datos externo
Información general sobre relaciones entre entidades
25/11/2019 • 2 minutes to read • Edit Online
Las relaciones de entidad definen las formas en que los registros de la entidad se pueden asociar con registros de
otras o de la misma entidad. Hay dos tipos de relaciones entre entidades.
Relaciones de uno a varios. En una relación de entidad de uno a varios, muchos registros de entidad que
referencian (relacionados) se pueden asociar con un solo registro de entidad (principal) al que se hace
referencia. El registro de entidad referenciado se denomina a veces "principal" y los registros de entidad que
referencian se denominan "secundarios". Una relación de varios a uno es tan solo la perspectiva secundaria de
una relación de uno a varios.
Relaciones de varios a varios. En una relación entre entidades de varios a varios, muchos registros de entidad
se pueden asociar con otros muchos registros de entidad. Los registros relacionados mediante una relación de
varios a varios pueden considerarse iguales y la relación es recíproca.
Vea también
Crear una relación entre entidades
Crear relaciones varios a varios entre entidades en Common Data Service con el portal de PowerApps
Información general sobre relaciones entre
entidades
25/11/2019 • 17 minutes to read • Edit Online
Las relaciones de entidad definen cómo pueden relacionarse los registros entre sí en la base de datos. En el
nivel más sencillo, si agrega un campo de búsqueda a una entidad se crea una nueva relación 1:N (uno a
varios) entre las dos entidades y permite colocar el campo de búsqueda en un formulario. Con el campo de
búsqueda, los usuarios pueden asociar varios registros secundarios de la entidad a un solo registro de la
entidad primaria.
Además de simplemente definir cómo pueden relacionarse los registros con otros registros, las relaciones de
entidad 1:N también ofrecen datos para abordar las siguientes preguntas:
¿Cuándo elimino un registro debo eliminar también los registros relacionados con dicho registro?
¿Cuándo asigno un registro, también es necesario asignar todos los registros relacionados con dicho
registro al nuevo propietario?
¿Cómo puedo simplificar el proceso de entrada de datos cuando creo un registro relacionado en el
contexto de un registro existente?
¿Cómo deberían los usuarios que visualizan un registro poder ver los registros asociados?
Las entidades pueden también participar en una relación de N:N (varios a varios) donde cualquier número de
registros de dos entidades pueden asociarse entre sí.
N:N (varios a varios) Una relación de entidad que depende de una Entidad
relación especial, a veces denominada una entidad de
intersección, para que se puedan relacionar muchos
registros de una entidad con muchos registros de otra
entidad.
El tipo de relación N:1 (varios a uno) existe en la interfaz de usuario porque el diseñador muestra una vista
agrupada por entidades. Las relaciones de 1:N existen realmente entre entidades y hacen referencia a cada
entidad como Entidad principal/actual o Entidad relacionada. La entidad relacionada, a veces
denominada la entidad secundaria, tiene un campo de búsqueda que permite almacenar una referencia en un
registro desde la entidad principal, a veces denominada la entidad principal. Una relación de N:1 es
simplemente una relación de 1:N vista desde la entidad relacionada.
COMPORTAMIENTO DESCRIPCIÓN
Poner en cascada las que pertenecen al usuario Realiza una acción en todos los registros de entidad
relacionados que pertenecen al mismo usuario que el
registro de entidad principal.
Acciones
Estos son las acciones que pueden desencadenar determinados comportamientos:
Cambiar primario ¿Qué debe suceder cuando cambia el Poner todas en cascada
valor de búsqueda de una entidad Poner activa en cascada
relacionada en una relación Poner en cascada las que pertenecen
jerárquica? al usuario
Más información: Relaciones No poner ninguna en cascada
jerárquicas entre entidades
CAMPO DESCRIPCIÓN OPCIONES
Por ejemplo, si crea una nueva entidad personalizada y agrega una relación de 1:N entre entidades con la
entidad de cuenta en la que la entidad personalizada es la entidad relacionada, puede configurar las acciones
para que dicha relación entre entidades use las opciones de la columna Jerárquica. Si más adelante agrega
otra relación de 1:N entre entidades con la entidad personalizada como la entidad de referencia, solo puede
configurar las acciones para que usen las opciones de la columna No jerárquica.
Normalmente, esto significa que para cada par de entidad solo hay una relación jerárquica. Hay algunos casos
en los que la búsqueda en la entidad relacionada puede permitir que una relación sea más de un tipo de
entidad.
Por ejemplo, si una entidad tiene una búsqueda de cliente que pueda hacer referencia a un contacto o a la
entidad de cuenta. Hay dos relaciones jerárquicas entre entidades de 1:N diferentes.
Cualquier entidad de actividad tiene un conjunto similar de relaciones jerárquicas entre entidades para
entidades que pueden asociarse a través del campo de búsqueda Referente a.
Limitaciones en comportamientos que puede establecer
Dado que son relaciones jerárquicas, existen limitaciones que debe tener presentes cuando defina las
relaciones de entidad.
Una entidad personalizada no puede ser la entidad principal en una relación con una entidad del sistema
relacionada que esté en cascada. Esto quiere decir que no puede tener una relación con alguna acción
establecida en Poner todas en cascada, Poner activa en cascada o Poner en cascada las que
pertenecen al usuario entre una entidad personalizada principal y una entidad del sistema relacionada.
Ninguna relación nueva puede tener alguna acción establecida en Poner todas en cascada, Poner activa
en cascada o Poner en cascada las que pertenecen al usuario si la entidad relacionada de esa relación
ya existe como entidad relacionada en otra relación que tenga alguna acción establecida en Poner todas
en cascada, Poner activa en cascada o Poner en cascada las que pertenecen al usuario. Esto evita
que se creen relaciones entre varias entidades principales.
Vea también
Información general sobre los metadatos y las entidades
Crear y editar relaciones 1: N (uno a varios) o N:1 (varios a uno)
Crear relaciones entre entidades de varios a varios (N:N )
Información general sobre crear relaciones entre
entidades de uno a varios o varios a uno
25/11/2019 • 4 minutes to read • Edit Online
En Common Data Service, las relaciones de 1:N (uno a varios) o N:1 (varios a uno) definen cómo se relacionan
dos entidades entre sí.
Antes de crear una relación entre entidades personalizada, evalúe si el uso de una relación entre entidades
existente cumple sus requisitos.
Más información: ¿Crear nuevos metadatos o usar los metadatos existentes?
Hay dos diseñadores que puede usar para crear y editar relaciones de 1:N (uno a varios) o N:1 (varios a uno):
DISEÑADOR DESCRIPCIÓN
Portal PowerApps Proporciona una experiencia fácil y ágil, pero algunos valores
especiales no están disponibles.
Más información: Creación y edición de relaciones entre
entidades 1:N (uno a varios) o N:1 (varios a uno) en el portal
de PowerApps
NOTE
También puede crear una nueva relación entre entidades en su entorno mediante lo siguiente:
En aplicaciones basadas en modelos, seleccione Nuevo campo del editor de formularios y cree un campo Búsqueda.
Más información: Agregar un campo a un formulario
Crear un nuevo campo de búsqueda para la entidad relacionada.
Más información: Crear y editar campos
Importe una solución que contenga la definición de la relación entre entidades.
Más información: Importar, actualizar y exportar soluciones
Use Power Query para crear nuevas entidades y rellenarlas con datos.
Más información: Agregar datos a una entidad en Common Data Service mediante Power Query..
Un programador puede usar servicios de metadatos para escribir un programa para crear y actualizar relaciones entre
entidades.
Más información: Personalizar metadatos de relaciones entre entidades
Herramientas de la Comunidad
Creador de diagramas de relaciones entre entidades es una herramienta que la comunidad XrmToolbox
desarrolló para Common Data Service. Consulte el tema Herramientas para desarrolladores de Common Data
Service para obtener información sobre herramientas desarrolladas por la comunidad.
NOTE
Las herramientas de la comunidad no son un producto de Microsoft y no se incluyen en el soporte técnico. Si tiene alguna
duda relacionada con la herramienta, póngase en contacto con el Editor. Más información: XrmToolBox.
Vea también
Crear y editar relaciones entre entidades
Creación y edición de relaciones entre entidades 1:N (uno a varios) o N:1 (varios a uno) en el portal de
PowerApps
Creación y edición de relaciones entre entidades 1:N (uno a varios) o N:1 (varios a uno) con el explorador de
soluciones
Documentación para desarrolladores: Personalizar metadatos de relaciones entre entidades
Documentación para desarrolladores: Elegibilidad de relación entre entidades
Crear información general de relación varios a varios
entre entidades
25/11/2019 • 4 minutes to read • Edit Online
Las relaciones entre entidades de uno a varios (1:N ) establecen una jerarquía entre registros. Con relaciones de
varios a varios (N:N ) no existe una jerarquía explícita. No existen campos de búsqueda ni comportamientos para
configurar. Los registros creados utilizando relaciones de varios a varios pueden considerarse iguales y la relación
es recíproca.
Con relaciones de varios a varios una entidad de relaciones (o intersección) almacena los datos que asocia las
entidades. Esta entidad tiene una relación entre entidades de uno a varios con las dos entidades relacionadas y
almacena solo los valores necesarios para definir relación. No puede agregar campos personalizados a una
entidad de relación y nunca es visible en la interfaz de usuario.
Crear una relación de varios a varios requiere elegir las dos entidades que desea que participen en la relación.
Para aplicaciones basadas en modelos usted puede decidir cómo desea que las listas respectivas estén
disponibles en la navegación para cada entidad. Estas son las mismas opciones usadas para la entidad principal
en las relaciones de entidad de 1:N. Más información: Elemento del panel de navegación para una entidad
principal
No todas las entidades se pueden usar con relaciones de varios a varios. Si la entidad no está disponible para
elegir en el diseñador, no puede crear una nueva relación de varios a varios con esta entidad. Más información:
Documentación para desarrolladores: Elegibilidad de relación entre entidades
Hay dos diseñadores que puede usar para crear y editar relaciones de 1:N (uno a varios) o N:1 (varios a uno):
DISEÑADOR DESCRIPCIÓN
Portal PowerApps Proporciona una experiencia fácil y ágil, pero algunos valores
especiales no están disponibles.
Más información: Crear relaciones varios a varios entre
entidades en Common Data Service con el portal de
PowerApps
NOTE
También puede crear una nueva relación entre entidades de varios a varios (N:N) en su entorno mediante lo siguiente:
Importe una solución que contenga la definición de la relación. Más información: Importar, actualizar y exportar
soluciones
Un programador puede usar servicios de metadatos para escribir un programa para crear y actualizar relaciones entre
entidades. Más información: Documentación para desarrolladores: Personalizar metadatos de relaciones entre entidades
Vea también
Crear y editar relaciones entre entidades
Crear relaciones varios a varios entre entidades en Common Data Service con el portal de PowerApps
Crear relaciones entre entidades N:N (varios a varios) en Common Data Service mediante el explorador de
soluciones
Documentación para desarrolladores: Personalizar metadatos de relaciones entre entidades
Documentación para desarrolladores: Elegibilidad de relación entre entidades
Crear una relación entre entidades
25/11/2019 • 12 minutes to read • Edit Online
Los datos de una entidad suelen estar relacionados con los datos de otra entidad. Por ejemplo, podría tener una
entidad Profesores y una entidad Clase, y la entidad Clase podría tener una relación de búsqueda con la entidad
Profesores para indicar qué profesor da la clase. Puede usar un campo de búsqueda para mostrar los datos de la
entidad Profesores. Se le suele denominar campo de búsqueda.
6. Haga clic en Hecho para agregar la relación a la entidad y, a continuación, haga clic en Guardar entidad.
Agregar una relación de uno a varios
Para agregar una relación de uno a varios, cree una relación en la pestaña Relaciones y especifique la entidad
con la que desee crear una relación.
1. En powerapps.com, expanda la sección Datos y haga clic o pulse en Entidades en el panel de navegación
de la izquierda.
2. Haga clic o pulse en una entidad existente o Cree una nueva entidad
3. Haga clic en Relaciones.
4. Haga clic en la flecha abajo, a la derecha de Agregar relación; se le ofrecerá la opción de ambos tipos de
relaciones. Haga clic en Uno a varios, se abrirá un nuevo panel para que elija la entidad con la que desea
crear una relación. Seleccione la entidad en la lista desplegable Entidad relacionada.
5. Después de seleccionar una entidad, los campos de búsqueda se mostrarán en la entidad principal y
adoptarán de forma predeterminada el nombre de las entidades (en este ejemplo, Clase), aunque puede
cambiarlo si es necesario.
NOTE
En el caso de relaciones de uno a varios, el campo de búsqueda se creará en la entidad relacionada, no en la entidad
seleccionada actualmente. Si necesita que la búsqueda esté en la entidad actual, cree una relación de varios a uno.
6. Haga clic en Hecho para agregar la relación a la entidad y, a continuación, haga clic en Guardar entidad.
6. Haga clic en Hecho para agregar la relación a la entidad y, a continuación, haga clic en Guardar entidad.
Jerárquica: En una relación jerárquica entre dos entidades, cualquier acción realizada en un registro de la
entidad principal se realiza también en los registros de la entidad secundaria relacionados con el registro
de la entidad principal. Por ejemplo, esto haría que todos registros secundarios se eliminaran cuando
eliminara el elemento principal.
Personalizado: En una relación personalizada entre dos entidades, seleccione el comportamiento
asociado con un conjunto de acciones posibles.
Para obtener más información sobre valores predeterminados y comportamientos personalizados: Configurar
comportamiento de relaciones entre entidades.
Pasos siguientes
Generar una aplicación mediante una base de datos de Common Data Service
Crear una aplicación desde cero usando una base de datos de Common Data Service
Creación y edición de relaciones entre entidades uno
a varios o varios a uno utilizando el portal de
PowerApps
25/11/2019 • 6 minutes to read • Edit Online
El portal de PowerApps proporciona una forma de crear y editar relaciones de 1:N (uno a varios) o N:1 (varios a
uno) para Common Data Service.
El portal permite configurar las opciones más comunes, pero algunas opciones solo se pueden configurar usando
el explorador de soluciones. Más información:
Crear y editar relaciones 1: N (uno a varios) o N:1 (varios a uno)
Creación y edición de relaciones entre entidades 1:N (uno a varios) o N:1 (varios a uno) con el explorador de
soluciones.
VISTA DESCRIPCIÓN
Crear relaciones
Mientras ve relaciones entre entidades, en la barra de comandos, seleccione Agregar relación y elija Varios a
uno o Uno a varios.
NOTE
Para obtener información acerca de las relaciones Varios a varios consulte Crear relaciones N:N (varios a varios)
IMPORTANT
El portal usa terminología diferente que el explorador de soluciones. La Entidad principal del explorador de soluciones es la
Entidad actual en el portal.
ESCRIBA PANEL
Varios a uno
Uno a varios
Elija la Entidad relacionada para la relación que desea crear entre las dos entidades.
NOTE
En cualquier opción, un campo de búsqueda se creará en la entidad actual.
Una vez que seleccione la entidad puede editar los detalles de la relación. En este ejemplo, varios registros de
entidad de contacto se pueden asociar a una sola cuenta.
Puede editar los valores predeterminados proporcionados antes de guardar. Seleccione Más opciones para ver
los valores de Nombre de relación y Descripción del campo de búsqueda
CAMPO DESCRIPCIÓN
Nombre para mostrar del campo de búsqueda El texto localizable del campo de búsqueda que se creará en la
entidad relacionada.
Se puede editar posteriormente.
Nombre de campo de búsqueda El nombre del campo de búsqueda que se creará en la entidad
relacionada.
Descripción del campo de búsqueda Descripción del campo de búsqueda. En aplicaciones basadas
en modelos esto se mostrará como información sobre
herramientas cuando se mantenga el mouse sobre el campo.
Se puede editar posteriormente.
Puede continuar editando la entidad. Seleccione Guardar entidad para crear la relación que ha configurado.
Editar relaciones
Mientras ve relaciones entre entidades, seleccione la relación que desea editar.
NOTE
Cada relación se puede encontrar en la entidad principal o la entidad relacionada como relación Varios a uno o Uno a
varios . Aunque puede ser editada en ambos lugares, es la misma relación.
El editor de una solución administrada puede evitar algunas personalizaciones de relaciones que forman parte de la solución.
Los únicos campos que puede editar son Nombre para mostrar del campo de búsqueda y Descripción del
campo de búsqueda. Estos también se pueden editar en las propiedades del campo de búsqueda en la entidad
relacionada. Más información: Editar un campo
Eliminar relaciones
Mientras ve relaciones entre entidades, seleccione la relación que desea eliminar.
Puede usar el comando Eliminar relación de la barra de comandos o del menú del contexto contextual de la fila
al hacer clic en los puntos suspensivos (...).
Al eliminar la relación se eliminará el campo de búsqueda en la entidad relacionada.
NOTE
No podrá eliminar una relación que tenga dependencias. Por ejemplo, si ha agregado el campo de búsqueda a un formulario
para la entidad relacionada, debe quitar el campo del formulario antes de eliminar la relación.
Vea también
Crear y editar relaciones entre entidades
Crear y editar relaciones 1: N (uno a varios) o N:1 (varios a uno)
Creación y edición de relaciones entre entidades 1:N (uno a varios) o N:1 (varios a uno) con el explorador de
soluciones
Editar un campo
Creación y edición de relaciones entre entidades 1:N
(uno a varios) o N:1 (varios a uno) con el explorador
de soluciones
25/11/2019 • 23 minutes to read • Edit Online
El explorador de soluciones proporciona una forma de crear y editar relaciones entre entidades de 1:N (uno a
varios) o N:1 (varios a uno) para Common Data Service.
El portal de PowerApps permite configurar las opciones más comunes, pero algunas opciones solo se pueden
configurar usando el explorador de soluciones. Más información:
Crear relaciones 1: N (uno a varios) o N:1 (varios a uno)
Creación y edición de relaciones entre entidades 1:N (uno a varios) o N:1 (varios a uno) en el portal de
PowerApps
NOTE
Si los comandos no están disponibles, la entidad no es válida para crear una relación personalizada.
Cualquier opción abrirá un formulario como el siguiente. La diferencia es si está establecido el campo Entidad
principal o Entidad relacionada.
Con Relación de 1:N, la Entidad principal se establece como entidad actual
Con Relación de N:1, la Entidad relacionada se establece como entidad actual
Los siguientes campos deben establecerse para guardar la relación entre entidades:
Entidad principal Esta entidad será el tipo de destino del campo de búsqueda
creado en la entidad relacionada.
Nombre para mostrar del campo de búsqueda El texto localizable del campo de búsqueda que se creará para
la entidad relacionada. Suele ser el mismo que el nombre
para mostrar de la entidad principal.
Se puede cambiar posteriormente.
CAMPO OBLIGATORIO DESCRIPCIÓN
Puede hacer clic en para guardar la entidad y para continuar editando. Más información: Editar relaciones
NOTE
Si los valores de Nombre o Nombre del campo de búsqueda ya existen en el sistema se mostrará un error cuando
guarde. Edite los valores de modo que sean únicos y vuelva a intentarlo.
Editar relaciones
Mientras ve relaciones entre entidades, seleccione la entidad que desea editar. Las siguientes propiedades de
relación entre entidades pueden editarse una vez creada la relación.
NOTE
El editor de una solución administrada puede evitar algunas personalizaciones de relaciones que forman parte de la
solución.
CAMPO DESCRIPCIÓN
Campo de búsqueda
Son propiedades del campo de búsqueda creado en la entidad relacionada. Las propiedades se pueden editar
aquí o editando el campo de búsqueda directamente. Algunas propiedades de campo no son editables desde la
relación. Más información: Editar un campo
CAMPO DESCRIPCIÓN
Nombre para mostrar El texto localizable del campo de búsqueda que se creará para
la entidad relacionada.
CAMPO DESCRIPCIÓN
Requisito de campo Si el campo debe tener datos antes de que se pueda guardar
un formulario en una aplicación basada en modelos. Más
información: Opciones de requisito de campo
CAMPO DESCRIPCIÓN
Opciones de visualización
Estas son las opciones de visualización disponibles:
OPCIÓN DESCRIPCIÓN
Usar nombre plural Use el nombre plural para mostrar definido para la entidad
relacionada.
COMPORTAMIENTO DESCRIPCIÓN
Poner en cascada las que pertenecen al usuario Realiza una acción en todos los registros de entidad
relacionados que pertenecen al mismo usuario que el registro
de entidad principal.
Acciones
Estos son las acciones que pueden desencadenar determinados comportamientos:
Cambiar primario ¿Qué debe suceder cuando cambia el Poner todas en cascada
valor de búsqueda de una entidad Poner activa en cascada
relacionada en una relación jerárquica? Poner en cascada las que pertenecen al
Más información: Relaciones jerárquicas usuario
entre entidades No poner ninguna en cascada
Dejar de compartir ¿Qué debe suceder cuando un registro Poner todas en cascada
de entidad principal deja de Poner activa en cascada
compartirse? Poner en cascada las que pertenecen al
usuario
No poner ninguna en cascada
OPCIÓN DESCRIPCIÓN
NOTE
Es posible que no pueda seleccionar la opción Jerárquica si una de las entidades ya participa en una relación jerárquica
entre entidades. Más información: Relaciones jerárquicas entre entidades
Si usa En cascada configurable para establecer los comportamientos de las acciones para que coincidan con los
comportamientos de las acciones asociadas con otro Tipo de comportamiento cuando guarda la relación, el Tipo de
comportamiento se establece automáticamente en el tipo coincidente.
Eliminar relaciones
Mientras ve relaciones entre entidades, seleccione la relación entre entidades que desea eliminar y haga clic en el
comando .
Al eliminar la relación se eliminará el campo de búsqueda en la entidad relacionada.
NOTE
No podrá eliminar una relación que tenga dependencias. Por ejemplo, si ha agregado el campo de búsqueda a un
formulario para la entidad relacionada, debe quitar el campo del formulario antes de eliminar la relación.
Por ejemplo, si crea una nueva entidad personalizada y agrega una relación de 1:N entre entidades con la entidad
de cuenta en la que la entidad personalizada es la entidad relacionada, puede configurar las acciones para que
dicha relación entre entidades use las opciones de la columna Jerárquica. Si más adelante agrega otra relación
de 1:N entre entidades con la entidad personalizada como la entidad de referencia, solo puede configurar las
acciones para que usen las opciones de la columna No jerárquica.
Normalmente, esto significa que para cada par de entidad solo hay una relación jerárquica. Hay algunos casos en
los que la búsqueda en la entidad relacionada puede permitir que una relación sea más de un tipo de entidad.
Por ejemplo, si una entidad tiene una búsqueda de cliente que pueda hacer referencia a un contacto o a la
entidad de cuenta. Hay dos relaciones jerárquicas entre entidades de 1:N diferentes.
Cualquier entidad de actividad tiene un conjunto similar de relaciones jerárquicas entre entidades para entidades
que pueden asociarse a través del campo de búsqueda Referente a.
Limitaciones en comportamientos que puede establecer
Dado que son relaciones jerárquicas, existen limitaciones que debe tener presentes cuando defina las relaciones
de entidad.
Una entidad personalizada no puede ser la entidad principal en una relación con una entidad del sistema
relacionada que esté en cascada. Esto quiere decir que no puede tener una relación con alguna acción
establecida en Poner todas en cascada, Poner activa en cascada o Poner en cascada las que
pertenecen al usuario entre una entidad personalizada principal y una entidad del sistema relacionada.
Ninguna relación nueva puede tener alguna acción establecida en Poner todas en cascada, Poner activa
en cascada o Poner en cascada las que pertenecen al usuario si la entidad relacionada de esa relación ya
existe como entidad relacionada en otra relación que tenga alguna acción establecida en Poner todas en
cascada, Poner activa en cascada o Poner en cascada las que pertenecen al usuario. Esto evita que se
creen relaciones entre varias entidades principales.
Vea también
Crear y editar relaciones entre entidades
Crear y editar relaciones 1: N (uno a varios) o N:1 (varios a uno)
Creación y edición de relaciones entre entidades 1:N (uno a varios) o N:1 (varios a uno) en el portal de
PowerApps
Crear relaciones N:N (varios a varios)
Crear relaciones varios a varios entre entidades en
Common Data Service con el portal de PowerApps
25/11/2019 • 3 minutes to read • Edit Online
El portal de PowerApps proporciona una forma de crear y editar relaciones de varios a varios para Common Data
Service.
El portal permite configurar las opciones más comunes, pero algunas opciones solo se pueden configurar usando
el explorador de soluciones. Más información:
Crear relaciones entre entidades N:N (varios a varios)
Crear relaciones entre entidades N:N (varios a varios) en Common Data Service mediante el explorador de
soluciones
VISTA DESCRIPCIÓN
Crear relaciones
Mientras ve relaciones entre entidades, en la barra de comandos, seleccione Agregar relación y elija Varios a
varios.
En el panel Varios a varios, elija la entidad que desea relacionar con la entidad actual.
Seleccione Más opciones para ver los campos Nombre de relación y Nombre de entidad de relación.
NOTE
Si crea más de una relación de Varios a varios con las mismas dos entidades, tendrá que editar los campos Nombre de la
relación y Nombre de entidad de relación generados de modo que sean únicos.
Seleccione Aceptar para cerrar el panel Varios a varios. Se creará la relación al guardar los cambios en la entidad.
Una vez guardados, no se puede cambiar nada mediante el portal de PowerApps. Para editar las propiedades de la
relación para aplicaciones basadas en modelos, utilice el explorador de soluciones.
Eliminar relaciones
Mientras ve relaciones entre entidades, seleccione la relación que desea eliminar.
Puede usar el comando Eliminar relación de la barra de comandos o del menú del contexto contextual de la fila al
seleccionar los puntos suspensivos (...).
Al eliminar la relación de varios a varios se eliminará la entidad de relación creada. Se perderán a todas las
entidades de conexión de datos que usen la relación.
Vea también
Crear relaciones entre entidades N:N (varios a varios)
Crear relaciones entre entidades N:N (varios a varios) en Common Data Service mediante el explorador de
soluciones
Establecer las propiedades administradas de
relaciones
25/11/2019 • 2 minutes to read • Edit Online
Las Propiedades administradas se aplican únicamente al incluir un campo con una solución administrada e
importarla en otra organización. Estos valores permiten al responsable de la solución tener un determinado control
sobre el nivel de personalización que desea permitir a los usuarios que instalen la solución administrada al
personalizar una relación de entidad. Para establecer propiedades administradas para una relación, en el explorador
de soluciones expanda la entidad, abra la relación y, a continuación, seleccione Propiedades administradas en la
barra de menús.
Con las relaciones, la única propiedad administrada es Se puede personalizar. Este valor único controla todos los
cambios que se pueden realizar en la relación entre entidades.
Pasos siguientes
Crear y editar relaciones entre entidades
Visualizar datos jerárquicos con aplicaciones
controladas por modelos
25/11/2019 • 9 minutes to read • Edit Online
Cuando una entidad está configurada para tener una relación jerárquica que hace referencia a sí misma, puede
configurar visualizaciones usando esa jerarquía. Más información: Definir y consultar datos relacionados
jerárquicamente
Las entidades que tienen visualizaciones disponibles de forma predeterminada incluyen Cuenta, Posición y
Usuario. En la vista de cuadrícula de estas entidades, puede ver el icono que muestra el gráfico de jerarquía a la
izquierda del nombre del registro. El icono de jerarquía no está presente para todos los registros de forma
predeterminada. El icono se muestra para los registros que están relacionados con la relación jerárquica.
Si selecciona el icono de jerarquía, puede ver la jerarquía, con la vista de árbol a la izquierda y la vista de mosaico a
la derecha, como se indica a continuación:
Hay más entidades que pueden habilitarse para una jerarquía. Estas entidades incluyen Contacto y Equipo. Todas
las entidades personalizadas pueden habilitarse para una jerarquía.
Cosas más importantes para recordar al crear visualizaciones:
Solo se pueden configurar como jerárquica una relación que hace referencia a sí misma (1: N ) por entidad. En
una relación que hace referencia a sí misma la entidad principal y la entidad relacionada deben ser del mismo
tipo.
Una jerarquía o una visualización se basa en una entidad solo. Puede describir la jerarquía de cuenta mostrando
cuentas en varios niveles, pero no puede mostrar cuentas y contactos en la misma visualización de la jerarquía.
El número máximo de campos que se pueden mostrar en una ventana es cuatro. Si desea agregar más campos
al formulario rápido que se usa para la vista de mosaico, sólo los primeros cuatro campos se mostrarán.
Configuración de jerarquía
Para habilitar las visualizaciones de una jerarquía debe conectar la jerarquía a un formulario de vista rápida. Esto
solo se puede hacer usando el explorador de soluciones.
Ir a una solución no administrada
1. En el portal de PowerApps, seleccione Soluciones y, a continuación, en la barra de herramientas, seleccione
Cambiar a clásico.
2. En la lista Todas las soluciones seleccione la solución no administrada que desee.
Los valores de la jerarquía estás asociados a una entidad en el explorador de soluciones.
1. Mientras visualiza entidades, seleccione Configuración de la jerarquía.
2. Si existe un valor existente de la jerarquía puede editarlo. En caso contrario, haga clic en Nuevo para crear
uno nuevo.
NOTE
Si no existen los valores de la jerarquía, la entidad no es elegible para tener una jerarquía configurada. Solo puede
haber un valor de jerarquía
Formulario de vista rápida predeterminado Requerido. Elija un formulario de vista rápida existente o elija
Crear nuevo para abrir el editor de formularios de vista
rápida para crear uno nuevo.
Los mismos valores jerárquicos de visualización se establecen una vez, pero, se aplican a clientes web y móviles. En
tabletas, las representaciones visuales se muestran en un formato modificado conveniente para el factor de forma
más pequeño. Los componentes personalizables necesarios para la visualización jerárquica son compatibles con
las soluciones, por consiguiente, se pueden transportar entre organizaciones como cualquier otra personalización.
Puede configurar los atributos que se muestran en la visualización personalizando un formulario rápido mediante
el editor de formularios.
Para el Formulario de vista rápida, creamos un formulario rápido llamado Formulario de ventana de
jerarquía del widget. En este formulario, agregamos cuatro campos para mostrar en cada ventana.
Después de completar la configuración, creamos dos registros: Widget estándar y Widget premium. Después de
marcar el Widget premium como elemento principal del Widget estándar mediante el campo de búsqueda, la vista
de cuadrícula de new_Widget mostró los iconos de la jerarquía, como se indica a continuación:
NOTE
Los iconos de la jerarquía no aparecen en la vista de cuadrícula del registro hasta que los registros se relacionen usando la
relación jerárquica.
Si elige el icono de jerarquía, se mostrará la jerarquía new_Widget , con la vista de árbol a la izquierda y la vista de
ventana a la derecha, mostrando dos registros. Cada ventana contiene cuatro campos que proporcionamos en el
Formulario de ventana de jerarquía del widget.
Según sus necesidades, puede elegir entre una vista de árbol, que muestra la jerarquía completa, o una vista en
mosaico, que representa una parte menor de la jerarquía. Ambas vistas se muestran lado a lado. Puede explorar
una jerarquía expandiendo y contrayendo un árbol de jerarquía.
Vea también
Definir y consultar datos relacionados jerárquicamente
Vídeo: Visualización de la jerarquía
Definir y consultar datos relacionados
jerárquicamente
25/11/2019 • 6 minutes to read • Edit Online
Puede obtener información de negocio valiosa definiendo y consultando datos relacionados jerárquicamente. Las
funciones de visualización y modelado jerárquico tienen varias ventajas:
Vea y explore información jerárquica compleja.
Vea indicadores clave de rendimiento (KPIs) en la vista contextual de una jerarquía.
Analice visualmente información clave en la web y las tabletas.
Algunas entidades estándar ya tienen definidas jerarquías. Otras entidades, incluidas las entidades personalizadas,
pueden habilitarse para una jerarquía y puede crear las visualizaciones para ellas.
NOTE
Que hacen referencia a sí mismas significa que la entidad está relacionada consigo misma. Por ejemplo, la entidad Cuenta
tiene un campo de búsqueda para asociarlo al registro de otra entidad Cuenta.
Cuando existe una relación de uno a varios (1:N ) que hace referencia a sí misma, en la definición de la relación,
existe la opción Jerárquica que se puede definir como Sí.
Para consultar los datos como jerarquía, debe habilitar como jerárquica una de las relaciones que hacen referencia
a sí mismas de uno a varios (1: N ) de la entidad. Esto solo se puede hacer usando el explorador de soluciones.
Ir a una solución no administrada
1. En el portal de PowerApps, seleccione Soluciones y, a continuación, en la barra de herramientas, seleccione
Cambiar a clásico.
2. En la lista Todas las soluciones seleccione la solución no administrada que desee.
Para activar la jerarquía:
1. Mientras visualiza relaciones de 1:N, seleccione la relación que hace referencia a sí misma que desee editar.
2. En Definición de relación, establezca Jerárquica en Sí.
NOTE
Algunas de las relaciones (1:N) predefinidas no se pueden personalizar. Esto evitará que configure esas relaciones como
jerárquicas.
Puede especificar una relación jerárquica para las relaciones que hacen referencia a sí mismas del sistema. Esto incluye las
relaciones 1:N que hacen referencia a sí mismas de tipo sistema, como la relación "contact_master_contact".
IMPORTANT
Puede tener varias relaciones que hacen referencia a sí mismas, pero únicamente una relación por entidad se puede definir
como la relación jerárquica. Si intenta cambiar el valor una vez aplicado, recibirá una advertencia:
Al deshabilitar: Si desactiva la configuración de jerarquías para esta relación, todas las definiciones, procesos y vistas
consolidadas que usen esta jerarquía dejarán de funcionar. ¿Desea continuar?
Al habilitar: Si habilita la configuración de jerarquías para esta relación, todas las definiciones consolidadas que usen esta
jerarquía existente dejarán de ser válidas. ¿Desea continuar?
A menos que esté seguro de que no hay otras dependencias en la jerarquía existente, revise cualquier documentación sobre la
implementación o consulte con otros personalizadores para saber cómo se usa la relación jerárquica existente antes de
continuar.
NOTE
Los desarrolladores también podrán utilizar estos operadores en código. Más información Documentación para
desarrolladores: Consultar datos jerárquicos
Con Common Data Service puede definir conexiones entre registros de entidad sin crear una relación de entidad.
En aplicaciones basadas en modelos los usuarios pueden establecer un vínculo con nombre entre registros para
establecer una relación menos formal que no justifique la creación de una relación entre entidades real. Algunos
ejemplos son amigo, hermano, esposo, asistente y parte interesada. Algunas conexiones puede que también sean
recíprocas, como hijo y padre, marido y esposa, o doctor y paciente.
Cuando las personas establezcan una conexión entre dos registros, también pueden agregar una descripción e
información adicional como fechas de inicio y finalización para la relación. Más información: Creación de
conexiones para definir y ver relaciones entre registros.
Cualquiera con acceso de escritura a la entidad Rol de conexión puede establecer qué conexión está disponible
para que las personas la usen.
IMPORTANT
Para que una entidad esté disponible como tipo de registro para un nuevo o existente rol de conexión, la propiedad Habilitar
conexiones debe estar habilitado para la entidad.
5. Seleccione Listo.
Ver roles de conexión
Hay varios roles estándar de conexión ya configurados en Common Data Service. Para verlos debe desplazarse al
área de Configuración.
Navegue al área de Configuración.
1. En una aplicación basada en modelo seleccione Configuración > Configuración avanzada.
2. Navegue a Configuración > Negocio > Administración de empresas y después seleccione Roles de
conexión.
En esta vista puede ver todos los roles de conexión que estén disponibles para este entorno y puede editarlos aquí.
NOTE
Si desea distribuir roles de conexión con una solución, asegúrese de que se incluyen en la solución que desea distribuir. Más
información: Agregue roles de conexión a una solución
En la lista Roles de conexión, seleccione uno de los roles de conexión para editarlo. Hay tres pasos para definir un
rol de conexión que se indican claramente en el formulario.
Describa el rol de conexión
Establezca los siguientes campos:
CAMPO DESCRIPCIÓN
NOTE
Aunque Todos esté seleccionado de forma predeterminada, asegúrese de considerar los tipos adecuados para el rol de
conexión que va a agregar.
IMPORTANT
Deberá guardar un nuevo rol de conexión sin este rol de conexión coincidente antes de poder establecer el rol de conexión
coincidente a sí mismo.
Encontrará que algunos roles de conexión ya están configurados con roles de conexión coincidentes. Empleado
anterior coincide con Contratador anterior y viceversa. Este tipo de rol de conexión coincidente uno a uno es el
más común.
Puede configurar múltiples roles de conexión coincidentes para describir complejas relaciones. Si crea un rol de
conexión como Padre, podrá configurar dos roles más como Hija e Hijo y aplicar ambos como roles de conexión
coincidentes a Padre. A su vez, los roles de conexión Hija e Hijo deben asociarse con Padre. Por supuesto, después
debe configurar un rol equivalente para Madre que coincida semejantemente con Hija e Hijo.
TIP
Antes de crear un conjunto complejos de roles de conexión, piense si un conjunto más sencillo de roles es suficiente. Por
ejemplo, en lugar de crear un conjunto complejo de roles de conexión como Padre, Madre, Hijo, e Hija, piense si usar
simplemente Progenitor y Descendiente le servirá.
Si configura más de un rol de conexión coincidente, esos roles de conexión representan los únicos roles recíprocos
válidos. El primero se aplicará automáticamente como valor predeterminado. Si el valor predeterminado no es
correcto, los usuarios deben editar manualmente la conexión y elegir entre opciones válidas definidas en la
configuración.
Vea también
Crear conexiones para definir y ver relaciones entre registros
Crear y editar conjuntos de opciones globales para Common Data Service (listas desplegables)
Crear y editar relaciones entre entidades
Crear relaciones varios a varios entre entidades en
Common Data Service con el portal de PowerApps
25/11/2019 • 3 minutes to read • Edit Online
El portal de PowerApps proporciona una forma de crear y editar relaciones de varios a varios para Common Data
Service.
El portal permite configurar las opciones más comunes, pero algunas opciones solo se pueden configurar usando
el explorador de soluciones. Más información:
Crear relaciones entre entidades N:N (varios a varios)
Crear relaciones entre entidades N:N (varios a varios) en Common Data Service mediante el explorador de
soluciones
VISTA DESCRIPCIÓN
NOTE
La entidad que ve puede no tener ninguna relación de Varios a varios.
Crear relaciones
Mientras ve relaciones entre entidades, en la barra de comandos, seleccione Agregar relación y elija Varios a
varios.
En el panel Varios a varios, elija la entidad que desea relacionar con la entidad actual.
Seleccione Más opciones para ver los campos Nombre de relación y Nombre de entidad de relación.
NOTE
Si crea más de una relación de Varios a varios con las mismas dos entidades, tendrá que editar los campos Nombre de la
relación y Nombre de entidad de relación generados de modo que sean únicos.
Seleccione Aceptar para cerrar el panel Varios a varios. Se creará la relación al guardar los cambios en la
entidad.
Una vez guardados, no se puede cambiar nada mediante el portal de PowerApps. Para editar las propiedades de
la relación para aplicaciones basadas en modelos, utilice el explorador de soluciones.
Eliminar relaciones
Mientras ve relaciones entre entidades, seleccione la relación que desea eliminar.
Puede usar el comando Eliminar relación de la barra de comandos o del menú del contexto contextual de la fila
al seleccionar los puntos suspensivos (...).
Al eliminar la relación de varios a varios se eliminará la entidad de relación creada. Se perderán a todas las
entidades de conexión de datos que usen la relación.
Vea también
Crear relaciones entre entidades N:N (varios a varios)
Crear relaciones entre entidades N:N (varios a varios) en Common Data Service mediante el explorador de
soluciones
Crear relaciones entre entidades N:N (varios a
varios) en Common Data Service mediante el
explorador de soluciones
25/11/2019 • 6 minutes to read • Edit Online
El explorador de soluciones proporciona una forma de crear y editar relaciones N:N (varios a varios) para
Common Data Service.
El portal de PowerApps permite configurar las opciones más comunes, pero algunas opciones solo se pueden
configurar usando el explorador de soluciones. Más información:
Crear relaciones entre entidades de varios a varios (N:N )
Crear relaciones varios a varios entre entidades en Common Data Service con el portal de PowerApps
NOTE
Si el comando no está disponible, la entidad no es válida para crear una relación personalizada.
En el grupo Otra entidad, en el campo Nombre de entidad, elija la entidad con la que desea crear la relación.
De este modo se rellenarán los campos Nombre y Nombre de entidad de relación en el grupo Definición
de relación.
Puede hacer clic en para guardar la entidad y para continuar editando. Más información: Editar relaciones
NOTE
Si los valores de Nombre o Nombre de entidad de relación ya existen en el sistema se mostrará un error cuando
guarde. Edite los valores de modo que sean únicos y vuelva a intentarlo.
Editar relaciones
Mientras ve relaciones entre entidades, seleccione la entidad que desea editar.
NOTE
El editor de una solución administrada puede evitar personalizaciones de relaciones que forman parte de la solución.
Las siguientes propiedades de relación entre entidades pueden editarse una vez creada la relación.
IMPORTANT
Después de editar estas propiedades debe publicar personalizaciones para que surtan efecto en aplicaciones basadas en
modelos.
CAMPO DESCRIPCIÓN
Opciones de visualización
Estas son las opciones de visualización disponibles:
OPCIÓN DESCRIPCIÓN
Usar nombre plural Use el nombre plural para mostrar definido para la entidad
relacionada.
Búsqueda
Puede ocultar relación desde Búsqueda avanzada en aplicaciones basadas en modelos estableciendo el
campo Búsqueda como No.
Eliminar relaciones
Mientras ve relaciones entre entidades, seleccione la relación entre entidades que desea eliminar y haga clic en
el comando .
Al eliminar la relación se eliminará la entidad de relación creada. Se perderán a todas las entidades de conexión
de datos que usen la relación.
Vea también
Crear relaciones entre entidades de varios a varios (N:N )
Crear relaciones varios a varios entre entidades en Common Data Service con el portal de PowerApps
Crear y editar relaciones de entidad de 1: N (uno a varios) o N:1 (varios a uno)
Establecer las propiedades administradas de
relaciones
25/11/2019 • 2 minutes to read • Edit Online
Las Propiedades administradas se aplican únicamente al incluir un campo con una solución administrada e
importarla en otra organización. Estos valores permiten al responsable de la solución tener un determinado
control sobre el nivel de personalización que desea permitir a los usuarios que instalen la solución administrada al
personalizar una relación de entidad. Para establecer propiedades administradas para una relación, en el
explorador de soluciones expanda la entidad, abra la relación y, a continuación, seleccione Propiedades
administradas en la barra de menús.
Con las relaciones, la única propiedad administrada es Se puede personalizar. Este valor único controla todos los
cambios que se pueden realizar en la relación entre entidades.
Pasos siguientes
Crear y editar relaciones entre entidades
Consultar y visualizar datos relacionados
jerárquicamente
25/11/2019 • 10 minutes to read • Edit Online
Puede obtener valiosas perspectivas profesionales visualizando los datos relacionados jerárquicamente. Las
funciones de visualización y modelado jerárquico tienen varias ventajas:
Vea y explore información jerárquica compleja.
Vea indicadores clave de rendimiento (KPIs) en la vista contextual de una jerarquía.
Analice visualmente información clave en la web y las tabletas.
Para algunas entidades, como cuenta y usuario, las visualizaciones se suministran predefinidas. Otras entidades,
incluidas las entidades personalizadas, pueden habilitarse para una jerarquía y puede crear las visualizaciones para
ellas. Según sus necesidades, puede elegir entre una vista de árbol, que muestra la jerarquía completa, o una vista
en mosaico, que representa una parte menor de la jerarquía. Ambas vistas se muestran lado a lado. Puede explorar
una jerarquía expandiendo y contrayendo un árbol de jerarquía. Los mismos valores jerárquicos de visualización se
establecen una vez, pero, se aplican a clientes web y móviles. En tabletas, las representaciones visuales se muestran
en un formato modificado conveniente para el factor de forma más pequeño. Los componentes personalizables
necesarios para la visualización jerárquica son compatibles con las soluciones, por consiguiente, se pueden
transportar entre organizaciones como cualquier otra personalización. Puede configurar los atributos que se
muestran en la visualización personalizando un formulario rápido mediante el editor de formularios. No hay
requisito de escribir código.
NOTE
Algunas de las relaciones predefinidas no se pueden personalizar. Esto evitará que configure esas relaciones como
jerárquicas.
Puede especificar una relación jerárquica para las relaciones que hacen referencia a sí mismas del sistema. Esto incluye las
relaciones que hacen referencia a sí mismas de tipo sistema, como la relación "contact_master_contact".
Algunas otras entidades del sistema predefinidas se pueden habilitar para una jerarquía. Estas entidades incluyen
Case , Contact , Opportunity , Order , Quote , Campaign , y Team . Todas las entidades personalizadas pueden
habilitarse para una jerarquía.
TIP
Si una entidad pueden habilitarse para una jerarquía:
En el explorador de soluciones, expanda la entidad que desee. Verá el componente de la entidad denominado Configuración
de jerarquía. Las entidades que no se pueden habilitar para una jerarquía no tienen este componente, con la excepción de la
entidad Zona de ventas de Dynamics 365. Aunque Configuración de la jerarquía se muestra para la entidad Zona de
ventas, la entidad no se puede habilitar para una jerarquía.
TIP
Los iconos de la jerarquía no aparecen en la vista de cuadrícula del registro hasta que los registros se emparejen en el
elemento principal - relación secundaria.
Si elige el icono de jerarquía, se mostrará la jerarquía new_Widget, con la vista de árbol a la izquierda y la vista de
mosaico a la derecha, mostrando dos registros. Cada ventana contiene cuatro campos que proporcionamos en el
Formulario de ventana de jerarquía del widget.
Vea también
Vídeo: Modelos de seguridad jerárquica
Vídeo: Visualización de la jerarquía
Definir y consultar datos relacionados
jerárquicamente
25/11/2019 • 6 minutes to read • Edit Online
Puede obtener información de negocio valiosa definiendo y consultando datos relacionados jerárquicamente. Las
funciones de visualización y modelado jerárquico tienen varias ventajas:
Vea y explore información jerárquica compleja.
Vea indicadores clave de rendimiento (KPIs) en la vista contextual de una jerarquía.
Analice visualmente información clave en la web y las tabletas.
Algunas entidades estándar ya tienen definidas jerarquías. Otras entidades, incluidas las entidades
personalizadas, pueden habilitarse para una jerarquía y puede crear las visualizaciones para ellas.
NOTE
Que hacen referencia a sí mismas significa que la entidad está relacionada consigo misma. Por ejemplo, la entidad Cuenta
tiene un campo de búsqueda para asociarlo al registro de otra entidad Cuenta.
Cuando existe una relación de uno a varios (1:N ) que hace referencia a sí misma, en la definición de la relación,
existe la opción Jerárquica que se puede definir como Sí.
Para consultar los datos como jerarquía, debe habilitar como jerárquica una de las relaciones que hacen
referencia a sí mismas de uno a varios (1: N ) de la entidad. Esto solo se puede hacer usando el explorador de
soluciones.
Ir a una solución no administrada
1. En el portal de PowerApps, seleccione Soluciones y, a continuación, en la barra de herramientas,
seleccione Cambiar a clásico.
2. En la lista Todas las soluciones seleccione la solución no administrada que desee.
Para activar la jerarquía:
1. Mientras visualiza relaciones de 1:N, seleccione la relación que hace referencia a sí misma que desee editar.
2. En Definición de relación, establezca Jerárquica en Sí.
NOTE
Algunas de las relaciones (1:N) predefinidas no se pueden personalizar. Esto evitará que configure esas relaciones como
jerárquicas.
Puede especificar una relación jerárquica para las relaciones que hacen referencia a sí mismas del sistema. Esto incluye
las relaciones 1:N que hacen referencia a sí mismas de tipo sistema, como la relación "contact_master_contact".
IMPORTANT
Puede tener varias relaciones que hacen referencia a sí mismas, pero únicamente una relación por entidad se puede definir
como la relación jerárquica. Si intenta cambiar el valor una vez aplicado, recibirá una advertencia:
Al deshabilitar: Si desactiva la configuración de jerarquías para esta relación, todas las definiciones, procesos y vistas
consolidadas que usen esta jerarquía dejarán de funcionar. ¿Desea continuar?
Al habilitar: Si habilita la configuración de jerarquías para esta relación, todas las definiciones consolidadas que usen
esta jerarquía existente dejarán de ser válidas. ¿Desea continuar?
A menos que esté seguro de que no hay otras dependencias en la jerarquía existente, revise cualquier documentación
sobre la implementación o consulte con otros personalizadores para saber cómo se usa la relación jerárquica existente
antes de continuar.
NOTE
Los desarrolladores también podrán utilizar estos operadores en código. Más información Documentación para
desarrolladores: Consultar datos jerárquicos
Con Common Data Service puede definir conexiones entre registros de entidad sin crear una relación de
entidad. En aplicaciones basadas en modelos los usuarios pueden establecer un vínculo con nombre entre
registros para establecer una relación menos formal que no justifique la creación de una relación entre entidades
real. Algunos ejemplos son amigo, hermano, esposo, asistente y parte interesada. Algunas conexiones puede que
también sean recíprocas, como hijo y padre, marido y esposa, o doctor y paciente.
Cuando las personas establezcan una conexión entre dos registros, también pueden agregar una descripción e
información adicional como fechas de inicio y finalización para la relación. Más información: Creación de
conexiones para definir y ver relaciones entre registros.
Cualquiera con acceso de escritura a la entidad Rol de conexión puede establecer qué conexión está disponible
para que las personas la usen.
IMPORTANT
Para que una entidad esté disponible como tipo de registro para un nuevo o existente rol de conexión, la propiedad
Habilitar conexiones debe estar habilitado para la entidad.
5. Seleccione Listo.
Ver roles de conexión
Hay varios roles estándar de conexión ya configurados en Common Data Service. Para verlos debe desplazarse al
área de Configuración.
Navegue al área de Configuración.
1. En una aplicación basada en modelo seleccione Configuración > Configuración avanzada.
2. Navegue a Configuración > Negocio > Administración de empresas y después seleccione Roles de
conexión.
En esta vista puede ver todos los roles de conexión que estén disponibles para este entorno y puede editarlos aquí.
NOTE
Si desea distribuir roles de conexión con una solución, asegúrese de que se incluyen en la solución que desea distribuir. Más
información: Agregue roles de conexión a una solución
En la lista Roles de conexión, seleccione uno de los roles de conexión para editarlo. Hay tres pasos para definir
un rol de conexión que se indican claramente en el formulario.
Describa el rol de conexión
Establezca los siguientes campos:
CAMPO DESCRIPCIÓN
NOTE
Aunque Todos esté seleccionado de forma predeterminada, asegúrese de considerar los tipos adecuados para el rol de
conexión que va a agregar.
IMPORTANT
Deberá guardar un nuevo rol de conexión sin este rol de conexión coincidente antes de poder establecer el rol de conexión
coincidente a sí mismo.
Encontrará que algunos roles de conexión ya están configurados con roles de conexión coincidentes. Empleado
anterior coincide con Contratador anterior y viceversa. Este tipo de rol de conexión coincidente uno a uno es el
más común.
Puede configurar múltiples roles de conexión coincidentes para describir complejas relaciones. Si crea un rol de
conexión como Padre, podrá configurar dos roles más como Hija e Hijo y aplicar ambos como roles de conexión
coincidentes a Padre. A su vez, los roles de conexión Hija e Hijo deben asociarse con Padre. Por supuesto, después
debe configurar un rol equivalente para Madre que coincida semejantemente con Hija e Hijo.
TIP
Antes de crear un conjunto complejos de roles de conexión, piense si un conjunto más sencillo de roles es suficiente. Por
ejemplo, en lugar de crear un conjunto complejo de roles de conexión como Padre, Madre, Hijo, e Hija, piense si usar
simplemente Progenitor y Descendiente le servirá.
Si configura más de un rol de conexión coincidente, esos roles de conexión representan los únicos roles recíprocos
válidos. El primero se aplicará automáticamente como valor predeterminado. Si el valor predeterminado no es
correcto, los usuarios deben editar manualmente la conexión y elegir entre opciones válidas definidas en la
configuración.
Vea también
Crear conexiones para definir y ver relaciones entre registros
Crear y editar conjuntos de opciones globales para Common Data Service (listas desplegables)
Crear y editar relaciones entre entidades
Información general de campos
25/11/2019 • 2 minutes to read • Edit Online
Los campos definen los elementos de datos individuales que se pueden usar para almacenar información en una
entidad. Cree nuevos campos para capturar datos cuando las entidades estándar existentes no tengan campos que
cumplan sus requisitos. Después de crear un nuevo campo, asegúrese de incluirlo en los formularios y vistas
apropiados de la entidad, de modo que estén disponibles en su aplicación.
Vea también
Tipos de campos
Tipos de campos
25/11/2019 • 23 minutes to read • Edit Online
Los nombres usados para los tipos dependen del diseñador usado. El portal de PowerApps usa una convención
que incluye la forma en que están formateados los datos. El tipo de explorador de soluciones usa un nombre
alineado con el tipo de datos de la base de datos con un modificador de formato. La tabla siguiente incluye el tipo
de API AttributeTypeDisplayName correspondiente.
Para obtener más descripciones para cada tipo que puede agregar o editar, consulte el tema sobre el diseñador
correspondiente:
Crear y editar campos para Common Data Service mediante el portal de PowerApps: Tipos de datos de campo
Crear y editar campos para Common Data Service mediante el explorador de soluciones de PowerApps: Tipos
de datos de campo
Para obtener más información acerca de cómo se definen los tipos de datos de campos en la API, consulte
Metadatos de atributos
ESCRIBA DESCRIPCIÓN
Entero grande o Marca de tiempo Usado por el sistema para capturar un número de versión
para administrar las actualizaciones en una entidad.
Razón para el estado Un campo del sistema que tiene opciones que proporcionan
información adicional sobre el campo Estado. Cada opción
está asociada con una de las opciones de Estado disponibles.
Puede agregar y editar las opciones.
Formulario turbo Sí
Formulario actualización Solo lectura (el campo estará disponible, pero no se puede
editar)
Formulario heredado No
Puede usar los conjuntos de opciones globales definidos en su organización para configurar los valores para los
conjuntos de opciones de selección múltiple.
OPCIÓN DESCRIPCIÓN
Precisión de precios decimal Se trata de una sola precisión de la organización que se usará
para los precios que se encuentran en Configuración >
Administración > Configuración del sistema > Pestaña
General.
OPCIÓN DESCRIPCIÓN
Precisión de la divisa Esta opción aplica la precisión definida para la divisa del
registro.
Valores de precisión específica Estos valores permiten definir una precisión específica usando
valores entre 0 y 4.
Campos de imagen
Use los campos de imagen para presentar una sola imagen por cada registro de la aplicación. Cada entidad puede
tener un campo de imagen. Puede agregar un campo de imagen a entidades personalizadas pero no a entidades
estándar. Algunas entidades estándar tienen campos de imágenes definidos.
Aunque una entidad tenga un campo de imagen, la visualización de dicha imagen en una aplicación controlada
por modelos requiere que habilite dos ajustes.
El valor de propiedad Imagen principal de la definición de entidad estándar se debe establecer como
Imagen predeterminada. Las entidades personalizadas requieren un campo de imagen personalizado. A
continuación, puede seleccionar ese campo de imagen para el valor Imagen principal en la definición de
entidad personalizada.
El formulario de entidad donde se debe mostrar la imagen debe tener la propiedad Mostrar la imagen en el
formulario habilitada.
Cuando se habilita la visualización de la imagen para una entidad, cualquier registro que no tenga una imagen
mostrará una imagen de marcador de posición. Por ejemplo:
Los usuarios pueden elegir la imagen predeterminada para cargar una imagen desde su equipo. Las imágenes
deben ser de tamaño inferior a 10 MB y deben tener uno de los siguientes formatos:
jpg
jpeg
gif
tif
tiff
bmp
png
Cuando la imagen se cargue, se convertirá al formato .jpg y todas las imágenes descargadas también usarán este
formato. Si se carga un archivo .gif animado, solo se guardará el primer fotograma.
Cuando se cargue una imagen, su tamaño se modificará como imagen en "miniaturaa" hasta una tamaño máximo
de 144 píxeles por 144 píxeles. Los usuarios deben cambiar el tamaño de las imágenes o recortarlas antes de
cargarlas, de modo que se muestren correctamente con este tamaño. Todas las imágenes se recortan para ser
cuadradas. Si ambos lados de una imagen son más pequeños que 144 píxeles, la imagen se recortará para que
sea cuadrada con las dimensiones del más pequeño.
Agregar compatibilidad de imagen para un formulario en una entidad personalizada usando el explorador de
soluciones
1. Abra el explorador de soluciones.
2. En el panel de navegación izquierda, expanda Entidades, expanda la entidad personalizada que desee y
luego seleccione Campos.
3. En la barra de herramientas, seleccione Nuevo.
4. En la sección Tipo en la lista desplegable Tipo de datos seleccione Imagen.
5. Escriba un Nombre para mostrar, como Imagen de entidad personalizada.
6. Complete los campos restantes como corresponda. Tenga en cuenta que los campos Nombre, Requisitos
de campo y Búsqueda no podrán cambiarse. Seleccione Guardar y cerrar.
7. En la definición de entidad junto a la propiedad Imagen principal asegúrese de que el valor se ha
configurado como la imagen personalizada que creó en el paso anterior. Si no es así, selecciónela.
8. Abra el formulario donde desea compatibilidad de imagen, como el formulario principal de entidad.
9. En la cinta de opciones del editor de formularios, seleccione Propiedades del formulario.
10. En la página Propiedades de formulario, seleccione la pestaña Mostrar, seleccione Mostrar imagen en
el formulario y, a continuación seleccione Aceptar.
11. En la cinta de opciones del editor de formularios, seleccione Guardar y, después, seleccione Publicar.
Cierre el editor de formularios.
Los usuarios de la aplicación ahora pueden seleccionar la imagen para mostrar en el formulario. Cuando un
usuario abre el formulario para un registro, puede elegir la imagen que desea mostrar en el formulario.
IMPORTANT
Si el registro es un nuevo registro que no se ha guardado, el error Argumento no válido se devuelve al intentar cambiar la
imagen.
Un conjunto de opciones (lista desplegable) es un tipo de campo que se puede incluir en una entidad. Define un
conjunto de opciones. Cuando un conjunto de opciones se muestra en un formulario usa un control de lista
desplegable. Cuando se muestra en Búsqueda avanzada, se usa un control de lista desplegable. A veces, los
desarrolladores llaman a los conjuntos de opciones listas desplegables.
Puede definir un conjunto de opciones para usar un conjunto de opciones definido en sí mismo (localmente) o
puede usar un conjunto de opciones definido en otra parte (globalmente) que se pueda usar en otros campos
del conjunto de opciones.
Los conjuntos de opciones globales son útiles cuando existe un conjunto estándar de categorías que se pueden
aplicar a más de un campo. Mantener dos conjuntos de opciones independientes con los mismos valores es
difícil y si no se sincronizan pueden aparecer errores, especialmente si está asignando campos de la entidad con
una relación de entidad de uno a varios. Más información: Asignación de campos de entidad
NOTE
Si define cada conjunto de opciones como conjunto de opciones global, la lista de conjuntos de opciones globales crecerá y
puede resultar difícil de administrar. Si sabe que el conjunto de opciones solo se usará en un lugar, use un conjunto de
opciones local.
Hay dos diseñadores que puede usar para crear o editar conjuntos de opciones globales:
DISEÑADOR DESCRIPCIÓN
Portal PowerApps Proporciona una experiencia fácil y ágil, pero algunos valores
especiales no están disponibles.
Más información: Crear un conjunto de opciones
NOTE
También puede crear conjuntos de opciones globales en su entorno mediante lo siguiente:
Importe una solución que contenga la definición de los conjuntos de opciones globales.
Un desarrollador puede escribir un programa para crearlas.
Más información: Documentación de desarrollador: Personalizar conjuntos de opciones globales.
Vea también
Crear un conjunto de opciones
Creación y edición de conjuntos de opciones globales para Common Data Service utilizando el explorador de
soluciones
Documentación para desarrolladores: Personalizar conjuntos de opciones globales
Campos de numeración automática
25/11/2019 • 6 minutes to read • Edit Online
Los campos de numeración automática son campos que generan automáticamente cadenas alfanuméricas cuando
se crean. Los fabricantes pueden personalizar el formato de estos campos según sus preferencias y, a continuación
dejar que el sistema genere valores coincidentes que los completan automáticamente en tiempo de ejecución.
Si bien los campos de numeración automática son formalmente solo campos de texto con funcionalidad adicional
agregada sobre ellos, PowerApps simplifica este concepto exponiendo simplemente Numeración automática
como tipo de datos distinto en la categoría Texto. Cabe dejar constancia de que el explorador de soluciones clásico
no admite la creación o administración de campos de numeración automática.
Para crear un campo de numeración automática, siga los mismos pasos para crear un campo y simplemente
seleccione Numeración automática en el cuadro de lista desplegable Tipo de datos.
También puede activar funcionalidad de numeración automática en un campo de texto existente abriendo el campo
y seleccionando Numeración automática del cuadro de lista desplegable Tipo de datos. De forma similar, la
funcionalidad de numeración automática también puede ser deshabilitada en cualquier momento abriendo el
campo y seleccionando otra opción en el cuadro de lista desplegable Tipo de datos.
NOTE
Los valores de numeración automaica son preseleccionados por la base de datos al iniciar el registro. Si se inicia un registro
pero se cancela, el número que se asignó no se usa. Si, durante este tiempo, otro registro se completa con el número
secuencial siguiente, los huecos estarán presentes en la numeración automática de registros.
Valores de inicialización
El valor de inicialización de un campo de numeración automática es el número inicial que se usa para la parte
numérica del formato. Por ejemplo, si desea que haya un campo de numeración automática para generar registros
como Contoso -1000, Contoso -1001, Contoso -1002, etc., el valor de inicialización deseado es 1000 porque éste es
el valor con el que se inicia la secuencia de número. Los campos de numeración automática tienen un valor de
inicialización predeterminado de 1000, pero puede establecer un valor de inicialización personalizado si lo desea.
IMPORTANT
Establecer el valor de inicialización sólo cambia el valor numérico actual para el atributo especificado en el entorno actual. El
valor de inicialización no se incluye en una solución cuando se importa en un entorno diferente.
6. Establezca los campos opcionales según sea necesario. Más información: Crear y editar campos
7. Seleccione un tipo de numeración automática o mantenga la opción Número predefinido de cadena
predeterminada.
8. Personalice un valor de inicialización o mantenga el valor predeterminado 1000.
9. Seleccione Listo.
Vea también
Crear y editar campos para Common Data Service utilizando el portal PowerApps
Establecer las propiedades administradas de los
campos
25/11/2019 • 2 minutes to read • Edit Online
Las Propiedades administradas se aplican únicamente al incluir campos en una solución administrada e importar
la solución en otro entorno. Estos valores permiten al responsable de la solución tener un determinado control
sobre el nivel de personalización que desea permitir a los usuarios que instalen la solución administrada al
personalizar este campo. Para establecer las propiedades administradas de un campo, seleccione Propiedades
administradas en la barra de menú.
La opción Se puede personalizar controla el resto de opciones. Si esta opción es False , no se aplicará ninguno
de los demás valores. Si es True , puede especificar las demás opciones de personalización.
Si el campo es personalizable, defina las siguientes opciones en True o False .
Se puede modificar el nombre para mostrar
Se puede cambiar el nivel de requisito
Se puede cambiar propiedades adicionales
Estas opciones se explican por sí mismas. Si establece todas las opciones individuales en False , también puede
establecer Se puede personalizar en False .
Pasos siguientes
Crear y editar campos
Comportamiento y formato del campo de fecha y
hora
25/11/2019 • 7 minutes to read • Edit Online
En Common Data Service, el tipo de datos Fecha y hora se usa en muchos campos de entidad estándar.
Dependiendo del tipo de fecha que represente el campo, puede elegir distintos comportamientos del campo:
Local de usuario, Solo fecha o Independiente de zona horaria.
WARNING
Antes de modificar el comportamiento de un campo de fecha y hora existente, debe comprobar todas las dependencias del
campo, como reglas de negocio, flujos de trabajo, campos calculados o campos consolidados, para asegurarse de que no
hay problemas como resultado de modificar el comportamiento. Después de modificar el comportamiento de un campo de
fecha y hora, debe abrir cada regla de negocio, flujo de trabajo, campo calculado y campo consolidado dependiente del
campo que cambió, revisar la información y guardarla, para asegurarse de que se usarán el comportamiento y el valor más
recientes del campo de fecha y hora.
Casos de uso
Tenga en cuenta los siguientes casos de uso para los comportamientos Solo fecha e Independiente de la zona
horaria.
Escenario de Solo fecha: cumpleaños y aniversarios
El comportamiento Solo fecha es correcto para casos cuando la información sobre la hora del día y de zona
horaria no es necesaria, por ejemplo cumpleaños o aniversarios. Con esta selección, todos los usuarios de la
aplicación de todo el mundo ven el mismo valor exacto de fecha.
Escenario de Independiente de la zona horaria: registro en el hotel
Puede usar este comportamiento cuando la información de zona horaria no es necesario, como la hora de
registro en un hotel. Con esta selección, todos los usuarios de la aplicación de todo el mundo ven el mismo valor
exacto de fecha y hora.
En Common Data Service, los campos definen los elementos de datos individuales que se pueden usar para
almacenar datos en una entidad. A veces, los desarrolladores denominan atributos a los campos.
Antes de crear un campo personalizado, evalúe si el uso de un campo existente cumple sus requisitos. Más
información: ¿Crear nuevos metadatos o usar los metadatos existentes?
Hay dos diseñadores que puede usar para crear o editar campos:
DISEÑADOR DESCRIPCIÓN
NOTE
También puede crear campos en su entorno mediante lo siguiente:
En aplicaciones basadas en modelos, seleccione Nuevo campo del editor de formularios.
Importe una solución que contenga la definición de los campos.
Use Power Query para crear nuevas entidades y rellenarlas con datos.
Más información: Agregar datos a una entidad en Common Data Service mediante Power Query..
Un programador puede usar servicios de metadatos para escribir un programa para crear y actualizar campos.
NOTE
Puede crear un campo de búsqueda en el portal de PowerApps o en el explorador de soluciones creando una relación
de uno a varios en la entidad. Pero sólo el explorador de soluciones ofrece la opción de crear esta relación cuando se
crea un campo.
Herramientas de la Comunidad
Administrador de atributos es una herramienta que la comunidad XrmToolbox ha desarrollada para
Common Data Service. Consulte el tema Herramientas para desarrolladores para obtener información sobre
herramientas desarrolladas por la comunidad.
NOTE
Las herramientas de la comunidad no son un producto de Microsoft y no se incluyen en el soporte técnico. Si tiene
alguna duda relacionada con la herramienta, póngase en contacto con el Editor. Más información: XrmToolBox.
Vea también
Crear y editar campos para Common Data Service utilizando el portal PowerApps
Crear y editar campos para Common Data Service con el explorador de soluciones de PowerApps
Tipos de campos y tipos de datos de campos
Documentación para desarrolladores: Trabajar con metadatos de atributo
Administrar campos personalizados de una entidad
25/11/2019 • 10 minutes to read • Edit Online
Puede crear y actualizar uno o varios campos personalizados de cualquier entidad. Cuando crea un campo
personalizado, especifica un conjunto de propiedades, como el nombre del campo, el nombre para mostrar y el
tipo de datos que contendrá. Para obtener más información, consulte Metadatos de atributos de entidad.
NOTE
Cada entidad tiene campos del sistema, como campos que indican cuándo se actualizó un registro por última vez y quién lo
actualizó. Además, las entidades estándar tienen campos (predeterminados) estándar. No puede modificar o eliminar campos
del sistema o campos estándar. Si crea un campo personalizado, debe proporcionar funcionalidad sobre estos campos
integrados.
Crear un campo
1. En powerapps.com, expanda la sección Datos y haga clic o pulse en Entidades en el panel de navegación
de la izquierda.
2. Haga clic o pulse en una entidad existente o Cree una nueva entidad
3. Agregue un nuevo campo a la entidad haciendo clic en Agregar campo.
4. En el panel Nuevo campo, introduzca el Nombre para mostrar para el campo, el Nombre se rellenará
automáticamente y se usa como el nombre único para el campo. Se usa Displayname al mostrar este
campo a sus usuarios, se usa Nombre cuando crea la aplicación, en expresiones y fórmulas.
NOTE
Los campos Nombre para mostrar se pueden actualizar en cualquier momento para que se muestre de forma
diferente en sus aplicaciones, el campo Nombre no se puede cambiar una vez guardada la entidad, ya que esto
podría dañar una aplicación existente.
5. Seleccione el Tipo de datos del campo, esto controla la forma en que se almacena la información y
también cómo se muestra en aplicaciones. Por ejemplo, el texto se almacena de forma diferente a un
número decimal o una dirección URL. Para obtener información detallada de los tipos de datos disponibles,
consulte Metadatos de atributos de entidad.
Si se le solicita, especifique información adicional para el tipo de datos que ha especificado. Según el tipo
de datos, distintos campos se mostrarán. Si está creando un campo de tipo Conjunto de opciones o
Conjunto de opciones de selección múltiple, puede seleccionar Nuevo conjunto de opciones y crear un
nuevo conjunto de opciones cuando cree el campo. Para obtener más información, consulte Crear un
conjunto de opciones
6. En Obligatorio, active la casilla si desea recomendar este campo como obligatorio en sus aplicaciones.
Esto no proporciona una aplicación fija en todas las conexiones a Common Data Service. Si necesita
asegurarse de si el campo se ha rellenado, cree una Regla de negocio
7. En Buscable, active la casilla si necesita que este campo esté disponible en vistas, gráficos, paneles y
búsqueda avanzada. En la mayoría de los casos deberá activarse esta casilla.
8. Haga clic o pulse en Hecho para cerrar el panel Campo y volver a la entidad. Puede repetir los pasos 3-9
para cada campo adicional.
IMPORTANT
El campo aún no se guarda ni crea hasta que guarde los cambios en la entidad.
9. Haga clic o pulse en Guardar entidad para finalizar los cambios y guardarlos en Common Data Service.
Se le notificará cuando la operación finalice correctamente. Si la operación no se realiza correctamente,
aparece un mensaje de error que indica los problemas que se han producido y cómo puede corregirlos.
IMPORTANT
Los cambios se perderán si no los guarda antes de abrir otra página en el explorador o de salir del explorador.
Pasos siguientes
Definir relaciones entre entidades
Crear una regla de negocio
Crear una aplicación usando entidades
Crear una aplicación desde cero usando una base de datos de Common Data Service
Aviso de privacidad
Con el modelo común de datos de Microsoft PowerApps, recopilamos y almacenamos la entidad personalizada y
los nombres de campo en nuestros sistemas de diagnóstico. Usamos esta información para mejorar el modelo
común de datos para los clientes. La entidad y los nombres de campo que los creadores crean nos ayudan a
comprender los escenarios que son comunes en la comunidad de Microsoft PowerApps y a determinar los huecos
en la cobertura de las entidades estándar del servicio, como los esquemas relacionados con las organizaciones.
Microsoft no accede a los datos de las tablas de base de datos asociadas a estas entidades ni los usa o replica
fuera de la región en la que se proporciona la base de datos. No obstante, tenga en cuenta que la entidad
personalizada y los nombres de campo se pueden replicar en las regiones y que se eliminan de acuerdo con
nuestras directivas de retención de datos. Microsoft se compromete a proteger su privacidad, como se describe
con más detalle en nuestro Centro de confianza.
Crear y editar campos para Common Data Service
utilizando el portal PowerApps
25/11/2019 • 22 minutes to read • Edit Online
El portal de PowerApps proporciona una forma fácil de crear y de editar campos de entidad con Common
Data Service.
El portal permite configurar las opciones más comunes, pero algunas opciones solo se pueden configurar
usando el explorador de soluciones.
Más información:
Crear y editar campos para Common Data Service
Crear y editar campos para Common Data Service con el explorador de soluciones de PowerApps
Campos de vista
1. En el portal de PowerApps, seleccione el modo de diseño Controlado por modelos o Lienzo.
2. Seleccione Datos > Entidades y seleccione la entidad que contiene los campos que desea ver.
3. Con la pestaña Campos seleccionada, seleccione las vistas siguientes:
VISTA DESCRIPCIÓN
Crear un campo
Mientras ve campos, en la barra de comandos, haga clic en Agregar campo que mostrará el panel
Propiedades de campo.
En principio, solo tres propiedades de campo están disponibles:
PROPIEDAD DESCRIPCIÓN
Símbolo del valor Un valor del texto para un símbolo de valor que mostrará
un vínculo que se abrirá para mostrar una oferta para el
símbolo de valor bursátil.
Longitud máxima
Los campos que almacenan el texto tienen un máximo absoluto según el tipo. La opción Longitud máxima
establece un valor menor que el máximo específico del entorno. Puede aumentar esta longitud máxima pero
no debería bajarla si tiene datos en el sistema que superen el valor inferior.
Número entero
Estos campos almacenan datos como número pero incluyen distintas opciones de presentación y validación.
Fecha y hora
Use estos campos para almacenar valores de hora. Puede almacenar valores de hasta 1/1/1753 12:00 AM.
Solo fecha Valor de fecha y hora que solo se muestra una fecha. El
valor de hora se almacena como 12:00 AM (00:00: 00) en el
sistema.
También puede establecer un Comportamiento específico para los campos de fecha y hora en Opciones
avanzadas.
Local del usuario : Muestra valores convertidos a la zona horaria local del usuario actual. Es el valor
predeterminado de nuevos campos.
Solo fecha: Este comportamiento está disponible para el tipo Solo fecha. Muestra valores sin conversión
de zona horaria. Úselo para datos como cumpleaños y aniversarios.
Independiente de la zona horaria: Muestra valores sin conversión de la zona horaria.
Más información: Comportamiento y formato del campo de fecha y hora
Otros tipos de datos
TIPO DE DATOS DESCRIPCIÓN
Número decimal Valor decimal con una precisión de hasta 10 puntos. Más
información: Uso del tipo correcto de número
Número de punto flotante Número de punto flotante con una precisión de hasta 5
puntos. Más información: Uso del tipo correcto de número
Conjunto de opciones multiselección Muestra una lista de opciones donde puede seleccionar más
de una.
TIPO DE DATOS DESCRIPCIÓN
Conjunto de opciones Muestra una lista de opciones donde solo puede seleccionar
una.
Dos opciones Muestra dos opciones donde solo puede seleccionar una.
Puede elegir las etiquetas que se muestran para cada
opción. Los valores predeterminados son Sí y No.
También puede hacer clic en Descartar para descartar los cambios que ha realizado.
Editar un campo
Mientras ve campos, seleccione el campo que desea editar. Puede modificar el Nombre para mostrar pero
no puede cambiar el Nombre y Tipo de datos si ha guardado cambios en la entidad para agregar el campo.
Propiedades generales
Cada campo tiene las siguientes propiedades que puede modificar:
PROPIEDAD DESCRIPCIÓN
NOTE
Crear campos obligatorios: Tenga cuidado al crear campos obligatorios. Los usuarios se opondrán al uso de la
aplicación si no pueden guardar registros porque carecerán de la información correcta para introducir en un campo
obligatorio. Los usuarios pueden especificar datos incorrectos simplemente para guardar el registro y comenzar con su
trabajo.
Establecer requisito dinámicamente: En aplicaciones basadas en modelo, puede usar reglas de negocio o scripts de
formulario para cambiar el nivel de requisito a medida que los datos del registro cambian con el trabajo de los usuarios.
Más información: Crear reglas de negocio y recomendaciones para aplicar lógica en un formulario
Disponibilidad de búsqueda avanzada: Búsqueda avanzada actualmente solo está disponible para aplicaciones
basadas en modelo que utilizan el cliente web. Búsqueda avanzada no está disponible para clientes de la interfaz
unificada.
Calculado o consolidado
Puede establecer un campo personalizado como campo Calculado o Consolidado. Los campos que no son
campos calculados o consolidados a veces se denominan campos sencillos.
Calculado
Con un campo calculado puede especificar una fórmula para asignar un valor al campo. Estos tipos de datos
pueden establecerse como campos calculados: Divisa, Fecha y hora, Solo fecha, Número decimal,
Duración, Correo electrónico, Idioma, Conjunto de opciones multiselección, Conjunto de opciones,
Texto, Área de texto, Símbolo del valor, Zona horaria, Dos opciones, Dirección URL y Número
entero.
Más información: Definir campos calculados para automatizar los cálculos manuales
Consolidado
Con un campo consolidado puede establecer funciones de agregación que se ejecutarán periódicamente para
configurar un valor numérico para el campo. Estos tipos de datos pueden establecerse como campos
calculados: Divisa, Fecha y hora, Solo fecha, Número decimal, Duración, Idioma, Zona horaria y
Número entero.
Más información: Definir campos consolidados que agregan valores
Si desea crear un conjunto de opciones local debe hacer clic en Ver más y elegir Conjunto de opciones
local.
NOTE
Si define cada conjunto de opciones como conjunto de opciones global, la lista de conjuntos de opciones globales
crecerá y puede resultar difícil de administrar. Si sabe que el conjunto de opciones solo se usará en un lugar, use un
conjunto de opciones local.
WARNING
Si quita una opción que haya sido usada por un registro de entidad, los datos para ese registro dejarán de ser válidos
cuando guarde los cambios en el conjunto de opciones globales.
Antes de quitar una opción que haya sido usada debe cambiar a un valor válido los datos de los registros de entidad
que usen esa opción.
Eliminación de campos
Con el rol de seguridad de administrador del sistema, puede eliminar campos personalizados que no sean
parte de una solución administrada. Si elimina campos, los datos almacenados en los campos se perderán. La
única forma de recuperar datos de un campo que se haya eliminado es restaurar la base de datos de un punto
anterior a la eliminación del campo.
NOTE
Antes de poder eliminar un campo personalizado, debe quitar las dependencias que pueden existir en otros
componentes de la solución.
Mientras ve campos, si selecciona un campo personalizado que se puede eliminar en la lista, el comando
Eliminar campo aparece y está habilitado.
Use el comando Eliminar el campo para eliminar el campo. Después de eliminar el campo debe guardar los
cambios de la entidad.
NOTE
Si obtiene un error relacionado con las dependencias, debe usar el explorador de soluciones para detectar dependencias.
Más información: Comprobar dependencias de campos
Modo IME
Cualquiera de los campos que proporcionan la entrada de texto directa tienen un Modo IME. El editor de
métodos de entrada (IME ) se usa para idiomas asiáticos orientales como el japonés. Los IME permiten que el
usuario especifique miles de caracteres distintos usados en idiomas escritos del este de Asia con un teclado
estándar de 101 teclas.
Vea también
Crear y editar campos para Common Data Service
Crear y editar campos para Common Data Service con el explorador de soluciones de PowerApps
Tipos de campos y tipos de datos de campos
Definir campos calculados para automatizar los cálculos manuales
Definir campos consolidados que agregan valores
Comportamiento y formato del campo de fecha y hora
Crear y editar campos para Common Data Service
con el explorador de soluciones PowerApps
25/11/2019 • 29 minutes to read • Edit Online
El explorador de soluciones proporciona una forma de crear y editar relaciones campos para Common Data
Service.
El portal de PowerApps permite configurar las opciones más comunes, pero algunas opciones solo se pueden
configurar usando el explorador de soluciones.
Más información:
Crear y editar campos para Common Data Service
Crear y editar campos para Common Data Service utilizando el portal PowerApps
Campos de vista
Con el explorador de soluciones abierto, en Componentes expanda Entidades y seleccione la entidad donde
desea crear o editar el campo.
Crear un campo
Mientras ve campos, en la barra de comandos, haga clic en Nuevo que abrirá el nuevo formulario de campo. Es
posible que algunas entidades estándar o entidades personalizadas que se incluyen en una solución
administrada no permitan que agregue nuevos campos.
NOTE
Para aplicaciones basadas en modelos también puede crear un nuevo campo desde el editor de formularios. En el editor de
formularios, debajo de Explorador de campos haga clic en Nuevo campo para crear un nuevo campo. Más información:
Agregar un campo a un formulario
Debe especificar datos y confirmar los valores predeterminados establecidos para las propiedades siguientes
antes de guardar.
PROPIEDAD DESCRIPCIÓN
Seguridad de campo Si los datos del campo están protegidos a un nivel más alto
que la entidad. Más información: Seguridad de nivel de
campo para controlar el acceso
Aparece en el filtro global en la experiencia interactiva Más información: Configurar paneles de experiencia
interactiva
Puede establecer opciones adicionales en función de su elección de Tipo de datos. Más información: Tipos de
datos de campos
NOTE
Tenga cuidado cuando cree campos requeridos por la empresa. Los usuarios se opondrán al uso de la aplicación si no
pueden guardar registros porque carecerán de la información correcta para introducir en un campo obligatorio. Los
usuarios pueden especificar datos incorrectos simplemente para guardar el registro y comenzar con su trabajo. Puede usar
reglas de negocio o scripts de formulario para cambiar el nivel de requisito a medida que los datos del registro cambian
con el trabajo de los usuarios. Más información: Crear reglas de negocio y recomendaciones para aplicar lógica en un
formulario
OPCIÓN DESCRIPCIÓN
Línea de texto única Este campo puede contener hasta 4000 caracteres de texto.
Puede establecer una longitud máxima inferior a esta. Este
campo tiene varias opciones de formato que cambiarán la
presentación del texto. Más información: Opciones de una
línea de texto única
Conjunto de opciones Muestra una lista de opciones donde puede seleccionar una.
Más información: Opciones de campo de conjunto de
opciones
Conjunto de opciones multiselección Muestra una lista de opciones donde puede seleccionar más
de una. Más información: Opciones de campo de conjunto de
opciones
Dos opciones Muestra una lista de opciones donde puede seleccionar dos.
Número de punto flotante Hasta 5 puntos decimales de precisión se pueden usar para
valores entre -100.000.000.000 y -100.000.000.000 en este
campo. Puede especificar el nivel de precisión y los valores
máximo y mínimo. Más información: Uso del tipo correcto de
número
Varias líneas de texto Este campo puede contener hasta 1 048 576 caracteres de
texto. Puede establecer que la longitud máxima sea inferior a
esta. Cuando agrega este campo a un formulario de
aplicación basado en modelos, puede especificar las
dimensiones del campo.
Fecha y hora Use estos campos para almacenar valores de hora. Puede
almacenar valores de hasta 1/1/1753 12:00 AM. Más
información: Opciones de fecha y hora
FORMATO DESCRIPCIÓN
Símbolo del valor Un valor del texto para un símbolo de valor que mostrará un
vínculo que se abrirá para mostrar una oferta para el símbolo
de valor bursátil.
También puede establecer una Longitud máxima para que el sistema no permita valores de texto más largos
de los que especifique.
Opciones de campos Conjunto de opciones
Los campos que proporcionan un conjunto de opciones pueden incluir su propio conjunto de opciones locales o
hacer referencia a un conjunto común de opciones globales que se pueden usar para varios campos.
El uso de un conjunto de opciones global es útil cuando se tiene que crear el mismo conjunto de opciones de
varios campos. Con un conjunto de opciones global, solo necesita mantener el conjunto de opciones en un lugar.
Cuando seleccione el tipo de datos Conjunto de opciones multiselección o Conjunto de opciones el
diseñador del explorador de soluciones le confiere la opción para un conjunto de opciones local de forma
predeterminada.
PROPIEDAD DESCRIPCIÓN
Valor externo Este valor se usa para que las entidades virtuales asignen un
valor de un origen de datos externos con esta opción.
Use los otros iconos de la barra de herramientas de opciones para realizar las operaciones siguientes:
ICONO OPERACIÓN
También puede configurar conjuntos de opciones globales por separado. Más información: Creación y edición de
conjuntos de opciones globales para Common Data Service (listas desplegables)
NOTE
Si define cada conjunto de opciones como conjunto de opciones global, la lista de conjuntos de opciones globales crecerá y
puede resultar difícil de administrar. Si sabe que el conjunto de opciones solo se usará en un lugar, use un conjunto de
opciones local.
Opciones de número entero
Los campos de número entero tienen las siguientes opciones de formato:
FORMATO DESCRIPCIÓN
FORMATO DESCRIPCIÓN
Solo fecha Valor de fecha y hora que solo se muestra una fecha. El valor
de hora se almacena como 12:00 AM (00:00: 00) en el
sistema.
También puede establecer un Comportamiento específico para los campos de fecha y hora en Opciones
avanzadas.
Local del usuario : Muestra valores convertidos a la zona horaria local del usuario actual. Es el valor
predeterminado de nuevos campos.
Solo fecha: Este comportamiento está disponible para el tipo Solo fecha. Muestra valores sin conversión de
zona horaria. Úselo para datos como cumpleaños y aniversarios.
Independiente de la zona horaria: Muestra valores sin conversión de la zona horaria.
Más información: Comportamiento y formato del campo de fecha y hora
Tipo de campo
Puede establecer que un Tipo de campo personalizado se Simple, Calculado o Consolidado.
Básico
Simple significa que el campo no es un campo calculado ni consolidado.
Calculado
Con un campo calculado puede especificar una fórmula para asignar un valor al campo. Estos tipos de datos
pueden establecerse como campos calculados: Divisa, Fecha y hora, Número decimal, Conjunto de
opciones multiselección, Conjunto de opciones, Línea única de texto, Dos opciones y Número entero.
Más información: Definir campos calculados para automatizar los cálculos manuales
Consolidado
Con un campo consolidado puede establecer funciones de agregación que se ejecutarán periódicamente para
configurar un valor numérico para el campo. Estos tipos de datos pueden establecerse como campos calculados:
Divisa, Fecha y hora, Número decimal y Número entero.
Más información: Definir campos consolidados que agregan valores
COMANDO DESCRIPCIÓN
Editar un campo
Mientras ve campos, haga clic en el campo que desea editar. Es posible que algunos campos estándar o campos
personalizados que se incluyen en una solución administrada no permitan que los edite.
NOTE
Cuando edite un formulario, para los campos ya agregados al formulario puede hacer doble clic en el campo para mostrar
Propiedades de campo. En la pestaña Detalles, haga clic en Editar. Más información: Agregar un campo a un formulario
NOTE
La instalación de una solución o la publicación de personalizaciones puede interferir en el funcionamiento normal del
sistema. Le recomendamos que programe una solución para que se publique cuando menos perjudique a los usuarios.
Eliminación de campos
Con el rol de seguridad de administrador del sistema, puede eliminar campos personalizados que no sean parte
de una solución administrada. Si elimina campos, los datos almacenados en los campos se perderán. La única
forma de recuperar datos de un campo que se haya eliminado es restaurar la base de datos de un punto anterior
a la eliminación del campo.
NOTE
Antes de poder eliminar un campo personalizado, debe quitar las dependencias que pueden existir en otros componentes
de la solución.
1. Mientras ve campos, si selecciona un campo personalizado que se puede eliminar en la lista y haga clic en el
botón en la barra de comandos.
2. En el cuadro de diálogo Confirmar eliminación, seleccione Eliminar.
TIP
Puede seleccionar varios campos personalizados para eliminar en una operación.
Las dependencias son cualquier uso relacionado del campo que evitaría que se eliminara. Por ejemplo, si el
campo se usa en un formulario o una vista, primero debe quitar las referencias al campo en esos componentes
de la solución.
Si elimina un campo de búsqueda, la relación de entidad 1:N correspondiente se eliminará automáticamente.
Modo IME
Cualquiera de los campos que proporcionan la entrada de texto directa tienen un Modo IME. El editor de
métodos de entrada (IME ) se usa para idiomas asiáticos orientales como el japonés. Los IME permiten que el
usuario especifique miles de caracteres distintos usados en idiomas escritos del este de Asia con un teclado
estándar de 101 teclas.
Vea también
Crear y editar campos para Common Data Service
Crear y editar campos para Common Data Service utilizando el portal PowerApps
Tipos de campos y tipos de datos de campos
Definir campos calculados para automatizar los cálculos manuales
Definir campos consolidados que agregan valores
Comportamiento y formato del campo de fecha y hora
Crear un conjunto de opciones
25/11/2019 • 6 minutes to read • Edit Online
Los conjuntos de opciones le permiten incluir listas desplegables de valores fijos para un usuario dentro de la
aplicación para garantizar la coherencia de datos. A veces se hace referencia a ellos como listas desplegables o
campos de opciones en otras aplicaciones. Similar a las entidades, hay conjuntos de opciones estándar y la
posibilidad de crear conjuntos de opciones personalizadas para usar dentro de la aplicación.
Los conjuntos de opciones se pueden crear de dos maneras, ya sea desde la lista de conjuntos de opciones del
portal o directamente en una entidad cuando se crea un campo. Para obtener más información sobre cómo crear
una entidad, consulte Crear una entidad.
2. Haga clic o pulse en una entidad existente o Cree una nueva entidad
3. Agregue un nuevo campo a la entidad haciendo clic en Agregar campo.
4. En el panel del nuevo campo, introduzca el Nombre para mostrar para el campo, el Nombre se rellenará
automáticamente y se usa como el nombre único para el campo. Se usa Nombre para mostrar al
mostrar este campo a sus usuarios, se usa Nombre cuando crea la aplicación, en expresiones y fórmulas.
5. Haga clic en la lista desplegable Tipo de datos y seleccione Conjunto de opciones o Conjunto de
opciones de selección múltiple.
6. Haga clic en la lista desplegable Conjunto de opciones y seleccione Nuevo conjunto de opciones
NOTE
Si un conjunto de opciones existente puede usarse para la entidad, puede seleccionarla de esta lista sin crear una
nueva.
7. Se abrirá un nuevo panel para crear el conjunto de opciones. El Nombre para mostrar y el Nombre se
adoptarán por defecto del nombre del campo, pero se pueden cambiar si es necesario. Haga clic en
Agregar nuevo elemento para empezar a crear la lista de opciones. Repita este paso hasta que se creen
todos los elementos.
8. Una vez que haya introducido los elementos, haga clic en Guardar para crear el conjunto de opciones.
9. Haga clic en Hecho para cerrar el panel del campo y, a continuación, en Guardar entidad para guardar la
entidad en Common Data Service.
NOTE
Puede seleccionar uno de los elementos como Predeterminado para este campo y se seleccionará de forma
predeterminada cuando los usuarios creen nuevos registros en la entidad.
Crear un conjunto de opciones desde la lista de conjuntos de
opciones
1. En powerapps.com, expanda la sección Datos y haga clic o pulse en Conjuntos de opciones en el panel
de navegación de la izquierda.
5. Ahora puede utilizar este conjunto de opciones para crear un nuevo campo en una entidad.
El explorador de soluciones proporciona una forma de crear y editar conjuntos de opciones globales para
Common Data Service.
El portal de PowerApps permite configurar las opciones más comunes, pero algunas opciones solo se pueden
configurar usando el explorador de soluciones.
Más información:
Crear y editar conjuntos de opciones globales para Common Data Service
Crear un conjunto de opciones
Mientras ve conjuntos de opciones globales, haga clic en Nuevo para abrir un formulario para definir el conjunto
de opciones global.
Escriba un Nombre para mostrar que será visible para las personas con rol de administrador del sistema o
personalizador que elegirán este conjunto de opciones global al definir los nuevos campos que lo usen. Este
nombre no estará visible para las personas que usen sus aplicaciones.
Se generará un valor de campo Nombre en función del valor de Nombre para mostrar que escriba. Incluirá el
prefijo de personalización del editor de soluciones en el contexto de la solución en la que está trabajando. Puede
cambiar la parte generada del valor del campo Nombre antes de guardar.
Escribir una Descripción para el conjunto de opciones global.
TIP
Use la Descripción para explicar el objetivo de este conjunto de opciones global. Este valor no es visible para los usuarios de
la aplicación, es para otras personas con rol de administrador del sistema o personalizador que quieran saber para qué se
creó este conjunto de opciones global concreto.
Configurar opciones
Para definir opciones, en el área Opciones haga clic en para agregar una opción.
Para cada opción puede agregar los siguientes valores de propiedad
PROPIEDAD DESCRIPCIÓN
Valor externo Este valor se usa para que las entidades virtuales asignen un
valor de un origen de datos externos con esta opción.
Use los otros iconos de la barra de herramientas de opciones para realizar las operaciones siguientes:
ICONO OPERACIÓN
IMPORTANT
Si el conjunto de opciones global se ha usado para un campo, no podrá eliminarlo hasta que se elimine ese campo.
Vea también
Crear y editar conjuntos de opciones globales para Common Data Service
Crear un conjunto de opciones
Crear y editar campos
Documentación para desarrolladores: Personalizar conjuntos de opciones globales
Definir campos calculados para automatizar los
cálculos manuales
25/11/2019 • 22 minutes to read • Edit Online
Usar campos calculados para automatizar los cálculos manuales usados en los procesos de negocio.
Por ejemplo, un comercial puede querer conocer los ingresos ponderados de una oportunidad que se basan en
los ingresos estimados de una oportunidad multiplicados por la probabilidad. O bien, automáticamente desea
aplicar un descuento, si un pedido es superior a $500. Un campo calculado puede que contenga valores
resultado de simples operaciones matemáticas, u operaciones condicionales, por ejemplo, Mayor que o If-Else, y
muchos otras. Puede llevar a todo esto utilizando PowerApps, sin necesidad de escribir código.
Capacidades
Los campos calculados usan campos de la entidad actual o de entidades principales relacionadas.
El soporte de expresión está disponible en los campos de la entidad actual y las entidades principal
relacionadas en las secciones Condición y las secciones Acción. Las funciones integradas incluyen:
ADDHOURS, ADDDAYS, ADDWEEKS, ADDMONTHS, ADDYEARS, SUBTRACTHOURS,
SUBTRACTDAYS, SUBTRACTWEEKS, SUBTRACTMONTHS, SUBTRACTYEARS, DIFFINDAYS,
DIFFINHOURS, DIFFINMINUTES, DIFFINMONTHS, DIFFINWEEKS, DIFFINYEARS, CONCAT,
TRIMLEFT y TRIMRIGHT.
Un soporte condicional rico proporciona bifurcación y condiciones múltiples. Las operaciones lógicas incluyen
los operadores AND y OR.
Las funcionalidades de edición visual incluyen una moderna interfaz de usuario e intellisense en la sección
ACCIÓN.
Una integración sin problemas de los campos calculados con formularios, vistas, gráficos e informes está
disponible en tiempo real.
Puede configurar campos calculados para usar controles personalizados.
Escenarios
Ingresos ponderados: Ingresos estimados multiplicados por probabilidad
Valor neto: Activos restados de los pasivos de una cuenta determinada
Costo de mano de obra: Tasa base hasta 40 horas, más horas extras adicionales
Número de contacto: Número de teléfono para una cuenta o contacto basados en una oportunidad
Puntuación de cliente potencial: Un campo que proporciona ideas sobre la calidad de un cliente potencial
determinado
Seguimiento por: Seguimiento de una actividad por un número especificado de días en función de su
prioridad
IMPORTANT
Para crear un campo calculado debe tener el privilegio de Escritura en la entidad Perfil de seguridad de campo. Si el campo
calculado usa los campos protegidos en un cálculo, debe considerar proteger el campo calculado también, para evitar que
los usuarios accedan a datos para los que no tienen suficientes permisos. El editor del campo calculado proporciona una
advertencia, si usted está creando un campo calculado que usa campos protegidos en un cálculo, sugiriendo que proteja el
campo calculado. Más información: Seguridad de nivel de campo para controlar el acceso.
Crear un campo calculado
Use el editor de campos para especificar un campo calculado. En este ejemplo usaremos PowerApps pero los
pasos son similares con el explorador de soluciones. Más información: Crear y editar campos
1. AbrirPowerApps
2. Expanda Datos > Entidades.
3. Seleccione la entidad que desee y que elija Campos. Elija Agregar campo.
4. Indique la información necesaria para el campo, incluidos el Nombre para mostrar, el Nombre y el Tipo
de datos.
5. Si el tipo de datos es uno de los tipos que admiten campos calculados, puede convertir el campo en un
campo calculado seleccionando Agregar > Cálculo.
NOTE
Puede usar datos de registros de búsqueda en la acción. Primero tiene que seleccionar el campo de búsqueda y después
especificar un período. Después, puede seleccionar uno de los campos disponibles en la entidad relacionada. Por ejemplo,
en el caso de <LookupFieldName>.<RelatedFieldName> , puede seleccionar: ParentAccountId.AccountNumber .
Tenga en cuenta que la seguridad de nivel de campo se omitirá en la entidad relacionada, por lo que si hay datos
confidenciales en el campo al que se ha accedido le recomendamos que también proteja el campo calculado.
Ejemplos
Veamos ejemplos de campos calculados con mayor detalle.
Ingresos ponderados de oportunidad
En este ejemplo usamos los campos de la entidad de oportunidad para calcular los ingresos ponderados basados
en la probabilidad de la oportunidad. En el editor de campos para una entidad de oportunidad, creamos un
campo denominado Ingresos ponderados y especificamos el tipo de campo como Calculado y el tipo de datos
como Divisa.
En el editor de definición de campos calculados, en la sección Condición, especificamos la oportunidad con el
Estado = Abierto. En la ACCIÓN, la fórmula calcula los ingresos ponderados a partir de los ingresos estimados
de la oportunidad multiplicados por la probabilidad de la oportunidad. Las siguientes capturas de pantalla
muestran paso a paso cómo definir el campo calculado Ingresos ponderados.
Fije la condición de las oportunidades:
Proporcione la fórmula para los ingresos ponderados:
En conjunto:
En conjunto:
Días desde la creación de un registro
En este ejemplo, usamos la función DIFFINDAYS para calcular la diferencia en días desde la hora en que se creó
un registro hasta la fecha actual.
Cree un nuevo campo de número entero llamado Diferencia calculada en días.
Proporcione la fórmula para calcular la diferencia en días
En conjunto:
Sintaxis de funciones
La siguiente tabla contiene información acerca de la sintaxis de las funciones suministradas en la sección
ACCIÓN del campo calculado.
TIP
Los nombres de función se especifican en letras mayúsculas.
ADDDAYS (número entero, fecha y Devuelve una nueva fecha y hora que Fecha y hora
hora) es igual a la fecha y hora dadas, más el
número de días especificado.
ADDHOURS (número entero, fecha y Devuelve una nueva fecha y hora que Fecha y hora
hora) es igual a la fecha y hora dadas, más el
número de horas especificado.
ADDMONTHS (número entero, fecha Devuelve una nueva fecha y hora que Fecha y hora
y hora) es igual a la fecha y hora dadas, más el
número de meses especificado.
ADDWEEKS (número entero, fecha y Devuelve una nueva fecha y hora que Fecha y hora
hora) es igual a la fecha y hora dadas, más el
número de semanas especificado.
ADDYEARS (número entero, fecha y Devuelve una nueva fecha y hora que Fecha y hora
hora) es igual a la fecha y hora dadas, más el
número de años especificado.
SUBTRACTDAYS (número entero, Devuelve una nueva fecha y hora que Fecha y hora
fecha y hora) es igual a la fecha y hora dadas, menos
el número de días especificado.
SUBTRACTHOURS (número entero, Devuelve una nueva fecha y hora que Fecha y hora
fecha y hora) es igual a la fecha y hora dadas, menos
el número de horas especificado.
SUBTRACTMONTHS (número entero, Devuelve una nueva fecha y hora que Fecha y hora
fecha y hora) es igual a la fecha y hora dadas, menos
el número de meses especificado.
SINTAXIS DE LA FUNCIÓN DESCRIPCIÓN TIPO DEVUELTO
SUBTRACTWEEKS (número entero, Devuelve una nueva fecha y hora que Fecha y hora
fecha y hora) es igual a la fecha y hora dadas, menos
el número de semanas especificado.
SUBTRACTYEARS (número entero, Devuelve una nueva fecha y hora que Fecha y hora
fecha y hora) es igual a la fecha y hora dadas, menos
el número de años especificado.
DIFFINDAYS (fecha y hora, fecha y Devuelve la diferencia en días entre dos Número entero
hora) campos Fecha y hora. Si ambas fechas
y horas coinciden en el mismo día, la
diferencia es cero.
DIFFINHOURS (fecha y hora, fecha y Devuelve la diferencia en horas entre Número entero
hora) dos campos Fecha y hora.
DIFFINMINUTES (fecha y hora, fecha y Devuelve la diferencia en minutos entre Número entero
hora) dos campos Fecha y hora.
DIFFINMONTHS (fecha y hora, fecha y Devuelve la diferencia en meses entre Número entero
hora) dos campos Fecha y hora. Si ambas
fechas y horas coinciden en el mismo
mes, la diferencia es cero.
DIFFINYEARS (fecha y hora, fecha y Devuelve la diferencia en años entre Número entero
hora) dos campos Fecha y hora. Si ambas
fechas y horas coinciden en el mismo
año, la diferencia es cero.
CONCAT (una línea de texto, una línea Devuelve una cadena que es el Cadena
de texto, ... línea de texto única) resultado de concatenar dos o más
cadenas.
TRIMLEFT (una línea de texto, número Devuelve una cadena que contiene una Cadena
entero) copia de una cadena especificada sin
los primeros N caracteres.
TRIMRIGHT (una línea de texto, Devuelve una cadena que contiene una Cadena
número entero) copia de una cadena especificada sin
los últimos N caracteres.
NOTE
Todas las funciones DIFF requieren que el primer campo de Fecha y hora y el segundo campo de Fecha y hora tengan el
mismo comportamiento: Local del usuario, Solo fecha o Independiente de zona horaria. Si no coincide el
comportamiento del segundo campo con el comportamiento del primer campo, el mensaje de error aparece, indicando que
el segundo campo no se puede usar en la función actual. Más información: Comportamiento y formato del campo de fecha
y hora.
NOTE
No puede especificar una fecha, como 01/01/2015, como el valor Fecha en un campo calculado. Los valores de Fecha y
Fecha y hora solo se pueden configurar o comparar usando otros campos Fecha y hora.
En la función CONCAT , puede usar cadenas literales como líneas individuales de texto, campos de entidad que
contienen una sola línea de texto, o una combinación de ambos. Por ejemplo: CONCAT (FirstName, LastName,
"es un jefe"). Si una cadena literal contiene comillas, preceda cada marca con el carácter de escape de barra
diagonal inversa (\), de este modo: This string contains the \"quotation marks.\" . Esto garantiza que las
comillas dentro de cadena no se tratan como caracteres especiales que separan las cadenas.
Los siguientes ejemplos muestran cómo usar las funciones TRIMLEFT y TRIMRIGHT. Contienen las cadenas
iniciales y las cadenas resultantes, devueltas por las funciones TRIMLEFT y TRIMRIGHT:
TRIMLEFT (“RXX10-3456789”, 3), devuelve la cadena 10-3456789
TRIMRIGHT (“20-3456789RXX”, 3), devuelve la cadena 20-3456789
Consideraciones
Debe conocer determinadas condiciones y limitaciones cuando trabaja con campos calculados:
Las consultas, gráficos, y las visualizaciones guardados pueden tener un máximo de 10 campos calculados
únicos.
Los valores de los campos calculados no se muestran en modo sin conexión del cliente de Outlook en las
vistas de ventana o en los formularios principales de entidad.
El número máximo de los campos calculados encadenados es 5.
Un campo calculado no puede hacer referencia a sí mismo o tener cadenas cíclicas.
Si cambia uno de los operadores de condición en una cláusula de condición múltiple, todos los operadores de
condición se actualizarán a esa condición. Por ejemplo, en la cláusula IF (x > 50) OR (y ==10) OR (z < 5) , si
cambia el operador OR al operador AND , todos los operadores OR de la cláusula se convertirán en
operadores AND .
Puede obtener acceso a campos primarios mediante el campo de búsqueda en la entidad primaria, como
<LookupFieldName>.<FieldName> . Esto no es posible con los campos de búsqueda de varias entidades como
Cliente, que puede ser Cuenta o Contacto. Sin embargo, algunas entidades tienen campos de búsqueda
individuales para una entidad específica, como ParentAccountid. <FieldName> o ParentContactid.
<FieldName> .
El orden está deshabilitado en:
Un campo calculado que contiene un campo de un registro primario.
Un campo calculado que contiene un campo lógico (por ejemplo, campo de dirección)
Un campo calculado que contiene otro campo calculado.
Los campos calculados pueden abarcar dos entidades sólo.
Un campo calculado puede contener un campo de otra entidad (que abarca dos entidades - entidad
actual y registro primario).
Un campo calculado no puede contener un campo calculado procedente de otra entidad que también
contenga otro campo de una entidad distinta (abarcando tres entidades):
(Entidad actual) Campo calculado ← (Registro primario) Campo calculado 1 ← (Registro primario)
Campo calculado 2.
No se pueden desencadenar flujos de trabajo o complementos en los campos calculados.
No puede cambiar un campo simple existente en un campo calculado. Si la aplicación actual está usando
JavaScript o complementos para calcular un campo, no podrá usar la característica de campos calculados sin
crear un nuevo campo.
Las reglas de detección de duplicados no se activan en campos calculados.
Un consolidado no puede hacer referencia a un campo calculado que use otro campo calculado, incluso si
todos los campos del otro campo calculado están en la entidad actual.
Vea también
Crear y editar campos
Definir campos consolidados que agregan valores
Vídeo: Campos consolidados y calculados
Definir campos consolidados que agregan valores
25/11/2019 • 25 minutes to read • Edit Online
Los campos consolidados ayudan a los usuarios a obtener ideas sobre los datos supervisando indicadores clave
de negocio. Un campo consolidado contiene un valor agregado calculado a través de los registros relacionados
con un registro específico. Esto incluye entidades normales y entidades de actividad, como correos electrónicos y
citas.
En situaciones más complejos, puede agregar datos a la jerarquía de registros. Como administrador o
personalizador, puede definir campos consolidados mediante las herramientas de personalización de
PowerApps, sin necesidad de escribir código.
Cálculos consolidados
Las consolidaciones son calculadas por los trabajos del sistema programados que se ejecutan asincrónicamente
en segundo plano. Usted tiene que ser administrador para ver y administrar los trabajos consolidados.
Ver trabajos consolidados
Para ver los trabajos consolidados:
1. Mientras visualiza la Solución predeterminada de Common Data Service, edite la dirección URL,
quitando todo lo que hay después de dynamics.com y actualizado la página.
2. En el área Configuración seleccione Sistema > Trabajos del sistema.
3. En el selector de vistas, elija Trabajos del sistema periódicos.
4. Para buscar rápidamente un trabajo relevante, puede filtrar por el tipo de trabajo del sistema: Cálculo
masivo de campos consolidados o Calcular campo consolidado.
Cálculo masivo de campos consolidados
El Cálculo masivo de campos consolidados es un trabajo periódico, creado por un campo consolidado. Se
ejecuta una vez, después de crear o actualizar un campo consolidado. El trabajo recalcula el valor del campo
consolidado especificado en todos los registros existentes que contienen este campo. De forma predeterminada,
el trabajo se ejecutará 12 horas después de crear o actualizar un campo. Una vez que complete el trabajo, se
programa automáticamente para ejecutarse en un futuro lejano, aproximadamente, en 10 años. Si se modifica el
campo, el trabajo se reinicializa para ejecutarse de nuevo en 12 horas después de la actualización. El retraso de
12 horas es necesario para garantizar que el Cálculo masivo de campos consolidados se ejecuta durante las
horas no operativas del entorno. Se recomienda que un administrador ajuste la hora de inicio de un trabajo de
Cálculo masivo de campos consolidados después de que se cree o se edite el campo consolidado, de tal
forma que se ejecute en horas no operativas. Por ejemplo, un buen momento para ejecutar el trabajo podría ser
a medianoche, para garantizar un procesamiento eficaz de los campos consolidados.
Calcular campo consolidado
Calcular campo consolidado es un trabajo periódico que realiza cálculos incrementales de todos los campos
consolidados en los registros existentes para una entidad especificada. Solo hay un trabajo de Calcular campo
consolidado por entidad. Los cálculos incrementales suponen que el trabajo Calcular campo consolidado
procesa los registros creados, actualizados o eliminados después de la última ejecución terminada del trabajo de
Cálculo masivo de campos consolidados. El valor de periodicidad predeterminado máximo es una hora. El
trabajo se crea automáticamente cuando el primer campo consolidado de una entidad se crea y elimina cuando
se elimina el último campo consolidado.
Existen algunas consideraciones que debe tener presentes cuando usa la opción recálculo en línea (actualización
manual en el formulario):
Debe tener privilegios de escritura sobre la entidad y derechos de acceso de escritura sobre el registro de
origen en el que está solicitando la actualización. Por ejemplo, si está calculando los ingresos estimados de las
oportunidades abiertas de una cuenta, no es necesario tener privilegios de escritura en la entidad de
oportunidad, únicamente en la entidad de cuenta.
Esta opción solo está disponible en modo online. No puede usarla mientras trabaja sin conexión.
El número máximo de registros durante la actualización de consolidado se limita a 50.000 registros. En caso
de la consolidación jerárquica, esto se aplica a los registros relacionados a través de la jerarquía. Si se supera
el límite, recibe un mensaje de error: Los cálculos no se pueden realizar en línea porque el límite de cálculo de
50.000 registros relacionados se ha alcanzado. Este límite no se aplica cuando los trabajos del sistema
recalculan la consolidación automáticamente.
La profundidad máxima de la jerarquía está limitada a 10 para el registro de origen. Si se supera el límite,
recibe un mensaje de error: Los cálculos no se pueden realizar en línea porque se ha alcanzado el límite de
profundidad de jerarquía de 10 para el registro de origen. Este límite no se aplica cuando los trabajos del
sistema recalculan la consolidación automáticamente.
Ejemplos
Veamos varios ejemplos de campos consolidados. Agregaremos los datos para un registro de los registros
relacionados, usando y sin usar una jerarquía. También agregaremos datos para un registro desde actividades
relacionadas y actividades relacionadas indirectamente con un registro mediante la entidad ActivityParty. En
cada ejemplo, definimos el campo consolidado mediante el Editor de campos. Para abrir el Editor de campo, abra
el explorador de soluciones y expanda Componentes > Entidades. Seleccione la entidad que desee y
seleccione Campos. Elija Nuevo. En el editor, proporcione la información necesaria para el campo, incluidos
Tipo de campo y Tipo de datos. En Tipo de campo, seleccione Consolidado, después de seleccionar el tipo
de datos. Los tipos de datos incluyen decimales o números enteros, divisa y fecha y hora. Elija el botón Editar
junto a Tipo de campo. Esto le llevará al editor de definiciones de campos consolidados. La definición de campo
consolidado consta de tres secciones: Entidad de origen, Entidad relacionada y Agregado.
En la sección Entidad de origen, especifique la entidad para la que se define el campo consolidado y si
agrega o no sobre una jerarquía. Puede agregar filtros con varias condiciones para especificar los
registros de la jerarquía que desee usar para la consolidación.
En la sección Entidad relacionada, especifique la entidad sobre la que desea agregar. Esta sección es
opcional cuando selecciona consolidar sobre la jerarquía de la entidad de origen. Puede agregar filtros
con varias condiciones para especificar qué registros relacionados desea usar en el cálculo. Por ejemplo,
se incluyen los ingresos de las oportunidades abiertas con unos ingresos anuales mayores que $1000.
En la sección Agregado, especifique la métrica que desea calcular. Puede elegir funciones de agregado
disponibles, como SUM, COUNT, MIN, MAX o AVG.
Agregar datos para un registro desde registros relacionados
En este ejemplo, no se usa una jerarquía. Los ingresos estimados totales se calculan para una cuenta, a partir de
las oportunidades abiertas relacionadas.
Agregar datos para un registro desde los registros secundarios sobre la jerarquía
En este ejemplo, calculamos los ingresos estimados totales de una oportunidad incluidas las oportunidades
secundarias sobre la jerarquía.
Agregar datos para un registro desde los registros relacionados sobre la jerarquía
En este ejemplo, calculamos los ingresos estimados totales de oportunidades abiertas en todas las cuentas sobre
la jerarquía.
Agregar datos para un registro desde todas las actividades relacionadas
En este ejemplo, calculamos el tiempo total invertido y facturado de todas las actividades relacionadas con una
cuenta. Esto puede incluir el tiempo empleado en el teléfono, en citas o en actividades personalizadas.
En versiones anteriores, podía definir un campo consolidado para una actividad individual, como una llamada de
teléfono, fax, o una cita. Pero, para conseguir el resultado del ejemplo que se muestra a continuación, tenía que
calcular el total de los datos mediante los campos calculados. Ahora, puede hacer todo en un paso definiendo un
campo consolidado para la entidad Actividad.
Agregar datos para un registro desde todas las actividades relacionadas y actividades relacionadas
indirectamente mediante la entidad Grupo de actividad
En este ejemplo, contamos el número total de correos electrónicos enviados a una cuenta, donde cuenta aparece
en la línea "Destinatario Para" o “Destinatario CC". Esto se realiza especificando el Tipo de participación en
FILTROS para la entidad Grupo de actividad en la definición de campo consolidado. Si no usa filtros, todos los
tipos de participación disponibles para una actividad se usan en el cálculo.
Para obtener más información acerca de la entidad Grupo de actividad y los tipos de participación disponibles
para una actividad determinada, vea Entidad ActivityParty.
Agregar datos para un registro desde registros relacionados utilizando el operador AVG
En este ejemplo, calculamos ingresos estimados medios de todas las oportunidades relacionadas con una
cuenta.
En el siguiente ejemplo se muestra cómo calcular los ingresos estimados medios de oportunidades relacionadas
a través de una jerarquía de cuentas. Los ingresos estimados medios se pueden ver en cada nivel de la jerarquía.
Consideraciones sobre los campos consolidados
Debe conocer determinadas condiciones y restricciones cuando trabaja con campos consolidados:
Puede definir un máximo de 100 campos consolidados para la organización y de hasta 10 campos
consolidados por entidad.
Las actualizaciones de campos consolidados no pueden desencadenar un flujo de trabajo.
Una condición de espera de flujo de trabajo no puede usar un campo consolidado.
No se admite una consolidación sobre un campo consolidado.
Un consolidado no puede hacer referencia a un campo calculado que use otro campo calculado, incluso si
todos los campos del otro campo calculado están en la entidad actual.
La consolidación sólo puede aplicar filtros a la entidad de origen o entidades relacionadas, campos sencillos o
campos calculados no complejos.
Solo se puede realizar una consolidación sobre entidades relacionadas con la relación 1:N. No se puede
realizar una consolidación sobre las relaciones N:N.
No se puede realizar una consolidación sobre la relación 1:N para la entidad Actividad o la entidad Grupo de
actividad.
Las reglas de negocio, los flujos de trabajo o los campos calculados usan siempre el último valor calculado
del campo consolidado.
Un campo consolidado se agrega en el contexto del usuario del sistema. Todos los usuarios pueden ver el
mismo valor de campo consolidado. Puede controlar la visibilidad del campo consolidado con la seguridad de
nivel de campo (FLS ), limitando quién tiene acceso al campo consolidado. Más información Seguridad de
nivel de campo para controlar el acceso.
Redondeo de precisión
Si la precisión del campo agregado es mayor que la precisión del campo consolidado, la precisión del campo
agregado se redondea a la precisión del campo consolidado, antes de que se realice la agregación. Para ilustrar
este comportamiento miremos un ejemplo específico. Digamos que el campo consolidado en la entidad de
cuenta, para calcular los ingresos totales estimados de las oportunidades relacionadas, tiene una precisión de
dos decimales. El campo Ingresos estimados de la entidad de oportunidad es el campo agregado con la
precisión de cuatro decimales. En nuestro ejemplo, la cuenta tiene dos oportunidades relacionadas. La suma
agregada de los ingresos estimados se calcula de este modo:
1. Ingresos estimados para la primera oportunidad: $1000,0041
2. Ingresos estimados para la segunda oportunidad: $2000,0044
3. Suma agregada de ingresos Ingresos: 1000,00 $ + 2000,00 $ = 3000,00 $
Como puede ver, la precisión se redondea a dos decimales en el campo agregado antes de que se realice la
agregación.
Diferente comportamiento de cuadrículas asociadas
Algunos formularios de entidades, como Cuenta o Contacto, contienen las cuadrículas asociadas de forma
predefinida. Por ejemplo, un formulario de cuenta incluye contratos, casos, oportunidades y otras cuadrículas.
Algunos de los registros mostrados en las cuadrículas de formulario de cuenta están relacionados directamente
con el registro de cuenta; otros, indirectamente, a través de relaciones con otros registros. En comparación, las
aplicaciones de agregación de campo consolidado utilizan únicamente relaciones directas definidas forma
explícita en la definición del campo consolidado. No se consideran otras relaciones. Para mostrar la diferencia de
comportamiento, miremos el siguiente ejemplo.
1. La cuenta A1 tiene un contacto principal, P1. El caso C1 está asociado a la cuenta A1 (C1.campo de cliente =
A1) y el caso C2 está asociado al contacto P1 (C2.campo de cliente = P1).
2. La cuadrícula Casos en el formulario Cuenta para el registro A1 muestra dos casos, C1 y C2.
3. El campo consolidado en la entidad de cuenta, denominado Número total de casos, se usa para contar los
casos asociados con la cuenta.
4. En la definición de campo consolidado de cuenta, especificamos los casos que tienen la relación de cliente con
la cuenta. Después de la agregación, el Número total de casos es igual a 1 (caso C1). El caso C2 no se incluye
en el total, que se relaciona directamente con el contacto, no con la cuenta y no se puede definir
explícitamente en la definición del campo consolidado de cuenta. Como resultado, el número total de casos
devueltos por la operación consolidada no coincide con el número de casos que se muestra en la cuadrícula
Casos.
Vea también
Crear y editar campos
Definir campos calculados
Comportamiento y formato del campo de fecha y hora
Definir y consultar datos relacionados jerárquicamente
Vídeo: Campos consolidados y calculados
Vídeo: Usar Power BI
Asignar campos de entidad
25/11/2019 • 9 minutes to read • Edit Online
Puede asignar atributos entre entidades que tienen una relación de entidad. Esto le permite establecer valores
predeterminados para un registro creado en el contexto de otro registro.
Cómo funciona
Cuando asigna campos de entidad para una relación de entidad 1:N, algunos datos del registro de entidad
principal se copiarán en el nuevo formulario de la entidad relacionada para definir los valores predeterminados
que los usuarios pueden editar antes de guardar.
NOTE
Estas asignaciones solo establecen los valores predeterminados en un registro antes de guardarlo. Los usuarios pueden
modificar los valores antes de guardarlos. Los datos se transfieren son los datos en ese momento. No se sincroniza si
cambian los datos de origen más adelante.
Estas asignaciones no se aplican a los registros relacionados creados mediante un flujo de trabajo o un proceso de diálogo.
No se aplican automáticamente a los nuevos registros creados mediante código, aunque los desarrolladores pueden usar un
mensaje especial llamado InitializeFrom (Función InitializeFrom o Clase InitializeFromRequest) para crear un nuevo
registro mediante las asignaciones disponibles.
Al abrir una relación de entidad que se puede asignar, seleccione Asignaciones en la navegación izquierda.
Eliminar asignaciones
Si existen asignaciones que no desea que se apliquen, puede seleccionarlas y hacer clic en el icono de icono.
Agregar nuevas asignaciones
Para crear una nueva asignación, en la barra de herramientas haga clic en Nuevo. Se abrirá el cuadro de diálogo
Crear asignación de campos.
Seleccione un campo de entidad de origen y campos de una entidad de destino con los valores que desee asignar.
WARNING
Esto quita cualquier asignación existente y la reemplaza con asignaciones sugeridas que se basan únicamente en los campos
con nombres y tipos de datos similares. Si usa esto en una entidad del sistema, podría perder algunas asignaciones
esperadas. Para las entidades personalizadas, ayuda a ahorrar tiempo porque puede eliminar más fácilmente las asignaciones
que no desea y agregar otras que la acción de generar asignaciones no ha creado.
Publicación de personalizaciones
Puesto que las asignaciones de campos no son metadatos, debe publicarlas para que los cambios surtan efecto.
Vea también
Creación y edición de relaciones entre entidades 1:N (uno a varios) o N:1 (varios a uno) con el explorador de
soluciones
Documentación para desarrolladores: Personalizar asignaciones de atributos y entidades
Documentación para desarrolladores: API web para crear una nueva entidad desde otra entidad
Eliminar campos
25/11/2019 • 2 minutes to read • Edit Online
Como usuario con el rol de seguridad de administrador del sistema, puede eliminar campos personalizados que no
sean parte de una solución administrada. Si elimina campos, los datos almacenados en los campos se perderán. La
única forma de recuperar datos de un campo que se haya eliminado es restaurar la base de datos de un punto
anterior a la eliminación del campo.
Antes de poder eliminar una entidad personalizada, debe quitar las dependencias que pueden existir en otros
componentes de la solución. Abra el campo y use el botón Mostrar dependencias de la barra de menú para ver
los Componentes dependientes. Por ejemplo, si el campo se usa en un formulario o una vista, primero debe
quitar las referencias al campo en esos componentes de la solución.
Si elimina un campo de búsqueda, la relación de entidad 1:N correspondiente se eliminará automáticamente.
Pasos siguientes
Eliminación de entidades personalizadas
Aplicar la lógica de negocios en Common Data
Service
25/11/2019 • 2 minutes to read • Edit Online
Defina las reglas de negocio de una entidad que se aplica a todos los formularios de entidad y en el nivel de
servidor. Las reglas de negocio definidas para una entidad se aplican a las aplicaciones de lienzo y las aplicaciones
basadas en modelos si la entidad se usa en la aplicación. Más información: Crear una regla de negocio para una
entidad.
NOTE
Para definir una regla de negocio que se aplique a un formulario en una aplicación basada en modelos, consulte Crear reglas
de negocio para un formulario de aplicaciones controladas por modelos
También puede usar los procesos de Common Data Service clásicos, que son flujos de trabajo y acciones. Más
información: Microsoft Flow: Usar procesos de flujo de trabajo y Microsoft Flow: Información general sobre
acciones.
Vea también
Aplicar la lógica de negocios en aplicaciones basadas en modelos
Crear una regla de negocio para una entidad
25/11/2019 • 11 minutes to read • Edit Online
Puede crear reglas de negocio y recomendaciones para aplicar lógica y validaciones sin escribir código ni crear
complementos. Las reglas de negocio proporcionan una interfaz básica para implementar y mantener reglas de
rápida evolución y de uso general.
IMPORTANT
Las reglas de negocio definidas para una entidad se aplican a las aplicaciones de lienzo y las aplicaciones basadas en
modelos si la entidad se usa en la aplicación. No todas las acciones de reglas de negocio están disponibles en aplicaciones
de lienzo en este momento. Más información: Diferencias entre aplicaciones de lienzo y aplicaciones basadas en modelos
Para definir una regla de negocio que se aplique a un formulario en una aplicación basada en modelos, consulte Crear reglas
de negocio para aplicar lógica en un formulario de aplicaciones controladas por modelos.
Combinando condiciones y acciones puede realizar cualquiera de las siguientes reglas de negocio:
Establecer valores de campo
Borrar valores de campos
Establecer niveles de requisitos de campo
Mostrar u ocultar campos
Habilitar o deshabilitar campos
Validar datos y mostrar mensajes de error
Cree recomendaciones de negocio basadas en inteligencia empresarial.
Requisitos previos
Para seguir este tema, debe cambiar a un entorno en el que pueda crear y editar entidades.
TIP
Si desea modificar una regla de negocio existente, debe desactivarla para poder editarla.
Formulario específico (formulario de Cuenta, por ejemplo) Simplemente ese formulario controlado por modelos
TIP
Si está creando una aplicación de lienzo, debe usar la entidad como ámbito.
b. Para establecer propiedades para la condición, haga clic en el componente Condición en la ventana
del diseñador y, a continuación establezca las propiedades en la pestaña Propiedades a la derecha
de la pantalla. A medida establezca propiedades, Common Data Service crea una expresión en la
parte inferior de la pestaña Propiedades.
c. Para agregar una cláusula adicional (AND u OR ) a la condición, haga clic en Nuevo en la pestaña
Propiedades para crear una nueva regla y, a continuación establezca las propiedades para dicha
regla. En el campo Lógica de la regla puede especificar si agrega la nueva regla como AND u OR.
d. Cuando termine de establecer propiedades para la condición, haga clic en Aplicar.
8. Agregar acciones. Para agregar una acción:
a. Arrastre uno de los componentes de acción desde la pestaña Componentes hasta un signo más
junto al componente Condición. Arrastre la acción a un signo más junto a una marca de
verificación si desea que la regla de negocio realice esa acción cuando la condición se cumple, o a un
signo más junto a una x si desea que la regla de negocio realice esa acción si la condición no se
cumple.
b. Para establecer propiedades para la acción, haga clic en el componente Acción en la ventana del
diseñador y, a continuación establezca las propiedades en la pestaña Propiedades.
c. Cuando termine de establecer propiedades, haga clic en Aplicar.
9. Agregue una recomendación de negocio. (Solo para controlado por modelos) Para agregar una
recomendación de negocio:
a. Arrastre el componente Recomendación desde una pestaña Componentes hasta un signo más
junto a un componente Condición. Arrastre el componente Recomendación a un signo más junto
a una marca de verificación si desea que la regla de negocio realice esa acción cuando la condición
se cumple, o a un signo más junto a una x si desea que la regla de negocio realice esa acción si la
condición no se cumple.
b. Para establecer propiedades para la recomendación, haga clic en el componente Recomendación
en la ventana del diseñador y, a continuación establezca las propiedades en la pestaña
Propiedades.
c. Para agregar más acciones a la recomendación, arrástrelas desde la pestaña Componentes y, a
continuación establezca propiedades para cada acción en la pestaña Propiedades.
NOTE
Al crear una recomendación, Common Data Service agrega una sola acción de forma predeterminada. Para
ver todas las acciones en una recomendación, haga clic en Detalles en el componente Recomendación.
TIP
A continuación se proporcionan algunas sugerencias a tener presentes mientras trabaja en reglas de negocio en la
ventana del diseñador:
Para realizar una instantánea de todo en la ventana Reglas de negocio, haga clic en Instantánea en la barra de
acciones. Esto es útil, por ejemplo, si desea compartir y obtener comentarios en la regla de negocio de un
miembro del equipo.
Use el minimapa para navegar rápidamente a distintas partes del proceso. Esto es útil cuando tiene un proceso
complicado que se desplaza fuera de la pantalla.
A medida que agregue condiciones, acciones, y recomendaciones de negocio a la regla de negocio, Common
Data Service crea el código para la regla de negocio en la parte inferior de la ventana del diseñador. Este código
es de solo lectura.
En PowerApps, las soluciones se aprovechan para transportar aplicaciones y componentes desde un entorno a
otro o para aplicar un conjunto de personalizaciones a aplicaciones existentes. Una solución puede contener una
o varias aplicaciones así como otros componentes como mapas del sitio, entidades, procesos, recursos web, los
conjuntos de opciones, etc. Puede obtener una solución de AppSource o de un proveedor de software
independiente (ISV ).
Más información: Notas del producto: Administración del ciclo de vida de las soluciones
NOTE
Si es un ISV que crea una aplicación que va a distribuir, deberá usar soluciones. Para obtener más información acerca del
uso de soluciones, vea Guía para desarrolladores: Introducción a soluciones.
Componentes
Un componente representa algo que puede personalizar. Todo lo que se puede incluir en una solución es un
componente. La siguiente es una lista de componentes que puede ver en una solución:
Modelo de IA
Cinta de la aplicación
Plantilla de artículo
Regla de negocio
Aplicación de lienzo
Gráfico
Rol de conexión
Plantilla de contrato
Conector personalizado
Control personalizado
Panel
Plantilla de correo electrónico
Entidad
Relación de entidad
Variable de entorno
Campo
Perfil de seguridad de campo
Flujo
Formulario
Plantilla de combinación de correspondencia
Mensaje
Aplicación basada en modelo
Conjunto de opciones
Ensamblado de complementos
Proceso
Informe de
Paso de procesamiento del mensaje de SDK
Rol de seguridad
Extremo de servicio
Mapa del sitio
Proveedor de datos de entidad virtual
Origen de datos de entidad virtual
Recurso web
Algunos componentes se anidan en otros componentes. Por ejemplo, una entidad contiene formularios, vistas,
gráficos, campos, relaciones de entidad, mensajes y reglas de negocio. Cada uno de los componentes necesita
que exista una entidad. Un campo no puede existir fuera de una entidad. Decimos que el campo depende de la
entidad. Existe el doble de tipos de componentes que se muestra en la lista anterior, pero la mayoría de ellos no
se anidan en otros componentes y no son visibles en la aplicación.
El objetivo de tener componentes es mantener un seguimiento de las limitaciones sobre lo que se puede
personalizar mediante propiedades administradas y todas las dependencias para que se pueda exportar,
importar y (en las soluciones administradas) eliminar sin dejar nada atrás.
Soluciones administradas y no administradas
Hay soluciones administradas y no administradas. Una solución administrada no se puede modificar y
puede desinstalarse una vez importada. Todos los componentes de la solución se eliminan al desinstalar la
solución.
Cuando importa una solución no administrada, debe agregar todos los componentes de la solución a su
entorno. No puede eliminar componentes desinstalando la solución.
Cuando importa una solución no administrada que contiene componentes que ya personalizó, las
personalizaciones se sobrescribirán por las personalizaciones de la solución no administrada importada. No se
puede deshacer esto.
IMPORTANT
Instale una solución no administrada si solo desea agregar todos los componentes del entorno y sobrescribir las
personalizaciones existentes.
Incluso si no va a distribuir las aplicaciones o personalizaciones, es posible que desee crear y usar una solución
no administrada para tener una vista diferente que solo incluya las partes de la aplicación que ha personalizado.
Siempre que personalice algún elemento, agréguelo a la solución no administrada que ha creado.
Para crear una solución administrada, puede elegir la opción Como administrado cuando se exporta la
solución. Si crea una solución administrada, no puede importarla nuevamente al mismo entorno usado para
crearla. Solo puede importarla en otro entorno.
Cómo se aplican las soluciones
Todas las soluciones se evalúan como capas para determinar lo que hace la aplicación hará realmente. En el
siguiente diagrama se muestra cómo las soluciones administradas y no administradas se evalúan y cómo los
cambios que se realicen en ellas aparecerán en el entorno.
Pasos siguientes
Importar, actualizar y exportar soluciones
Navegar a una solución específica
Usar soluciones en PowerApps
25/11/2019 • 8 minutes to read • Edit Online
En PowerApps, puede ver una lista de soluciones seleccionando Soluciones en la navegación izquierda. A
continuación puede seleccionar una solución para ver todos sus componentes.
NOTE
La experiencia de soluciones solo está disponibles con conexión y para entornos de la versión 9.1.0.267 y posteriores. Para
comprobar la versión, vaya a …Centro de administración de PowerApps> Entornos > seleccione el entorno > pestaña
Detalles. Para los entornos de una versión anterior, la selección de una solución lo abrirá en la experiencia clásica.
Puede examinar todos los componentes de una solución desplazándose a través de los elementos. Si hay más de
100 elementos en la lista puede seleccionar Cargar los siguientes 100 elementos para ver más.
Comandos contextuales
Cuando selecciona cada componente, las acciones disponibles en la barra de comandos cambiarán según el tipo
del componente seleccionado y si la solución es predeterminada o administrada.
Cuando no seleccione ningún componente, la barra de comandos mostrará las acciones aplicadas a la propia
solución.
Muchas de las personalizaciones que deseará hacer incluyen las entidades. Puede usar el filtro Entidad para
mostrar una lista de todas las entidades de la solución actual que se pueden personalizar de alguna forma. Cuando
profundiza en una entidad puede ver los componentes que forman parte de la entidad como se indica con la
entidad Cuenta en la captura de pantalla siguiente.
Explorador de soluciones clásico
En PowerApps, puede ver el explorador de soluciones clásico seleccionando Soluciones en el panel de
navegación de la izquierda y, a continuación seleccionando Cambiar a clásica en la barra de comandos. El
explorador de soluciones clásico es el que anteriormente estaba disponible en el área Configuración >
Personalizaciones avanzadas en PowerApps.
Limitaciones conocidas
Las siguientes limitaciones se aplican al uso de aplicaciones de lienzo, flujos y conectores personalizados en
soluciones.
Los flujos desencadenados por aplicaciones del lienzo no están disponibles en soluciones.
Si una aplicación de lienzo se empaqueta en una solución administrada, no puede editarse y volver a publicarse
en el entorno de destino. Use soluciones no administradas si las aplicaciones requieren edición en el entorno
de destino.
Las conexiones requieren autenticación y consentimiento, que requiere una sesión de usuario interactiva y por
tanto no se pueden transportar mediante soluciones. Después de importar la solución, juegue la aplicación
para autenticar conexiones. También puede crear las conexiones en el entorno de destino antes de importar la
solución.
Las aplicaciones de lienzo compartidas como copropietario con grupo de seguridad Azure Active Directory
(AAD ) no se pueden agregar a soluciones. Deje de comaprtir la aplicación antes de agregarla a una solución.
Las aplicaciones de lienzo no se mostrarán en el explorador de soluciones clásico. Use la experiencia moderna.
El acceso a la aplicación de lienzo (CRUD y seguridad) se administra completamente en PowerApps y no en la
base de datos de Common Data Service ().
Las operaciones de base de datos como copia de seguridad, restauración, y copia no son compatibles con las
aplicaciones de lienzo y flujos. Estas operaciones pueden dañar a aplicaciones de lienzo y flujos.
Al eliminar una solución administrada no se revertirá a la versión de otra aplicación de lienzo. En su lugar,
todas las versiones de la aplicación se eliminan.
Cuando se importa una solución que contiene un flujo no se crearán o asociarán conexiones necesarias. El flujo
se debe editar para corregir las conexiones.
Si usa soluciones administradas, se crea una personalización activa en la capa no administrada. Por tanto
las actualizaciones posteriores de la solución al flujo no se reflejarán.
Los flujos creados a partir de soluciones no se mostrarán en la lista "Flujos de equipo”. Se debe acceder a ellos
a través de una solución.
Los flujos desencadenados por botón no están disponibles en soluciones.
Los flujos desencadenados desde aplicaciones de Microsoft 365 como Excel no están disponibles en
soluciones.
Los flujos que conectan con SharePoint no están disponibles en soluciones.
Los flujos en soluciones no admiten la autenticación delegada. Por ejemplo, el acceso a un flujo no se concede
automáticamente en función del acceso a la lista de SharePoint de la que se creó el flujo.
Los conectores externos creados fuera de soluciones no se pueden agregar a soluciones en este momento.
Para obtener más información acerca de los componentes individuales de una solución, vea los temas siguientes:
Para las personalizaciones de entidad, relaciones de entidades, campos y mensajes, consulte Metadatos..
Para los formularios de entidades, consulte Formularios.
Para los procesos, consulte Procesos..
Para las reglas de negocio, consulte Reglas de negocio.
Usar la solución predeterminada de Common Data
Service
25/11/2019 • 4 minutes to read • Edit Online
TIP
Si tiene pensado distribuir las aplicaciones que crea, plantéese la posibilidad de cambiar el prefijo de personalización del editor.
Más información: Prefijo del editor de soluciones.
Avisos de privacidad
Al habilitar una solución, consiente en compartir sus datos con un sistema externo. Los datos importados en
Microsoft Dynamics 365 (online) desde sistemas externos están sujetos a la Declaración de privacidad y cookies de
Microsoft.
Puede importar y exportar soluciones desde y hacia Microsoft Dynamics 365 (online). Al hacerlo, las soluciones
(que podrían contener su nombre u otra información personal) se transfieren a través de una conexión segura
entre su equipo y los servidores de Microsoft. A su vez, el código de terceros importado a Dynamics 365 (online)
podría transferir eventualmente datos de clientes a un sistema externo (por ejemplo, InsideView ) o bien configurar
o expandir entidades que se sincronizan (es decir, exportan) con otros sistemas externos que están controlados por
una entidad que no es Microsoft.
Si una solución que se va a importar está diseñada para transferir datos de clientes fuera de los límites de
seguridad de Dynamics 365 (online), se recomienda que los administradores comprueben los tipos de datos de
clientes que recuperará el servicio, el software o la aplicación antes de cargar código de terceros en su instancia de
Dynamics 365 (online).
El cliente, y no Microsoft, controla la extracción de datos de clientes por parte de servicios, software, aplicaciones o
soluciones de terceros. El administrador controla el destino final y las directivas de privacidad aplicables a los
puntos de datos extraídos por estas soluciones externas; se recomienda una revisión adecuada de las directivas
aplicables por terceros que operan estos servicios/software/aplicaciones.
Vea también
Conocer los componentes de las aplicaciones controladas por modelos
Notas del producto: Patrones y principios para los creadores de soluciones
Importar, actualizar y exportar soluciones
25/11/2019 • 16 minutes to read • Edit Online
Puede importar soluciones manualmente usando los pasos siguientes. Importe únicamente las soluciones que
se obtengan de una fuente de confianza. Es posible que las personalizaciones incluyan un código que puede
enviar datos a orígenes externos.
1. Seleccione Soluciones en la barra de navegación izquierda.
2. En el menún de la lista de soluciones, seleccione Importar.
NOTE
No se puede editar un conjunto de reglas de enrutamiento activo. Por tanto, si importa una solución que incluye un
conjunto activo de reglas de enrutamiento a un entorno donde la regla ya existe con el mismo identificador, la
importación generará un error. Más información: Crear reglas para enrutar casos automáticamente
Actualizar soluciones
Hay ocasiones en las que podría desear instalar una actualización de una solución administrada existente. El
proceso es similar a instalar una nueva solución administrada, salvo en que obtendrá algunas opciones
diferentes. Si va a actualizar una solución que ha obtenido de otra persona, debe obtener instrucciones del
editor de soluciones sobre las opciones que debe elegir.
1. Seleccione Soluciones en la barra de navegación izquierda.
2. En el menún de la lista de soluciones, seleccione Importar.
3. En el cuadro de diálogo Importar solución, en el paso Seleccionar paquete de solución, seleccione
Elegir archivo y busque el archivo comprimido (.zip o .cab) que contiene la solución que desea actualizar.
4. Seleccione Siguiente.
5. Vea la información de la solución y seleccione Siguiente. Esta página mostrará una barra amarilla que
indica que Este paquete de solución contiene una actualización para una solución que ya está
instalada.
6. Tendrá las siguientes opciones:
Mantener personalizaciones (recomendado)
Al seleccionar esta opción se mantendrán las personalizaciones no administradas realizadas en los
componentes, pero algunas de las actualizaciones incluidas en esta solución no surtirán efecto.
Sobrescribir personalizaciones
Al seleccionar esta opción se sobrescriben las personalizaciones no administradas realizadas
anteriormente en los componentes incluidos en esta solución. Todas las actualizaciones incluidas
en esta solución surtirán efecto.
Elija la opción correcta y seleccione Siguiente.
7. Es posible que tenga que esperar unos momentos mientras la importación se completa. Vea los
resultados y, a continuación, seleccione Cerrar.
Si importó cambios que requieren publicación, debe publicar las personalizaciones antes de que estén
disponibles.
Los editores de soluciones pueden pedirle que exporte las personalizaciones no administradas existentes, que
actualice su solución administrada mediante la opción para sobrescribir personalizaciones y que vuelva a
importar las personalizaciones no administradas. Esto le permitirá asegurarse de que se han aplicado los
cambios que están esperando mientras se mantienen las personalizaciones.
Exportar soluciones
Se recomienda crear una solución no administrada para usar para exportar las personalizaciones. A
continuación exporte las personalizaciones periódicamente para tener una copia de seguridad en caso de que
surjan problemas. No puede exportar soluciones administradas. Puede exportar soluciones desde PowerApps o
puede exportar mediante la experiencia clásica.
IMPORTANT
Exportar la solución predeterminada no se admite.
Exportar de PowerApps
1. Seleccione Soluciones en la barra de navegación izquierda.
2. En la lista, seleccione la solución que desea exportar y luego seleccione Exportar.
3. Seleccione el tipo de paquete Como no administrado o Como administrado. Esto iniciará la
exportación, que puede tardar varios minutos en completarse. Una vez finalizada, el archivo .zip de
exportación está disponible en la carpeta de descarga especificada por el explorador web.
Exportación desde la experiencia clásica
1. Seleccione Soluciones desde la barra de navegación izquierda y después seleccione Cambiar a clásica.
2. En la lista, seleccione la solución que desea exportar y luego seleccione Exportar.
3. En el paso Publicar personalizaciones se le recordará que solo se exportan las personalizaciones
publicadas y podrá utilizar la opción Publicar todas las personalizaciones antes de seleccionar
Siguiente.
4. Si la solución contiene componentes necesarios que faltan verá el paso Faltan componentes
necesarios. Puede ignorar esta advertencia solo si tiene previsto volver a realizar la importación como
una solución no administrada en el entorno original. De lo contrario, siga las instrucciones del diálogo
para cancelar la exportación y agregar los componentes necesarios.
5. En el paso Exportar configuración del sistema (avanzado) puede elegir determinadas
configuraciones del sistema para incluir en la solución. Si la solución depende de grupos de configuración
del sistema, selecciónelos y elija Siguiente.
Consulte Opciones de configuración para la exportación de la solución a continuación para
obtener más información sobre la configuración que se incluirá con cada opción.
6. En el paso Tipo de paquete, es necesario elegir si se debe exportar la solución como una solución No
administrada o Administrada.
7. El siguiente paso le permite elegir una solución de destino para una versión determinada. Esta opción
suelen usarla los ISV que desean exportar una solución que sea compatible con una versión anterior. A
menos que pretenda importar esta solución en un entorno que no esté actualizado a la misma versión
que la versión del entorno que usted está usando, acepte la opción predeterminada.
8. Seleccone Exportar para descargar el archivo de la solución.
El comportamiento exacto para descargar archivos varía entre exploradores web.
Personalización Está habilitado el modo de aplicación Indica si está habilitada la carga de una
aplicación en una ventana de
explorador que no tenga barras de
menú, de herramientas ni de
direcciones.
Seguimiento de correo electrónico Permitir envío de mensajes de correo Indica si se permite a los usuarios
electrónico con direcciones sin resolver enviar correo electrónico a los grupos
sin resolver (los grupos deben seguir
teniendo una dirección de correo
electrónico).
Configuración ISV Configuración de apariencia del Puede definir estilos visuales para
calendario de servicios calendarios de servicio.
Pasos siguientes
Distribuir soluciones y revisiones
Navegue a una solución específica
25/11/2019 • 2 minutes to read • Edit Online
Si su organización ya tiene una solución específica con la que debe trabajar, esta es la forma de encontrarla. Para
crear una solución nueva, consulte Crear una solución propia.
Pasos siguientes
Supervisión y administración de procesos de flujo de trabajo
Crear una solución
25/11/2019 • 7 minutes to read • Edit Online
Puesto que la solución predeterminada contiene todos los componentes de soluciones, puede ser más fácil para
usted ubicar solo los componentes de la solución que ha personalizado si crea una solución independiente y
realiza toda la personalización ahí. Esto también ayuda exportar una copia de seguridad de la solución como un
archivo más pequeño. Si elige realizar esta acción, debe recordar siempre agregar los componentes de la
solución que edite para esta solución. Cuando crea nuevos componentes de la solución, debe crearlos siempre en
el contexto de esta solución. De esta forma el prefijo de personalización del editor de soluciones se aplica de
forma coherente. Después de crear los componentes de la solución en la solución, o de agregar componentes de
la solución existentes a esa solución, también puede modificarlos en la solución predeterminada si lo desea.
Para obtener más información sobre conceptos de una solución, consulte Trabajar con soluciones.
1. Inicie sesión en PowerApps y seleccione Soluciones en el panel de navegación de la izquierda.
2. Elija Nueva solución y rellene los campos requeridos para la solución.
CAMPO DESCRIPCIÓN
3. Seleccione Guardar.
Después de guardar la solución, puede ser conveniente agregar información a los campos que no son necesarios.
Estos pasos son opcionales. Use el campo Descripción para describir la solución y elija un recurso web HTML
como Página de configuración de la solución. La página de configuración la usan normalmente los ISV que
distribuyen soluciones. Si se ha configurado, un nuevo nodo Configuración aparece bajo el nodo Información
para mostrar este recurso web. Los desarrolladores usarán esta página para incluir instrucciones o controles para
permitir definir los datos de configuración o iniciar su solución.
Este diálogo le alerta de que un componente de la solución tiene dependencias de otros componentes de la
solución. Si selecciona No, no incluir los componentes necesarios, la solución puede generar errores si se
importa en otra organización donde no existen todos los componentes necesarios. Si la importación de la
solución es correcta, el comportamiento en la otra solución puede no ser idéntico al de la organización original,
porque los componentes están configurados de forma distinta a los de la solución de origen.
Normalmente, es más seguro incluir los componentes necesarios si tiene previsto exportar la solución a otra
organización. Si no agrega estos componentes cuando agrega un componente de la solución individual, puede
volver más tarde, seleccionar el componente de la solución que ha agregado y elija Agregar componentes
necesarios en el menú.
Si no se piensa exportar la solución, o si solo pretende exportarla como una solución no administrada e
importarla nuevamente en la misma organización, no es necesario incluir componentes necesarios. Si alguna vez
exporta la solución, verá otra advertencia indicando que faltan algunos componentes necesarios. Si va a importar
solo esta solución nuevamente en la misma organización, puede ignorar esta advertencia. Los pasos para
modificar la navegación de la aplicación o la cinta sin usar una herramienta de edición de terceros prevén que
exportará la solución nuevamente en la misma organización.
IMPORTANT
Si piensa incluir citas en soluciones, se recomienda no incluir solo citas y solo citas periódicas en soluciones independientes.
Si instala y desinstala soluciones independientes con tipos de citas diferentes, se mostrará un error de SQL Server y tendrá
que volver a crear las citas.
Vea también
Usar soluciones
Vista previa: Información general sobre las variables
de entorno
25/11/2019 • 7 minutes to read • Edit Online
IMPORTANT
Esta es una característica de vista previa.
Las vistas previas de características no se han diseñado para un uso de producción y pueden tener una funcionalidad
restringida. Estas características están disponibles antes del lanzamiento oficial para que los clientes puedan tener un
acceso anticipado y proporcionar comentarios.
¿Cómo funcionan?
Las variables de entorno se pueden crear y administrar en la interfaz de la solución moderna o mediante código.
Un archivo JSON aparte se crea en la paquete de solución para los valores, que también se puede administrar en
control de código fuente y modificar en una canalización de compilación. Se admite la exportación e importación
de Excel. Después de crear variables de entorno, puede usarlas como entradas en complementos, flujos y otros
componentes.
Valor predeterminado
Este campo forma parte de la entidad de definición de variables de entorno y no es obligatorio. Defina un valor
predeterminado para entornos de producción o cuando los valores no deban cambiar para diferentes entornos.
Valor
También conocido como valor actual o valor de reemplazo, este campo es opcional y es parte de la entidad de
valores de variable de entorno. Establezca el valor cuando desee reemplazar el valor predeterminado en el entorno
actual. Quite el valor de la solución si no desea usarlo en el siguiente entorno. Los valores también se separarán en
un archivo JSON aparte en el archivo solution.zip que se exporta.
NOTE
Un valor no puede existir sin una definición. La interfaz sólo permite la creación de un valor por definición.
La separación del valor predeterminado y el valor actual permite mantener la definición y el valor predeterminado
por separado del valor actual. También permite que extendamos la funcionalidad en el futuro para dar
compatibilidad con varios valores de ámbito de un contexto específico en tiempo de ejecución.
Notificaciones
Se muestra una notificación cuando las variables de entorno no tienen valores. Este es un aviso para establecer los
valores de modo que no fallen los componentes dependientes de variables. También permite que los partners
entreguen variables sin valores y se solicite al cliente que especifique los valores.
NOTE
Se recomienda a partners crear sus propias interfaces que requieran que los clientes proporcionen los valores. Las
notificaciones ayudan a evitar errores si se salta este paso.
Seguridad
Las entidades environmentvariabledefinition y environmentvariablevalue son propiedad del usuario o del equipo.
Al crear una aplicación que usa variables de entorno, asegúrese de asignar usuarios el nivel adecuado de permiso.
Más información: Seguridad en Common Data Service.
Limitaciones actuales
Almacenamiento en caché. Los complementos deberán ejecutar una consulta para capturar los valores.
Las aplicaciones de lienzo y los flujos pueden consumir variables de entorno al igual que datos de registro de la
entidad. En el futuro planeamos crear acciones adicionales en diseñadores de aplicaciones de lienzo y flujos.
Esto simplificará la creación y aportará mejor visibilidad de las variables de entorno que está usando una
aplicación o un flujo específicos.
Integración de Azure Key Vault para administración de secretos. Las variables de entorno actuales no deben
usarse para almacenar datos seguros como contraseñas y claves.
Los tipos de datos se validan en la interfaz de la solución moderna solo, pero no actualmente en el servidor
durante la vista previa.
No se aplican dependencias para algunos tipos de componentes.
Si usa Excel para importar variables de entorno, asegúrese de anteponer el prefijo del editor a SchemaName.
Vea también
Use complementos para ampliar los procesos de negocio
Ejemplos de la API web
Crear aplicación de lienzo desde cero mediante Common Data Service.
Crea un flujo con Common Data Service
Ver capas de las soluciones
25/11/2019 • 2 minutes to read • Edit Online
Las capas de las soluciones le permiten ver todos los cambios del componente que se producen debido a cambios
en la solución a lo largo del tiempo. En una capa de solución, puede explorar para ver los detalles cambiados y sin
cambios específicos de la propiedad para un componente.
Capas de las soluciones:
Permiten ver el orden en el que una solución ha cambiado un componente.
Permiten ver todas las propiedades de un componente en una solución específica incluidos los cambios en el
componente.
Se pueden usar para solucionar problemas de dependencias o disposición en capas de la solución mostrando
información detallada sobre los cambios para un componente que ha introducido un cambio en la solución.
2. Se muestra la página de capas de la soluciones. Muestra cada capa para el componente, como la entidad
Cuenta que se muestra aquí, con la capa más reciente en la parte superior. Para ver los detalles de una capa
de soluciones, selecciónela.
3. En el cuadro de diálogo Capas de las soluciones , la pestaña Cambiar propiedades muestra únicamente
las propiedades que se modificaron como parte de la capa de la solución específica.
4. Seleccione la pestaña Todas las propiedades para ver todas las propiedades, incluidas las propiedades con
y sin cambios, para la capa de las soluciones.
Vea también
Información general de las soluciones
Ver el historial de una solución
25/11/2019 • 3 minutes to read • Edit Online
Puede ver los detalles de las operaciones de una solución desde el área Soluciones de una aplicación basada en
modelos. Una operación puede ser la importación, exportación o eliminación de una solución. El historial de la
solución muestra información como versión de la solución, editor de soluciones, tipo de operación, hora de inicio y
finalización de la operación, y estado de la operación.
NOTE
Para ir al área Configuración desde una aplicación basada en modelo de la interfaz unificada de PowerApps,
seleccione Configuración en la barra de herramientas de la aplicación y, a continuación seleccione Opciones
avanzadas.
La página de detalles contiene información que incluye el Mensaje de excepción que puede ayudar a
diagnosticar la causa subyacente para este error de la operación. Algunos errores, incluidos errores de dependencia
de la solución, también pueden incluir vínculos a capas de la solución para que sea más fácil diagnosticar el
problema. El Id. de actividad puede resultar útil en casos en los que necesite ponerse en contacto con el soporte
al cliente de Microsoft.
Vea también
Ver capas de las soluciones
Información general de las soluciones
Use el comprobador de soluciones para validar sus
aplicaciones basadas en modelos en PowerApps
25/11/2019 • 18 minutes to read • Edit Online
Para cumplir complejos requisitos de negocio, los fabricantes de aplicaciones basadas en modelos pueden
terminar con frecuencia con soluciones muy avanzadas que personalizan y extienden la plataforma Common Data
Service. Con implementaciones avanzadas aumenta el riesgo, pues se presentan problemas de rendimiento,
estabilidad y fiabilidad que pueden afectar negativamente la experiencia de usuario. Identificar y comprender
cómo resolver estos problemas puede ser complejo y laborioso. Con la característica del comprobador de
soluciones puede realizar una completa verificación de análisis estático de sus soluciones con un conjunto de
reglas de prácticas recomendadas e identificar rápidamente estos patrones problemáticos. Cuando la
comprobación se completa, usted recibe un informe detallado que lista los problemas identificados, los
componentes y el código afectados y vínculos a la documentación que describe cómo solucionar cada problema.
El comprobador de soluciones analiza estos componentes de la solución:
Complementos Common Data Service
Actividades de flujo de trabajo personalizadas Common Data Service
Recursos web de Common Data Service (HTML y JavaScript)
Configuraciones de Common Data Service, como pasos de mensajes de SDK
El comprobador de soluciones trabaja con soluciones no administradas que se pueden exportar desde un entorno.
NOTE
En este tema se explica cómo ejecutar el comprobador de soluciones desde el portal de creadores de PowerApps.
También está disponible un módulo de PowerShell que puede usar para interactuar directamente con el servicio. El
módulo Microsoft.PowerApps.Checker.PowerShell se puede usar para análisis de soluciones administradas y no
administradas para versiones admitidas de entornos locales y en línea, o para automatizar e integrar el servicio en las
canalizaciones de compilación y de lanzamiento. Más información: Información general sobre
Microsoft.PowerApps.Checker.PowerShell
El comprobador de soluciones no funciona con soluciones que contienen JavaScript que usa ECMAScript 6 (2015) o
versiones posteriores. Cuando se detecta JavaScript que usa una de estas versiones, se informará de un problema de la
sintaxis JS001 para el recurso web.
No se pudo completar. Resultado en la fecha y hora La última solicitud de análisis no se completó correctamente.
Los últimos resultados correctos pueden descargarse.
Los resultados de comprobación de la solución también están disponibles para descarga. El archivo zip del
comprobador de soluciones se descarga en la carpeta especificada por el explorador web. El informe de descarga
está en formato Excel y contiene varias visualizaciones y columnas que pueden ayudarle a identificar el impacto,
tipo y la ubicación de cada problema detectado en la solución. Un vínculo a orientación detallada sobre cómo
resolver el problema también se proporciona.
1. En el panel izquierdo, seleccione Soluciones.
2. Junto a la solución no administrada donde desea descargar el informe del comprobador de soluciones,
seleccione ..., señale a Comprobador de soluciones y, a continuación seleccione Descargar resultados.
3. El archivo zip del comprobador de soluciones se descarga en la carpeta especificada por el explorador web.
Este es un resumen de cada columna del informe.
Complemento o actividad de flujo de il-avoid-batch-plugin Evite usar tipos de solicitud por lotes en
trabajo complementos y actividades de flujo de
trabajo de Common Data Service.
Vea también
Prácticas recomendadas e instrucciones para Common Data Service
Prácticas recomendadas e instrucciones para aplicaciones basadas en modelos
Problemas y soluciones comunes para el Comprobador de soluciones
Problemas y soluciones comunes para el
Comprobador de soluciones
25/11/2019 • 19 minutes to read • Edit Online
En este artículo se enumeran algunos problemas comunes que puede encontrar mientras usa el Comprobador de
soluciones. En los casos que correspondan, se proporcionan las soluciones alternativas.
Siempre que sea posible, el comprobador de soluciones intenta devolver un mensaje de error específico con un
vínculo a los detalles sobre la causa potencial y pasos de resolución. Seleccione 'Más información' para los
detalles.
Los errores que se producen durante el procesamiento en segundo plano de análisis fallarán con el estado No se
pudo completar y devuelven un mensaje de error en el portal de PowerApps además de enviar una notificación
por correo electrónico al solicitante.
La selección de notificación del portal vinculará a esta página de problemas comunes para la solución de
problemas adicionales. Si uno de los problemas comunes proporcionados no resuelve el problema, también se
devuelve un número de referencia. Proporcione este número de referencia al soporte técnico de Microsoft para su
posterior investigación.
8. Seleccione Guardar. La aplicación está habilitada ahora. Es posible que tenga que esperar unos minutos
para que el cambio se propague.
9. Volver a ejecutar el Comprobador de soluciones
IMPORTANT
Debe tener privilegios de administrador en Azure Active Directory (AAD) para editar aplicaciones empresariales.
Vea también
Prácticas recomendadas e instrucciones para Common Data Service
Prácticas recomendadas e instrucciones para aplicaciones basadas en modelos
Usar soluciones y revisiones segmentadas para
exportar activos seleccionados de la entidad
25/11/2019 • 12 minutes to read • Edit Online
Para conseguir un control más estrecho sobre lo que distribuye en soluciones y revisiones de solución, utilice
segmentación de la solución. Con la segmentación de soluciones, puede exportar soluciones con activos
seleccionados de la entidad, como campos de la entidad, formularios y vistas, en lugar de entidades completas con
todos los activos. Para crear soluciones y revisiones segmentadas, puede usar la interfaz de usuario de las
soluciones sin escribir código.
Además de tener más control sobre qué contiene una solución, podrá controlar qué incluye una revisión. Puede
crear una revisión para una solución primaria y exportarla como actualización de menor importancia en la
solución base. Cuando se clona una solución, el sistema resume todas las revisiones relacionadas en la solución
base y crea una nueva versión.
Cuando trabaja con las revisiones y soluciones clonadas, tenga en cuenta la siguiente información:
Una revisión representa una actualización incremental de menor importancia de la solución primaria. Una
revisión puede agregar o actualizar componentes y activos en la solución primaria cuando se instala en el
sistema de destino, pero no puede eliminar ningún componente o activo de la solución primaria.
Una revisión solo puede tener una solución primaria, pero una solución primaria tiene una o más
revisiones.
Una revisión se crea para una solución no administrada. No se puede crear una revisión para una solución
administrada.
Cuando exporta una revisión a un sistema de destino, debe exportarlo como revisión administrada. No use
revisiones no administradas en entornos de producción.
La solución primaria debe estar presente en el sistema de destino para instalar una revisión.
Puede eliminar o actualizar una revisión.
Si elimina una solución primaria, todas las revisiones secundarias también se eliminan. El sistema muestra
un mensaje de advertencia de que no puede deshacer la operación de eliminación. La eliminación se realiza
en una sola transacción. Si una de revisiones o la solución primaria no se elimina, la transacción completa
se revertirá.
Una vez que haya creado la primera revisión para una solución primaria, la solución pasa a estar bloqueada,
y no puede realizar ningún cambio en esta solución o exportarla. Sin embargo, si elimina todas sus
revisiones secundarias, la solución primaria se desbloquea.
Cuando se clona una solución base, todas las revisiones secundarias se resumen en la solución base y pasa
a ser una nueva versión. Puede agregar, editar, o eliminar componentes y activos en la solución clonada.
Una solución clonada representa la sustitución de la solución base cuando se instala en el sistema de
destino como solución administrada. Normalmente, puede usar una solución clonada para enviar una
actualización importante a la solución precedente.
Crear una solución segmentada con los activos de entidad que desee
Para crear una solución segmentada, comience con la creación de una solución no administrada y agregue los
recursos existentes. Puede agregar varias entidades del sistema o personalizadas y, para cada entidad, elija los
activos que desea incluir en la solución. El programa de instalación de tipo asistente le orienta paso a paso en el
proceso de agregar activos de entidad.
1. Vaya a Configuración > Soluciones.
2. Seleccione Nueva para crear una solución. Especifique la información en los campos obligatorios.
Seleccione Guardar y cerrar.
3. Abra la solución que acaba de crear. En la lista desplegable Agregar existente, seleccione Entidad.
4. En el cuadro de diálogo Seleccionar componentes de la solución, seleccione una o varias entidades que
desea agregar a la solución. Seleccione Aceptar.
5. Se abrirá el asistente. Siga las indicaciones del asistente para agregar activos para cada entidad
seleccionada a la solución.
6. Seleccione Publicar para que los cambios surtan efecto.
Las ilustraciones siguientes proporcionan un ejemplo de crear una solución segmentada eligiendo activos de
entidad desde las entidades Account , Case y Contact .
Comience eligiendo el componente Entidad.
En la revisión agregamos una nueva entidad personalizada llamada Book , e incluimos todos los activos de la
entidad Book en la revisión.
Clonar una solución
Cuando se clona una solución no administrada, todas las revisiones relacionadas con esta solución se resumen en
la versión recién creada de la solución original.
1. Vaya a Configuración > Soluciones.
2. En la lista, seleccione una solución no administrada que desea clonar. Seleccione Clonar solución. El
cuadro de diálogo que se abre contiene el nombre de la solución base y el nuevo número de versión.
Seleccione Guardar.
3. Seleccione Publicar para que los cambios surtan efecto.
Continuando con el ejemplo, verá el cuadro de diálogo Clonar para solucionar que indica el nuevo número de
versión de la solución.
Después de clonar, la nueva versión de la solución contiene tres entidades originales ( Account , Case , y Contact ),
y la entidad personalizada llamada Book que se agregó en su revisión. Cada entidad solo contiene los activos que
se agregaron en el ejemplo.
Pasos siguientes
Información general de las soluciones [Crear revisiones para simplificar las actualizaciones de la solución]
Cambiar el prefijo del editor de soluciones
25/11/2019 • 5 minutes to read • Edit Online
Cada personalización creada es parte de una solución. Cada solución tiene un editor. De forma
predeterminada, la solución con la que trabajará en PowerApps será la Solución predeterminada de
Common Data Service que está asociado con el Editor predeterminado de Common Data Service.
El prefijo de personalización predeterminado se asignará aleatoriamente para este editor, por ejemplo,
podría ser cr8a3 . Esto significa que el nombre de cada nuevo elemento de metadatos creado para su
organización tendrá que anexarse a los nombres usados para identificar los elementos. Si crea una nueva
entidad denominada Animal, el nombre único usado por Common Data Service sería cr8a3_animal . Lo
mismo se aplica a los nuevos campos (atributos), relaciones u opciones de conjuntos de opciones.
A menos que vaya a distribuir la solución para instalarla junto con los elementos de metadatos que se
crearon para otro editor de soluciones, no es realmente importante cuál es el prefijo de personalización. No
es visible para la mayoría de las personas que usan sus aplicaciones. Pero se expone a los desarrolladores y
a otras personas técnicas que hacen cosas como crear informes. Proporciona una forma rápida de entender
qué solución se agregó al elemento.
Por este motivo, a mucha gente le gusta cambiar el prefijo del editor de soluciones para que sea más
significativo, especialmente para ver elementos de metadatos que incluyen los importados de otras
soluciones.
NOTE
Si cambia el prefijo del editor de soluciones, debe hacerlo antes de crear nuevos elementos de metadatos. Puede
cambiar los nombres de los elementos de metadatos. Cuando cambie el valor del prefijo de personalización,
asegúrese de pulsar en el campo siguiente. La opción Prefijo de valor de opción generará automáticamente un
número según el prefijo de personalización. Este número se usa al agregar opciones de conjuntos de opciones y
ofrece un mensaje de la solución usada para agregar la opción.
Las propiedades administradas se aplican únicamente al incluir metadatos con una solución administrada e
importarlos en otro entorno. Estos valores permiten al responsable de la solución tener un determinado control
sobre el nivel de personalización que desea permitir a los usuarios que instalen su solución administrada.
TIP
Normalmente es una buena idea permitir a los usuarios ampliar metadatos en su solución que funcionen con los datos
profesionales. Esto les permitirá adaptar su solución a sus necesidades de la misma forma que pueden hacer para entidades
estándar.
Para los metadatos que ofrecen funcionalidades para admitir la solución pero no contienen datos empresariales, ésta es una
buena idea para limitar qué personalizaciones se permiten.
Las entidades tienen más propiedades administradas que ningún otro tipo de componente de la solución. Si la
entidad es personalizable, puede definir las siguientes opciones:
OPCIÓN DESCRIPCIÓN
Se puede modificar el nombre para mostrar Si el nombre para mostrar de la entidad puede modificarse.
Se puede cambiar propiedades adicionales Se aplica a cualquier elemento no cubierto por las otras
opciones.
Se pueden crear nuevos formularios Si se pueden crear nuevos formularios para la entidad.
Se pueden crear nuevos gráficos Si se pueden crear nuevos gráficos para la entidad.
Se pueden crear vistas nuevas Si se pueden crear nuevas vistas para la entidad.
Puede cambiar la relación jerárquica Si los valores de las relaciones jerárquicas se pueden cambiar.
Más información: Definir y consultar datos relacionados
jerárquicamente
Se puede habilitar la sincronización con el índice de Si la entidad se puede configurar para habilitar la búsqueda
búsqueda externo por relevancia. Más información: Configurar la búsqueda por
relevancia para mejorar resultados de búsquedas y
rendimiento
NOTE
Si este campo es un campo de Fecha y hora, habrá disponible una propiedad adicional de Puede cambiar el
comportamiento de fecha y hora. Más información: Comportamiento y formato del campo de fecha y hora
Determinadas personalizaciones que realizan cambios en la interfaz de usuario requieren que se publiquen antes
de que los usuarios puedan usarlas en la aplicación.
IMPORTANT
La preparación de personalizaciones puede tardar tiempo. Si aparece un mensaje que indica que la página del explorador ha
dejado de responder, espere a que responda y no la cierre.
Pasos siguientes
Conocer los componentes de las aplicaciones basadas en modelos
Prácticas recomendadas cuando trabaja con
soluciones
25/11/2019 • 2 minutes to read • Edit Online
Este tema describe las prácticas recomendadas cuando trabaja con soluciones.
NOTE
Debe tener un plan PowerApps de pago para usar flujos de datos, pero no se le cobra por separado por usar flujos de datos.
Pasos siguientes
Este artículo proporcionó una visión general de preparación de datos de autoservicio en el portal PowerApps, y las
formas en que puede usarlos. Los temas siguientes dan más detalles sobre los escenarios de uso comunes para
flujos de datos:
Creación y uso de flujos de datos en PowerApps
Agregar datos a una entidad en Common Data Service
Conexión a Azure Data Lake Storage Gen2 para el almacenamiento del flujo de datos
Uso de flujos de datos con orígenes de datos locales
Para obtener más información acerca de Power Query y actualización programada, puede leer estos artículos:
Información general sobre consulta en Power BI Desktop
Configurar la actualización programada
Para obtener más información sobre Common Data Model, puede leer el artículo de información general:
Common Data Model - visión general
Creación y uso de flujos de datos en PowerApps
25/11/2019 • 15 minutes to read • Edit Online
NOTE
No se admite la creación de flujos de datos que cargan datos a Azure Data Lake Storage Gen2 en el entorno predeterminado.
1. Inicie sesión en PowerApps, y compruebe en qué entorno está, busque aparece el selector de entorno cerca
del lado derecho de la barra de comandos.
5. En la página Elegir origen de datos, seleccione el origen de datos donde se almacenan las entidades, y
después seleccione Crear. La selección de orígenes de datos mostrada le permite crear entidades de flujo de
datos.
6. Después de seleccionar un origen de datos, se le pedirá que proporcione los valores de conexión, incluida la
cuenta para usar al conectarse al origen de datos.
7. Una vez conectado, seleccione los datos que desea usar para la entidad. Cuando seleccione datos y un
origen, el servicio de flujo de datos de Power Platform volverá a conectar posteriormente al origen de datos
para mantener los datos en el flujo de datos actualizado, con la frecuencia que seleccione más adelante en el
proceso de instalación.
Ahora que ha seleccionado los datos para usar en la entidad, puede usar el editor de flujo de datos para dar forma
o transformar los datos al formato necesario para usarlos en el flujo de datos.
2. Escriba la frecuencia de actualización del flujo de datos, la fecha de inicio, y la hora en UTC.
3. Seleccione Crear.
Pasos siguientes
Los siguientes artículos son útiles para obtener más información y escenarios al usar flujos de datos:
Agregar datos a una entidad en Common Data Service
Uso de flujos de datos con orígenes de datos locales
Conexión a Azure Data Lake Storage Gen2 para el almacenamiento del flujo de datos
Para obtener más información sobre Common Data Model:
Common Data Model - visión general
Más información sobre el esquema y entidades de Common Data Model en GitHub
Agregar datos a una entidad en Common Data
Service con Power Query
25/11/2019 • 5 minutes to read • Edit Online
En este procedimiento, creará una entidad en Common Data Service y la rellenará con datos de una fuente de
OData usando Power Query. Puede usar las mismas técnicas para integrar datos desde estos orígenes en línea y
locales, entre otros:
SQL Server
Salesforce
IBM DB2
Acceso
Excel
API web
Fuentes de OData
Archivos de texto
También puede filtrar, transformar y combinar datos antes de cargarlos en una entidad nueva o existente.
Si no tiene una licencia de PowerApps, puede suscribirse para obtener una gratuita.
Requisitos previos
Para seguir este tema, debe cambiar a un entorno en el que pueda crear entidades.
2. En la lista que aparece, haga clic o pulse en Integración de datos y haga clic o pulse en Nuevo proyecto
cerca de la esquina superior derecha de la ventana.
3. En la lista de orígenes de datos, haga clic o pulse en OData.
4. En Configuración de conexión, escriba o pegue esta dirección URL y, a continuación, seleccione
Siguiente:
https://services.odata.org/V4/Northwind/Northwind.svc/
6. (opcional) Modifique el esquema para adaptarlo a sus necesidades eligiendo qué columnas se incluirán,
transformando la tabla de una o varias maneras, agregando un índice o una columna condicional o
realizando otros cambios.
7. En la esquina inferior derecha haga clic o pulse en Siguiente.
WARNING
Si usa Power Query para agregar datos a una entidad existente, todos los datos de esa entidad se sobrescribirán.
Si selecciona Cargar en entidad existente, puede especificar la entidad a la que agregará datos desde la tabla
Clientes. Podría, por ejemplo, agregar los datos a la entidad Cuenta con la que se suministra Common Data
Service. En Columna de origen, puede especificar con mayor detalle que los datos de la columna ContactName
de la tabla Clientes se deben agregar a la columna Nombre en la entidad Cuentas.
Estamos encantados con esta funcionalidad y estamos deseando oír sus comentarios. Envíenos sus sugerencias y
comentarios sobre esta función.
Si aparece un mensaje de error sobre permisos, consulte con el administrador.
WARNING
Hay un límite de 500.000 filas por ejecución y por proyecto que se pueden cargar usando esta característica.
Conexión a Azure Data Lake Storage Gen2 para el
almacenamiento del flujo de datos
25/11/2019 • 11 minutes to read • Edit Online
Requisitos
Para usar Azure Data Lake Storage Gen2 para flujos de datos, necesita lo siguiente:
Un entorno de PowerApps. Cualquier plan de PowerApps permitirá crear flujos de datos con Azure Data Lake
Storage Gen2 como destino. Deberá estar autorizado en el entorno como fabricante.
Una suscripción a Azure. Necesita una suscripción a Azure para usar Azure Data Lake Storage Gen2.
Un grupo de recursos. Use un grupo de recursos que ya tiene, o bien cree uno nuevo.
Una cuenta de almacenamiento de Azure. La cuenta de almacenamiento debe tener la característica Data Lake
Storage Gen2 habilitada.
TIP
Si no dispone de una suscripción con Azure, cree una cuenta gratuita antes de comenzar.
Preparar Azure Data Lake Storage Gen2 para flujos de datos de Power
Platform
Antes de configurar el entorno con una cuenta Azure Data Lake Storage Gen2, debe crear y configurar una cuenta
de almacenamiento. A continuación se enumeran los requisitos para flujos de datos de Power Platform:
1. La cuenta de almacenamiento se debe crear en el mismo inquilino de Azure Active Directory que su inquilino
de PowerApps.
2. Es recomendable que la cuenta de almacenamiento se cree en la misma región que el entorno de PowerApps
donde planea usarla. Para determinar dónde está el entorno de PowerApps, póngase en contacto con el
administrador del entorno.
3. La cuenta de almacenamiento debe tener la característica de espacio de nombres jerárquico habilitada.
4. Deben concederse un rol de propietario en la cuenta de almacenamiento.
En las siguientes secciones se indican los pasos necesarios para configurar su cuenta de Azure Data Lake Storage
Gen2.
3. En la lista que aparece, seleccione Flujos de datos y en la barra de comandos seleccione Nuevo flujo de
datos.
4. Seleccione las entidades analíticas que desee. Estas entidades indican qué datos desea almacenar en la
cuenta Azure Data Lake Store Gen 2 de la organización.
Consideraciones y limitaciones
Hay algunas consideraciones y limitaciones a tener presentes para trabajar con almacenamiento de flujo de datos:
No se admite la vinculación de una cuenta de Azure Data Lake Store Gen 2 para almacenamiento de flujo de
datos en el entorno predeterminado.
Una vez que una ubicación de almacenamiento de flujo de datos está configurada para un flujo de datos, no se
puede cambiar.
De forma predeterminada, cualquier miembro del entorno puede tener acceso a los datos de flujo de datos con
el Conector de flujos de datos de Power Platform. Sin embargo, solo los propietarios de un flujo de datos
podrán tener acceso a sus archivos directamente en Azure Data Lake Storage Gen2. Para autorizar que
usuarios adicionales obtengan acceso a los datos de flujo de datos directamente en el lago, debe autorizarlos en
la Carpeta de CDM del lago de datos o en el propio lago de datos.
Cuando se elimina un flujo de datos, su Carpeta de CDM en el lago también se eliminará.
IMPORTANT
No debería cambiar los archivos creados por flujos de datos en el lago de su organización o agregar archivos a la Carpeta
de CDMde un flujo de datos. El cambio de los archivos podría afectar negativamente a flujos de datos o modificar su
comportamiento y no se admite. Los flujos de datos de Power Platform sólo conceden acceso a los archivos que crea en el
lago. Si autoriza a otros usuarios o servicios al filesystem usado por flujos de datos de Power Platform, solo concederá acceso
de lectura a los archivos o a las carpetas de ese filesystem.
Pasos siguientes
Este artículo proporcionó instrucciones sobre cómo conectar una cuenta de Azure Data Lake Storage Gen2 para
almacenamiento de flujo de datos.
Para obtener más información sobre flujos de datos, el Common Data Model, y Azure Data Lake Storage Gen2,
consulte estos artículos:
Preparación de los datos de autoservicio con flujos de datos
Creación y uso de flujos de datos en PowerApps
Conexión a Azure Data Lake Storage Gen2 para el almacenamiento del flujo de datos
Agregar datos a una entidad en Common Data Service
Para obtener más información sobre Azure Storage, consulte este artículo:
Guía de seguridad de Azure Storage
Para obtener más información sobre el Common Data Model, consulte estos artículos:
Common Data Model - visión general
Carpetas de Common Data Model
Definición del archivo de modelo de CDM
Puede formular preguntas en la Comunidad de PowerApps.
Uso de una puerta de enlace de datos local en flujos
de datos de Power Platform
25/11/2019 • 8 minutes to read • Edit Online
Requisitos previos
Una cuenta de PowerApps. ¿No tiene una? Suscribirse durante 30 días gratis.
Se requieren permisos administrativos sobre una puerta de enlace. Estos permisos se proporcionan de
forma predeterminada para las puertas de enlace que instale. Los administradores pueden conceder
permisos a otros usuarios para puertas de enlace.
Una licencia que admite datos locales de acceso mediante una puerta de enlace local. Para obtener más
información, consulte la sección “Conectar con los datos y sistemas" de Buscar la página del plan de
PowerApps adecuado”.
Las puertas de enlace y las conexiones locales se pueden crear y usar solo en el entorno predeterminado del
usuario. Más información: Trabajar con entornos y Microsoft PowerApps.
Para obtener más información sobre cómo instalar una puerta de enlace, consulte Comprender las puertas
de enlace de datos locales.
2. Proporcione los detalles de la conexión para la puerta de enlace de empresa que se usará para tener acceso
a los datos locales. Debe seleccionar la propia puerta de enlace, y proporcionar credenciales para la puerta
de enlace seleccionada. Solo aparecen en la lista las puertas de enlace para las que es administrador.
Puede cambiar la puerta de enlace de empresa usada para un flujo de datos determinado y cambiar la puerta de
enlace asignada a todas las consultas con la herramienta de creación de flujos de datos.
NOTE
El flujo de datos intentará encontrar o crear los orígenes de datos requeridos mediante la nueva puerta de enlace. Si no
puede hacerlo, no podrá cambiar la puerta de enlace hasta que todos los flujos de datos necesarios estén disponibles desde
la puerta de enlace seleccionada.
NOTE
Puede compartir solo algunos tipos de conexiones, como una conexión SQL Server. Para obtener más
información, consulte Compartir recursos de aplicación de lienzo en PowerApps.
Para obtener más información acerca de cómo administrar una conexión, consulte Administrar conexiones de
aplicación de lienzo en PowerApps.
Limitaciones
Hay algunas limitaciones conocidas al usar puertas de enlace y flujos de datos de empresa.
Cada flujo de datos puede usar únicamente una puerta de enlace. Por lo tanto, todas las consultas deben
configurarse con la misma puerta de enlace.
Cambiar la puerta de enlace afecta al flujo de datos completo.
Si se necesitan varias puertas de enlace, la práctica recomendada es crear varios flujos de datos (uno para
cada puerta de enlace) y usar las funcionalidades de referencia de cálculo o entidad para unificar los datos.
Los flujos de datos solo se admiten usando puertas de enlace de empresa. Las puertas de enlace personales
no estarán disponibles para selección en las listas desplegables y las pantallas de configuración.
Para obtener información sobre solucionar los problemas con puertas de enlace, o configurar servicio de puerta de
enlace para la red, consulte Comprender las puertas de enlace de datos locales.
Pasos siguientes
Creación y uso de flujos de datos en PowerApps
Agregar datos a una entidad en Common Data Service con Power Query
Conexión a Azure Data Lake Storage Gen2 para el almacenamiento del flujo de datos
Requisitos de licencia para entidades
25/11/2019 • 11 minutes to read • Edit Online
IMPORTANT
Este tema está obsoleto y se actualizará pronto para reflejar los últimos cambios en licencias aplicables a partir del 1 de
octubre de 2019. Para obtener la información más reciente sobre los requisitos de licencia para entidades, consulte Manual
de licencias de PowerApps.
Los creadores de aplicaciones pueden usar la mayoría de entidades disponibles en Common Data Service
(incluidas las entidades personalizadas y las entidades que forman parte del modelo común de datos) para crear
aplicaciones y flujos para los usuarios que tienen una licencia de Plan 1 de PowerApps o de Plan 1 de Microsoft
Flow. En algunos casos, las entidades contienen lógica de negocios compleja o están ligadas a aplicaciones de
Dynamics 365 para las que es necesario que los usuarios tengan una licencia específica.
Entidades con lógica de negocios Estas son entidades que usan una Plan de 2 PowerApps o Plan 2 de Flow
compleja lógica de negocios compleja de servidor.
Por ejemplo, cualquier entidad que use
un flujo de trabajo en tiempo real o un
complemento de código.
Entidades restringidas Son entidades que no son estándar con Un plan de Dynamics 365
Common Data Service pero se incluyen
en la aplicación basadas en modelo
disponible en Dynamics 365 (como
Dynamics 365 Sales o Dynamics 365
Customer Service) o una solución de
terceros. Por ejemplo, las entidades de
artículo de conocimientos, de objetivo y
de derecho.
NOTE
Las aplicaciones y los flujos que usan estas entidades requieren que la aplicación y el usuario del flujo tengan una licencia
adecuada (no el creador o desarrollador de la aplicación o flujo).
Para saber si ha agregado lógica de negocios compleja a las entidades, revise la lista de ensamblados de
complementos y de flujos de trabajo configurados en el entorno. Para la lista de entidades que pueden contener
lógica del lado del servidor después de instalar una aplicación basada en modelo en Dynamics 365 (como
Dynamics 365 Sales o Dynamics 365 Customer Service), consulte Entidades complejas que requieren licencias de
PowerApps Plan 2
Elementos que afectan a los requisitos de licencia al agregar lógica de negocios compleja
Los creadores de aplicaciones pueden agregar complementos de código y flujos de trabajo en tiempo real a las
entidades de Common Data Service, pero el hacerlo podría cambiar los requisitos de licencia para los usuarios de
aplicaciones ya implementadas. Los creadores de aplicaciones deben ser prudentes al agregar lógica de negocios
compleja a una entidad y primero deben comprobar qué aplicaciones usan la entidad y si los usuarios de esas
aplicaciones tienen las licencias adecuadas.
Entidades restringidas
Algunas entidades que están ligadas a la funcionalidad de las aplicaciones de Dynamics 365 requieren que los
usuarios de la aplicación tengan la licencia correspondiente para esa aplicación si desean crear, actualizar, o
eliminar registros dentro de las entidades. Para obtener una lista completa de las entidades restringidas, consulte
Entidades restringidas que requieren licencias de Dynamics 365.
Ejemplos de licencias
Barb e Isaac van a crear aplicaciones en PowerApps mediante Common Data Service para almacenar los datos.
Barb va a crear dos aplicaciones de lienzo:
La aplicación 1 – usa la entidad Cita junto con una entidad personalizada que almacena información
relacionada
La aplicación 2 – usa la entidad Cita junto con la entidad Incidente, que es una entidad restringida
Isaac va a crear dos aplicaciones controladas por modelos:
La aplicación 3 – usa la entidad Cita junto con una entidad personalizada que almacena información
relacionada
La aplicación 4 – usa la entidad Cita junto con la entidad Incidente, que es una entidad restringida
Barb e Isaac necesitan las licencias siguientes:
Barb necesita una licencia de Plan 1 de PowerApps para crear aplicaciones de lienzo usando Common Data
Service. Si tuviera que crear una base de datos o una entidad personalizada, necesitaría una licencia de Plan
2 de PowerApps.
Isaac necesita una licencia de Plan 2 de PowerApps para crear aplicaciones controladas por modelos.
Los usuarios de la aplicación necesitan las licencias siguientes:
Los usuarios de la aplicación 1 sólo necesitan una licencia de Plan 1 o de Plan 2 de PowerApps, ya que la
aplicación no tiene ninguna entidad con lógica de negocios compleja o entidades restringidas.
Los usuarios de la aplicación 2 necesitan una licencia de Dynamics 365 Customer Service, Enterprise
Edition (o un plan de Dynamics 365 o Dynamics 365 Customer Engagement) porque la aplicación incluye
una entidad restringida.
Los usuarios de la aplicación 3 necesitan una licencia de Plan 2 de PowerApps, ya que es una aplicación
controlada por modelos.
Los usuarios de la aplicación 4 necesitan una licencia de Dynamics 365 for Customer Service, Enterprise
Edition (o un plan de Dynamics 365 Customer Engagement) porque la aplicación incluye una entidad
restringida.
El plan de Dynamics 365 for Customer Service incluye una licencia de PowerApps Plan 2, que permite a los
usuarios ejecutar aplicaciones basadas en modelo.
Ahora, veamos lo que sucede cuando Isaac agrega un flujo de trabajo en tiempo real a la entidad personalizada
que Barb e Isaac usan en sus aplicaciones.
Barb e Isaac necesitan las licencias siguientes:
Barb sigue necesitando una licencia de Plan 1 de PowerApps para crear aplicaciones de lienzo usando
Common Data Service.
Isaac sigue necesitando una licencia de Plan 2 de PowerApps para crear aplicaciones controladas por
modelos.
Los usuarios de la aplicación necesitan las licencias siguientes:
Los usuarios de la aplicación 1 ahora necesitan una licencia de Plan 2 de PowerApps, ya que la aplicación
contiene una entidad con un flujo de trabajo en tiempo real.
Los usuarios de la aplicación 2 siguen necesitando una licencia de Dynamics 365 for Customer Service,
Enterprise Edition (o un plan de Dynamics 365 Customer Engagement) porque la aplicación incluye una
entidad restringida.
Los usuarios de la aplicación 3 siguen necesitando una licencia de Plan 2 de PowerApps, ya que es una
aplicación basada en modelos.
Los usuarios de la aplicación 4 siguen necesitando una licencia de Dynamics 365 for Customer Service,
Enterprise Edition (o un plan de Dynamics 365 Customer Engagement) porque la aplicación incluye una
entidad restringida.
El plan de Dynamics 365 for Customer Service incluye una licencia de PowerApps Plan 2, que permite a los
usuarios ejecutar aplicaciones basadas en modelo.
La única aplicación a la que afecta este cambio es la aplicación 1, que antes requería una licencia de Plan 1 de
PowerApps, pero ahora requiere una licencia de Plan 2 de PowerApps, porque contiene una entidad con lógica de
negocios compleja.
IMPORTANT
Este tema está obsoleto y se actualizará pronto para reflejar los últimos cambios en licencias aplicables a partir del 1 de
octubre de 2019. Para obtener la información más reciente sobre los requisitos de licencia para entidades, consulte Manual
de licencias de PowerApps.
Las entidades que incluyen la siguiente lógica compleja de servidor requieren que los usuarios de una aplicación o
flujo en el que se usen estas entidades tengan una licencia de Plan 2 de PowerApps o de Plan 2 de Microsoft Flow:
Complementos de código. Más información: Desarrollo de complementos
Flujos de trabajo en tiempo real. Más información: Procesos de flujo de trabajo
IMPORTANT
Solo los flujos de trabajo que se convierten a un flujo de trabajo en tiempo real se consideran en tiempo real y
sincrónicos. Los flujos de trabajo que se ejecutan en segundo plano pueden usarse con el plan adecuado de
PowerApps y no requieren licencias adicionales.
Para saber si ha agregado lógica de negocios compleja a las entidades, revise la lista de ensamblados de
complementos y de flujos de trabajo configurados en el entorno.
NOTE
Si está usando Common Data Service y no ha instalado una aplicación o una solución de terceros de Dynamics 365, el
entorno no tendrá entidades que contengan lógica compleja de servidor.
Cuenta
Acuerdo
Fecha de reserva del acuerdo
Incidente de reserva del acuerdo
Producto de reserva del acuerdo
Servicio de reserva del acuerdo
Tarea de servicio de reserva del acuerdo
Configuración de reserva del acuerdo
Fecha de factura del acuerdo
Producto de la factura del acuerdo
Configuración de factura del acuerdo
Subestado del acuerdo
Recurso que se puede reservar
Reserva de recursos que se pueden reservar
Encabezado de reserva de recursos que se pueden reservar
Categoría de recurso que se puede reservar
Asociación de categoría de recurso que se puede reservar
Característica del recurso que se puede reservar
Grupo de recursos que se pueden reservar
Alerta de reserva
Estado de alerta de reserva
Estado de reserva
Característica
Requisito de competencia (Obsoleto)
Competidor
Contacto
Activo del cliente
Delegación
Gasto
Cálculo de campo
Elemento de lista de precios de Field Service
Filtro
Seguir
Tipo de incidente
Producto de tipo de incidente
Servicio de tipo de incidente
Tarea de servicio de tipo de incidente
Trabajo de integración
Detalle del trabajo de integración
Ajuste de inventario
Producto de ajuste de inventario
Transferencia de inventario
Factura
Frecuencia de factura
Línea de factura
Detalle de línea de factura
Diario
Línea del diario
Cliente potencial
Nota
Origen de datos de OData v4
Oportunidad
Línea de oportunidad
Detalle de línea de oportunidad
Pedido
Producto de facturación de pedidos
Configuración de facturación de pedidos
Línea de pedido
Pago
Detalle de pago
Configuración de publicación
Configuración de regla de publicación
Código postal
Lista de precios
Elemento de lista de precios
Producto
Proyecto
Aprobación de proyecto
Detalle de línea de contrato de proyecto
Hito de línea de contrato de proyecto
Categoría de recursos de línea de contrato de proyecto
Categoría de transacciones de línea de contrato de proyecto
Parámetro de proyecto
Fases del proyecto
Usuario de estado de tareas de proyecto
Inscripción como miembro del equipo del proyecto
Pedido de compra
Factura de pedido de compra
Producto de pedido de compra
Recibo de pedido de compra
Producto de recibo de pedido de compra
Subestado del pedido de compra
Elemento de cola
Oferta
Incidente de reserva de la oferta
Producto de reserva de la oferta
Servicio de reserva de la oferta
Tarea de servicio de reserva de la oferta
Configuración de reservas de oferta
Producto de facturación de la oferta
Configuración de facturación de la oferta
Línea de oferta
Detalle de línea de oferta
Hito de línea de oferta
Categoría de recursos de línea de oferta
Categoría de transacciones de línea de oferta
Lista de precios de proyecto de oferta
Modelo de clasificación
Valor de la clasificación
Característica de requisito
Categoría de recursos de requisito
Preferencia de recursos de requisito
Estado de requisito
Solicitud de recursos
Requisito de recursos
Detalle de requisitos de recursos
RMA
Producto de RMA
Recibo de RMA
Producto de recibo de RMA
Subestado de RMA
Requisito de competencia de rol
Precio de rol
RTV
Producto de RTV
Subestado de RTV
Código impositivo
Detalle de código impositivo
Entrada de tiempo
Grupo de horarios
Detalle de grupo de horarios
Solicitud de indisponibilidad
Precio de categoría de transacciones
Usuario
Vista
Vista de muro
Almacén
Orden de trabajo
Incidente de orden de trabajo
Producto de orden de trabajo
Servicio de orden de trabajo
Tarea de servicio de orden de trabajo
Subestado de la orden de trabajo
Plantilla de trabajo
Licencias
Para obtener más información acerca de las licencias de PowerApps y Dynamics 365, consulte la página
Información general de las licencias.
Entidades con restricciones que requieren licencias de
Dynamics 365
25/11/2019 • 12 minutes to read • Edit Online
IMPORTANT
Este tema está obsoleto y se actualizará pronto para reflejar los últimos cambios en licencias aplicables a partir del 1 de
octubre de 2019. Para obtener la información más reciente sobre los requisitos de licencia para entidades, consulte Manual
de licencias de PowerApps.
Los creadores de aplicaciones pueden usar la mayoría de entidades disponibles en Common Data Service para
crear aplicaciones y flujos para los usuarios que solo tengan una licencia de Plan 1 de PowerApps. Sin embargo,
algunas entidades contienen lógica de negocios compleja que requiere a los usuarios de la aplicación tener una
licencia de Plan 2 de PowerApps o de Plan 2 de Microsoft Flow (para obtener más información, consulte
Requisitos de licencia de entidad). Un conjunto incluso inferior a entidades vinculadas a productos de Dynamics
365 requiere a los usuarios de aplicaciones de lienzo y controladas por modelos que tengan una licencia del
producto de Dynamics 365 correspondiente si tienen que crear, actualizar o eliminar registros dentro de las
entidades. Estas se conocen como entidades restringidas.
Las entidades pueden estar restringidas a una licencia de Dynamics 365 por las siguientes razones:
La entidad se usa para almacenar y mantener los datos de configuración específicos de productos que no se
suelen usar fuera de la aplicación.
La entidad viene acompañada por una lógica avanzada que crea y mantiene los datos de una forma específica
cuando se usan dentro de un producto de Dynamics 365.
Si una aplicación o un flujo lee únicamente información de una entidad, no se necesita una licencia de Dynamics
365, tan solo la licencia apropiada de PowerApps o Microsoft Flow.
Proceso de negocio de caso a orden de msdyn_bpf_989e9b1857e24af18787d5 Dynamics 365 for Field Service
trabajo 143b67523b o plan de Dynamics 365 Customer
Engagement
o plan de Dynamics 365
Trabajo del sistema de Field Service msdyn_fieldservicesystemjob Dynamics 365 for Field Service
o plan de Dynamics 365 Customer
Engagement
o plan de Dynamics 365
Miembro del equipo del proyecto msdyn_projecteam Dynamics 365 for Project Service
Automation
o plan de Dynamics 365 Customer
Engagement
o plan de Dynamics 365
Proceso de negocio de orden de trabajo msdyn_bpf_d3d97bac8c294105840e99 Dynamics 365 for Field Service
e37a9d1c39 o plan de Dynamics 365 Customer
Engagement
o plan de Dynamics 365
ENTIDAD NOMBRE LÓGICO LICENCIA NECESARIA
Licencias
Para obtener más información acerca de las licencias de PowerApps y Dynamics 365, consulte la página
Información general de las licencias.
Integración de SharePoint, OneNote y OneDrive con
Common Data Service
25/11/2019 • 2 minutes to read • Edit Online
Common Data Service ofrece soporte para integración de SharePoint, OneDrive y OneNote. La integración con
estos servicios requiere que primero permita la integración de SharePoint.
SharePoint Permita que los usuarios de la aplicación Administrar los documentos con
administren tipos de documento SharePoint
comunes, como Word, Excel,
PowerPoint, OneNote y creen carpetas Configurar la integración de SharePoint
para guardar y administrar esos
documentos que se almacenan sin
problemas en SharePoint desde
aplicaciones de Common Data Service.
OneDrive para la Empresa Los usuarios de la aplicación pueden Habilitar OneDrive para la Empresa
crear y administrar documentos
privados a los que se puede acceder
desde aplicaciones de Common Data
Service.
Common Data Service le permite conectarse directamente a sus datos mediante Power BI Desktop para crear
informes y para publicarlos en Power BI. Desde Power BI, los informes se pueden usar en paneles, se pueden
compartir con otros usuarios y se puede acceder a ellos desde varias plataformas en las aplicaciones móviles de
Power BI.
Requisitos previos
Pra usar Power BI con Common Data Service se requiere lo siguiente:
Descargar e instalar Power BI Desktop, que es una aplicación gratuita que se ejecuta en su equipo local. Puede
descargar Power BI desktop aquí.
Un entorno de Common Data Service con permisos de creador para acceder al portal y permisos de lectura
para acceder a los datos de las entidades.
3. Copie la raíz de la dirección URL en la nueva pestaña, ésta es la dirección URL única para el entorno. La
dirección URL tendrá el formato https://yourenvironmentid.crm.dynamics.com/, asegúrese de no
copiar el resto de la dirección URL. Téngala a mano para que pueda usarla cuando cree su informe de
PowerBI.
2. Haga clic en Servicios en línea y en Common Data Service (Beta) de la lista de conectores. Haga clic en
Conectar.
3. Pegue la Dirección URL de entorno de Common Data Service en el campo Dirección URL del
servidor y haga clic en Aceptar. Si ésta es la primera vez, se le pedirá que inicie sesión usando las mismas
credenciales que usa para conectarse a PowerApps y a Common Data Service.
4. El explorador mostrará todas las entidades disponible para su entorno agrupadas en tres carpetas. Amplíe la
carpeta Modelo común de datos.
Modelo común de datos: son las entidades estándar que se suelen usar y que están disponibles en todos
los entornos como parte del modelo común de datos.
Entidades personalizadas: son las entidades que ha creado o importado en el entorno.
Sistema: contiene todas las entidades de su entorno, incluido el modelo común de datos y las entidades
personalizadas.
5. Seleccione la entidad Cuenta para obtener una vista previa de los datos en el panel derecho y haga clic en
Cargar.
6. La entidad ahora se carga en el informe y puede empezar a crear informes o puede repetir este proceso para
agregar entidades adicionales.
7. Haga clic en el campo Nombre en panel Campo para agregar una nueva visualización al lienzo de informes.
Ahora puede repetir este proceso y cambiar las visualizaciones para crear el informe.
Uso de conjuntos de opciones
Los conjuntos de opciones se usan en entidades para ofrecer una lista desplegable de valores a un usuario en
aplicaciones y flujos. Cuando se usa el conector de Power BI, los campos del conjunto de opciones se presentarán
como dos columnas para mostrar tanto el valor único como el valor de visualización.
Como ejemplo, si tuviera un conjunto de opciones en la entidad llamado ApprovalStatus, vería dos campos en
Power BI:
ApprovalStatus: mostrará un valor entero único para cada elemento del conjunto de opciones, esto resulta
útil al aplicar filtros, de modo que no se verá afectado si realiza cambios futuros en el nombre para mostrar.
ApprovalStatus_display: mostrará el nombre para mostrar fácil de usar del elemento y se usa con mayor
frecuencia al mostrar la opción en una tabla o un gráfico.
APPROVALSTATUS APPROVALSTATUS_DISPLAY
1 Enviado
2 En revisión
3 Aprobado
4 Rechazado
Pasos siguientes
Administrar campos de una entidad
Definir relaciones entre entidades
Traducir texto de entidades y campos personalizados
a otros idiomas
25/11/2019 • 2 minutes to read • Edit Online
Después de crear texto de entidades y campos personalizado, quizás desee traducirlo a otros idiomas.
1. Abra el explorador de soluciones.
2. En el explorador de soluciones, en la barra de herramientas Acciones, seleccione Exportar traducciones.
3. Después de completar la exportación, abra o guarde el archivo comprimido (.zip) que contenga las etiquetas
exportadas en su equipo o red local.
4. Extraiga el archivo XML del archivo comprimido (.zip) y tradúzcalo.
Herramientas de la Comunidad
Easy Translator es una herramienta desarrollada para PowerApps por la comunidad de XrmToolbox. Use Easy
Translator para exportar e importar traducciones con información contextual.
NOTE
Las herramientas de la comunidad no se admiten en Microsoft. Si tiene alguna duda relacionada con la herramienta, póngase
en contacto con el editor. Más información: XrmToolBox.
Pasos siguientes
Importar texto de entidad y campo traducido
Importar entidades y texto de campo traducidos a
una aplicación
25/11/2019 • 3 minutes to read • Edit Online
Si ha personalizado texto de entidad o campo, como etiquetas de campos o valores de lista desplegable, puede
ofrecer a los usuarios de su organización que no trabajan con la versión del idioma base del entorno texto
personalizado en sus propios idiomas. Para ello, exporte las cadenas de texto de todas las personalizaciones para
traducirlas a los idiomas que se usan en su organización.
Después de la traducción, debe importar las cadenas de texto traducidas en el entorno para que los usuarios
puedan aprovechar los cambios.
IMPORTANT
El archivo que importe debe ser un archivo comprimido que contiene los archivos CrmTranslations.xml y
[Content_Types].xml en la raíz.
No puede importar texto traducido que tenga más de 500 caracteres. Si alguno de los elementos del archivo de
traducción tiene más de 500 caracteres, se producirá un error en el proceso de importación. Si esto sucede, revise la línea
que provocó el error, reduzca el número de caracteres e intente de nuevo la importación. Tenga en cuenta también que
después de importar texto traducido, debe volver a publicar las personalizaciones.
NOTE
La publicación de personalizaciones pueden interferir en el funcionamiento normal del sistema. Le recomendamos que
programe la publicación cuando perjudique lo menos posible a los usuarios.
Herramientas de la Comunidad
Easy Translator es una herramienta desarrollada para PowerApps por la comunidad de XrmToolbox. Use Easy
Translator para exportar e importar traducciones con información contextual.
NOTE
Las herramientas de la comunidad no se admiten en Microsoft. Si tiene alguna duda relacionada con la herramienta, póngase
en contacto con el editor. Más información: XrmToolBox.
Pasos siguientes
Exportar texto personalizado de entidades y campos para su traducción
Manual para desarrolladores de Common Data
Service
25/11/2019 • 4 minutes to read • Edit Online
El generador de AI es una nueva funcionalidad de la plataforma de energía para los equipos que tienen experiencia
empresarial para automatizar los procesos fácilmente y predecir los resultados para mejorar el rendimiento
empresarial. El generador de AI es una solución llave en mano que aporta la eficacia de Microsoft AI a través de
una experiencia de apuntar y hacer clic y se integra directamente en PowerApps y en el proceso de automatización.
Más información: ¿Qué es el generador de AI?
Puede crear modelos de AI mediante la opción nuevo generador de AI en el panel de navegación izquierdo de
make.powerapps.com. Más información: tipos de modelos de AI
Puede usar modelos de inteligencia artificial creados mediante el generador de AI en lienzo y aplicaciones
controladas por modelos para agregar inteligencia a sus aplicaciones. Más información: uso del generador de AI en
PowerApps
Lista de seminarios web de PowerApps
19/11/2019 • 8 minutes to read
Estos seminarios web pueden ayudarle a aprovechar las características y funciones de Microsoft PowerApps. Los
seminarios web están disponibles a petición tras su difusión en directo. Tenga en cuenta que, en algunos casos,
deberá volver a escribir los detalles de registro y, después, recibirá un vínculo a la grabación por correo electrónico.
Serie de SharePoint
Rapidly build applications with PowerApps Studio (Creación rápida de aplicaciones con PowerApps Studio)
por Karthik Bharathy Ver ahora
Rebuilding an InfoPath Designer form in PowerApps (Generación de un formulario de InfoPath Designer en
PowerApps)
por Daniel Christian Véalo ahora
Tips for InfoPath Designers Transitioning to PowerApps - Part 1 (Sugerencias para diseñadores de InfoPath
que deseen realizar la transición a PowerApps, parte 1)
por Audrie Gordon Véalo ahora
Tips for Transitioning from InfoPath to PowerApps - Part 2 (Sugerencias para pasar de InfoPath a
PowerApps, parte 2)
por Audrie Gordon Véalo ahora
Introducing List Forms in SharePoint Online (Introducción a los formularios de lista en SharePoint Online)
por Ankit Saraf Véalo ahora
Microsoft se esfuerza por mejorar el rendimiento de todas las aplicaciones que se ejecutan en la plataforma de
PowerApps, pero puede seguir los procedimientos recomendados que aparecen en este tema para mejorar el
rendimiento de las aplicaciones que se crean.
Cuando un usuario abre una aplicación, esta pasa a través de estas fases de ejecución antes de mostrar cualquier
interfaz de usuario:
1. Autenticación del usuario: se le pide al usuario, si esa persona nunca antes abrió la aplicación, que inicie
sesión con las credenciales de cualquier conexión que la aplicación necesite. Si el mismo usuario vuelve a abrir
la aplicación, se le podría pedir nuevamente que lo haga, en función de las directivas de seguridad de la
organización.
2. Obtención de los metadatos: se recuperan metadatos, como la versión de la plataforma de PowerApps en la
que se ejecuta la aplicación y los orígenes desde donde se deben recuperar los datos.
3. Inicialización de la aplicación: se realiza cualquier tarea especificada en la propiedad OnStart.
4. Presentación de pantallas: se presenta la primera pantalla con controles que la aplicación ha rellenado con
datos. Si el usuario abre otras pantallas, la aplicación las presenta mediante el mismo proceso.
Puede incluir la misma fórmula en la función Concurrent para disminuir el tiempo total que necesita la operación:
Concurrent(
ClearCollect( Product, '[SalesLT].[Product]' ),
ClearCollect( Customer, '[SalesLT].[Customer]' ),
ClearCollect( SalesOrderDetail, '[SalesLT].[SalesOrderDetail]' ),
ClearCollect( SalesOrderHeader, '[SalesLT].[SalesOrderHeader]' ))
La información de contacto con cambia con frecuencia, así como tampoco lo hacen los valores predeterminados ni
la información del usuario. Por tanto, puede usar habitualmente esta técnica también con las funciones Defaults y
User.
Uso de la delegación
Siempre que sea posible, use las funciones que delegan el procesamiento de datos al origen de datos en lugar de
recuperar los datos en el dispositivo local para el procesamiento. Si una aplicación debe procesar localmente los
datos, la operación requiere mucha más potencia de procesamiento, memoria y ancho de banda de red,
especialmente si el conjunto de datos es grande.
Tal como se muestra en esta lista, distintos orígenes de datos admiten la delegación desde distintas funciones:
Por ejemplo, las listas de SharePoint admiten la delegación desde la función Filter, pero no desde la función
Search. Por tanto, debería usar Filter en lugar de Search para buscar elementos en una galería si la lista de
SharePoint contiene más de 500 elementos. Para más sugerencias, consulte la entrada de blog Working with large
SharePoint lists in PowerApps (Trabajo con listas grandes de SharePoint en PowerApps).
Pasos siguientes
Revise los estándares de codificación para maximizar el rendimiento de la aplicación y mantener las aplicaciones
más fáciles de mantener.
Problemas y soluciones habituales de PowerApps
05/11/2019 • 20 minutes to read
En este artículo se enumeran algunos de los problemas habituales que puede experimentar al usar PowerApps. Si
procede, se proporcionan soluciones alternativas.
1. Problema de inicio de sesión en determinados dispositivos móviles Android cuando se usa el
autenticador (21 de agosto de 2019)
En ciertos dispositivos y escenarios, puede experimentar errores de inicio de sesión al usar el autenticador.
Esto se debe a que el OEM limita esta funcionalidad. Para obtener más información sobre el error y las
posibles mitigaciones, vea aquí.
2. Problema de cámara en dispositivos móviles Android (1 de enero de 2019)
Si el control de cámara deja de funcionar en un dispositivo Android, vuelva a publicar la aplicación y vuelva
a abrirla en el dispositivo. El control de cámara se actualizó en respuesta a un cambio en el sistema
operativo Android y la aplicación se beneficiará de la actualización cuando vuelva a publicarla.
3. Desplazamiento en galerías de alto flexible (27 de noviembre de 2018)
Si tiene una limitación al desplazarse con el dedo, levante el dedo y empiece a desplazarse de nuevo.
4. Dibujar con mouse o entrada táctil no es suave en PowerApps para Windows (Sep. 24, 2018)
El control Pen solo tiene compatibilidad parcial con el dibujo mediante el mouse o la entrada táctil en la
aplicación de Windows. Los trazos pueden ser intermitentes. Para suavizar el dibujo, use un lápiz o ejecute la
aplicación en un explorador.
5. Varios controles de medios en PowerApps Mobile (2 de agosto de 2018)
PowerApps Mobile se ejecuta en diversos tipos de dispositivos y, algunos de ellos, tienen limitaciones
específicas de esa plataforma:
Puede reproducir vídeos en varios controles de vídeo al mismo tiempo en todas las plataformas, excepto
en dispositivos iPhone.
Puede grabar audio con varios controles de micrófono al mismo tiempo en todas las plataformas,
excepto en el reproductor de web.
6. Volver a publicar aplicaciones (2 de agosto de 2018)
Si no ha actualizado la aplicación en varios meses, vuelva a publicarla para sincronizarla con la versión más
reciente de PowerApps, que incluye mejoras de rendimiento y otras correcciones.
7. Memoria insuficiente del explorador (23 de julio de 2018)
Si se queda sin memoria mientras usa PowerApps, considere la posibilidad de descargar una versión de 64
bits de Chrome, Microsoft Edge o Internet Explorer.
8. Iniciar un sitio web desde una aplicación insertada (10 de mayo de 2018)
Los exploradores Internet Explorer y Microsoft Edge pueden bloquear una dirección URL o sitio web que
esté en modo protegido o en una zona de seguridad más baja que el sitio web en el que se carga la
aplicación. Para resolver este problema, cambie la configuración de seguridad y privacidad de su explorador.
9. Controles de cuadro combinado en galerías (3 de mayo de 2018)
Cuando se usa un control de cuadro combinado en una galería, sus selecciones no se conservan cuando el
usuario se va desplazando por la galería. Esto no ocurre si se usa un control de cuadro combinado en una
galería que no permite el desplazamiento. En estos momentos no existe una solución alternativa.
10. Usar una imagen personalizada como icono de aplicación (11 de abril de 2018)
En la versión 3.18043 de PowerApps Studio para Windows, no se puede cargar una imagen personalizada
para usarla como icono de aplicación. Para solucionar este problema, utilice para ello PowerApps Studio
para web. Como alternativa, puede usar uno de los iconos que se incluyen con PowerApps Studio para
Windows y personalizar el color de fondo.
11. Copiar y pegar pantallas entre aplicaciones (4 de abril de 2018)
No se admite actualmente copiar y pegar pantallas entre aplicaciones. Para resolver este problema, agregue
una nueva pantalla a la aplicación de destino, copie los controles de la pantalla de la aplicación de origen y, a
continuación, péguelos en la pantalla de la aplicación de destino.
12. Cambiar el diseño de los formularios de SharePoint (7 de marzo de 2018)
Al personalizar un formulario de lista de SharePoint en algunos idiomas, si se intenta cambiar el diseño de
vertical (valor predeterminado) a horizontal, la aplicación puede mostrar varios errores (triángulos amarillos
en controles). Para resolver estos errores y conservar el diseño horizontal, haga clic en Deshacer.
13. Control Data Table
Si copia y pega un control Data Table en el que la propiedad Elementos se ha establecido en una fórmula
que contenga una función Filter, la fórmula de la propiedad Elementos del nuevo control Data Table
termina una con nombres de campo que contienen el sufijo _1. Esto hace que los nombres de campo no
sean válidos y que no se muestren datos en la tabla de datos. Para solucionar este problema, antes de copiar
el control, confirme que la función Filter no hace referencia a ningún campo del origen de datos que se
llame igual que alguna columna del control Data Table. En caso de que haga referencia, cambie el nombre
de la columna en el control Data Table. O bien, quite el sufijo _1 sufijo de los nombres de campo no válidos
para que coincidan con los nombres de la entidad.
14. Controles de la cámara en PowerApps Studio para Windows
PowerApps Studio para Windows puede bloquearse si agrega un control de cámara o abre una aplicación
que utilice un control de cámara. Para evitar este problema, use PowerApps Studio para web cuando
agregue o use un control de cámara.
15. Versión 2.0.700 en dispositivos Android
Si instala la versión 2.0.700 en un dispositivo Android y no puede abrir aplicaciones (o una aplicación deja
de responder), desinstale PowerApps, reinicie el dispositivo y vuelva a instalar PowerApps.
16. Galería "vacía" al abrir una aplicación
Si genera una aplicación automáticamente a partir de datos, guarda la aplicación y, a continuación, vuelve a
abrirla, la galería podría no mostrar datos inmediatamente. Para resolver este problema, escriba al menos un
carácter en el cuadro de búsqueda y, a continuación, elimine el texto que ha escrito. La galería mostrará los
datos según lo previsto.
17. Actualización de PowerApps en Windows 8.1
Si instala PowerApps en un equipo que ejecuta Windows 8 o Windows 8.1, mantenga la aplicación de la
Tienda Windows abierta y activa, use el acceso a Configuración para comprobar si hay actualizaciones y, a
continuación, instálelas.
18. Conectores personalizados y Common Data Service
Si una aplicación creada con PowerApps compilación 2.0.540 o anterior está basada en una base de datos
de Common Data Service y al menos un conector personalizado en un entorno diferente, tendrá que
implementar el conector en el mismo entorno que la base de datos y actualizar la aplicación para que use el
nuevo conector. De lo contrario, un cuadro de diálogo notificará a los usuarios de que no se encontró la API.
Para más información, consulte Environments overview (Información general de los entornos).
19. Ejecución de una aplicación en Windows 8.1
Si instala esta actualización para Windows 8.1, no podrá ejecutar aplicaciones que se abran en PowerApps
Studio en ese sistema operativo. Aunque todavía puede ejecutar aplicaciones que se abren en
powerapps.com o con PowerApps Mobile.
20. Nombres de columna con espacios
Si usa una lista de SharePoint o una tabla de Excel en la que un nombre de columna contenga un espacio,
PowerApps lo reemplazará por "_x0020_" . Por ejemplo, "Nombre de columna" en SharePoint o Excel
aparecerá como "Nombre_x0020_de_columna" en PowerApps cuando se muestre en el diseño de datos o
se use en una fórmula.
21. Cambio de un flujo en una aplicación compartida
Si agrega un flujo a una aplicación, la comparte y, después, agrega un servicio o cambia una conexión en el
flujo, debe quitar el flujo de la aplicación compartida, volver a agregar el flujo y volver a compartir la
aplicación. De lo contrario, los usuarios que desencadenan el flujo obtendrán un error de autenticación.
22. Uso de una versión localizada.
Si está ejecutando la versión 2.0.531 en Windows 8.1, no podrá escribir en un control de entrada de texto
si el dispositivo está configurado para un idioma que requiere una ventana IME.
23. Control de la cámara en Windows Phone
Una aplicación que contiene un control de la cámara puede bloquearse si abre la aplicación en Windows
Phone que ejecuta la compilación 10.0.10586.107. Para evitar este problema, actualice a la compilación más
reciente (por ejemplo, mediante la ejecución del Asesor de actualizaciones).
24. Abrir una aplicación a partir de una plantilla
Si está ejecutando la versión 2.0.500 o anterior, aparece un mensaje de error al intentar crear una aplicación
a partir de una plantilla. Debe actualizar la versión para poder usar esta característica.
Si está ejecutando la versión 2.0.510 o posterior, puede aparecer una advertencia al intentar crear una
aplicación a partir de una plantilla. No obstante, puede cerrar el mensaje y crear la aplicación.
25. Escaneo de un código de barras
Para más información sobre las limitaciones y los procedimientos recomendados al utilizar un control
Código de barras, consulte Escanear un código de barras.
26. Creación y modificación de aplicaciones en un explorador
En la versión web de PowerApps Studio puede hacer muchas de las cosas que puede hacer en PowerApps
Studio para Windows, pero no todas. Para más información, consulte Create an app in a browser (Crear una
aplicación en un explorador).
27. Cambio de un campo de título en una entidad
Si cambia el campo de título para una entidad que hace referencia a otras entidades mediante una o varias
búsquedas, se producirá un error al intentar guardar el cambio. Para evitar este problema, quite todas las
búsquedas de la entidad para la que desea cambiar el campo de título, realice el cambio y vuelva a crear las
búsquedas. Para más información acerca de las búsquedas, consulte Crear una relación entre entidades.
28. Aplicaciones que se conectan a SharePoint local
Si comparte una aplicación que se basa en conexiones que no se comparten automáticamente (por ejemplo,
un sitio de SharePoint local), los usuarios que abran la aplicación en un explorador verán un cuadro de
diálogo sin texto al hacer clic o pulsar en Iniciar sesión. Para cerrar el cuadro de diálogo, haga clic o pulse
en el icono Cerrar (X) en la esquina superior derecha. El cuadro de diálogo no aparece si se abre la
aplicación en PowerApps Studio o PowerApps Mobile. Para más información acerca de las conexiones
compartidas, consulte Share app resources (Uso compartido de recursos de la aplicación).
29. Cuando PowerApps genera una aplicación a partir de datos, el campo utilizado para ordenar y
buscar no está configurado automáticamente.
Para configurar este campo, modifique la fórmula Elementos de la galería, tal como se describe en las
secciones para filtrar y ordenar en Add a gallery (Agregar una galería).
30. Para las aplicaciones que se crean a partir de datos, solo se puede acceder a los 500 primeros
registros de un origen de datos.
En general, PowerApps funciona con orígenes de datos de cualquier tamaño mediante la delegación de
operaciones al origen de datos. Para las operaciones que no se pueden delegar, PowerApps mostrará una
advertencia en el momento de la creación y operará solo en los 500 primeros registros del origen de datos.
Consulte el artículo Filter function (Función de filtro) para más información acerca de la delegación.
31. Se debe dar un formato de tabla a los datos de Excel.
Para más información acerca de las limitaciones al usar Excel como origen de datos, consulte Cloud-storage
connections (Conexiones de almacenamiento en la nube).
32. Se admiten listas personalizadas de SharePoint pero no las bibliotecas, algunos tipos de columnas
de la lista o las columnas que admiten varios valores o selecciones.
Para más información, consulte SharePoint Online.
33. No se admite la co-autoría. Un autor a la vez, por favor.
Puede dañar una aplicación o sobrescribir los cambios de otros usuarios si más de una persona está
modificando a la vez la misma aplicación. Cierre la aplicación antes de que otra persona la edite.
34. A veces, se tarda un tiempo en poder usar una aplicación recién compartida.
En algunos casos, una aplicación recién compartida no estará disponible de inmediato. Espere unos
instantes y estará disponible.
35. En Control de formulario, no puede modificar datos con una tarjeta personalizada.
Falta la propiedad Update en la tarjeta personalizada de existencias, que es necesaria para escribir los
cambios. Para solucionar este problema:
Seleccione el control de formulario e inserte una tarjeta mediante el panel derecho en función del campo
que desee que muestre la tarjeta.
Desbloquee la tarjeta, tal como se describe en Understanding data cards (Comprender tarjetas de datos).
Quite o reorganice los controles dentro de la tarjeta como considere oportuno, tal como lo haría con la
tarjeta personalizada.
36. Una aplicación que se ejecuta en Android 5.0, Nexus 6 con Webview de versiones v48 o v49,
puede bloquearse.
Los usuarios pueden solucionar este problema mediante la actualización a una versión anterior de Webview
(3x) o a Android 6.0.
37. El uso de la cámara puede estar deshabilitado temporalmente si hay poca memoria.
Si el dispositivo móvil tiene poca memoria, la cámara se deshabilita temporalmente para evitar el bloqueo
del dispositivo.
38. El conector de vídeo de Office 365 no es compatible.
39. La galería de tarjetas está en desuso.
Las aplicaciones existentes que utilizan esta característica seguirán ejecutándose por el momento pero no
puede agregar una galería de tarjetas. Reemplace las galerías de tarjetas por los nuevos controles Editar
formulario y Mostrar formulario .
Obtención de un identificador de sesión o un
identificador de aplicación de lienzo
07/10/2019 • 2 minutes to read
Si encuentra un problema con una aplicación de lienzo que se creó en PowerApps, puede ayudar a Microsoft a
solucionar el problema de manera mucho más efectiva si les proporciona un identificador de sesión, un
identificador de aplicación o ambos para ese problema.
Cuando usa Power Query for Excel para crear una entidad personalizada que contiene datos de orígenes externos,
podría aparecer este error:
“El administrador de Azure Active Directory ha establecido una política que le impide usar esta función.
Póngase en contacto con al administrador, que puede conceder los permisos para esta función en su nombre”.
El error se produce si Power Query no puede acceder a los datos de la organización en PowerApps o Common
Data Service. Esta situación surge bajo dos grupos de circunstancias:
Un administrador de inquilinos de Azure Active Directory (Azure AD ) ha deshabilitado la capacidad de los
usuarios de consentir aplicaciones que acceden a datos de la compañía en su nombre.
Uso de un inquilino de Active Directory no administrado. Un inquilino no administrado es un directorio sin un
administrador global que se creó para completar una oferta de suscripción de autoservicio. Para corregir este
escenario, los usuarios primero deben realizar la conversión a un inquilino administrado y después seguir una
de las dos soluciones a este problema. Las soluciones se describen en la siguiente sección.
Para resolver este problema, el administrador de Azure Active Directory debe seguir cualquiera de los
procedimientos que se presentan más adelante en este artículo.