Имя: Пароль:
1C
1С v8
Чем чревато Движения.Записать() в подписке на ОбработкаПроведения?
,
0 Rounder
 
26.08.12
14:22
Это в подписке на событие ОбработкаПроведения:

Процедура НазваниеПроцедуры(Источник, Отказ, РежимПроведения) Экспорт
   Источник.Движения.Записать();
   // далее идет обработка уже с учетом движений источника
КонецПроцедуры

Т.е. на каком этапе без моего вмешательства записываются движения в регистр накопления. И если после моего вмешательства, то что происходит принимая во внимание, что движения уже записаны принудительно?
1 viktor_vv
 
26.08.12
14:36
В подписке Обработка проведения движения уже записаны без твоего вмешательства. Можешь их тут очистить и записать свои. Правда я только менял измерения уже записанных движений.
2 Rounder
 
26.08.12
14:39
(1) Не соглашусь. Когда я снимаю остатки по заявке на расходование средств при проведении например документа ЗакрытиеЗаявкиНаРасходованиеСредств остатки получаются без учета Заявки указанной в Закрытии. Но если же я сначала записываю движения - то тогда остатки снимаются уже с учетом проводимого документа.
3 viktor_vv
 
26.08.12
14:39
Там последовательность сбытий при проведении : ПередЗаписью ->> ПриЗаписи ->> Обработка проведения. Отладчиком смотрел, в ПриЗаписи документ уже записан, но движений еще нет. В ОбработкаПроведения уже есть движения.
4 kotletka
 
26.08.12
14:40
подписка на событие отрабатывается после основного кода обрабатываемого события, так что правильно сказали движения у тебя уже записаны
5 Rounder
 
26.08.12
14:43
Тогда почему ситуация (2)?
6 viktor_vv
 
26.08.12
14:43
(2) Так это в подписке или в основном модуле ?
7 Rounder
 
26.08.12
14:43
в подписке на событие ОбработкаПроведения.
8 viktor_vv
 
26.08.12
14:45
Хотя насчет того, записаны уже движения в ОбработкаПроведения в базу или только подготовлены и заполнены к записи тут вопрос. Этим не задавался. Мне только изменить их надо было.
9 Rounder
 
26.08.12
14:46
Так что делает система - если мной уже записаны движения? Просто еще раз их замещает?
10 shuhard
 
26.08.12
14:47
(8) не записаны
в памяти есть - в БД нет
причем могут жить в Движениях, а могут как в УПП вовсе в отдельной табличке
11 viktor_vv
 
26.08.12
14:49
(10) Ну вот я тоже к этому склонялся, прочитав (2).
12 Rounder
 
26.08.12
14:51
(10) Ну я за УПП и говорю. Для нужных мне документов вроде в движениях "живут".
13 mikecool
 
26.08.12
14:52
а вообще странно - кмк обычно триггеру на вход подается набор записей уже готовый, но 1С как то впереди планеты всей )
14 Rounder
 
26.08.12
14:54
Но повторю вопрос (9). Не хочется наплодить ошибок.
Пока смотря по движениям по регистру - ничего неожиданного там не обнаруживаю.
15 viktor_vv
 
26.08.12
14:57
(14) Ну вообще-то, насколько я понял в движениях обычные Наборы записей. У метода Записать(<Замещать>) параметр по умолчанию равен Истина, то есть должны замещаться.
16 Rounder
 
26.08.12
14:59
Ок. Спасибо всем принявшим участие в обсуждении.
17 viktor_vv
 
26.08.12
15:01
(15)+ Хотя там у коллекции движений свой метод Записать() без параметров, но таки должен очищать перед записью, ИМХО.