Имя: Пароль:
1C
1С v8
Как по подписке на событие при записи документа получить его движения?
,
0 Лоботряс
 
22.08.12
19:08
Надо после проведения источника выполнять запрос к регистру, в который источник сделал движения и получить остатки с учетом движений источника. Как сделать. В момент выполнения подписки на событие "ОбработкаПроведения" и "При записи" движения еще не записаны. Как сделать?
1 sda553
 
22.08.12
19:09
В приЗаписи движения уже записаны, проверь внимательней
2 Лоботряс
 
22.08.12
19:12
Проверил. При первом проведении источника - остатки без движений источника, при последующих перепроведениях источника - все нормально, уже с движениями.
3 sda553
 
22.08.12
19:16
При первом то же должно быть все ок
4 Лоботряс
 
22.08.12
19:28
(3) Должно быть, но нет. Свойство "удалять движения" у источника стоит - удалять при отмене проведения. В обработке проведения делаю Движения..Записывать = истина;Движения..Записать(); Помню что-то такое было со свойствами движений документа...
5 DSSS
 
22.08.12
19:29
У регистра св-во записывать = ложь по всей видимости.
Можешь либо установить его в истина, либо получить набор записей:
НЗ = Твой регистр.СоздатьНаборЗаписей.
НЗ.ОТбор.Установить(Регистратор)
НЗ.Прочитать();

В этом наборе будут движения.
6 Лоботряс
 
22.08.12
19:29
Направьте в правильную сторону...
7 Лоботряс
 
22.08.12
19:31
Блин недавно помню тут на мисте была похожая фигня, именно с первым проведением....
8 ЧашкаЧая
 
22.08.12
19:33
(7) Правильная сторона в (5).
9 Лоботряс
 
22.08.12
19:34
(5),(7) см (4). Движения..Записывать = истина стоит
10 Лоботряс
 
22.08.12
19:40
Еще момент. Перед выполнением запроса к остаткам выполняю блокировку остатков в исключительном режиме. Может в этом дело?
11 Лоботряс
 
22.08.12
20:02
Подписка на событие ПриЗаписи не катит. Она идет перед ОбработкойПроведения. Короче придется в обработке проведения источника принудительно записывать движения по этому регистру. Другого выхода пока не нашел.
12 Лоботряс
 
22.08.12
20:22
В общем все я правильно в (11) сделал. Походу именно так и надо делать. Сначала принудительная запись движений по этому регистру в обработке проведния источника, и потом Движения..Записывать = ложь, чтобы повторной записи по окончании транзакции не было.
13 Hans
 
22.08.12
20:52
(12) а что если принудительно записать то записи регистра задвоятся?
14 Лоботряс
 
22.08.12
21:20
нет, не задвоятся, но зачем дважды записывать в регистр?
15 Лоботряс
 
22.08.12
21:21
(14)+не оптимальненько:)
16 Мимохожий Однако
 
22.08.12
21:26
А после записи?
17 Лоботряс
 
22.08.12
21:32
(16)Подписки на такое событие у документов нет:(
18 Мимохожий Однако
 
22.08.12
22:56
Можно попробовать подписку на событие при записи набора движений регистра.
19 Лоботряс
 
23.08.12
08:49
(18) там ведь тоже запись еще не выполнена... но проверять лень. Тем более что уже все получилось в (12)
20 Живой Ископаемый
 
23.08.12
08:52
не важно. движения есть. всем известно как получать. Это легко и в типовых используется.
21 Лоботряс
 
23.08.12
08:56
(20)Эх, уговорил черт языкатый, полезу смотреть... :)