Difference between revisions of "Студия/OnStatusChange"
(Created page with "{{infobox function |name=OnStatusChange |element=Форма, подчиненные формы |caption=Визуальные события |eventtype=Прерывающее |...") |
m (1 revision imported) |
(No difference)
|
Latest revision as of 07:55, 7 February 2021
OnStatusChange (Визуальные события) | |||||||
---|---|---|---|---|---|---|---|
|
Событие, вызываемое при возникновении локальных изменений на форме или изменении объекта, редактируемого с помощью формы. Событие может быть использовано для обновления заголовка формы или каких-либо индикаторов на ней. Событие возникает в случаях:
- Произошло изменение в редактируемом объекте базе данных (изменился реквизит и т.п.).
- Редактируемый объект базы данных был сохранен, удален, обработан или была отменена его обработка.
- На форме установлен или снят флаг IsChanged.
- Редактируемый объект базы данных был восстановлен из буфера с помощью функции RestoreObjectFromBuffer.
- Произошла загрузка периодических реквизитов за новую дату для редактируемого объекта базы данных.
- Для формы изменился флаг ContainsPeriodicalValues.
- Вызов был инициирован программно (к примеру, с помощью InvokeEvent или CallOnStatusChange).
Примеры
//Пример события OnStatusChange формы редактирования документа аДок If isEmpty(аДок) Then Exit; EndIf; cl:=_CLR_WINDOWTEXT; If аДок.Status()<0 Then cl:=_CLR_BLUE; Form.cStatus:=" новый документ (*)"; ElseIf аДок.Status()=0 Then If (аДок.Selected()>1)or(Form.IsChanged()) Then Form.cStatus:=" (*)"; Else Form.cStatus:=""; EndIf; ElseIf аДок.Status()=1 Then cl:=_CLR_BLACK; If (аДок.Selected()>1)or(Form.IsChanged()) Then Form.cStatus:=" удален (*)"; Else Form.cStatus:=" удален"; EndIf; ElseIf аДок.Status()>1 Then cl:=_CLR_GREEN; If (аДок.Selected()>1)or(Form.IsChanged()) Then Form.cStatus:=" обработан (*)"; Else Form.cStatus:=" обработан"; EndIf; EndIf; Form.bPanelOK.isDisabled:=флТолькоПросмотр or (not Form.IsChanged()); Form.bPanelSave.isDisabled:=флТолькоПросмотр or (not Form.IsChanged()); Form.cDocNum.Value:=аДок.DocNum; Form.cDocDate.Value:=аДок.DocDate; If Form.cStatus.FontColor<>cl Then Form.cStatus.FontColor:=cl; EndIf; Стр:=""+аДок.Автор; If Стр="" Then Стр:=""+глПользователь; EndIf; Стр:=""+аДок.КодОперации; If Стр="" Then Стр:=аДок.DBName(); EndIf; Form.cDocName.Caption:=Стр;