Compartir a través de


Conocer la integración de formularios de SharePoint

Puede personalizar un formulario para una lista de SharePoint cuando integre una lista en Power Apps. En este artículo, verá cómo funcionan estos formularios y cómo puede personalizarlos.

Si ha personalizado un formulario de una lista, es probable que haya observado que el formulario generado predeterminado funciona con todas las operaciones, como crear, mostrar o editar un elemento. Este funcionamiento se logra con la ayuda de las fórmulas generadas y del control SharePointIntegration.

Nota

Cuando crea o ve una lista en SharePoint, se le redirige automáticamente a Microsoft Lists. La lista siempre se puede encontrar en Microsoft Lists y en SharePoint. Más información en ¿Qué es una lista en Microsoft 365?

Comprensión del formulario generado predeterminado

El formulario generado predeterminado consta de los siguientes controles y sus valores predeterminados correspondientes. Las fórmulas se generan automáticamente dentro de los valores predeterminados.

  • FormScreen1: esta pantalla contiene el formulario.

  • SharePointForm1: este formulario se usa para crear, mostrar o editar el elemento de lista.

    • Origen de datos: la lista para la que se ha personalizado el formulario. Por ejemplo, una lista de SharePoint actúa como origen de datos.

    • Elemento: un elemento seleccionado de la lista. Para su comodidad, este se establece en el elemento First() de la lista al trabajar en Power Apps Studio.

      If( IsBlank(SharePointIntegration.Selected) || IsEmpty(SharePointIntegration.Selected),
          First('*YourListName*'),
      SharePointIntegration.Selected )
      

      Propina

      Este patrón de fórmula utiliza ... SharePointDatasourceName.Selected y funciona para la propiedad Item de un formulario. Consulte Problemas comunes con el objeto SharePointIntegration para ver un patrón de fórmula para establecer el valor de un registro de SharePoint.

  • OnSuccess: una vez que el elemento se crea o se guarda correctamente, el formulario se restablece y SharePoint oculta el formulario.

    ResetForm(SharePointForm1); RequestHide()
    
  • SharePointIntegration: comunica las acciones de los usuarios entre SharePoint y Power Apps.

    Property Description Ejemplo
    Origen de datos La lista para la que se ha personalizado el formulario. YourListName
    OnNew Establece SharePointForm1 en el modo nuevo. NewForm(SharePointForm1)
    OnView Establece SharePointForm1 en el modo de vista. ViewForm(SharePointForm1)
    OnEdit Establece SharePointForm1 en modo de edición. EditForm(SharePointForm1)
    OnSave Envía los cambios a SharePointForm1. Tras el envío correcto del formulario, se ejecuta la fórmula SharePointForm1.OnSuccess. SubmitForm(SharePointForm1)
    OnCancel Restablece los cambios realizados en SharePointForm1. SharePoint siempre oculta el formulario cuando un usuario selecciona Cancelar en SharePoint. ResetForm(SharePointForm1)

Estos valores predeterminados garantizan que el formulario funciona cuando se ejecuta dentro de SharePoint. Los valores predeterminados cambian el modo del formulario de Power Apps cuando el usuario interactúa con él en SharePoint, y garantizan que los cambios se envían a SharePoint.

Nota

Si bien puede copiar manualmente un formulario de un entorno a otro, actualmente no existe un método en Power Apps automatizado para copiar un formulario de un entorno a otro.

Comprensión del control SharePointIntegration

El control SharePointIntegration comunica las acciones de los usuarios entre SharePoint y Power Apps.

Captura de pantalla de un objeto de integración de SharePoint como se ve en Power Apps.

Nota

Solo puede acceder a las propiedades del control SharePointIntegration cuando el formulario se ejecuta en SharePoint, es decir, no al personalizarlo en Power Apps Studio. Es posible que estas propiedades no estén disponibles en OnStart u OnVisible.

El control SharePointIntegration tiene las siguientes propiedades:

Property Efecto o descripción
Seleccionada El elemento seleccionado de la lista.
OnNew Se activa cuando un usuario selecciona el botón Nuevo o abre el formulario Crear artículo en SharePoint.
OnView Se activa cuando un usuario selecciona un artículo o abre el formulario Detalles del artículo en SharePoint.
OnEdit Se activa cuando un usuario selecciona el botón Editar todo o abre el formulario Editar artículo en SharePoint.
OnSave Se activa cuando un usuario selecciona el botón Guardar en SharePoint.
OnCancel Se activa cuando un usuario selecciona el botón Cancelar en SharePoint.
SelectedListItemID Identificador del elemento seleccionado en una lista.
Origen de datos La lista que contiene el registro que el formulario mostrará, editará o creará. Si cambia esta propiedad, las propiedades Selected y SelectedItemID podrían dejar de funcionar.

Personalización del formulario predeterminado

Puede cambiar las fórmulas para personalizar aún más los formularios.

Considere estas recomendaciones cuando personalice formularios:

  • Use la fórmula OnSave del control SharePointIntegration para personalizar lo que sucede cuando un usuario selecciona Guardar en SharePoint. Si tiene varios formularios, asegúrese de enviar los cambios correspondientes solamente al formulario que usa actualmente.

    Propina

    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.

  • Incluya RequestHide() en la fórmula OnSuccess de todos los formularios. Sin esta función, SharePoint no sabrá cuándo ocultar el formulario. Evite ejecutar importante código después de llamar a RequestHide(). El código debe ejecutarse mientras el formulario aún está visible y es capaz de ejecutar la lógica.

  • No puede controlar la ocultación de un formulario cuando un usuario selecciona Cancelar en SharePoint. Restablezca siempre los formularios en la fórmula OnCancel del control SharePointIntegration.

  • Las propiedades del control SharePointIntegration podrían no estar disponibles en OnStart o OnVisible. Estos eventos se ejecutan solo una vez mientras se carga la lista. Puede usar OnNew, OnView u OnEdit para ejecutar lógicas antes de que el formulario se muestre al usuario cada vez.

Problemas comunes con el objeto SharePointIntegration

  • Cuando el valor de SharepointIntegration.Selected se establece en una colección en la propiedad OnView, no muestra el valor más reciente. La forma recomendada de solucionar este problema es utilizar SharepointIntegration.SelectedListItemID y, a continuación, realizar una búsqueda en la tabla para obtener el selectedRecord.

    Por ejemplo, para la propiedad OnView:

    • En lugar de:

      Set( selectedItem,
      SharePointIntegration.Selected );
      
    • Uso:

      Set( selectedLookupItem,
      LookUp( YourSharepointIntegrationObject, 
      ID=SharePointIntegration.SelectedListItemID ) );
      
  • Las variables de colección no se restablecen al cerrar el formulario Power Apps y el estado se conserva durante toda la sesión. Por eso, si hay casos de uso en los que es necesario restablecer las variables, borre las variables en la propiedad OnView del objeto SharePointIntegration.

  • No use funciones imperativas como Launch() en las propiedades de SharePointIntegration (como OnNew y OnView). Este uso puede provocar un comportamiento inesperado, ya que los eventos del ciclo de vida de SharePointIntegration (como el cambio de selecciones) pueden desencadenarse en segundo plano incluso cuando el formulario no está visible.