Revert 関数
適用対象: キャンバス アプリ
データ ソース の レコード を更新し、エラーをクリアします。
内容
Revert 関数は、データ ソース全体またはそのデータ ソース内の 1 つのレコードを更新します。 他のユーザーが加えた変更が表示されます。
元に戻されたレコードについて、Revert は Errors 関数から返されたすべてのエラーを テーブル からクリアします。
Patch またはその他のデータ操作の後に Errors 関数で競合がレポートされた場合は、競合するバージョンのあるレコードを Revert で元に戻したうえで、変更を再適用してください。
元に戻す には戻り値がありません。 動作の数式 内でのみ使用できます。
構文
元に戻す( データソース [, レコード ])
- DataSource – 必須。 元に戻す対象のデータ ソース。
- 記録 - オプション。 元に戻す対象のレコード。 レコードを指定しない場合、データ ソース全体が元に戻されます。
例
この例では、IceCream という名前のデータ ソースを元に戻します。このデータ ソースは次のテーブルのデータから始まります。
別のデバイスのユーザーが、Strawberry レコードの Quantity プロパティを 400 に変更します。 この変更を知らないまま、自分がほぼ同時に同じレコードの同じプロパティを 500 に変更したとします。
Patch 関数を使用して、レコードを更新します。
パッチ( IceCream、LookUp( IceCream、Flavor = "Strawberry" )、 { 数量: 500 } )
Errors テーブルを確認すると、エラーが表示されています。
レコード | カラム | メッセージ | エラー |
---|---|---|---|
{ ID: 1、フレーバー:「ストロベリー」、数量: 300 } | 空白 | 「変更しようとしているレコードは別のユーザーにより変更されています。 レコードを元に戻してからやり直してください。」 | エラーの種類.競合 |
Error 列に基づき、Reload ボタンの OnSelect プロパティは、次の数式に設定されます。
元に戻す( IceCream, LookUp( IceCream, フレーバー = "ストロベリー" ) )
Reload ボタンを選択すると、Errors テーブルが 空 になり、Strawberry の新しい値が読み込まれます。
この既に行われた変更の上から変更を再適用すると、競合が解決されるので、変更が成功します。