Имя: Пароль:
1C
1С v8
Перехват оповещения изменения объекта
0 alexei366
 
28.01.15
19:24
Народ есть две Форма некого объекта на ней есть поле, которое заполняется в процедуре ПриЧтенииНаСервере (запрос делает к регистрам).
Представим что эта форма у нас открыта, а в соседней мы проводим некий документ который двигает регистры. Соответственно наше поле уже не показывает актуальную информацию хотя пользователь это сделал сейчас и по его мнению она должна была поменяться (вроде как логично).
Как можно перехватить стандартное событие оповещения при изменении объекта. Событие "ОбработкаОповещения" не вызывается при проводки документа у нашей формы. Писать "Оповестить(...)" в события "ПослеЗаписи" в каждую форму документов я не хочу, да + ещё и переписывать надо стандартные действия списков при проводке или её отмене.
Кто что подскажет?
1 Fragster
 
гуру
28.01.15
19:30
Глобальный контекст.ОповеститьОбИзменении (Global context.NotifyChanged)
Глобальный контекст (Global context)
ОповеститьОбИзменении (NotifyChanged)
Вариант синтаксиса: Изменён один объект

Синтаксис:

ОповеститьОбИзменении(<Ссылка>)
Параметры:

<Ссылка> (обязательный)

Тип: СправочникСсылка.<Имя справочника>; ДокументСсылка.<Имя документа>; ПеречислениеСсылка.<Имя перечисления>; ПланСчетовСсылка.<Имя плана счетов>; ПланВидовРасчетаСсылка.<Имя плана видов расчета>; ПланВидовРасчетаСсылка.<Имя плана видов расчета>; БизнесПроцессСсылка.<Имя бизнес-процесса>; ЗадачаСсылка.<Имя задачи>; РегистрСведенийКлючЗаписи.<Имя регистра сведений>; РегистрНакопленияКлючЗаписи.<Имя регистра накопления>; РегистрБухгалтерииКлючЗаписи.<Имя регистра бухгалтерии>; РегистрРасчетаКлючЗаписи.<Имя регистра расчета>; ПланОбменаСсылка.<Имя плана обмена>.
Ссылка измененного объекта или ключ измененной записи регистра, об изменении которой(го) необходимо уведомить динамические списки, чтобы они обновились.
Поведение при очистке кэша (такое же, как при интерактивном изменении):
кэш представлений ссылок - очищаются записи, соответствующие измененной ссылке,
кэш данных через точку - удаляются те записи, которые имеют в пути ссылки того же типа, что и измененная,
кэш данных быстрого выбора - данные хранятся по типам, очищаются данные, которые относятся к типу измененной ссылки,
кэш ограничений по типу - данные хранятся по типам, очищаются данные, которые относятся к типу измененной ссылки.
Описание варианта метода:

Уведомляет динамические списки на клиенте об изменении одного объекта базы данных или одной записи регистра.
Вариант синтаксиса: Изменено много объектов

Синтаксис:

ОповеститьОбИзменении(<ИзмененныйТип>)
Параметры:

<ИзмененныйТип> (обязательный)

Тип: Тип.
Тип изменившихся объектов, например "ДокументСсылка.РасходнаяНакладная".
Поведение при очистке кэша - очищается вся информация, которая связана с измененным типом.
Описание варианта метода:

Уведомляет динамические списки на клиенте об изменении множества объектов или множества записей регистра.

Доступность:

Тонкий клиент, веб-клиент, толстый клиент.
Примечание:

Уведомление не влияет на динамические списки, у которых не задана основная таблица.
Динамические списки в тонком и веб-клиенте не обновляются при изменении данных в базе данных автоматически. Обновление динамического списка происходит при явном вызове метода, а также при выполнении стандартных команд записи данных форм.
Также осуществляется очистка закэшированных данных на клиенте. В частности, очищается кэш представлений ссылок, кэш данных через точку, кэш данных быстрого выбора, кэш ограничений по типу, кэш форм выбора. Удаляется только та информация, которая стала недействительной.
2 Fragster
 
гуру
28.01.15
19:31
а также при выполнении стандартных команд записи данных форм
3 Fragster
 
гуру
28.01.15
19:31
т.е. либо пользуемся стандартными командами, либо пишем ОповеститьОбИзменении
4 Адский плющ
 
28.01.15
19:32
А зачем на форме объекта левая движуха?
5 Fragster
 
гуру
28.01.15
19:32
а, в случае (0) надо привязать таблицу к данным
6 Fragster
 
гуру
28.01.15
19:32
ибо
Уведомление не влияет на динамические списки, у которых не задана основная таблица.
7 alexei366
 
28.01.15
21:10
(3) Что имел ввиду под стандартными командами? Как они мне помогут?
8 alexei366
 
28.01.15
21:11
(5) Какую таблицу? К каким данным?