Имя: Пароль:
1C
1С v8
Подписка на событие "ОбработкаПроведения"
,
0 KindLion
 
12.07.11
12:42
Добрый день!
Друзья мои, есть такая идея - вынести все необходимые изменения из модуля объекта типовой конфигурации и, в частности, из процедуры "ОбработкаПроведения" в подписку на события.
Что очень смущает - при такой схеме сначала произойдет проведение документа из процедуры "ОбработкаПроведения" модуля объекта, а уж потом - обработки подписки на события.
При этом, может статься, этот же документ будет, фактически, перепроведен. Т.е., фактически, получится двойное проведение одного и того же документа, что, на мой взгляд, не есть хорошо.
Как этого избежать?
1 vladnet
 
12.07.11
12:43
я думаю будет не так, в твою процедуру попадет документ который проводится, т.е. изменения уже есть но они еще не зафиксированы

а вообще потестируй
2 vmv
 
12.07.11
12:45
(1) не важно, будут выполняться иструкции кода и там и там

Возврат может втюхнуть в модуль объекта
3 Maxus43
 
12.07.11
12:47
Пописка происходит в рамках транзакции проведения, перепроведения никакого не будет, если конечно не написать эпичный код:
Источник.Записать(РежимзаписиДокумента.Проведение); :)
4 KindLion
 
12.07.11
12:51
(1)(3) Но код-то все равно выполнится сначала из модуля объекта, а потом уже мне (возможно) придется удалять таблицу движений документа и писать свою таблицу.

Альтернатива есть, а?
Или не так уж это и страшно?

(1) Тестировать, конечно, буду. И не по одному разу. ;)
5 PCcomCat
 
12.07.11
12:54
Я страшного ничего, кроме увеличения времени проведения документа, не нахожу.
6 Maxus43
 
12.07.11
12:55
(4) Меняй таблицы движений если надо, они к моменту попадания в подписку в регистр как правило не записаны ещё
7 PCcomCat
 
12.07.11
12:58
Главное - свои изменения в подписке на событие записать, т.е. записать измененные движения в регистры.
Иначе при интерактивном нажатии на провести записываются изменения, а при другом способе проведения - не всегда.
8 KindLion
 
12.07.11
13:11
(5) - ага. Я именно про увеличение времени проведения.
Специфика работы такова, что основная масса документов импортируется из сторонней программы в конце месяца.
И увеличение времени проведения документов в полтора раза - очень критично.

(7) Поясни - почему? Ведь событие ОбработкаПроведения происходит при любом способе проведения документа. Или я ош?
9 KindLion
 
13.07.11
08:37
Еще есть мнения по (0)?
10 butterbean
 
13.07.11
08:42
(9) лучше напиши чего конкретно ты опасаешься, и мы тебя успокоим :-)
11 KindLion
 
13.07.11
09:06
(9) Хех...
Опасаюсь - увеличения скорости проведения.
Ожидаю от сообщества - не столько жилетку для успокоения, сколько обмена опытом - кто в какой части вносил изменения, срабатывающие при проведении доков, в типовые конфы и как минимизировал временнЫе потери проведения.
12 zzerro
 
13.07.11
09:24
(0) Я так делаю. В подписку выношу свои изменения проводок, если это возможно, ничего страшного не происходит, все проводится и работает как надо. Ну а время канечно чуть больше затрачивается, все же дополнительная обработка.
Если не хочешь тратить время на "допроведение", тогда выноси всю обработку проведения в свой модуль и правь ее там как хочешь, а типовую отключи, но так придется 2 строки текста вставить в типовой модуль.
13 KindLion
 
13.07.11
11:52
(12) Спасибо!
Думаю, что всю обработку проведения выносить в свой модуль - тоже не вариант, т.к. может случиться так, что Фирма 1С что-то поменяет в своей типовой, а я могу это, при обновлении, не отследить.

Все же - о каких 2-х строках речь? (Заинтриговал. :) )
AdBlock убивает бесплатный контент. 1Сергей