Имя: Пароль:
1C
1С v8
Обновление Бух. Хэлп.
0 Bibr
 
24.12.12
18:52
Обновляю нетиповую бух с релиза 2.0.35.9 на 2.0.42.6.

В новом релизе во многих документах (Поступление, реализация и иже..) в обработке проведения в конце появились строки:

   Если НЕ Отказ Тогда
       Движения.Записать();
       УчетНДС.ПроверитьСоответствиеРеквизитовСчетаФактуры(ЭтотОбъект);
   КонецЕсли;


Раньше обработка проведения заканчивалась строками:

   // Движения по документу
   Если Не Отказ Тогда

       ДвиженияПоРегистрам(
           РежимПроведения, СтруктураШапкиДокумента,
           ТаблицаПоТоварам, ТаблицаПоТаре, ТаблицаПоУслугам, ТаблицаПоАгентскимУслугам, ТаблицаЗачетаАвансов,
           Отказ, Заголовок);

   КонецЕсли;


Проблема возникает в следующем. У меня есть подписка на событие "ПриПроведении", в которой используется Объект.Движения.Хозрасчетный.
Раньше всё было ок, а теперь после Движения.Записать() там в реквизитах везде Null.


Для пробы закомментировал текст
   Если НЕ Отказ Тогда
       Движения.Записать();
       УчетНДС.ПроверитьСоответствиеРеквизитовСчетаФактуры(ЭтотОбъект);
   КонецЕсли;

Всё провелось:)

Вопросы следующие.
Кто-нибудь сталкивался с этим?
Нафига оно нужно?
Как это корректно обойти?
1 MrStomak
 
24.12.12
19:01
Как это везде Null?
Null - он из запросов образуется...
Объект.Движения.Хозрасчетный.Прочитать()?
2 Bibr
 
25.12.12
13:31
(1) честно - не знаю.
Смотрю отладчиком.

Есть модуль набора записей регистра бух "Хозрасчётный"

В процедуре ПередЗаписью - Всё норм, Null_ов нету.
В процедуре ПриЗаписи - уже Nullы.

В подписках на событие, которые относятся к событию ПередЗаписью регистра бух - всё норм.

Подписки ПриЗаписи - позже, уже после процедуры ПриЗаписи модуля набора записей.

Где ещё копать?
3 Bibr
 
25.12.12
13:40
А кто-нибудь знает, зачем вообще в процедуру "обработка проведения" добавили "Движения.Записать();"  ???



КоллекцияДвижений (RegisterRecordsCollection)
Записать (Write)
Синтаксис:

Записать()
Описание:

Выполняет запись движений при проведении в единой последовательности, т.е. делает то же самое, что делает документ после окончания обработчика ОбработкаПроведения, включая снятие признака Записывать у наборов записей.