Есть открытая управляемая форма документа, на ней - динамический список (справочник с вложениями). При добавлении файлов проверяю, что документ записан и, если это новый, то предлагаю записать и только тогда даю добавить файл.
Проблема: при такой схеме добавленные файлы не отображаются в списке на форме. Но отображаются, если перезайти в форму. Пользователи с ума сходят: добавляют файлы - их нет, а потом перезаходят - там 10 дублей одного и того же ))
Не помогает ни принудительное обновление, ни оповещение... Нашла тут статью https://forum.infostart.ru/forum9/topic241591/ - то ли я не в те места пихаю оповещение, то ли еще что... Был эксперимент с автообновлением даже - всё равно не помогло.
Пробовала:
1. Вызывать обновление после выбора файла:
(13) Да, истина ) и этот вопрос сподвиг пристальнее приглядеться к отбору. Проблема была в следующем: при создании док-та также вызывается процедура по установке отбора и устанавливает отбор по пустому док-ку (оно и понятно - документ же новый). Потом после записи док-та эта процедура снова вызывается и добавляется еще один элемент отбора по объекту, но уже со ссылкой. Получается два отбора по объекту. В этот и проблема. Я решила ее проверкой на то, что док-т не новый и у этого отбора в правом значении пустая ссылка, тогда удаляю его. Заработало и без оповещений теперь )))
Спасибо большое за наводку!
И всем остальным за советы и участие! :)
Если ТекущаяСтраница.Имя = "ГруппаВложение" и Параметры.Ключ.Пустая() Тогда
Если Вопрос("Перед добавлением вложений необходимо записать документ. Продолжить с записью документа?", РежимДиалогаВопрос.ОКОтмена,15,,"Требуется выбрать действие:")
= КодВозвратаДиалога.Ок Тогда
Записать();
Иначе
Элементы.Страницы.ТекущаяСтраница = Элементы.ГруппаРаспределение;
КонецЕсли;
КонецЕсли;
// ОБНОВИМ динамический список файлы
Элементы.Файлы.Обновить();
(13) Да, истина ) и этот вопрос сподвиг пристальнее приглядеться к отбору. Проблема была в следующем: при создании док-та также вызывается процедура по установке отбора и устанавливает отбор по пустому док-ку (оно и понятно - документ же новый). Потом после записи док-та эта процедура снова вызывается и добавляется еще один элемент отбора по объекту, но уже со ссылкой. Получается два отбора по объекту. В этот и проблема. Я решила ее проверкой на то, что док-т не новый и у этого отбора в правом значении пустая ссылка, тогда удаляю его. Заработало и без оповещений теперь )))
Спасибо большое за наводку!
И всем остальным за советы и участие! :)
(15) 1. Возьмите за практику писать где у вас код на сервере а где на клиенте
2. Вы реализовали это просто в лоб, без асинхронного выполнения кода? Хотя в 21 году наверное и не умел никто писать фоновые задания, тут еще тьма комментов и ни одного здравого, переписать под фоновое задание. Странно
Вариант синтаксиса: Изменен один объект
Синтаксис:
ОповеститьОбИзменении(<Ссылка>)
Ссылка измененного объекта или ключ измененной записи регистра, об изменении которой(го) необходимо уведомить динамические списки, чтобы они обновились.