Имя: Пароль:
1C
1С v8
Нумерация документов - когда событие УстановкаНовогоНомера вызывается
0 Джордж1
 
15.07.12
17:44
Есть некая отраслевая конфигурация. При при записи документа отрабатывает событие ПриУстановкиНомераДокумента. Не могу понять как это событие вызывается.
1 Deniskind
 
15.07.12
18:48
Отрабатывает после события ПередЗаписью но перед ПриЗаписи. А также при вызове метода УстановитьНовыйНомер объекта. Наверное, где-то есть вызов этого метода.
2 Джордж1
 
15.07.12
18:58
(1)вот именно что вызова УстановитьНовыйНомер нет нигде.
Он автоматом может вызывается "после события ПередЗаписью но перед ПриЗаписи"?
3 Джордж1
 
15.07.12
19:00
(+2)глобальным поиском УстановитьНовыйНомер не находится
4 CepeLLlka
 
15.07.12
19:01
Хыы :)
5 CepeLLlka
 
15.07.12
19:03
Общие-ПодпискиНаСобытия-ПриУстановкеНовогоНомера..
6 CepeLLlka
 
15.07.12
19:04
7 Джордж1
 
15.07.12
19:06
(5)Да, есть такое. Но что это событие вызывает?
8 CepeLLlka
 
15.07.12
19:06
(7) А Прожевать не надо за тебя?
9 Джордж1
 
15.07.12
19:07
(8)А нормально ответить нельзя. Не могу разобраться
10 CepeLLlka
 
15.07.12
19:07
Там указываешь на события каких объектов подписываешься.. затем на какое событие.. и указываешь процедуру которая будет выполняться в момент исполнения события..
11 Джордж1
 
15.07.12
19:08
(10)Это я вижу. Непонятно почему при перезаписи уже существующего документа вызывается это событие
12 CepeLLlka
 
15.07.12
19:15
(11) Ну ищи.. конфа то у тебя.. может у тебя там УстановитьНовыйНомер() где-нибудь прописано...
13 Джордж1
 
15.07.12
19:29
(12)вот именно что нету УстановитьНовыйНомер() или засунуто куда-нибудь где глобальный поиск не ищет
14 CepeLLlka
 
15.07.12
19:30
(13) Ну может действительно вызывается каждый раз при записи.. я точно не знаю.. проверь.. или спроси спецов по платформе..
15 Deniskind
 
15.07.12
19:32
В подписках на события указывается процедура, которая должны выполниться. Может быть, есть подписка ПриЗаписи для данного объекта и от туда вызывается та же процедура, что и ПриУстановкеНовогоНомера?
16 CepeLLlka
 
15.07.12
19:33
(15) Он вроде проверял..
17 Deniskind
 
15.07.12
19:34
ПриУстановкиНомераДокумента - только первый раз вызывается, или принудительно методом, которого у вас конфе нет, как вы написали.
18 Deniskind
 
15.07.12
19:35
(16) Я имею в виду, что есть подписка ПриУстановкеНовогоНомера. Там прописан код в процедуре общего модуля. Эту же процедуру повесили и на подписку ПриЗаписи.
19 Deniskind
 
15.07.12
19:38
+(18) Или из модуля документа вызывают в событиях ПередЗаписью, ПриЗаписи.
20 CepeLLlka
 
15.07.12
19:40
(19) Думаешь все тупые? Мы всё поняли..
21 Джордж1
 
15.07.12
20:01
Deniskind - я глобальным поиском УстановитьНовыйНомер() не нахожу
//
надо глянуть в профессиональную разработку
22 Deniskind
 
15.07.12
20:34
(21) Ну, вот смотрите - в (7) вы подтвердили, что у вас есть подписка на событие ПриУстановкеНовогоНомера. Эта подписка ссылается на какую-то процедуру _общего_ модуля. Может быть так, что есть другая подписка ПриЗаписи или ПередЗаписью для данного документа, которая так же ссылается на туже самую процедуру.
23 Джордж1
 
15.07.12
20:38
(22)Проверил, кроме самой подписки на события других ссылок нет
24 Deniskind
 
15.07.12
20:58
Тогда, если, предположить, что оно вызывается из какой процедуры, а не платформой, то тогда поможет точка останова в событии и отладка->Стек вызовов.
25 Джордж1
 
15.07.12
21:25
(24)Пробывал. Ставил точку останова в обработчике события - в стеке только одна строка
26 Ns33
 
15.07.12
21:32
Для записанного документа можно вызвать установку нового номера, если в ПередЗаписью() написать: НашДокументОбъект.Номер="". Может такое где-то есть?
27 Джордж1
 
15.07.12
21:35
(26)В точку.
В обработчике события ПередЗаписьюДокумента есть код
Источник.Номер = "";
28 Джордж1
 
15.07.12
21:56
(26)Интересно, это где-то документировано? И какой смысл делать так, а не вызывать метод УстановитьНовыйНомер()?
Основная теорема систематики: Новые системы плодят новые проблемы.