Студия/OnReopen
| OnReopen (Визуальные события) | |||||||
|---|---|---|---|---|---|---|---|
| |||||||
Событие, возникающее в момент попытки открытия уже существующей свободной формы (к примеру, журнала), вызванной с помощью LoadModule со способом вызова равным 1 (форма будет активирована, событие OnOpen повторно вызвано не будет, однако, будет вызвано данное событие). Форма уже имеет флаг полной инициализации (IsFullyInitialized) в момент выполнения этого события. Функция может использоваться, к примеру, в журналах или формах списков справочников, чтобы мгновенно изменить фильтр или позиционироваться на нужном элементе.
Аргументы
<NewParam>,<NewOption>- Переменные, передаваемые в тело события, непосредственно из функции LoadModule. Так как в режиме 1 LoadModule не ожидает окончания загрузки формы, данные переменные не будут переданы назад в вызвавшую функцию, если они будут изменены.
Примеры
//Пример события OnReopen, заполняющего фильтры из получаемых параметров
спОтбор:=RestoreValue("ЖурналПоставщиковОтбор");
If isEmpty(спОтбор) Then
спОтбор:=List.Create();
EndIf;
If not IsEmpty(NewParam) Then
НачДата:=спОтбор.GetByName("НачДата");
КонДата:=спОтбор.GetByName("КонДата");
//Передан новый документ для позиционирования
If Pos("DB.DOC.",TypeStr(NewParam))=1 Then
aDoc:=NewParam.GetJournalObject("ЖурналПоставщиков");
Стр:=TypeStr(NewParam);
TearStr(Стр,".");
TearStr(Стр,".");
спОтбор:=List.Create();
спОтбор.SetByName("НачДата",Min(НачДата,BegOfDay(aDoc.DocDate)));
спОтбор.SetByName("КонДата",Max(КонДата,BegOfDay(aDoc.DocDate)));
спОтбор.SetByName("Вид",Стр);
ДокументПозиционирования:=aDoc;
ПрименитьУстановки();
EndIf;
EndIf;