Есть управляемое приложение.
Открыты 2 формы (одновременно).
При изменении данных в первой форме, нужно обновить и вторую форму.
Подскажите, пожалуйста - как?

Нашёл только -
```1c
    ОкнаПриложения = ПолучитьОкна();

    Для каждого ОкноПриложения Из ОкнаПриложения Цикл

    //ОкноПриложения. - не нашёл метод,а для обновления содержимого

    КонецЦикла;
```

Но у ОкноПриложения, вижу,только 2 метода:

```1c
    Активизировать (Activate)
    ПолучитьНавигационнуюСсылку (GetURL)
```
---
Вот так попробуйте:

```1c
    ОповеститьОбИзменении(Тип("РегистрСведенийКлючЗаписи.ИмяРегистраСведений"));
```
---
Попробуйте через Оповестить/ОбработкаОповещения
---
Оповестить/ОбработкаОповещения
попробовал так (своюже форму - пытаюсь обновить)) -
```1c
    &НаКлиенте
    Процедура ЗагрузитьФактическоеЗначениеЗавершение(ВыбранныйЭлемент, ДополнительныеПараметры) Экспорт

    ВыбранноеЗначениеСтр = Строка(ВыбранныйЭлемент);

    Если ВыбранноеЗначениеСтр = " Тогда

    Возврат

    ИначеЕсли ВыбранноеЗначениеСтр = "Уровень запасов по ХХХ" Тогда

    ЗагрузитьФактическоеЗначениеНаСервере(ВыбранныйЭлемент.Значение);

    КонецЕсли;

    //ОбновитьОтображениеДанных();
    //ОбщегоНазначения.ОбновитьФормы();
    Оповестить("Обновить")

    КонецПроцедуры

    &НаКлиенте
    Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)

    Если ИмяСобытия = "Обновить" Тогда

    ОбновитьОтображениеДанных();

    КонецЕсли;

    КонецПроцедуры
```

Не работает.
---
И (добавление, к этомуже вопросу) - как вообще, обновить содержимое управляемой формы?
(даже одной - не получилось, у меня)
На форме есть Динамический список (Регистр сведений с отбором, показан) и Команда "Обновить запись Регистра" (ресурс один, меняется).
Процедура -
```1c
    &НаКлиенте
    Процедура ЗагрузитьФактическоеЗначениеЗавершение(ВыбранныйЭлемент, ДополнительныеПараметры) Экспорт

    ВыбранноеЗначениеСтр = Строка(ВыбранныйЭлемент);

    Если ВыбранноеЗначениеСтр = " Тогда

    Возврат

    ИначеЕсли ВыбранноеЗначениеСтр = "Уровень запасов по ХХХ" Тогда

    ЗагрузитьФактическоеЗначениеНаСервере(ВыбранныйЭлемент.Значение);

    КонецЕсли;

    ОбновитьОтображениеДанных(); // - Не обновляет

    КонецПроцедуры
```

Только - или закрыть+открыть форму, или через стандартную команду "Обновить".

Вопрос - как обновить данные?
1. В этойже форме.
2. В других, открытых формах.
---
так надо обновить форму или динамический список? Идти точно через оповещение надо, но в обработке оповещения уже копаться. Если надо обновить список, он не обновится через ОбновитьОтображениеДанных(). Это нужно Элементы.Список.Обновить().

А вообще это всё довольно легко гуглится)) А направление вам уже дали - Оповестить/ОбработкаОповещения
---
Надо обновить Форму (её содержимое).
На форме, да - реквизит "ДинамическийСписок" именно, надо обновить.
(У реквизита Формы "ДинамическийСписок" - свойство "Динамическое считывание данных" установлено. Не обновляет, после команды/процедуры)
---
Попробуйте так:

```1c
    Элементы.ЗдесьИмяДинСписка.Обновить();
```
---
может поможет:
 на управляемых формах у Элемента формы с типом динамический список есть два реквизита
АвтоОбновление = булево
ПериодАвтообновления - число
---
за подсказку спасибо (проглядел я такое, да), но - оно не до конца решает, всёже.

Период, конечно можно установить в 1 сек, но - както это - не очень правильно получается.
(мне же ненадо, постоянно обновлять - надо, когда надо)
Хотя конечно да - решит задачу.

Похоже
```1c
    ОповеститьОбИзменении(МойДокумент2.Ссылка);
```
 - решение.

Только вот - как регистр сведений указать?
(какойто там - ключ записи... нужен)
---
В форме МойДокумент1

```1c
    ОповеститьОбИзменении(МойДокумент2.Ссылка);
    Оповестить("МойДокумент2Изменен",МойДокумент.Ссылка);
```

В форме МойДокумент2

```1c
    &НаКлиенте
    Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
    Если ИмяСобытия="МойДокумент2" И Объект.Ссылка=Параметр Тогда
    ЭтаФорма.Прочитать();
    КонецЕсли;
    Если ИмяСобытия="МойДокумент2Удален" И Объект.Ссылка=Параметр Тогда
    ЭтаФорма.Закрыть();
    КонецЕсли;
    КонецПроцедуры
```
---
а если МойДокумент2 - не открыт?
Оповещение-то - не должно срабатывать.
(или - оно именно (в таком коде) - на открытые формы, срабатывает?)
---
обработка оповещения срабатывает только в открытых формах
---
Код модуля формы работает, когда форма открыта. Если форма не открыта, то нечего обновлять.
Вызов ОповеститьОбИзменении это для обновления динамических списков.
---
ок, а как в
```1c
    ОповеститьОбИзменении(МойДокумент2.Ссылка);
```
 (похоже - всеголишь, это надо мне - сейчас) указать РегистрСведений?
В СинтаксПомошнике сказано "Имя Регистра" указать (на месте ссылки).

В каком виде?
(только имя - ошибку даёт)
---
Вот так попробуйте:

```1c
    ОповеститьОбИзменении(Тип("РегистрСведенийКлючЗаписи.ИмяРегистраСведений"));
```
---
ОповеститьОбИзменении(Тип("РегистрСведенийКлючЗаписи.ИмяРегистраСведений"));
Да - Спасибо!
(и остальные участники - тоже помогли!)
Это - именно то, что надо (без всяких выкрутасов)
---
Благодарю за вопрос и за ответ. Долго бился с проблемой тоже