Есть открытая управляемая форма документа, на ней - динамический список (справочник с вложениями). При добавлении файлов проверяю, что документ записан и, если это новый, то предлагаю записать и только тогда даю добавить файл.
Проблема: при такой схеме добавленные файлы не отображаются в списке на форме. Но отображаются, если перезайти в форму. Пользователи с ума сходят: добавляют файлы - их нет, а потом перезаходят - там 10 дублей одного и того же ))
Не помогает ни принудительное обновление, ни оповещение... Нашла тут статью https://forum.infostart.ru/forum9/topic241591/ - то ли я не в те места пихаю оповещение, то ли еще что... Был эксперимент с автообновлением даже - всё равно не помогло.
Пробовала:
1. Вызывать обновление после выбора файла:

```1c
    ФормаФайла.ОткрытьМодально();

    Элементы.Файлы.Обновить();
    ЭтаФорма.Прочитать();
    ЭтаФорма.ОбновитьОтображениеДанных();
```

2. Оповещение:

```1c
    ОповеститьОбИзменении(Тип("СправочникСсылка.Файлы"));
```

3. Автообновление (ради эксперимента)

Что делаю не так? Какие есть нюансы?
---
Да, истина ) и этот вопрос сподвиг пристальнее приглядеться к отбору. Проблема была в следующем: при создании док-та также вызывается процедура по установке отбора и устанавливает отбор по пустому док-ку (оно и понятно - документ же новый). Потом после записи док-та эта процедура снова вызывается и добавляется еще один элемент отбора по объекту, но уже со ссылкой. Получается два отбора по объекту. В этот и проблема. Я решила ее проверкой на то, что док-т не новый и у этого отбора в правом значении пустая ссылка, тогда удаляю его. Заработало и без оповещений теперь )))
Спасибо большое за наводку!
И всем остальным за советы и участие! :)
---
вы отбор по владельцу у ДС Файлы после записи документа устанавливаете?
Или только при создании на сервере?
---
Да )
---
А по описанию проблемы, похоже, что нет.
---
Проверяла под отладкой - отбор установлен.
---
Покажите полный код
---
1 Здесь просим пользователя записать:

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

2

```1c
    Процедура ПослеЗаписи(ПараметрыЗаписи)
    УстановитьВидимостьДоступностьПолей();
    УстановитьОтборСпискаФайлов();
    КонецПроцедуры
```

3
```1c
    Процедура УстановитьОтборСпискаФайлов()
    ЭлементОтбора = Файлы.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект");
    ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
    ЭлементОтбора.ПравоеЗначение = Объект.Ссылка;

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

```1c
    ОповеститьОбИзменении(Тип("СправочникСсылка.Файлы"));
    ОповеститьОбИзменении(Ссылка);
```

Чувствую, есть что-то, что упускаю, но не могу понять, что... :(
---
Вам нужно использовать ОповеститьОбИзменении() после записи файла, а не после выбора
---
Да, так и делаю

```1c
    Процедура ПослеЗаписи()
    ОповеститьОбИзменении(Тип("СправочникСсылка.Файлы"));
    ОповеститьОбИзменении(Ссылка);
    Оповестить ("Запись нового файла", , Ссылка);
    КонецПроцедуры
```

Это в форме справочника с файлами, которая открывается для добавления
---
Почему на сервере?
---
Ссылка - это у вас что? Должна быть ссылка на добавленный файл.