Имя: Пароль:
1C
1С v8
Проведение документ, почему дважды?
0 DES
 
24.04.15
13:56
Если Отменить проведение документа и провести его - то все нормально.
А если документ Проведен и его открыть и нажать Ок - то проводится дважды.
Как это понимать ?
1 Ненавижу 1С
 
гуру
24.04.15
13:58
Почему так решил?
2 Сильф
 
24.04.15
13:59
(0) Для начала посмотреть в событие формы документа ПриЗаписи.
3 GROOVY
 
24.04.15
13:59
Событие записи в наборе записей срабатывает?
4 StanleyMarsh
 
24.04.15
14:00
(0) в настройках движений документа написано "Удалять автоматически при отмене проведения", поменяй на "Удалять автоматически"
5 fisher
 
24.04.15
14:00
(0) Это понимать так, что в одном из событий формы в транзакции записи меняется значение реквизита.
6 GROOVY
 
24.04.15
14:00
(4) зачем?
7 StanleyMarsh
 
24.04.15
14:01
(6) наиболее вероятное правильное решение, которое поможет ТС
8 DES
 
24.04.15
14:02
(4) помогло
9 GROOVY
 
24.04.15
14:03
(7) аргументируй.
10 StanleyMarsh
 
24.04.15
14:03
(9) видишь помогло))
11 GROOVY
 
24.04.15
14:05
Ну это как молотком дверь забивать, вместо того, чтобы щепотку поставить.
12 fisher
 
24.04.15
14:05
О как! Век живи - век учись. Правда сейчас модно "Не удалять автоматически".
13 DES
 
24.04.15
14:11
(11) ну тогда не говори загадками.
14 DES
 
24.04.15
14:16
В обоих процедурах ПриЗаписи() нет ничего криминального.
15 DES
 
24.04.15
14:17
Как при проведении отменить текущее проведение ?
16 StanleyMarsh
 
24.04.15
14:24
(15) есть основных 2 варианта действий. Первый через настройку "Удалять автоматически", второй ставить "Не удалять автоматически", а в событии "ОбработкаУдаленияПроведения" удалять программно.
17 DES
 
24.04.15
14:28
А удалять авто при проведении ? Третий путь ?
Стоял Третий путь. двоило
18 Cyberhawk
 
24.04.15
14:30
Походу GROOVY ушел писать статью-разъяснение?
19 DES
 
24.04.15
14:44
20 Cyberhawk
 
24.04.15
15:02
(19) ну так судя по написанному там, "Удалять автоматически" это и есть указанный в (16) первый вариант. А какой тогда третий путь?
21 GROOVY
 
24.04.15
15:48
(19)  Почти правильно ссылку дал. http://1c.chistov.pro/2013/07/blog-post_25.html
(20) Там "Удалять автоматически при отмене проведения"
22 DES
 
24.04.15
22:40
(20) так отмены не происходит при проведении, поэтому двоится ?
23 GROOVY
 
24.04.15
22:45
Форма небось обычная.
24 GROOVY
 
24.04.15
22:47
В начале обработки проведения напиши:
Движения.НазваниеРегистра.Очистить();

И все ништяк будет. На 1 блокировку меньше, чем при автоматическом удалении.
25 Ma3eIIa
 
24.04.15
22:52
так ведь в типовых то не зря сначала удаление всего. потом проведение.
26 GROOVY
 
24.04.15
22:55
(25)  Только не записывай "на всякий случай" пустые движения, новый набор перезапишет старый.

В статье, кстати про это все написано.
27 DES
 
24.04.15
23:32
(24) а оно потрет только движения этого документа  ?
28 Ma3eIIa
 
24.04.15
23:38
(26) есть волшебство. Записать(<Замещать>)
29 GROOVY
 
25.04.15
00:29
(28)  Есть, только если набор записей был формой прочитан, то что ты замещать собрался? Старый новым с дублями?
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший