Бывают ситуации, когда нужно изменить движения какого-то документа в регистре накопления или регистре сведений, для которого документ является регистратором.

В таком случае не обязательно проводить манипуляции с документом, можно изменить его движения непосредственно в регистре.

Для изменения записей регистров, подчиненных регистраторам, используются наборы записей. При этом нужно установить отбор по регистратору.

При изменении записей регистра можно использовать набор записей, входящий в коллекцию движений документа (свойство Движения объекта ДокументОбъект), либо можно использовать набор записей, созданный с помощью менеджера регистра.

Итак, чтобы изменить записи регистра нужно:

– Создать набор записей;
– Установить отбор по определенному регистратору;
– Прочитать набор;
– Изменить записи набора;
– Записать набор.

Например, изменим записи в регистре накопления "Данные о начислениях".

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

Документ, ФизическоеЛицоВыбранноеЗначение, ФизическоеЛицоНовоеЗначение – это реквизиты формы внешней обработки, с помощью которой мы изменяем записи регистра.

В этом примере выполнялось изменение записей. Если нужно добавить записи, если их нет у регистратора, то можно выполнять запись без считывания. Для удаления записей можно записать пустой набор без выполнения считывания.