Функция Revert в PowerAppsRevert function in PowerApps

Обновляет содержимое и удаляет ошибки для записей в источнике данных.Refreshes and clears errors for the records of a data source.

ОписаниеDescription

Функция Revert обновляет весь источник данных или одну запись в нем.The Revert function refreshes an entire data source or a single record in that data source. Вы сможете увидеть изменения, внесенные другими пользователями.You'll see changes that other users made.

Для записей, для которых выполняется функция Revert, также удаляются все ошибки в таблице, возвращенные функцией Errors.For the records reverted, Revert also clears any errors from the table that the Errors function returned.

Если функция Errors сообщает о конфликте после выполнения функции Patch или другой операции с данными, выполните для записи функцию Revert, чтобы повторно применить изменение к конфликтующей версии.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.

Функция Revert не возвращает никакого значения.Revert has no return value. Ее можно использовать только в формуле поведения.You can use it only in a behavior formula.

СинтаксисSyntax

Revert(источник_данных[, запись])Revert( DataSource [, Record ] )

  • источник_данных — обязательный аргумент.DataSource – Required. Это источник данных, который требуется восстановить.The data source that you want to revert.
  • запись — необязательный аргумент.Record - Optional. Запись, которую требуется восстановить.The record that you want to revert. Если запись не указана, выполняется восстановление всего источника.If you don't specify a record, the entire data source is reverted.

ПримерExample

В этом примере восстанавливается источник данных под названием IceCream, который начинается со значений из следующей таблицы:In this example, you'll revert the data source named IceCream, which starts with the data in this table:

Пользователь на другом устройстве изменяет значение свойства Quantity записи Strawberry на 400.A user on another device changes the Quantity property of the Strawberry record to 400. Примерно в тот же момент вы меняете значение того же свойства в той же записи на 500, не зная о параллельном изменении.At about the same time, you change the same property of the same record to 500, not knowing about the other change.

Чтобы обновить запись, вы используете функцию Patch: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 } )

В таблице Errors вы обнаруживаете ошибку:You check the Errors table and find an error:

ЗаписьRecord СтолбецColumn СообщениеMessage ОшибкаError
{ID: 1, Flavor: "Strawberry", Quantity: 300}{ ID: 1, Flavor: "Strawberry", Quantity: 300 } пустоblank "Запись, которую вы пытаетесь изменить, была изменена другим пользователем. Восстановите ее и повторите попытку"."The record you are trying to modify has been modified by another user. Please revert the record and try again." ErrorKind.ConflictErrorKind.Conflict

Для записи в столбце Ошибка вы можете воспользоваться кнопкой Reload (Перезагрузить), у которой для свойства OnSelect установлена следующая формула: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" ) ) )

После нажатия кнопки Reload таблица ошибок очищается, а для свойства Strawberry загружается новое значение:After you select the Reload button, the Errors table is empty, and the new value for Strawberry has been loaded:

Вы применяете это изменение, перезаписывая предыдущее, и операция выполняется успешно, так как конфликт устранен.You reapply your change on top of the previous change, and your change succeed because the conflict has been resolved.