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

説明

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 } "空白" "変更しようとしているレコードは別のユーザーにより変更されています。レコードを元に戻してからやり直してください。" ErrorKind.Conflict

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

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

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