Имя: Пароль:
1C
1С v8
Регистр сведений: события ПередЗаписью и ПриЗаписи
0 PR
 
03.11.11
13:33
При записи объекта РегистрСведенийНаборЗаписей события ПередЗаписью и ПриЗаписи срабатывают либо один либо два раза.

Если вручную редактирую запись в регистре сведений, то два раза.
Если вручную удаляю запись в регистре сведений, то один раз.
Если программно записываю набор записей, то один раз.

У меня есть обработчик, который должен срабатывать при последней записи, то есть при первой, если запись срабатывает один раз или при второй, если запись срабатывает два раза.

Как понять в обработчике, это единственная запись или будет еще вторая?
1 Рэйв
 
03.11.11
13:36
Глобальную Перем Счетчик в модуль набора записей?
Видно будет в обоих процедурах
2 PR
 
03.11.11
13:37
3 PR
 
03.11.11
13:37
(1) И что? Чем это поможет?
4 Рэйв
 
03.11.11
13:40
(3)Ну да.Это если бы тебе надо было только первую отрабатывать:)
5 Рэйв
 
03.11.11
13:40
(3)а если в обе поставить и один раз отработает лишний- критично?
6 ll13
 
03.11.11
13:40
Проверяй количество записей в наборе, при удалении - 0
7 PR
 
03.11.11
13:41
Вообще только что подумал.
Если пользователь редактирует запись вручную, то есть шансы, что он изменит одно или несколько ключевых полей.
А поэтому логично, что сначала записи с определенным отбором удаляются, а потом с другим отбором записываются.

Просто не хотелось гонять программу два раза, но видимо придется в целях надежности :))
8 PR
 
03.11.11
13:42
(6) Это понятно, но ничего не дает :))
9 ll13
 
03.11.11
13:46
"У меня есть обработчик, который должен срабатывать при последней записи, то есть при первой, если запись срабатывает один раз или при второй, если запись срабатывает два раза."

Что не понятно то ?

Если количество записей в наборе > 0, то это либо единственная операция записи либо вторая(и последняя) если вначале была очистка.
10 Reset
 
03.11.11
13:47
(9) При удалении тогда обработчик вообще не выполнится - а он должен
11 PR
 
03.11.11
13:52
(10) Да, проблема в этом