Имя: Пароль:
1C
1С v8
Есть ли возможность отслеживать изменения (запись документа)?
, ,
0 Deamonicus
 
24.05.12
08:42
Добрый день.
Возникла такая вот задача. В обработке есть табличная часть и реквизит содержащий ссылку на документ. В обработку попадают данные из табличной части документа. Необходимо каждый раз, когда документ перезаписывается, в обработке обновлять данные из табличной части. Причем, нужно отслеживать запись документа и другими пользователями.
Есть ли какие нибудь стандартные способы? Думал можно использовать метод ПодключитьОбработчикИзмененияДанных(), но это не то.
Заранее, спасибо!
1 Живой Ископаемый
 
24.05.12
08:43
не понимаю в чем подвох... нужно не снимая конфу с поддержки? тогда нет
2 Maxus43
 
24.05.12
09:03
почему не то? пусть в обработке автоматиом каждую секунду перезаполняет таб часть. если кто изменит - в обработке перезаполнится
3 IamAlexy
 
24.05.12
09:06
(0) можно
версию объекта сверяй
4 Maxus43
 
24.05.12
09:07
да, чтоб каждый раз не перезаполнять - версию смотрим, но всё равно в "обработчике ожидания"
5 Deamonicus
 
24.05.12
09:16
(3),(4). С версией объекта понятно. А есть способы без обработчика ожидания?
6 Maxus43
 
24.05.12
09:20
(5) чем не устраивает?

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

можеш посмотреть, но я не уверен что между разными сеансами работать будет
7 abitfrosty
 
24.05.12
09:22
Подписка на событие
8 Maxus43
 
24.05.12
09:23
(7) и что ты там напишеш?
9 MSII
 
24.05.12
09:24
(6) Там еще другие пользователи в условиях фигурируют.
(7) Да, плюс организация межсеансового обмена через РС.
10 abitfrosty
 
24.05.12
09:24
#Если Клиент Тогда
           КлючЗаписи = РегистрыСведений.ПроверенныеДокументы.СоздатьКлючЗаписи(Новый Структура("Объект",Ссылка));
           ОповеститьОбИзменении(КлючЗаписи);
       #КонецЕсли
11 Deamonicus
 
24.05.12
09:24
(6) Да, подписка подходит меньше. Думаю сделаю через обработчик ожидания все таки.
Всем спасибо!
12 Maxus43
 
24.05.12
09:25
наворотили шо пистец. регистры, подписки. Обработчик ожидания - и всё, никаких доработок
13 aleks-id
 
24.05.12
09:25
(6) оповестить сработает только для тебя. если другой юзер запишет документ то ты ничего не получишь
14 abitfrosty
 
24.05.12
09:25
Как хочешь
15 Maxus43
 
24.05.12
09:26
(13) я это и написал там, "не уверен что между сеансами"
16 Serg_1960
 
24.05.12
09:57
(0) Включить версионирование документа и отслеживать в обработчике SQL запросом появление новой записи об этом документе в регистре ВерсииОбъектов.
17 Maxus43
 
24.05.12
10:10
(16) Нарушаем?)
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.