Имя: Пароль:
1C
1С v8
Как правильно очистить движения при оперативном проведении?
0 Вася Чез
 
05.06.15
06:14
1. Движения.Регистр.Очистить() 0% (0)
2. Движения.Регистр.Записать() 0% (0)
3. Оба варианта 0% (0)
Всего мнений: 0

Собственно вопрос в теме. Вот здесь http://1c.chistov.pro/2013/07/blog-post_25.html говорится, что нужно использовать Движения.Регистр.Очистить(). Но большинство программистов говорит, что достаточно Движения.Регистр.Записать(), например тут http://v2.ax-online.ru/Exams/AttPlatf/Example.aspx .Давайте расставим все точки над Ы.
1 Обработка
 
05.06.15
06:43
движения автоматом удаляются при проведении в зависимости о настроек движения. достаточно взять один тестовый документ в разных режимах поработать и увидишь что к чему.
Я если честно точно не помню. Но при различных задачах смогу быстро найти инфу или протестировать наяву.
2 SeraFim
 
05.06.15
06:44
Читай внимательно в статье Чистова.
"НО! При работе с управляемыми формами копия объекта БД может не загрузить старые движения, к примеру, зависит это и от свойства данных формы "Использовать всегда"."

А вообще - всегда все зависит от ситуации и настроек режима удаления движений.
Чтобы случайно не задублировать движения при перепроведении - достаточно просто Очистить().
Если ты будешь пользоваться регистром при проведении (в запросе обращаться к нему), то что чтобы 100% там не было старых движений - можно и Записать().
3 Вася Чез
 
05.06.15
06:57
(2) все это понятно, мне просто интересно, что здесь думают по этому поводу.
4 Enterprise
 
05.06.15
07:24
(0) У Павла в этой же статье написано как очистить движения при оперативном проведении:

Если Режим = РежимПроведенияДокумента.Оперативный Тогда
  Движения.СтоимостьТоваров.Очистить();
  Движения.СтоимостьТоваров.БлокироватьДляИзменения = Истина;
  Движения.СтоимостьТоваров.Записать();
КонецЕсли;
5 Вася Чез
 
05.06.15
08:02
(4) не сомневаюсь в знаниях Павла, но интересно если на экзамене на спеца по платформе сделать вот так:
Если Режим = РежимПроведенияДокумента.Оперативный Тогда
    Движения.СтоимостьТоваров.БлокироватьДляИзменения = Истина;
  Движения.СтоимостьТоваров.Записать();
КонецЕсли;
это будет считаться ошибкой?
6 Enterprise
 
05.06.15
09:00
(5) имхо, лучше вместе с очистить()