Form.IsChanged

From SunFlurry wiki
Jump to: navigation, search
  IsChanged (Признак изменения формы)
Объект:Форма
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Исключения:Невозможно превратить в число
Визуальность:Да

Функция получает, устанавливает или снимает флаг изменения формы. Флаг изменения может быть установлен только для загруженных визуальных форм, при изменении флага также изменяется заголовок формы (если он не изменялся программой), к заголовку добавляется признак изменения (*). После изменения также гарантирован вызов визуального события OnStatusChange, если таковое было объявлено. Если форма имеет признак изменения, при попытке ее закрытия пользователем, программа задаст вопрос о целесообразности сохранения данных формы до ее закрытия. Для измененных форм также активна иконка сохранения на стандартной панели задач, которая вызывает визуальное событие формы OnSaveRequest наряду с реальным сохранением данных объекта, если объект базы данных редактируется текущей формой.

Синтаксис

Form.IsChanged(<Установить флаг изменения формы (INT)>):<Текущий флаг изменения формы (INT)>

Аргументы

  • <Установить флаг изменения формы (INT)> - (необязательный аргумент) При наличии аргумента флаг изменения формы будет установлен или снят, в зависимости от аргумента, если аргумент отсутствует, флаг изменен не будет.

Возвращаемое значение

Возвращает 1, если форма имеет флаг изменения, иначе возвращает 0.

Примеры

флОк:=0;
Buff:=aEl.StoreObjectToBuffer();
BeginTransaction();
Try
  If Form.IsChanged()=1 Then
    aEl.Save();
  EndIf;

  ...

  флОК:=1;
Finally
  If флОк Then
    CommitTransaction();
  Else
    aEl.RestoreObjectFromBuffer(Buff);
    RollbackTransaction();
  EndIf;
EndTry