Funkcja Revert w usłudze PowerAppsRevert function in PowerApps

Odświeża rekordy źródła danych i czyści błędy.Refreshes and clears errors for the records of a data source.

OpisDescription

Funkcja Revert odświeża całe źródło danych lub jeden rekord w tym źródle danych.The Revert function refreshes an entire data source or a single record in that data source. Dzięki temu można zobaczyć zmiany wprowadzone przez innych użytkowników.You'll see changes that other users made.

W przypadku przywróconych rekordów funkcja Revert czyści także wszelkie błędy z tabeli zwrócone przez funkcję Errors.For the records reverted, Revert also clears any errors from the table that the Errors function returned.

Jeśli funkcja Errors zgłosi konflikt po wykonaniu operacji Patch lub innej operacji na danych, zastosuj funkcję Revert względem danego rekordu, aby zacząć pracę od wersji powodującej wystąpienie konfliktu i wprowadź ponownie zmianę.If the Errors function reports a conflict after a Patch or other data operation, Revert the record to start with the conflicting version and reapply the change.

Funkcja Revert nie ma wartości zwracanej.Revert has no return value. Można jej używać tylko w formule dotyczącej zachowań.You can use it only in a behavior formula.

SkładniaSyntax

Revert( ŹródłoDanych [, Rekord ] )Revert( DataSource [, Record ] )

  • ŹródłoDanych — wymagane.DataSource – Required. Źródło danych, które chcesz przywrócić.The data source that you want to revert.
  • Rekord — opcjonalnie.Record - Optional. Rekord, który chcesz przywrócić.The record that you want to revert. Jeśli nie określisz rekordu, zostanie przywrócone całe źródło danych.If you don't specify a record, the entire data source is reverted.

PrzykładExample

W tym przykładzie przywrócimy źródło danych o nazwie IceCream. Na początku znajdują się dane w tej tabeli:In this example, you'll revert the data source named IceCream, which starts with the data in this table:

Załóżmy, że użytkownik na innym urządzeniu zmienia właściwość Quantity rekordu Strawberry na wartość 400.A user on another device changes the Quantity property of the Strawberry record to 400. W tym samym czasie zmieniasz tę samą właściwość tego samego rekordu na wartość 500, nie wiedząc o zmianie wprowadzonej przez innego użytkownika.At about the same time, you change the same property of the same record to 500, not knowing about the other change.

Za pomocą funkcji Patch aktualizujesz rekord:You use the Patch function to update the record:
Patch( IceCream, First( Filter( IceCream, Flavor = "Strawberry" ) ), { Quantity: 500 } ) Patch( IceCream, First( Filter( IceCream, Flavor = "Strawberry" ) ), { Quantity: 500 } )

W tabeli Errors znajdujesz błąd:You check the Errors table and find an error:

RekordRecord KolumnaColumn WiadomośćMessage BłądError
{ ID: 1, Flavor: "Strawberry", Quantity: 300 }{ ID: 1, Flavor: "Strawberry", Quantity: 300 } wartość pustablank „Rekord, który próbujesz zmodyfikować, został zmodyfikowany przez innego użytkownika. Przywróć ten rekord i spróbuj ponownie.”"The record you are trying to modify has been modified by another user. Please revert the record and try again." ErrorKind.ConflictErrorKind.Conflict

Kliknij przycisk Załaduj ponownie dla kolumny Error. Właściwość OnSelect przycisku zostanie ustawiona na następującą formułę:Based on the Error column, you have a Reload button for which the OnSelect property to set to this formula:
Revert( IceCream, First( Filter( IceCream, Flavor = "Strawberry" ) ) ) Revert( IceCream, First( Filter( IceCream, Flavor = "Strawberry" ) ) )

Po wybraniu przycisku Załaduj ponownie tabela Errors będzie pusta i zostanie załadowana nowa wartość rekordu Strawberry:After you select the Reload button, the Errors table is empty, and the new value for Strawberry has been loaded:

Ponownie zastosuj zmianę na poprzedniej zmianie. Zmiana zostanie uwzględniona, ponieważ konflikt został rozwiązany.You reapply your change on top of the previous change, and your change succeed because the conflict has been resolved.