Имя: Пароль:
1C
1С v8
v8: Остатки регистра накопления не меняются
0 Ivan_495
 
22.01.14
13:58
8.2 Бухгалтерия
Подскажите . При проведении документа пишу движения в регистр накопления, потом смотрю остатки в этом регистре - они не меняются, почему?
Для Каждого СД Из СуммыДолга Цикл
            
                СрезДолга = РегистрыНакопления.Я_ЗадолженностьПокупателя;
                ФильтрДолга    = Новый Структура() ;
                ФильтрДолга.Вставить("Организация", Организация);
                ФильтрДолга.Вставить("Контрагент", Должник);
                
                ТЗ = СрезДолга.Остатки(ЭтотОбъект.Ссылка.МоментВремени(), ФильтрДолга,,);
                
                ТЗ.Сортировать("ДатаДо,Документ");
                
                СуммаЗакрыть = СД.Сумма;

                СуммаЗакрыть = СД.Сумма;
                Для Каждого Стр из ТЗ Цикл
                    Если  СуммаЗакрыть <=0 Тогда Продолжить; КонецЕсли;
                    Если  Стр.Сумма <=0 Тогда Продолжить; КонецЕсли;
                    СтрокаРегистра  = Движения.Долг.Добавить();
                    СтрокаРегистра.Организация    = ЭтотОбъект.Организация;
                    СтрокаРегистра.Контрагент = КонтрагентДебитор;
                    СтрокаРегистра.Документ = Стр.Документ;
                    СтрокаРегистра.ДатаДо = Стр.ДатаДо;
                    СтрокаРегистра.Сумма = Мин(СуммаЗакрыть,Стр.Сумма);
                    СтрокаРегистра.Период = Дата;
                    СтрокаРегистра.ВидДвижения = ВидДвиженияНакопления.Расход;
                    СтрокаРегистра.Регистратор = ЭтотОбъект.Ссылка;
                    Движения.Долг.Записать();
                    
                    СуммаЗакрыть = СуммаЗакрыть - Мин(СуммаЗакрыть,Стр.Сумма);
                КонецЦикла;    
                КонецЦикла;
1 hhhh
 
22.01.14
14:00
Активность забыл. Семен Семеныч.
2 Ivan_495
 
22.01.14
14:10
Для Каждого СД Из СуммыДолга Цикл

            
                СрезДолга = РегистрыНакопления.Я_ЗадолженностьПокупателя;
                ФильтрДолга    = Новый Структура() ;
                ФильтрДолга.Вставить("Организация", Организация);
                ФильтрДолга.Вставить("Контрагент", Должник);
                
                ТЗ = СрезДолга.Остатки(ЭтотОбъект.Ссылка.МоментВремени(), ФильтрДолга,,);
                
                ТЗ.Сортировать("ДатаДо,Документ");
                
                СуммаЗакрыть = СД.Сумма;

                СуммаЗакрыть = СД.Сумма;
                Для Каждого Стр из ТЗ Цикл

                    Если  СуммаЗакрыть <=0 Тогда Продолжить; КонецЕсли;

                    Если  Стр.Сумма <=0 Тогда Продолжить; КонецЕсли;
                    СтрокаРегистра  = Движения.Долг.Добавить();
                    СтрокаРегистра.Организация    = ЭтотОбъект.Организация;
                    СтрокаРегистра.Контрагент = КонтрагентДебитор;
                    СтрокаРегистра.Документ = Стр.Документ;
                    СтрокаРегистра.ДатаДо = Стр.ДатаДо;
                    СтрокаРегистра.Сумма = Мин(СуммаЗакрыть,Стр.Сумма);
                    СтрокаРегистра.Период = Дата;
                    СтрокаРегистра.ВидДвижения = ВидДвиженияНакопления.Расход;
                    СтрокаРегистра.Регистратор = ЭтотОбъект.Ссылка;
//////////////////////////добавил
СтрокаРегистра.Активность=Истина;

                    Движения.Долг.Записать();
                    
                    СуммаЗакрыть = СуммаЗакрыть - Мин(СуммаЗакрыть,Стр.Сумма);
                КонецЦикла;    
                КонецЦикла;
активность добавил, но остатки те же
3 Ivan_495
 
22.01.14
14:11
может из-за момента
4 zladenuw
 
22.01.14
14:13
а есть твоя запись если искать по регистратору ?
5 Господин ПЖ
 
22.01.14
14:14
Движения.Долг.Записать();

зачем это в проведении?
6 Ivan_495
 
22.01.14
14:16
(4) да запись есть
7 Ivan_495
 
22.01.14
14:18
(5) корректировка движения должны двигать движения в цикле
8 Ivan_495
 
22.01.14
14:22
(1) активность поставил
ТЗ = СрезДолга.Остатки( не изменился
9 Ivan_495
 
22.01.14
14:30
ТЗ = СрезДолга.Остатки(Дата+1, ФильтрДолга,,); помогло,
10 Ivan_495
 
22.01.14
14:39
(1)так ТЗ = СрезДолга.Остатки(Дата+1, ФильтрДолга,,);
и без строчки Активность=Истина работает
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс