Имя: Пароль:
1C
 
"новая" методика списания остатков
0 kuzyara
 
08.09.16
08:03
Есть ли разница между
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
    
    Движения.ОстаткиНоменклатуры.Записывать = Истина;
    Движения.Продажи.Записывать=Истина;
    
    Движения.ОстаткиНоменклатуры.Записать();
    Движения.Продажи.Записать();
    //...

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

?
1 zak555
 
08.09.16
08:04
где такое увидел ?
2 kuzyara
 
08.09.16
08:07
(1), решение первой задачи на спеца по платформе
3 spock
 
08.09.16
08:24
Нужен третий вариант:
Процедура ОбработкаПроведения(Отказ, РежимПроведения)
    
    Движения.ОстаткиНоменклатуры.Записывать = Истина;
    Движения.Продажи.Записывать=Истина;
    //...
4 zak555
 
08.09.16
08:29
(2) решать нужно самому, чтоб не допустить ошибок
5 kuzyara
 
08.09.16
08:32
(4) нужно пройти мимо темы, если нечего ответить по существу
6 kuzyara
 
08.09.16
08:33
(3), не понял?
7 zak555
 
08.09.16
08:37
(5) мальчик, не указывай

http://1c.chistov.pro/2013/07/blog-post_25.html


(6) думаю, что не поймёшь
8 kuzyara
 
08.09.16
08:37
(3), понял, но вопрос про другое
9 rozer76
 
08.09.16
08:37
(0) вот почитай классику сначала http://catalog.mista.ru/public/195591/ и поймешь когда такое надо

Движения.ОстаткиНоменклатуры.Записать();
Движения.Продажи.Записать();

а когда такое ...

Движения.Записать();
10 impulse9
 
08.09.16
08:48
(0) разницы нет, оба варианта плохи тем, что записи в регистр будут делать 2 раза
11 rozer76
 
08.09.16
08:54
(10) + а потом при окончании транзакции еще разик ибо "Записывать" не снимается в таком случае когда пишете набор а не коллекцию движений:

Движения - это свойство объекта документа. Имеет тип: КоллекцияДвижений. Предоставляет доступ к коллекции наборов записей движений документа.
Состав наборов записей, входящих в эту коллекцию, определяется системой исходя из информации, хранящейся в конфигурации (список регистров на закладке "Движения" у документа как объекта конфигурации). Использование данного свойства  облегчает работу разработчика, которому нужно создать или изменить наборы записей регистров, подчиненных данному документу. Формирование новых наборов записей можно выполнять как посредством свойства объекта документа "Движения", так и без использования этого свойства, работая  непосредственно с набором записей.
В обработке проведения документа  создаются движения по документу, то есть формируются наборы записей регистров, для  которых данный документ является регистратором. У документа есть свойство "Запись движений при проведении", которое устанавливает поведение системы при создании движений во время проведения документа.
Может принимать два значения - Записывать выбранные (по умолчанию) и Записывать модифицированные.
Записывать выбранные: Перед началом проведения документ устанавливает всем наборам записей, участвующим в регистрации движений, свойство Записывать в Ложь. В этом случае после выхода из обработки  проведения те наборы записей, у которых свойство Записывать имеет значение Истина, будут автоматически записаны платформой. После этого свойство Записывать у  этих наборов движений будет установлено в значение Ложь.  
Записывать модифицированные: Все наборы записей, участвующие в регистрации движений документа, имеют значение свойства Записывать установленным системой по умолчанию в Истина, то есть в случае значения Записывать модифицированные после выхода из обработки проведения все модифицированные наборы записей будут автоматически записаны платформой.
У коллекции Движения есть метод Записать(), который "Выполняет запись движений при проведении в  единой последовательности, т.е. делает то же самое, что делает документ после окончания обработчика ОбработкаПроведения, включая снятие признака Записывать у  наборов записей." Причем записывать система будет те наборы записей, у которых свойство Записывать имеет значение Истина. Этот метод можно использовать при  работе с регистрами расчета, когда при проведении расчетных документов сначала записываются рабочие наборы записей, а затем эти наборы записей  рассчитываются.
У набора записей тоже есть метод Записать(), который "Записывает в базу данных набор записей регистра накопления". Английский язык проще русского в грамматическом смысле, поэтому эквивалент у свойства Записывать и метода Записать() одинаковый - Write.
Свойство Записывать имеет смысл именно для коллекции  движений документа, так как разработчик благодаря этому свойству имеет возможность управлять записью элементов коллекции движений, определять те наборы  записей, которые следует записывать при проведении документа.
12 kuzyara
 
08.09.16
09:00
(10),(11) спасибо за подробный ответ. А то я уже начал подозревать что-то неладное, когда в каждом решебнике такое встречал...
13 Aleksandr N
 
08.09.16
09:26
(7) Грубиян)))
14 regi1984
 
08.09.16
09:37
.Записывать = Истина; - говорим платформе "братан, запиши движения сам в конце"

Движения.РегистрN.Записать()- НЕ сбрасывает ранее установленный режим "Записывать = Истина", запишет 2 раза, возможны дедлоки из за разного  порядка захвата

Движения.Записать() -запишет все движения, в нужном порядке

Я не прав?
15 regi1984
 
08.09.16
09:40
+БлокироватьДляИзменения = Истина; - если на регистре включено разделение итогов