Довольно часто пользователи, просматривая информацию, могут вносить изменения в данные, которые забывают "откатить", поскольку подобные просмотры часто заканчиваются нажатием кнопки "ОК". Подобная невнимательность приводит к некорректности существующей информации.
Ниже описана не "защита от дурака", а очень простой пример вопроса, который будет уточнять необходимость сохранения изменений.
В обработчик нажатия "ОК" добавлен следующий код:
if (Dataset.State == dstEdit){
var AreYouSureYouWantToSaveChanges = "Сохранить внесенные изменения?";
if (Dataset.Values('ContractNumber') !=
Dataset.DataFields.ItemsByName('ContractNumber').OldValue) {
if (ShowConfirmationDialog(AreYouSureYouWantToSaveChanges) != mrYes){
return;
}
}
}
В данном случае происходит проверка на изменение поля «номер договора». Если он отличается от старого значения, система задаст вопрос пользователю, в случае утвердительного ответа изменения будут сохранены.