helpf.pro
Регистрация

v8: Изменение записи регистра накопления

sashuly
21.08.2014 16:54Прочитано: 52779

В регистре накопления есть запись, в которой не заполнено одно Измерение. Подскажите как программно заполнить с помощью внешней обработки.

Yandex
Возможно, вас также заинтересует
Реклама на портале
E_Migachev
21.08.2014 22:55Ответ № 1

Примерно так, основа:

Код 1C v 8.х
 Набор=РегистрыНакопления.ВашРегистр.СоздатьНаборЗаписей();
Набор.Отбор.<НазваниеОтбора>.Установить(<ЗначениеОтбора>);
Набор.Прочитать();

Для Каждого ТекДвижение Из  Набор Цикл
....
//Делаете то что вам хочется
КонецЦикла;


Набор.Записать();

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

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

еще пример

Код 1C v 8.х
 НаборЗаписей=РегистрыНакопления.ТоварыНаСкладах.СоздатьНаборЗаписей();

    Запрос=Новый Запрос;
    Запрос.Текст=
      "ВЫБРАТЬ
     |    ТоварыНаСкладах.Период как Период,
     |    ТоварыНаСкладах.Регистратор как Регистратор,
     |    ТоварыНаСкладах.Количество как Количество
     |ИЗ
     |    РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах
     | ГДЕ 
     | ТоварыНаСкладах.Период МЕЖДУ &ДатаНачала И &ДатаОкончания
     |И  ТоварыНаСкладах.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг ";
     
     Запрос.УстановитьПараметр("ДатаНачала", НачПериода);
     Запрос.УстановитьПараметр("ДатаОкончания", КонПериода);
     
     Результат=Запрос.Выполнить();
     Выборка=Результат.Выбрать();
     Пока Выборка.Следующий() Цикл
           НаборЗаписей.Отбор.Регистратор.Установить(Выборка.Регистратор);
          НаборЗаписей.Прочитать();
          Для каждого движ из НаборЗаписей Цикл
            Движ.Количество=5;
          КонецЦикла;
            НаборЗаписей.Записать();
    КонецЦикла;
E_Migachev
21.08.2014 23:45Ответ № 2

+ нашел на компе обработку по редактированию регистров Pravka registrov (korrektirovka registrov).rar 

sashuly
22.08.2014 08:40Ответ № 3

Спасибо, то что надо.

Blagvest
22.05.2020 07:26Ответ № 4

спасибо!!!!

Подсказка: Вы получили ответ на свой вопрос - закройте вопрос!
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.