データ ソースレコードを更新し、エラーをクリアします。

説明

Revert 関数は、データ ソース全体またはそのデータ ソース内の 1 つのレコードを更新します。 他のユーザーが加えた変更が表示されます。

元に戻されたレコードについては、RevertErrors 関数から返されたすべてのエラーをテーブルからクリアします。

Patch またはその他のデータ操作の後に Errors 関数で競合がレポートされた場合は、競合するバージョンのあるレコードを Revert で元に戻したうえで、変更を再適用してください。

Revert には、戻り値はありません。 動作の数式内でのみ使用できます。

構文

Revert( DataSource [, Record ] )

  • DataSource – 必須。 元に戻す対象のデータ ソース。
  • Record - 省略可能。 元に戻す対象のレコード。 レコードを指定しない場合、データ ソース全体が元に戻されます。

この例では、IceCream という名前のデータ ソースを元に戻します。このデータ ソースは次のテーブルのデータから始まります。

別のデバイスのユーザーが、Strawberry レコードの Quantity プロパティを 400 に変更します。 この変更を知らないまま、自分がほぼ同時に同じレコードの同じプロパティを 500 に変更したとします。

Patch 関数を使用して、レコードを更新します。
Patch( IceCream, First( Filter( IceCream, Flavor = "Strawberry" ) ), { Quantity: 500 } )

Errors テーブルを確認すると、エラーが表示されています。

レコード メッセージ エラー
{ ID: 1, Flavor: "Strawberry", Quantity: 300 } "空白" "The record you are trying to modify has been modified by another user.Please revert the record and try again." ErrorKind.Conflict

Error 列に基づいて、Reload ボタンの OnSelect プロパティは、次の数式に設定されます。
Revert( IceCream, First( Filter( IceCream, Flavor = "Strawberry" ) ) )

Reload ボタンを選択すると、Errors テーブルがになり、Strawberry の新しい値が読み込まれます。

この既に行われた変更の上から変更を再適用すると、競合が解決されるので、変更が成功します。