Имя: Пароль:
1C
1С v8
Процедура ПередЗаписью() срабатывает несколько раз
,
0 Антиквар
 
14.05.13
16:22
Всем привет!
Давно уже заметил, что процедуры ПередЗаписью()и ПриЗаписи() в модуле например справочника срабатывают несколько раз.
Это видно в отладчике.
Если нажать кнопку записи на форме справочника, то как минимум 2 раза пройдет цикл ПередЗаписью()- ПриЗаписи().
И проблема в том, что если ПередЗаписью() выполняется первый раз, то ЭтоНовый() возвращает "Истина", а во втором проходе возвращает уже "Ложь". Несмотря на это, если при втором проходе сработает Отказ = Истина, то объект не запишется в БД, но при первом проходе могли записаться зависимые от этого объекта данные, а самого объекта в итоге нет.

Кто может объясить такое неоднократное срабатывание процедур при записи объкта?
1 mikecool
 
14.05.13
16:23
потому что есть еще записать() программно
2 Волшебник
 
14.05.13
16:23
Кто-то где-то вызывает двукратную запись объекта
3 Fragster
 
гуру
14.05.13
16:23
это все от копрокода
4 Антиквар
 
14.05.13
16:43
(2) тоже так думал, но в коде нигде не нашел такого. Ведь при нажатии на кнопку Ок на форме элемента справочника срабатывают только предопределенные процедуры ПередЗаписью() и ПриЗаписи() в модуле объекта и в модуле формы.
Правда не смотрел ещё подписки на события...
Ну в общем только в эту сторону копать, да?
(3) не понял о чем Вы :)
5 Волшебник
 
14.05.13
16:44
(4) в отладчике есть пункт "Стек вызовов". См. туда
6 Maxus43
 
14.05.13
16:57
в регистрах ещё понятно (при перепроведении дока например), а вот на справочниках-доках это чудеса
7 Defender aka LINN
 
14.05.13
16:59
(6) Это чудо в (2) и (3) описано
8 Desna
 
14.05.13
17:03
никак документ регистры расчета двигает
9 Aprobator
 
14.05.13
17:06
(8) запись движений регистра далеко не всегда связана с записью регистратора движений.
10 Нууф-Нууф
 
14.05.13
17:08
отладчик спасет
11 Desna
 
14.05.13
17:11
(9) регистры расчета, расчета
12 Aprobator
 
14.05.13
19:41
(11) регистр расчета может записываться несколько раз при проведении документа, но это не вызывает событие ПередЗаписью документа несколько раз.
13 Михаил Козлов
 
14.05.13
19:47
Скорее всего, подписка.
Ошибка? Это не ошибка, это системная функция.