Conocer la integración de formularios de SharePoint

Ahora puede fácilmente personalizar cualquier formulario de biblioteca de Microsoft Lists o SharePoint en Power Apps. En este artículo, le guiaremos por los detalles de 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. Esta funcionamiento se logra con la ayuda de las fórmulas generadas y del control SharePointIntegration.

Comprensión del formulario generado predeterminado

El formulario generado predeterminado consta de los siguientes controles y sus valores predeterminados correspondientes:

  • FormScreen1: esta es la pantalla que contiene el formulario.

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

    • Origen de datos: la lista para la que se ha personalizado el formulario.

    • Elemento: el 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 )
      

      Sugerencia

      El patrón de fórmula anterior (usando ... SharePointDatasourceName.Selected) trabaja para la propiedad Item de un formulario. Vea la sección a continuación para que un patrón de fórmula establezca el valor de un registro 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: el control responsable de la comunicación de las acciones de los usuarios entre SharePoint y Power Apps.

    • Origen de datos: la lista para la que se ha personalizado el formulario.

      'YourListName'

    • OnNew: establece SharePointForm1 en el modo nuevo.

      NewForm(SharePointForm1)

    • OnNew: 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 en SharePoint (lo que hacen es cambiar 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).

Comprensión del control SharePointIntegration

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

Objeto de integración de SharePoint.

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:

Selected: el elemento seleccionado de la lista.

OnNew: acciones a realizar cuando un usuario selecciona el botón Nuevo o abre el formulario Crear artículo en SharePoint.

OnView: acciones a realizar cuando un usuario selecciona un artículo o abre el formulario Detalles del artículo en SharePoint.

OnEdit: acciones a realizar cuando un usuario selecciona el botón Editar todo o abre el formulario Editar artículo en SharePoint.

OnSave: acciones a realizar cuando un usuario selecciona el botón Guardar en SharePoint.

OnCancel: acciones a realizar 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

Ahora que comprende mejor el formulario generado predeterminado y el control SharePointIntegration, puede cambiar las fórmulas para personalizar aún más los formularios. Al personalizar formularios, tenga en cuenta algunas de estas cosas:

  • 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.

    Sugerencia

    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.

  • No olvide incluir RequestHide() en la fórmula OnSuccess de todos los formularios. Si lo olvida, SharePoint no sabrá cuándo ocultar el formulario. Además, evite ejecutar código importante después de llamar a RequestHide(), para que todo el código se ejecute mientras el formulario aún está visible y puede ejecutar la lógica.

  • Como no puede controlar que se oculte un formulario cuando un usuario selecciona Cancelar en SharePoint, asegúrese de restablecer los formularios de la fórmula OnCancel del control SharePointIntegration.

  • Es posible que las propiedades del control SharePointIntegration no estén disponibles en OnStart u OnVisible. Asimismo, estos eventos solo se ejecutan una vez durante la carga de la lista. Puede usar fórmulas 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 utilice 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 activarse en segundo plano incluso cuando el formulario no está visible.

Consulte también

Nota

¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)

La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).