Имя: Пароль:
1C
1С v8
Не записываются движения в регистр бухгалтерии.
0 DirecTwiX
 
20.10.13
19:37

    Движения.СтоимостьОСУпр.Записывать = Истина;
    Движения.Управленческий.Записывать = Истина;
    Пока Выборка.Следующий() Цикл
        Д = Движения.СтоимостьОСУпр.Добавить();
        ЗаполнитьЗначенияСвойств(Д, Выборка);
        Д.Срок = 1;
        Д.Стоимость = Выборка.Стоимость/Выборка.Срок;
        Д.ВидДвижения = ВидДвиженияНакопления.Расход;
        Д.Период = КонецМесяца(ПериодРегистрации);  
        
        УД = Движения.Управленческий.Добавить();
        
        УД.Период = КонецМесяца(ПериодРегистрации);
        УД.ДатаЗаписи = УД.Период;
        УД.Организация = Организация;
        УД.СчетДт = Выборка.СчетЗатрат;
        //УД.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоУправленческие.Подразделения] = Выборка.Подразделение;
         ////УД.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконтоУправленческие.ОсновныеСредства] = Выборка.ОС;
        
        УД.СчетКт = Выборка.СчетАмортизации;
        //УД.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоУправленческие.Подразделения] = Выборка.Подразделение;
        //УД.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконтоУправленческие.ОсновныеСредства] = Выборка.ОС;
        
        УД.Сумма = Д.Стоимость;
    КонецЦикла;
    
    Движения.Записать();



А в регистр накопления движения попадают. В чем может быть проблема?
1 hhhh
 
20.10.13
19:42
наверно потом кто-то затирает
2 DirecTwiX
 
20.10.13
19:48
Похоже на правду... А как узнать, кто их может затирать?
3 Мимохожий Однако
 
20.10.13
20:01
подписка на событие записи в регистр
4 DirecTwiX
 
20.10.13
20:32
(3) В подписках первым делом посмотрел. Пусто
5 DirecTwiX
 
20.10.13
20:42
Всё стало нормально после того, как я убрал
Движения.Записать();

Объясните кто-нибудь)
6 sanja26
 
20.10.13
20:50
так ты в транзакции, наверно, выполнял это. Например, при записи или при проведении.
после записать() снимается истина у Записывать и движения в итоге затираются
7 sanja26
 
20.10.13
20:50
http://devtrainingforum.v8.1c.ru/forum/thread.jsp;jsessionid=aC2x9GP6jetdXYRWwh?id=612194&print=1&sortt=m.left_ns

  Re: Свойство набора записей регистра "Записывать"      15.05.2013 14:43
Доровская Вера
612191

Давайте разбираться.
Движения - это свойство объекта документа. Имеет тип: КоллекцияДвижений. Предоставляет доступ к коллекции наборов записей движений документа.
Состав наборов записей, входящих в эту коллекцию, определяется системой исходя из информации, хранящейся в конфигурации (список регистров на закладке "Движения" у документа как объекта конфигурации). Использование данного свойства  облегчает работу разработчика, которому нужно создать или изменить наборы записей регистров, подчиненных данному документу. Формирование новых наборов записей можно выполнять как посредством свойства объекта документа "Движения", так и без использования этого свойства, работая  непосредственно с набором записей.
В обработке проведения документа  создаются движения по документу, то есть формируются наборы записей регистров, для  которых данный документ является регистратором. У документа есть свойство "Запись движений при проведении", которое устанавливает поведение системы при создании движений во время проведения документа.
Может принимать два значения - Записывать выбранные (по умолчанию) и Записывать модифицированные.
Записывать выбранные: Перед началом проведения документ устанавливает всем наборам записей, участвующим в регистрации движений, свойство Записывать в Ложь. В этом случае после выхода из обработки  проведения те наборы записей, у которых свойство Записывать имеет значение Истина, будут автоматически записаны платформой. После этого свойство Записывать у  этих наборов движений будет установлено в значение Ложь.    
Записывать модифицированные: Все наборы записей, участвующие в регистрации движений документа, имеют значение свойства Записывать установленным системой по умолчанию в Истина, то есть в случае значения Записывать модифицированные после выхода из обработки проведения все модифицированные наборы записей будут автоматически записаны платформой.
У коллекции Движения есть метод Записать(), который "Выполняет запись движений при проведении в  единой последовательности, т.е. делает то же самое, что делает документ после окончания обработчика ОбработкаПроведения, включая снятие признака Записывать у  наборов записей." Причем записывать система будет те наборы записей, у которых свойство Записывать имеет значение Истина. Этот метод можно использовать при  работе с регистрами расчета, когда при проведении расчетных документов сначала записываются рабочие наборы записей, а затем эти наборы записей  рассчитываются.
У набора записей тоже есть метод Записать(), который "Записывает в базу данных набор записей регистра накопления". Английский язык проще русского в грамматическом смысле, поэтому эквивалент у свойства Записывать и метода Записать() одинаковый - Write.
Свойство Записывать имеет смысл именно для коллекции  движений документа, так как разработчик благодаря этому свойству имеет возможность управлять записью элементов коллекции движений, определять те наборы  записей, которые следует записывать при проведении документа.
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.