Revert 関数

適用先: キャンバス アプリ

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

内容

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

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

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

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

構文

Revert( DataSource [, Record ] )

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

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

IceCream の例。

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

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

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

レコード メッセージ エラー
{ ID: 1, Flavor: "Strawberry", Quantity: 300 } blank 「変更しようとしているレコードは別のユーザーにより変更されています。 レコードを元に戻してからやり直してください。」 ErrorKind.Conflict

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

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

Strawberry ice cream の新しい値。

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

競合が解決された変更が再適用されました。