Функция Revert
Применимо к: приложениям Canvas
Обновляет содержимое и удаляет ошибки для записей в источнике данных.
Описание
Функция Revert обновляет весь источник данных или одну запись в нем. Вы сможете увидеть изменения, внесенные другими пользователями.
Для записей, для которых выполняется функция Revert, также удаляются все ошибки в таблице, возвращенные функцией Errors.
Если функция Errors сообщает о конфликте после выполнения функции Patch или другой операции с данными, выполните для записи функцию Revert, чтобы повторно применить изменение к конфликтующей версии.
отменить изменения не имеет возвращаемого значения. Ее можно использовать только в формуле поведения.
Синтаксис
отменить изменения( DataSource [, Record ] )
- Источник данных – обязателен. Это источник данных, который требуется восстановить.
- Запись - Необязательно. Запись, которую требуется восстановить. Если запись не указана, выполняется восстановление всего источника.
Пример
В этом примере восстанавливается источник данных под названием IceCream, который начинается со значений из следующей таблицы:
Пользователь на другом устройстве изменяет значение свойства Quantity записи Strawberry на 400. Примерно в тот же момент вы меняете значение того же свойства в той же записи на 500, не зная о параллельном изменении.
Чтобы обновить запись, вы используете функцию Patch:
Patch( IceCream, LookUp( IceCream, Flavor = "Strawberry" ), { Количество: 500 } )
В таблице Errors вы обнаруживаете ошибку:
Запись | Столбец | Сообщение | Ошибка |
---|---|---|---|
{ ID: 1, Вкус: "Клубника", Количество: 300 } | пустой | "Запись, которую вы пытаетесь изменить, была изменена другим пользователем. Восстановите ее и повторите попытку". | ТипОшибки.Конфликт |
Для записи в столбце Ошибка вы можете воспользоваться кнопкой Reload (Перезагрузить), у которой для свойства OnSelect установлена следующая формула:
отменить изменения(Мороженое, LookUp(Мороженое, Вкус = "Клубника"))
После нажатия кнопки Reload таблица Errors очищается, а для свойства Strawberry загружается новое значение:
Вы применяете это изменение, перезаписывая предыдущее, и операция выполняется успешно, так как конфликт устранен.