Back to top

Как изменять записи регистра накопления?

Опубликовано e-1c@mail.ru - ср, 08/24/2016 - 05:01

Основной шаблон такой:

Набор = РегистрыНакопления.ВашРегистр.СоздатьНаборЗаписей();
Набор.Отбор.<НазваниеОтбора>.Установить(<ЗначениеОтбора>);
Набор.Прочитать();
 
Для Каждого ТекДвижение Из  Набор Цикл
 
//Делаете с записями регистра то - что вам хочется
 
КонецЦикла;
 
Набор.Записать();    

Реальный пример:

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