Имя: Пароль:
1C
1С v8
Событие регистра "ПередЗаписью" и признак нового документа регистратора
,
0 vladenoff
 
18.11.11
13:31
Добрый день.
Как в событии регистра определить новый ли документ-регистратор?

------------

Есть Событие регистра сведений "ПередЗаписью", подчиненного регистратору.

В отладчике можно отловить у источника отбор по регистратору - ссылка на документ. Если по ссылке получить объект и применить функцию .ЭтоНовый() то она всегда возвращает "ЛОЖЬ". И это, как бы логично - если есть ссылка.

Но (!), если же в этот самый момент прервать отладку, пере зайти в БД, то данного документа там не будет. Значит он не был записан в базу.

Почему же тогда у нас есть и ссылка и .ЭтоНовый() возвращает ЛОЖЬ?
1 hhhh
 
18.11.11
13:33
открой для себя транзакции.
2 Живой Ископаемый
 
18.11.11
13:34
открой для себя доп.свойства регистратора.. и заставь набора записей РС также открыть...
3 vladenoff
 
18.11.11
13:39
(1)угу. Если я правильно понимаю, ссылка существует в данной транзакции.  Если она прервется она не внесет действий в базу данных.

А как узнать существует ли данный документ за пределами транзакции?
Искать по ссылке (уникальному идентификатору)?

(2) можно точнее о каких доп. свойствах регистратора речь ?
4 Живой Ископаемый
 
18.11.11
13:41
о любых доп.свойствах... например можно создать доп.свойсвто ЭтоНовыйАга, в ПередЗаписью регистратора устанавливать его в истину, в перед записью набора записей РС его получать, анализировать и удалять
5 Живой Ископаемый
 
18.11.11
13:41
но это если 8.2
6 Maxus43
 
18.11.11
13:44
(5) в 8.1 допсвойствами тоже можно играть, они будут жить в рамках объекта только. т.е. можно тоже при первой записи что он новый указать...
7 vladenoff
 
18.11.11
13:45
(4) Это как то слишком сложно. у регистра может быть много регистраторов. Ломать типовую общим реквизитом, или значениями доп свойств + обрабатывать перед записью регистратора - очень нерационально
8 Живой Ископаемый
 
18.11.11
13:45
2(6) ну в 8.2 тоже самое, я просто думал что это только в 8.2 появилось
9 Живой Ископаемый
 
18.11.11
13:46
2(7) стоп.. кто сказал про общий реквизит? я не говорил.
10 Живой Ископаемый
 
18.11.11
13:47
но конечно чтобы устанавливать его в ПередЗаписью да, типовую придется немного сломать...
11 Maxus43
 
18.11.11
13:47
(7) как раз доп свойства сводят к минимуму изменения, иначе никак
12 Maxus43
 
18.11.11
13:48
З.ы. в подписку можно вынести кстати, и ломать доки не придётся
13 Живой Ископаемый
 
18.11.11
13:50
2(12) я могу ошибаться, но у формы нет подписок.
14 vladenoff
 
18.11.11
13:56
(11) это для меня как-то странно что перед окончательным внесением документа в базу, я не могу узнать новый ли это документ.
15 Maxus43
 
18.11.11
13:57
(13) правильно. но есть подписка ПередЗаписью объекта, если у него нет ссылки - значит он новый :)
16 Maxus43
 
18.11.11
13:58
(14) почему? можно узнать, но только перед записью объекта
17 vladenoff
 
18.11.11
13:59
(16) это понятно.
18 Живой Ископаемый
 
18.11.11
13:59
2(14) тогда что - будешь ждать что в каком-то релизе 1С позволит такое сделать?
19 Живой Ископаемый
 
18.11.11
14:00
2(15) да, точно.. в ПередЗаписи выставить доп.свойство ЭтоНовыйАга=Истина....
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший